source: subversion/applications/utils/downloading/taho/convert_osm2mif.pl @ 24860

Last change on this file since 24860 was 10484, checked in by oreimann, 11 years ago
  • Property svn:executable set to *
File size: 1.1 KB
RevLine 
[10484]1#!/usr/bin/perl
2
3print "version 300
4charset \"utf-8\"
5coordsys earth projection 1, 104
6delimiter \",\"
7columns 1
8cat integer
9data\n";
10
11my $p=1000000;
12$wayid=0;
13
14while (<>) {
15        $line = $_;
16        chomp($line);
17        if(0) {
18        } elsif ($wayid>0) {
19                if ($line =~ /<\/way>/){ # ende des way
20                        printf "PLINE %i\n" , $wayix ;
21                        for(my $i = 0; $i < $wayix; $i++) {
22                                #printf " %i \n" , $way{$i};
23                                printf " %f %f\n" , $lon{$way{$i}+$p} ,$lat{$way{$i}+$p};
24                        }
25                        #printf "end: wayid %i\n" , $wayix ;
26                        $wayid = 0;
27                } elsif ($line =~ /<nd ref=["'](.*?)["']\/>/) {
28                        $way{$wayix} =$1  ;   
29                        #printf "line: %i \n" , $way{$wayix};
30                        $wayix++;
31                }
32        } elsif ($line =~ /<node id=["'](.*?)["'].*?lat=["'](.*?)["'].*?lon=["'](.*?)["']/) {
33                $lat{ $1 +$p} = $2;
34                $lon{ $1 +$p} = $3;
35                #printf "line: %f %f  \n" ,$2 ,$3;
36        } elsif ($line =~ /<way id=["'](.*?)["']/) { #way gefunden:
37                $wayid = $1;
38                $wayix = 0;
39                #printf "wayid: %i  \n" ,$wayid ;
40        }
41}
42
Note: See TracBrowser for help on using the repository browser.