On 22.07.2012 11:56, Boris Cornet wrote:
Überhaupt nicht logisch stringent ist aber deine Idee des Taggings:
addr:street=* + addr:housenumber=*
addr1:street=* + addr1:housenumber=*

Du willst also ein Programm zwingen, eine unvorhersehbare Zahl von
unterschiedlichen Tags auszuwerten? Eine kleine, aber entscheidende
Verbesserung wäre:

addr:1:street
addr:2:street

Das hat den Vorteil, dass es universell ist (also nicht nur auf den
addr namespace beschränkt bleiben muss) und wesentlich einfacher zu
parsen ist.

Ich sehe beim Parsen keinen wesentlichen Unterschied, ob zwischen addr und Zahl ein Doppelpunkt steht. Z.B. in Perl:
if ($key =~ /^addr(\d+):(\w+)/) {$addrnum=$1; $subkey=$2}
if ($key =~ /^addr:(\d+):(\w+)/) {$addrnum=$1; $subkey=$2)
oder für Namespaces:
if ($key=~ /^([[:alpha:]_]+)(\d*):(\w+)/) {$namespace=$1; $namespace_num=$2; $subkey=$3} if ($key=~ /^(\w+):(?:(\d*):)?(\w+)/) {$namespace=$1; $namespace_num=$2; $subkey=$3}

Aber vielleicht ist es mit Doppeltpunkt besser lesbar.

Deine Variante, auch bei der ersten Straße eine Nummer in den Key zu geben, hat auf jeden Fall den Vorteil, dass wir definieren können:
mit Nummer ... gilt für eine der Adressen
ohne Nummer ... Default für alle Adressen des Objekts

Somit braucht man country, postcode und city nur 1x angeben:

addr:country=AT
addr:postcode=1010
addr:city=Wien
addr:1:street=Hubergasse
addr:1:housenumber=3
addr:2:street=Meiergasse
addr:2:housenumber=8

Wenn jemand ein Postfach hat:
addr:3:postcode=1011
addr:3:pob=851

--
Friedrich K. Volkmann       http://www.volki.at/
Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria

_______________________________________________
Talk-at mailing list
Talk-at@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-at

Antwort per Email an