Re: [Talk-de] Perl-Zugriff auf OSM-Daten
Am Tuesday 31 March 2009 07:08:34 schrieb Jan Tappenbeck: Hi ! ich versuche langsam den Einstieg in Perl. Da das OSM-Datenformat xml-basiert ist suche ich ein einfaches Einsteigerbeispiel für die Datenfilterung einer Datei. Z.B. alle shop=butcher in der Datei. Hat einer von Euch ein solches zur Hand und kann es mir zur Verfügung stellen ? ungefähr so (hab das aus einer bestehende Datei herausgeschnitten)? #!/usr/bin/perl -w use XML::Parser; sub anfang { ($wert_des_zeigers,$starttag,%hash) = @_; if ($starttag eq node) { $id=$hash{id}; $lat=$hash{lat}; $lon=$hash{lon}; $type=node; } elsif ($starttag eq tag) { $k=$hash{k}; $v=$hash{v}; if (($k eq shop) and ($v eq buttcher)) { print $lat $lon\n; } } elsif ($starttag eq way) { $id=$hash{id}; $type=way; $lat=; } elsif ($starttag eq nd) { $ref=$hash{ref}; if (($lat eq ) and (defined($lath{$ref}))) { $lat=$lath{$ref}; $lon=$lonh{$ref}; } push @nodes,$ref; } sub ende { ($wert_des_zeigers,$endtag) = @_; } sub inhalt { ($wert_des_zeigers,$inhalt)=...@_; #print $inhalt; } my $zeiger = new XML::Parser (); $zeiger-setHandlers (Start = \anfang,End = \ende,Char=\inhalt ); $zeiger-parsefile (Datei.osm); Gruß Sven Gruß Jan :-) BTW: Bitte lass doch den Inflationären Gebrauch von Simlies, das führt dazu das ich dich manchmal nicht ernst nehme. ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Perl-Zugriff auf OSM-Daten
;Moin ! Danke für den Code - das macht das verständnis leichter. @Roland: Gary68 ist bekannt - auch dafür vielen Dank. Gruß Jan :-) Sven Anders schrieb: Am Tuesday 31 March 2009 07:08:34 schrieb Jan Tappenbeck: Hi ! ich versuche langsam den Einstieg in Perl. Da das OSM-Datenformat xml-basiert ist suche ich ein einfaches Einsteigerbeispiel für die Datenfilterung einer Datei. Z.B. alle shop=butcher in der Datei. Hat einer von Euch ein solches zur Hand und kann es mir zur Verfügung stellen ? ungefähr so (hab das aus einer bestehende Datei herausgeschnitten)? #!/usr/bin/perl -w use XML::Parser; sub anfang { ($wert_des_zeigers,$starttag,%hash) = @_; if ($starttag eq node) { $id=$hash{id}; $lat=$hash{lat}; $lon=$hash{lon}; $type=node; } elsif ($starttag eq tag) { $k=$hash{k}; $v=$hash{v}; if (($k eq shop) and ($v eq buttcher)) { print $lat $lon\n; } } elsif ($starttag eq way) { $id=$hash{id}; $type=way; $lat=; } elsif ($starttag eq nd) { $ref=$hash{ref}; if (($lat eq ) and (defined($lath{$ref}))) { $lat=$lath{$ref}; $lon=$lonh{$ref}; } push @nodes,$ref; } sub ende { ($wert_des_zeigers,$endtag) = @_; } sub inhalt { ($wert_des_zeigers,$inhalt)=...@_; #print $inhalt; } my $zeiger = new XML::Parser (); $zeiger-setHandlers (Start = \anfang,End = \ende,Char=\inhalt ); $zeiger-parsefile (Datei.osm); Gruß Sven Gruß Jan :-) BTW: Bitte lass doch den Inflationären Gebrauch von Simlies, das führt dazu das ich dich manchmal nicht ernst nehme. ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Perl-Zugriff auf OSM-Daten
Jan Tappenbeck schrieb: Hi ! ich versuche langsam den Einstieg in Perl. Da das OSM-Datenformat xml-basiert ist suche ich ein einfaches Einsteigerbeispiel für die Datenfilterung einer Datei. Z.B. alle shop=butcher in der Datei. Hat einer von Euch ein solches zur Hand und kann es mir zur Verfügung stellen ? Gary68 hat einige Perl-Module für OSM entwickelt - http://wiki.openstreetmap.org/wiki/User:Gary68 vielleicht erspart dir das ja Arbeit. lg roland ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de