Automatische Korrektur von Fehlern in addr:* (2) - postcode u. country

Jetzt doch noch einer off-topic von mir hinterher: Der Code für die Entfernung von führendem/nachfolgendem Leerraum ist fertig (21 Zeilen Emacs Lisp inklusive Docstring), aber bis auf weiteres werde ich den nur auf handverlesene Objekte loslassen (vgl. 15022201 ff.). Bei der Bot-Entwicklung haben erstmal die Adresskorrekturen Vorrang. Wenn ich sicher bin, daß diese zuverlässig laufen, kann das nächste Projekt kommen. Und das dann hoffentlich auf dem Toolserver.

Ich habe bei der Trennung von PLZ und Ort noch eine Ergänzung vorgenommen. Neben

D-12345 / D 12345 / D12345

wird nun auch

D - 12345

erkannt und verarbeitet. Stein des Anstoßes war dieser Knoten.

Man könntest auch ganz verwegen auf Vorhandensein eines 5-stelligen numerischen Strings prüfen und den ggf. vorhandenen Rest entfernen. Oder weniger verwegen, beliebige Kombinationen von Sonderzeichen zwischen D/DE und der 5-stelligen Zahl entfernen.

Prüfst du bei Postleitzahlen mit D/DE ob addr:country vorliegt? Andernfalls würde ich ein solches Vorliegen als Indiz für eine deutsche Postanschrift werten.

Kann eigentlich - außer den bereits genannten Exklaven - eine ausländische Anschrift auch bei exterritorialen Gebieten wie Konsulaten oder Kasernen vorliegen?

Grüße
RvdtG

Das würde auch addr:postcode=“12345 Kleinkleckersdorf” erfassen, siehe http://forum.openstreetmap.org/viewtopic.php?id=19840 .

Das wäre möglich; der von mir gewählte Weg ist sicher nicht der einzig gangbare. Mir ist aber wohler dabei, die Regeln für die Ersetzung so streng wie möglich zu halten und nur bei Bedarf schrittweise zu erweitern, als mit einer von vornherein (zu) weit gefaßten Regel irgendwann eine böse Überraschung zu erleben. Der jetzige Regex deckt sämtliche korrigierbaren Fälle von “Postleitzahl mit D” ab, die mir bisher begegnet sind. Natürlich sind auch andere Formate denkbar, aber wenn sie in der Realität nicht auftreten, braucht man sie auch nicht zu berücksichtigen.

Nein. addr:country=DE wird aber im Zuge der Korrektur von addr:postcode ergänzt, falls noch nicht vorhanden. “D-”, fünfstellige Postleitzahl und Lage innerhalb Deutschlands sind für mich Hinweis genug, daß es sich um eine deutsche Adresse handelt.

Einziges mir bekanntes Beispiel in OSM: http://www.openstreetmap.org/browse/way/54222836
Enklaven werden durch das Filterpolygon berücksichtigt.

Zwei weitere triviale Ergänzungen “based on a true story”: in

de / De / GER / Deutschland / Germany -> DE

ist GER neu (zu viele Sportübertragungen geguckt?), zu

D-12345 / D 12345 / D12345 / D - 12345

ist jetzt auch noch

DE-12345 / DE 12345 / DE12345 / DE - 12345

hinzugekommen.

Noch zwei triviale Ergänzungen. In der Ersetzungsvorschrift

d / D / de / De / GER / Deutschland / Germany -> DE

sind “d” und “D” neu hinzugekommen. Wenn sich jemand wundert, warum erst jetzt - ich weiß es selbst nicht. Erstaunlicherweise kommen “d” und “D” ziemlich selten vor.