User:Oli-Wan/Wall-E

From OpenStreetMap Wiki
Jump to: navigation, search

Short summary in English

Elisp This bot is a native speaker of Emacs Lisp
231+ This bot is 231 safe (unless run on Solaris).
Wikimedia Community Logo-Toolserver.svg This bot enjoys the kind support provided by the Wikimedia Toolserver.

Wall·E is a bot account operated by me (Oli-Wan) that I use to carry out automatic corrections of specific errors. Currently only objects in Germany and Austria are modified; therefore the rest of this wiki page is in German only, except for the following brief outline.

Wall·E currently corrects

  • misspelt or abbreviated road names in Germany, i.e. replaces "Strasse", "Str." and "Str" with "Straße" (and similarly for their all-lowercase counterparts), along with a few more narrowly defined spelling errors, appearing either in the name=* tag of roads or the addr:street=* tag of other objects;
  • several other types of errors in German address tags (ill values of addr:country=*, mis-formatted addr:postcode=*, swapped tags, postal code/city or street/housenumber combined into one tag);
  • superfluous whitespace in tags and roles (Germany, Austria);
  • repeated nodes in ways (Germany, Austria);
  • ways consisting of only one node (Germany);
  • various basic misspellings/typos (Germany).

Care is taken to ensure that country-specific correction algorithms only affect objects within Germany (defined by the OSM boundary) to avoid misfixes in adjacent countries (such as Switzerland, where "Strasse" is actually considered the correct spelling, or the Netherlands, where "str." would have to be expanded differently).

The edits performed by Wall·E are largely inspired by or even modeled after xybot, who used to correct a similar class of errors (though not always being quite aware of boundary issues), but has ceased operation in 2012.

Geographical scope and schedule

country/region road names addresses whitespace repeated nodes one-node-ways misspellings
Deutsche Flagge.jpg Germany every 10 days every 2 days every 10 days every 10 days every 10 days non-regularly
Flag of Austria.svg Austria every other Saturday
Blue globe icon.svg Planet - - planned (long term)

Edits "in passing"

Wall·E removes the tag created_by=* from objects being modified (which is still written by the telephone editing toy iLOE and not automatically removed by all editors).

Übersicht

Elisp Dieser Bot spricht Emacs Lisp als Muttersprache
231+ Dieser Bot ist 231-sicher (außer auf Solaris).
Wikimedia Community Logo-Toolserver.svg Dieser Bot genießt die freundliche Unterstützung des Wikimedia Toolserver.

Wall·E ist ein von mir (Oli-Wan) betriebener Bot-Account, über den ich automatische Korrekturen bestimmter Fehler vornehme.

Derzeit werden folgende Korrekturen durchgeführt:

Vorbild der durchgeführten Korrekturen ist xybot, der über lange Zeit eine ganze Reihe von Fehlern beseitigt, jedoch im Jahr 2012 seinen Betrieb eingestellt hat. Bekannte Schwächen von xybot versuche ich zu vermeiden: dazu gehört vor allem die fehlende Beachtung von Staatsgrenzen bei landesspezifischen Bearbeitungen.

Arbeitsgebiete und Ausführungsplan

Hinweis: Wegen der Abschaltung des Wikimedia Toolserver und in Ermangelung einer neuen Hosting-Lösung laufen sämtliche Korrekturprozesse derzeit nur unregelmäßig. Die folgende Tabelle gibt den ehemaligen Ausführungsplan auf dem Toolserver wieder.

Land/Region Straßennamen Adressen Leerraum Wiederholte Knoten Ein-Knoten-Wege Tippfehler
Deutsche Flagge.jpg Deutschland 10-täglich 2-täglich 10-täglich monatlich 10-täglich 10-täglich unregelmäßig
Flag of Austria.svg Österreich 2-wöchentlich (Samstag)
Blue globe icon.svg Planet - - langfristig angestrebt


Bearbeitungen "nebenbei"

