Neues von Wall·E. Strase und StraSe sind jetzt im Ersetzungskatalog; außerdem wird addr:street in jedem Fall von überschüssigem Leerraum (vorne/hinten) befreit, nicht nur nach einer anderen Korrektur. (Inzwischen werden addr:street und die name-Tags von highway=*-Wegen durch dieselbe Funktion bearbeitet, für diese gilt also gleiches.) Die geplante Leerraum-Beseitigung wird für diese Tags nun also für Objekte, die im jeweiligen Filter landen, vorweggenommen. Das Filterprogramm für Adresskorrekturen sucht nun auch ausdrücklich nach solchen Objekten - daher kommt die heutige Schwemme von Bearbeitungen.
Bei der Gelegenheit habe ich auch ein paar Fehler ins Logging und den Programmablauf eingebaut. Falls noch jemand das Log verfolgt und sich über die vielen “looks suspicious”-Warnungen heute gewundert hat: die kommen daher. Das Problem ist behoben, auch wenn es ein wenig gedauert hat (reicht ja nicht, daß die OSM-DB hinüber war und auf dem Toolserver der crond kaputt ist, vorhin hat auch noch der Login-Server gestreikt).
Eine weitere Neuerung betrifft das, was ich im Parallelfaden neulich angedeutet hatte:
Sowohl bei addr:city als auch bei addr:street versucht Wall·E jetzt “komische” Werte im Bedarfsfall zu korrigieren. Komisch heißt hier: beginnt mit einem Kleinbuchstaben, das ist aber eventuell noch ausbaufähig. Der Korrekturversuch läuft so ab: zunächst wird Leerraum zwischen den Wörtern auf je genau ein Leerzeichen normalisiert (also mehrere Leerzeichen zusammengeschrumpft, Tabs etc. ersetzt); anschließend werden die Wörter selbst “kapitalisiert” (erster Buchstabe groß, übrige klein) - ausgenommen Präpositionen und Artikel, das erste Wort jedoch immer.
Anschließend kommt der wichtigste Schritt: der Vorschlag für das geänderte Tag wird mit der Overpass API abgeglichen. Bei der Änderung von addr:city frage ich die Overpass API, ob das bearbeitete Objekt innerhalb einer area mit passendem Namen liegt; im Fall von addr:street, ob in der Nähe eine Straße des jeweiligen Namens vorhanden ist. Nur bei positivem Ergebnis wird die Ersetzung durchgeführt.
Weil diese neuen Korrekturprozesse noch wenig erprobt sind und ich die Adresskorrekturen bald in den vollautomatischen Betrieb überführen will, schreiben sie eine dicke Warnung ins Log. Ich denke allerdings, daß dank Overpass API eigentlich nichts schief gehen kann.
Eine erfolgreiche Korrektur sieht so aus (bisher einziges Beispiel):
editing node #2218482952, http://www.openstreetmap.org/browse/node/2218482952
addr:street tag modified: " Beim unteren Tor " -> "Beim unteren Tor"
addr:street tag modified: "Beim unteren Tor" -> "Beim Unteren Tor"
--- warning: this is an experimental feature ---
Link zum Knoten: http://www.openstreetmap.org/browse/node/2218482952
Eine versuchte, aber nach Overpass-API-Befragung abgebrochene Korrektur ist bisher real noch nicht vorgekommen, sähe aber so aus (gleiches Objekt mit künstlich eingebautem, anderem Fehler):
--- note: attempted modification of addr:street tag: "Beim un teren Tor" -> "Beim Un Teren Tor" discouraged by result of Overpass API query; cancelled. ---
Nachtrag: der neue Korrekturprozeß für addr:city ist offensichtlich fehlerhaft. Dank der Kontrolle per Overpass API geht aber in den Daten nichts kaputt.