source: subversion/applications/utils/gary68/osbreport.pl @ 26424

Last change on this file since 26424 was 17096, checked in by gary68, 10 years ago

osbreport new version 1.1

  • Property svn:executable set to *
File size: 3.6 KB
Line 
1use strict ;
2use warnings ;
3
4use OSM::osm 4.8 ;
5use OSM::osmgraph 2.0 ;
6
7
8my @test = qw (2x doppelt übereinander altglas altkleider recycling 3x dreifach bank beschriftung bridge tunnel briefkasten haltestelle cafe campingplatz restaurant parkplatz apotheke kindergarten feuerwehr schule sportplatz telefon hotel imbiss kapelle spielplatz parkhaus rathaus schwimmbad sparkasse stadthalle supermarkt tankstelle volksbank wegweiser zebrastreifen bäckerei bahnübergang brücke überlagert gaststätte parkplätze überwachungskamera) ;
9
10@test = (@test, "2 mal", "brücke oder tunnel", "bridge or tunnel", "burger king", "mc donalds", "mc donald's", "bus stop", "post ") ; 
11
12my $programName = "osbreport.pl" ;
13my $usage = "osbreport.pl osb.gpx out.htm" ; 
14my $version = "1.1" ;
15
16my $count = 0 ;
17
18my $gpxName ; 
19my $htmlName ;
20
21my $gpxFile ;
22my $html ;
23
24my $time0 ; my $time1 ;
25
26# get parameter
27
28$gpxName = shift||'';
29if (!$gpxName)
30{
31        die (print $usage, "\n");
32}
33
34$htmlName = shift||'';
35if (!$htmlName)
36{
37        die (print $usage, "\n");
38}
39
40print "\n$programName $version for file $gpxName\n" ;
41
42$time0 = time() ;
43
44print "texts to check: \n" ; 
45foreach my $t (sort @test) { print "- $t\n" ; }
46print "\n" ; 
47
48
49open ($html, ">", $htmlName) or die ("can't open html output file\n") ;
50printHTMLiFrameHeader ($html, "OSB report by Gary68") ;
51print $html "<H1>OSB report by Gary68</H1>\n" ;
52print $html "<p>Version ", $version, "</p>\n" ;
53print $html "<H2>Info</H2>\n" ;
54print $html "<p>", stringFileInfo ($gpxName), "<br>\n" ;
55print $html "<H3>check texts:</H3>\n<p>" ;
56foreach my $t (sort @test) { print $html "- $t<br>\n" ; }
57print $html "</p>\n" ; 
58
59print $html "<H2>OSB entries</H2>\n" ;
60print $html "<p>At the given location a bug has been reported that potentially can be corrected remotely. Please correct errors and report back to OSB!</p>" ;
61print $html "<table border=\"1\">\n";
62print $html "<tr>\n" ;
63print $html "<th>Line</th>\n" ;
64print $html "<th>OSB link</th>\n" ;
65print $html "<th>OSM link</th>\n" ;
66print $html "<th>JOSM link</th>\n" ;
67print $html "<th>Text</th>\n" ;
68print $html "</tr>\n" ;
69
70my $htmlLine = 0 ;
71
72
73
74# PROCESS GPX FILE
75
76my $success ;
77$success = open ($gpxFile, "<", $gpxName) ;
78my $line ;
79if ($success) {
80        print "\nprocessing file: $gpxName\n" ;
81        while ($line = <$gpxFile>) {
82                if (grep /<wpt/, $line) {
83                        my ($lon) = ($line =~ /^\.*\<wpt lon=[\'\"]([-\d,\.]+)[\'\"]/) ;
84                        my ($lat) = ($line =~ /^.*\lat=[\'\"]([-\d,\.]+)[\'\"]/) ;
85                        my ($desc) = ($line =~ /<desc>(.+)<\/desc>/) ;
86                        if ( (defined $lon) and (defined $lat) and (defined $desc) ) {
87                                $desc =~ s/<!\[CDATA\[// ;
88                                $desc =~ s/\]\]>// ;
89                                my $found = 0 ;
90                                foreach my $t (@test) {
91                                        if ( grep /$t/i, $desc) { $found = 1 ; }
92                                }
93                                if ($found) {
94                                        $count++ ;
95                                        $htmlLine++ ;
96                                        # print "$desc\n" ;
97                                        print $html "<tr>\n" ;
98                                        print $html "<td>", $htmlLine , "</td>\n" ;
99                                        print $html "<td>", osmLink ($lon, $lat, 16) , "</td>\n" ;
100                                        print $html "<td>", osbLink ($lon, $lat, 16) , "</td>\n" ;
101                                        print $html "<td>", josmLinkDontSelect ($lon, $lat, 0.01), "</td>\n" ;
102                                        print $html "<td>", $desc , "</td>\n" ;
103                                        print $html "</tr>\n" ;
104                                }
105                        }
106                }
107        }
108        close ($gpxFile) ;
109}
110else {
111        print "\nNOT processing file: $gpxName\n" ;
112}
113
114
115print $html "</table>\n" ;
116print $html "<p>$htmlLine lines total</p>\n" ;
117
118$time1 = time() ;
119print "$programName finished after ", stringTimeSpent ($time1-$time0), "\n\n" ;
120print $html "<p>$programName finished after ", stringTimeSpent ($time1-$time0), "</p>\n" ;
121
122
123printHTMLFoot ($html) ;
124
125close ($html) ;
126
127
128print "\n$count entries found.\n\n" ;
129
130
131
Note: See TracBrowser for help on using the repository browser.