Anläßlich der Marke von 10 000 Bearbeitungen durch Wall·E möchte ich noch einmal die Entwicklungen der letzten Wochen und Monate zusammenfassen. Es hat sich einiges getan, vor wie hinter den Kulissen.
Das Repertoire von Wall·E ist inzwischen beträchtlich gewachsen und umfaßt nun Straßennamen, Adressen, Leerraum in Tags und Member-Rollen sowie wiederholte Knoten.
Toolserver
Bereits seit längerem wird auch OSM-Projekten Zugang zum Wikimedia Toolserver gewährt. Wikimedia Deutschland e.V. erkennt damit OpenStreetMap als verwandtes und befreundetes Projekt an und stellt so auch Entwicklern aus dem OSM-Bereich einen Teil der eigenen Ressourcen zur Verfügung - eine wertvolle Unterstützung für Entwickler, die sich für ihr kleines Projekt nicht einen eigenen Server leisten können.
Hiervon profitiert nun auch Wall·E. Der beantragte Toolserver-Account ist eingerichtet und inzwischen sind sämtliche Programme dorthin umgezogen. An dieser Stelle einen herzlichen Dank für die Öffnung des Toolservers für OSM-Projekte.
Verschiebung von Knoten
Ende Februar ist mir ein Fehler im Wall·E-Quellcode aufgefallen, den ich eigentlich unbedingt hatte verhindern wollen. Neben den beabsichtigten Korrekturen wurden auch ungewollte Änderungen vorgenommen, konkret: die Koordinaten von Knoten wurden beim Hochladen zur API mit einer Dezimalstelle zu wenig ausgegeben, was einer Rundung der Koordinaten gleichkommt. In der Folge wurden etwa 1000 Knoten um jeweils einige Zentimeter (typisch 2-4 cm, im Extremfall etwa 7 cm) verschoben.
Der Fehler ist behoben und ich bin nun sicher, daß Wall·E keine unbeabsichigten Änderungen mehr vornimmt. Dieses Mal wirklich. Ganz bestimmt. (Alle Angaben ohne Gewähr, der Rechtsweg ist ausgeschlossen. Betreten auf eigene Gefahr, für Garderobe keine Haftung.)
Osmium
Im Rahmen des Umstiegs habe ich auch die Filterprogramme komplett neu geschrieben. Anfangs stand bei diesen noch ein leicht verständlicher, schnell anpaßbarer Quellcode im Vordergrund, weshalb neben osmconvert, osmfilter und osmosis einige einfache AWK-Programme zum Einsatz kamen. Inzwischen haben C++-Programme die meisten Aufgaben übernommen. Dank der irrsinnig schnellen Osmium-Bibliothek benötigt die Filterung von Kandidaten für sämtliche Korrekturprozesse aus germany.osm auf einem Rechner des Toolserver-Clusters in der Regel weniger als 20 Minuten Rechenzeit - und dabei sind noch längst nicht alle Optimierungs- und Synergiepotentiale ausgeschöpft. Das bloße Filtern nach Adressfehlern geht in 5 Minuten.
Adressen
Die Adresskorrekturen bestehen inzwischen aus fünf Teilprozessen: je einer für addr:street, addr:country und addr:postcode sowie jeweils ein Prozess für vermischte oder vertauschte addr:postcode und addr:city bzw. addr:street und addr:housenumber. Die inzwischen zuverlässig arbeitenden Korrekturen decken damit einen großen Teil der typischen Adressfehler ab. Auch die meisten Fälle von vermischten oder vertauschen Straßennamen und Hausnummern, die bisher größte Herausforderung für Wall·E, werden sicher gelöst; wenn nicht, liegt es meist an einem falsch geschriebenen Straßennamen, in dessen Folge die Korrektur komplett unterbleibt. Einige besonders häufige, aber vergleichsweise simple Schreibfehler in Straßen- und Ortsnamen kann Wall·E inzwischen - mit Absicherung über eine Overpass API-Abfrage - sogar beheben; sonstige Schreibfehler in addr:street werden über einen Abgleich mit Straßennamen in der Umgebung zumindest erkannt. Dies sind in aller Regel die einzigen Fehler in einer Adresse, die nach Bearbeitung durch Wall·E noch verbleiben, mal abgesehen von unsinnigen/überflüssigen addr:housename-Tags (und häufig leider auch einer Menge Unfug jenseits der Adressdaten).
Neue Korrekturen
Ganz neu hinzugekommen ist die Bereinigung wiederholter Knoten in Wegen. Traditionell wurden solche Fehler zuhauf durch die beiden Potlatch-Generationen erzeugt; in jüngerer Zeit hat jedoch JOSM hier die Hauptrolle übernommen, nachdem in Potlatch offenbar zumindest die wichtigsten Fehlerquellen abgestellt wurden und ein (inzwischen nicht mehr) fehlerhaftes JOSM-Plugin sich offenbar großer Beliebtheit erfreut. Am Rande daher eine Bitte: JOSM aktualisieren, und vorhandene Plugins gleich mit.
Ausführungsintervalle
Einer der Vorzüge des Toolserver-Accounts ist die Möglichkeit, Prozesse als cronjob auf einem (nahezu) permanent verfügbaren Server regelmäßig zu festen Zeiten zu starten. Die Adresskorrekturen laufen nun täglich; Straßennamen und Leerraum werden an drei festen Terminen pro Monat (07., 17., 27.) korrigiert, wiederholte Knoten jeweils am 17. eines jeden Monats. Letztere beiden Korrekturen werden neuerdings auch in Österreich durchgeführt, vorerst im 2-Wochen-Rhythmus.