Thread Warum wird das nicht erkannt ? (6 answers)
Opened by jan99 at 2014-03-03 09:39

jan99
 2014-03-03 09:39
#173791 #173791
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
HI !

ich habe da ein kleines Tool erstellt was einen Wert addr:housenumber aufsplittet und analysiert.

Der Code folgt am Ende. Das Problem ist, wenn der Wert b10 ist, dann wird dieser nicht von dem If-Statement für den bicycle_parking nicht erkannt. Dieses könnte Werte von B0 bis b999 haben.

Kann mir einer weiterhelfen ?

Gruß Jan :-)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  for my $element (@data)
{
my ($lon,$lat) = $element->center();
print "id: ".$element->id()." - lon: ".$lon." - lat: ".$lat."\n";
print $fh_out " <node id='".($element->id())."' action='modify' visible='true' version='1' lat='".$lat."' lon='".$lon."'>\n";
# liegt überhaupt eine Info vor ?
if($element->has_tag('addr:housenumber'))
{
print "Wert: ".$element->tag('addr:housenumber')->value()."\n";
# aufsplitten der Informationen
my @tags = split(/\//,$element->tag('addr:housenumber')->value());
# print Dumper(@tags)."\n";
$tags[0] = lc($tags[0]);
#print Dumper \@tags;

if( $tags[0] =~ /^[0-9]{6}/ ){
....

}elsif ($tags[0] eq '' && $tags[1] =~ /^[0-9]{1,6}/){
....

}elsif( $tags[0] =~ /^bj.*/ ){
....

}elsif( $tags[0] eq 'hs' ){
....


}elsif( $tags[0] =~ /^b[0-9]{1-3}/ ){
# das müßte erkannt werden !
writeKV($fh_out,'amenity','bicycle_parking');

...
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de

View full thread Warum wird das nicht erkannt ?