Index: osm2mp.pl =================================================================== --- osm2mp.pl (.../upstream/osm2mp) (revision 106) +++ osm2mp.pl (.../work/osm2mp) (revision 106) @@ -196,7 +196,7 @@ my $id; my $latlon; -my ($poi, $poiname); +my ($poi, $poiname, $ZipCode, $CityName, $StreetDesc, $HouseNumber, $isIn); my $nameprio = 99; while () { @@ -210,18 +210,34 @@ $poi = ""; $poiname = ""; + $ZipCode = ""; + $CityName = ""; + $StreetDesc = ""; + $HouseNumber = ""; + $isIn = ""; $nameprio = 99; next; } if ( /\=0 && $tagprio<$nameprio) { $poiname = convert_string ($2); $nameprio = $tagprio; } + + #printf STDERR "$1 $2\n" if ( "$1" ne "created_by"); + + $isIn = $2 if ( "$1" eq "is_in"); + $ZipCode = $2 if ( "$1" eq "openGeoDB:postal_codes"); + $ZipCode = $2 if ( "$1" eq "addr:postcode" ); + $CityName = $2 if ( "$1" eq "addr:city" ); + $CityName = $2 if ( "$1" eq "openGeoDB:sort_name" ); + $StreetDesc = $2 if ( "$1" eq "addr:street" ); + $HouseNumber = $2 if ( "$1" eq "addr:housenumber" ); + next; } @@ -238,8 +254,14 @@ printf "Data%d=($latlon)\n", $type[1]; printf "EndLevel=%d\n", $type[2] if ($type[2] > $type[1]); printf "City=Y\n", if ($type[3]); - print "Label=$poiname\n" if ($poiname); + print "Label=$poiname\n" if ($poiname); + printf "ZipCode=$ZipCode\n", if ($ZipCode); + printf "CityName=$CityName\n", if ($CityName); + printf "StreetDesc=$StreetDesc\n", if ($StreetDesc); + printf "HouseNumber=$HouseNumber\n", if ($HouseNumber); + printf "is_in=$isIn\n", if ($isIn); print "[END]\n\n"; + } } }