#!/usr//bin/perl -w # # Quick and Dirty-Umsetzung von GPX-Tracks in Bommelisten. # Gelesen wird alles zwischen und und dann # eine Textdatei mit der Koordinate des mittleren Punktes # dieses Segments ausgegeben. # Die Eingangasdatei liegt im Format # # # # # # vor, also nix ausser trkpt's zwischen zwei trkseq und alles # in einer Zeile. Das ist bei diesen haiti-Daten so, aber in einer # GPX kann noch viel mehr drin sein... # # open(REIN,"< haiti_river_unnamed.gpx"); open(RAUS,"> haiti_river_unnamed.txt"); $title="Fluss ohne Namen"; $icon="../images/osmrot.gif"; $iconsize="8,15"; $iconoffset="-4,-15"; print RAUS "lat\tlon\ttitle\tdescription\ticon\ticonSize\ticonOffset\n"; while(defined($i = )) { # # trkseq: Dann Zaehler fuer die Puunkte ruecksetzen # if(index($i,"")>=0){$t=0;} # # trkpkt: Zaehler weiterzaehlen # if(index($i,"=0){ $t++; $zeile[$t]=$i; } # # /trkseq: Mittlere Koordinate (also die bei $t ausgeben # if(index($i,"")>=0){ # # Zerlegen an Leerzeichen # @zerleg=split(/ /,$zeile[$t/2]); foreach(@zerleg){ # # Eintrag fuer lat und lon suchen, alles was nicht Zahl ist wegwerfen # if(index($_,"lat")==0) { s/[^0-9.-]//g; $lat=$_; } if(index($_,"lon")==0) { s/[^0-9.-]//g; $lon=$_; } } # # Alles mit Tabs getrennt ausgeben.... # print RAUS "$lat\t$lon\t$title\tEdit in Potlatch\t$icon\t$iconsize\t$iconoffset\n" } } close(REIN);close(RAUS); ################### Das gleiche mit benamten Fluessen ###### open(REIN,"< haiti_river_named.gpx"); open(RAUS,"> haiti_river_named.txt"); $title="Fluss mit Namen"; $icon="../images/osmgelb.gif"; $iconsize="8,15"; $iconoffset="-4,-15"; print RAUS "lat\tlon\ttitle\tdescription\ticon\ticonSize\ticonOffset\n"; while(defined($i = )) { if(index($i,"")>=0){$t=0;} if(index($i,"=0){ $t++; $zeile[$t]=$i; } if(index($i,"")>=0){ @zerleg=split(/ /,$zeile[$t/2]); foreach(@zerleg){ if(index($_,"lat")==0) { s/[^0-9.-]//g; $lat=$_; } if(index($_,"lon")==0) { s/[^0-9.-]//g; $lon=$_; } } print RAUS "$lat\t$lon\t$title\talles ist gut\t$icon\t$iconsize\t$iconoffset\n" } } close(REIN);close(RAUS);