x

Re: Wall·E: Automatische Korrektur allgemeiner Tagging-Tippfehler?


Geschrieben von EvanE (Gast) am 09. Oktober 2013 01:25:31: [flux]

Als Antwort auf: Wall·E: Automatische Korrektur allgemeiner Tagging-Tippfehler? geschrieben von Oli-Wan (Gast) am 07. Oktober 2013 21:10:

Oli-Wan wrote:

errt wrote:

Es ist ja nicht nur country<->county. Was würde denn ein automatisches System aus add:count=Deutschland machen? Distanz zu addr:county ist 1, zu addr:country 2 und der Inhalt ist offensichtlich kein Ländercode. Also im Umfeld dieser beiden Tags wäre ich vorsichtig.

Ich denke, es kommt auf den ursprünglichen Schlüssel an. Bei add:country, addr_country und ähnlichen kommt meines Erachtens nur addr:country als Ersetzungsziel in Frage. addr:count bleibt dagegen wegen der Ambiguität country/county außen vor (...).

Auf eine Kontrolle des Wertes (hier: Ländercode oder nicht) würde ich in diesem Zusammenhang lieber verzichten, da dies den Algorithmus enorm verkomplizieren würde. Ohne solche Sonderfälle kann einfach der vorhandene Tagschlüssel gegen eine Liste abgeglichen und ggf. die Ersetzung vorgenommen werden. Der Algorithmus ist klein (... 22 Zeilen Emacs Lisp), groß wird nur die Liste der Ersetzungsregeln.

Mit allerlei Sonderfällen wird auch der Algorithmus groß und die Programmierung fehleranfällig. Vor diesem Hintergrund überlasse ich addr:count und ähnliche Beispiele lieber einem stärker spezialisierten Werkzeug oder gleich menschlichen Mappern.

Ich stimme errt und dir zu, addr:count(r)y sollte man einfach nicht bearbeiten, damit passieren zu leicht Fehler (addr:contry -> addr:country mag noch gehen).

Ebenso stimme ich dir zu, dass die Berücksichtigung von Werten für Schlüssel-Korrekturen in der Regel zu aufwändig wären. Fürs Erste das also außen vor lassen. Auf Dauer vielleicht bei speziellen Fällen.

Wenn es an die Korrektur von Werten geht, sollte man die Schlüssel natürlich berücksichtigen (tootway -> footway, nur wenn der Schlüssel highway ist. Sonst wäre das Ergebnis oft unklar. Bei etwas anderem als highway (z.B. name als Schlüssel), könnte auch Toothway gemeint sein. Aber auch Schlüssel/Wert-Paare können mitsamt der Korrektur in einer Liste erfasst werden. Mit einer Schlüssel/Wert-Liste wäre dann auch eine Korrektur addr:county=DE/DK/FR/.. zu addr:country=DE/DK/FR/.. möglich. Wenn der Wert auch Probleme hat, dann unterbleibt eben die Korrektur.

Noch eine Überlegung: Sowohl KeepRight als auch der Validator von JOSM prüfen auf falsche/unbekannte Schlüssel und Werte. Dort kann man sich noch einige Anregungen für die Kandidaten-Liste holen. Man muss ja nicht alles übernehmen.

PS: Schönes Beispiel aus den letzten Tagen: service=gravel.
Gemeint war wahrscheinlich surface=gravel (falsche Vervollständigung).

Edbert (EvanE)