Wall·E entfernt bei Objekten, die er bearbeitet, ein eventuell vorhandenes created_by=*-Tag.

Protokoll

Das vom Programm geschriebene Logfile ist unter http://toolserver.org/~mapjedi/wall-e-log.txt einsehbar (automatische Aktualisierung bei jeder Ausführung). Technisch bedingt fehlen einzelne Läufe (vor allem aus der Erprobungsphase). Zur Begrenzung der Dateigröße habe ich das Protokoll inzwischen aufgespalten:

Bekannte Fehler

Im folgenden werden falsche Korrekturen und fehlerhafte Bearbeitungen aufgeführt, die bei der Durchsicht der Protokolle und Änderungssätze festgestellt wurden. Die vielen noch vorhandenen Fehler und Unzulänglichkeiten des Programms, welche "nur" z.B. zu Programmabstürzen, aber nicht zu falschen Korrekturen führen, werden dagegen hier ebensowenig diskutiert wie die Fälle, wo Wall·E nicht alle vorhandenen Fehler beseitigen kann oder konnte.

  • Yes check.svg node 1646044567/history Knoten 1646044567: Hier wurde wie vorgesehen "Str" zu "Straße" expandiert. Der tatsächlich vorhandene Fehler bestand jedoch in einem eingefügten Leerzeichen im Wort "Straße", sodaß effektiv "Str aße" durch "Straße aße" ersetzt wurde. Dieser bei der Planung nicht bedachte Sonderfall wird inzwischen abgefangen.
  • Yes check.svg Bei Bearbeitungen bis zum 25. Februar 2013 kam es durch eine falsche Formatangabe bei der Erzeugung von XML-Output zu einer unbeabsichtigen Rundung der Koordinaten von Mf node.png Knoten; im Extremfall konnte hierbei eine Verschiebung um etwa 7 cm entstehen. Dieser Fehler ist behoben.
  • Exclamation.svg Beim Versuch, Wall·E im Toolserver-Cluster auch auf einer Solaris-Maschine auszuführen, stellte sich völlig unerwartet heraus, daß die Solaris-Version von GNU Emacs Ganzzahlen größer als 231 nicht in Gleitkommazahlen umwandelt. Hierbei wurde die Sperrliste für Adresskorrekturen zerschossen und war daher bei einer folgenden Bearbeitung für Knoten jenseits 231 wirkungslos. Hiervon betroffen war jedoch nur ein Objekt, der weiter unten aufgeführte Knoten in einer Brunnenstraße.
  • Yes check.svg node 2287933388/history Knoten 2287933388: Wegen einer falschen Regex-Backreference wurde hier addr:city="47608 Geldern" nicht durch "Geldern", sondern durch eine leere Zeichenkette ersetzt. Der zugrundeliegende Fehler ist behoben.

Ferner wurden Bearbeitungen durch Wall·E in folgenden Fällen rückgängig gemacht, wo ich jedoch nicht von einem Programmfehler sprechen möchte:

  • Der Name der Mf way.png Matthias-Joseph-Mehs-Straße in Wittlich hat sich bereits mehrfach geändert, woran auch Wall·E einen Anteil hatte. Hintergrund ist ein inzwischen behobener Fehler in der kommunalen Straßenliste (Aussage der Gemeindeverwaltung dazu: "Auch wenn wir in der Eifel wohnen schreiben wir Straße nach Duden, d. h. mit "ß". Auch die besagte Joseph-Mehs-Straße."). Inzwischen wird sie in OSM wieder als "Straße" geführt.
  • Mf way.png Weg 187714373, Mf way.png Weg 187727034, Mf way.png Weg 187727035: "Hauptstrasse" zu "Hauptstraße" zu "Hauptstrasse". Dies ist der einzige mir bekannte Fall, in dem jemand eine Änderung erkennbar bewußt (mit entsprechendem Kommentar) rückgängig gemacht hat, um sich nach der Schreibweise auf dem Straßenschild zu richten.
  • Mf way.png Weg 9096881 (exemplarisch für insgesamt 25 Wege gleichen Namens): "Grüppenbührener Landstr." zu "Grüppenbührener Landstraße" und zurück. Mf way.png Weg 4974375: "Doktor-Friedrich-u.Ilse-Erhard-Str." zu "Doktor-Friedrich-u.Ilse-Erhard-Straße", Mf way.png Weg 30162659: "Doktor-Ingeborg-Haeckel-Str." zu "Doktor-Ingeborg-Haeckel-Straße" und zurück. In diesen Fällen sind die Motive des jeweiligen Mappers nicht aus einem Änderungssatzkommentar ersichtlich.
  • node 2125594225/history Knoten 2125594225: Wall·E hat hier "Brunnenstrasse" zu "Brunnenstraße" korrigiert. Daraus wurde später wieder "Brunnenstrasse". Da zugleich jedoch die Hausnummer verschwand und der Bearbeiter Anfänger war, halte ich dies nicht für einen bewußten Opt-out.
  • Mf way.png Weg 172319298: "Sülzburgstr." zu "Sülzburgstraße" und zurück.
  • Im Änderungssatz 14723240
wurden Bearbeitungen durch Wall·E revertiert. Wie sich herausstellte, hatte der betreffende User die Nummer eines Änderungssatzes, welchen er revertieren wollte, falsch abgetippt. Nach manueller Entfernung aus der Sperrliste wurden die Objekte erneut korrigiert.

FAQ

  • Warum laufen die Korrekturen nur in Deutschland? In (Land einsetzen) gibt es ganz ähnliche Fehler.
Eine automatisierte Fehlerkorrektur bedarf der Zustimmung der Community. Für DE hat das deutschsprachige Forum zu den oben genannten Korrekturen seinen Segen erteilt. Falls in anderen Ländern Interesse besteht, Wall·E auch dort einzusetzen, bitte mit mir Kontakt aufnehmen.
  • Wall·E hat eine falsche Änderung vorgenommen. Was soll ich tun?
Wenn es nur um einen "einmaligen" örtlichen Sonderfall geht, also kein Muster dahintersteckt, welches auch anderswo zu einer falschen Korrektur führen könnte, genügt es, die Änderung einmalig rückgängig zu machen bzw. das alte Tagging wiederherzustellen. Wall·E ist so programmiert, daß er dieselbe Änderung kein zweites Mal durchführt. (Sollte das wider Erwarten nicht klappen, bitte Nachricht an mich! Technisch bedingt kann dies in Einzelfällen vorkommen.)
Falls derselbe oder ein ähnlicher Sonderfall auch andernorts denkbar ist oder die Korrektur gar nach einem Programmierfehler aussieht (etwa, wenn sie nach den auf der Wiki-Seite dokumentierten Regeln gar nicht stattfinden sollte): bitte Nachricht an mich, damit ich das Programm korrigieren bzw. mit einer weiteren Ausnahmeregel versehen kann. Ansonsten gilt dasselbe wie oben: für das betroffene Objekt genügt es, die Änderung einmalig rückgängig zu machen.
  • Ich habe einen weiteren Vorschlag für Korrekturen, die Wall·E durchführen könnte. Kannst du den mit aufnehmen?
Grundsätzlich ja. Voraussetzung ist aber, daß es tatsächlich um die Korrektur eindeutiger Fehler (nicht etwa das Umtaggen konkurrierender Taggingschemata) geht, diese Korrektur sinnvoll und mit großer Sicherheit automatisierbar ist, und das Vorhaben breite Unterstützung in der Community (repräsentiert z.B. durch das jeweilige Forum oder die Mailingliste) findet. Vorschläge bitte entweder per Mail an mich oder (für Korrekturen in Deutschland) direkt im deutschen OSM-Forum.

Technische Einzelheiten

siehe separate Seite.