Vorschlag für autom. Edit: Schreibweise Straßennamen

Genauso wie das kleine Beta: durch Kopieren des falschen Zeichens aus einer Zeichensatztabelle, z.B. dem einschlägigen Windows-Programm.

Ich beschränke mich einmal auf die Fälle, die im name-Tag von highways auftauchen, jeweils reduziert auf ein Exemplar jedes Namens. Einige der anderen Schreibweisen habe ich nur in addr:street gefunden, hatte sie aber ebenfalls mit in den Vorschlag aufgenommen, da sie genauso auch an den Straßen selbst vorkommen könnten.
Zuerst fehlende Buchstaben. Ein Filter auf “Sraße” liefert folgende Ergebnisse:

Leipziger Sraße
Niersteiner Sraße
Bernburger Sraße
Brook-Taylor-Sraße
Heldrunger Sraße
Johann Sebastian Bach Sraße
Plattenburger Sraße
Havelberger Sraße
Kösener Sraße
Weimarer Sraße
Carl Bosch Sraße

Abgesehen davon, daß einige der Namen vermutlich noch weitere Fehler enthalten (insbesondere fehlende Bindestriche) - welche ich jedoch nicht anfassen will -, ist es aus meiner Sicht unzweifelhaft, daß “Sraße” in all diesen Fällen eigentlich “Straße” lauten sollte. Ebenso bei Staße (häufiger in addr:street):

Karl-Schrader-Staße
Wachauer Staße

Auch bei falschen Großbuchstaben scheint mir die Sache klar:

Nemmersdorfer STraße
Ruthenberger STraße
Joseph-von-Eichendorff-STraße
Gottfried-Keller-STraße
Bernhauptener STraße
Bettenhäuser STraße

(sTraße kommt nicht vor.)
Zu den vertauschten Buchstaben:

Schwarzschild-Strßae
Mannheimer Strßae
Wilhelm-Behr-Strßae
Wismarsche Starße

Bei den ß-Fehlersetzungen ist die Null beliebt (benachbarte Taste):

Eschstra0e
Hambergen Heidreeg / Gartenstra0e
Hauptstra0e
Kirchstra0e
Lörrach, Wintersbuckstra0e
Neißestra0e
Plainburgstra0e
Rotackerstra0e
Schillerstra0e
Siegen Falkstra0e
TrSt Kitzinger Stra0e
Viktoriastra0e
Virgil-Stra0e

Da sind jetzt auch einige name-Tags von anderen Objekten drin, da ich hier nicht nach Wegen mit highway=… gefiltert habe, ebenso bei den folgenden mit den Sonderzeichen (hier jeweils beta):

Betzinger Landstraβe
Flurstraβe
Gewerbegebiet Koblenzer Straβe
Industriegebiet Polcher Straβe
Sankt-Barbara-Straβe

Ich denke, daß alle diese Fälle eindeutig sind. Daher scheint es mir verantwortbar, in den oben explizit genannten Fällen (mit dem zusätzlichen Filterkriterium Weg mit highway=…) eine Ersetzung zu “Straße” vorzunehmen. Ich sehe hier auch nicht die Gefahr, etwas kaputtzumachen: 0 und beta kommen in deutschsprachigen (Straßen-) Namen nicht vor (schon gar nicht mitten im Wort); Sraße und Strßae ebenfalls nicht, ebenso wenig die weiteren.

+1

U.a. in Berlin gibt es Straßennamen der Form “Straße Nummer”, z.B. name=Straße 160, wobei die Nummer nicht die Hausnummer ist,
sondern wirklich Teil des Straßennamens. Die 0 kommt in diesem Fällen aber erst in einer Ziffer nach einem Leerzeichen vor.

Evl. könnte eine 0 auch im name-Tag von highway=motorway_junction vorkommen, welches manchmal (vor allem bei trunks/primaries)
anstatt des exit_to-Tag missbraucht wird.

Hierfür relevant ist das aber nicht, da die 0 dann nicht Bestandteil des Wortes “Straße” ist.

Ich hätte es präziser formulieren sollen: 0 und 9 werden ebenso wie beta, das große Eszet und der Unicode “replacement character” nicht als Buchstabe in regulären Wörtern verwendet. Mit den “Straßen 123” hast Du natürlich Recht, ebenso könnte es eine “2. Mai 1820-Straße” (Datum aus der Luft gegriffen) geben oder eine “Straße der 10. Kalenderwoche” oder auch eine “Straße der 20. Panzerbrigade”. Jedenfalls gibt es aber keine Wörter Stra0e, Stra9e etc.

Ich habe dem Programm nun ein einfaches Logging spendiert. Wer daran interessiert ist, möge einmal schauen, ob er mit dem Format etwas anfangen kann - zur Illustration hier das Log von gestern abend. Ein Datumsstempel fehlt bisher, den ergänze ich noch. (Nein, ich werde nicht diesen Faden mit ellenlangen Logs zupflastern. Wenn das Format hilfreich ist, werde ich die Logs irgendwo anders parken und hier einen Link angeben.)

inspecting way #192725471, http://www.openstreetmap.org/browse/way/192725471
	name tag modified: "Eggenfeldener Str. 43" -> "Eggenfeldener Straße 43"
	writing modified version to the server, changeset 14252951
inspecting way #192725003, http://www.openstreetmap.org/browse/way/192725003
	name tag modified: "Eggenfeldener Str. 41" -> "Eggenfeldener Straße 41"
	writing modified version to the server, changeset 14252951
inspecting way #192472823, http://www.openstreetmap.org/browse/way/192472823
	name tag modified: "AMCO-Strasse" -> "AMCO-Straße"
	writing modified version to the server, changeset 14252951
inspecting way #192325603, http://www.openstreetmap.org/browse/way/192325603
	name tag modified: "Brunnenstrasse" -> "Brunnenstraße"
	writing modified version to the server, changeset 14252951
inspecting way #191270281, http://www.openstreetmap.org/browse/way/191270281
	name tag modified: "Schillerstr. 23" -> "Schillerstraße 23"
	writing modified version to the server, changeset 14252951
inspecting way #190256066, http://www.openstreetmap.org/browse/way/190256066
	name tag modified: "Th.-Mü.-Str." -> "Th.-Mü.-Straße"
	writing modified version to the server, changeset 14252951
inspecting way #190116504, http://www.openstreetmap.org/browse/way/190116504
	name tag modified: "Wahlstrasse" -> "Wahlstraße"
	writing modified version to the server, changeset 14252951
inspecting way #190103732, http://www.openstreetmap.org/browse/way/190103732
	name tag modified: "Ladestrasse" -> "Ladestraße"
	writing modified version to the server, changeset 14252951
inspecting way #189282812, http://www.openstreetmap.org/browse/way/189282812
	name tag modified: "Fischerstrasse" -> "Fischerstraße"
	writing modified version to the server, changeset 14252951
inspecting way #189019594, http://www.openstreetmap.org/browse/way/189019594
	name tag modified: "Kellerstr" -> "Kellerstraße"
	writing modified version to the server, changeset 14254131
inspecting way #188890014, http://www.openstreetmap.org/browse/way/188890014
	name tag modified: "Fischerstrasse" -> "Fischerstraße"
	writing modified version to the server, changeset 14254142
inspecting way #188886976, http://www.openstreetmap.org/browse/way/188886976
	name tag modified: "Obere Dorfstr." -> "Obere Dorfstraße"
	writing modified version to the server, changeset 14254142
inspecting way #188886967, http://www.openstreetmap.org/browse/way/188886967
	name tag modified: "          Obere Dorfstr." -> "          Obere Dorfstraße"
	writing modified version to the server, changeset 14254142
inspecting way #188687076, http://www.openstreetmap.org/browse/way/188687076
	name tag modified: "Moorstrasse" -> "Moorstraße"
	writing modified version to the server, changeset 14254142
inspecting way #188524560, http://www.openstreetmap.org/browse/way/188524560
	name tag modified: "Pfarrer-Dold-Strasse" -> "Pfarrer-Dold-Straße"
	writing modified version to the server, changeset 14254142
inspecting way #188498604, http://www.openstreetmap.org/browse/way/188498604
	name tag modified: "Dürbheimer Str." -> "Dürbheimer Straße"
	writing modified version to the server, changeset 14254142
inspecting way #188406780, http://www.openstreetmap.org/browse/way/188406780
	name tag modified: "Hermann-Hesse-Str." -> "Hermann-Hesse-Straße"
	writing modified version to the server, changeset 14254142
inspecting way #188393531, http://www.openstreetmap.org/browse/way/188393531
	name tag modified: "Russberger Strasse" -> "Russberger Straße"
	writing modified version to the server, changeset 14254142
inspecting way #188330401, http://www.openstreetmap.org/browse/way/188330401
	name tag modified: "Russbergerstrasse" -> "Russbergerstraße"
	writing modified version to the server, changeset 14254142
inspecting way #188319106, http://www.openstreetmap.org/browse/way/188319106
	name tag modified: "Schulstr." -> "Schulstraße"
	writing modified version to the server, changeset 14254142

@aighes: Vielleicht kannst Du mal gucken, ob auf der Wikiseite noch etwas wesentliches fehlt.

Die wiki-Seite ist aus meiner Sicht ok. Ich würde noch talk-de informieren, was ich übernehmen kann, wenn das nichts für dich ist.

Persönlich fände ich noch eine Doku schön, wie du das genau machst, sodass irgendwann, wenn du mal keine Lust haben solltest ein anderer die Arbeit fortsetzen kann, ohne wieder bei 0 anfangen zu müssen.

Das Log finde ich auch recht gut. Wenn alles in einem changeset hochgeladen wird, könnte ich mir auch vorstellen, diesen in eine eigene Zeile zu schreiben und das dann immer machen, wenn sich das Changeset ändert. Das ist aber sicherlich Geschmacksache.

Diese beiden Straßen sind vermutlich die gleiche Straße. Vieleicht kann sich das mal jemand vor Ort ansehen, welcher Name der Richtige ist. Ich habe bei mir, fast vor der Haustür, einen ählichen Fall.
http://www.openstreetmap.org/?lat=50.943815&lon=10.396671&zoom=18&layers=M
Das werde ich mir in den nächsten Tagen mal ansehen und korrigieren. Da soetwas offensichtlich kein Einzelfall ist frage ich mal: Gibt es ein Tool, das solche zusammenhängenden und ähnlich geschriebenen Straßennamen findet.

Gruß Frank

Ja, das wäre nett.

Das macht Sinn. Im Moment soll die Doku nur dabei helfen, daß jeder sich eine Vorstellung davon verschaffen kann, was passiert - aber ohne sämtliche technischen Details, weil diese sich zum Teil auch noch ständig ändern. Wenn das ganze eine halbwegs stabile Form angenommen hat (und der Code aufgeräumt ist), wird auch die Dokumentation präziser werden.
Allerdings habe ich Zweifel, ob jemand mit dem Code etwas anfangen kann, sollte ich ihn komplett zugänglich machen. Emacs Lisp ist nicht gerade eine Mainstream-Programmiersprache. :wink: (Vorteil: auch wenn der Code offenliegt, ist das Mißbrauchsrisiko gering, denn die meisten “Bösewichte” werden das Paket nicht einmal geladen kriegen.)

Diese Änderung ist in der Tat geplant. Die “äußere” Funktion, welche die Kandidatenliste liest, einen Änderungssatz anlegt und dann über die Kandidaten iteriert, wird eine Zeile mit Datum und angelegtem Änderungssatz ausgeben; dann kann die “innere” Funktion die Information über den Änderungssatz weglassen.

War mir auch aufgefallen. Ich vermute, daß die Schreibweise in zwei Worten korrekt ist, da es ein paar hundert Meter südöstlich einen Ortsteil mit diesem Namen gibt - in OSM allerdings Rußberg geschrieben. Es wäre aber nicht verwunderlich, wenn der Ersteller der Straße, der schon in “Straße” ein “ss” eingebaut hat, auch beim Ortsnamen den gleichen Fehler gemacht hätte. Dann wären beide jetzt vorhandenen Straßennamen immer noch falsch, wenn auch etwas weniger als vorher.

Das kommt möglicherweise darauf an woher das Wort stammt.
Von “Ruß” oder von “Russe/Russland”.
Unabhängig davon kann sich eine Schreibweise im Laufe der Zeit ändern
(z.B. Colonia… → Coellen → Cöllen-> Cölln → Cöln → Köln).

Edbert (EvanE)

Mir ging es primär um das know-how, welche Schritte du so gemacht hast, also quasi den Algorithmus. Teilweise hast du das ja schon grob erklärt. In welcher Sprache dass dann der Nachfolger umsetzt ist ja erstmal egal. Da hat jeder seine Vorlieben. :wink:

http://de.wikipedia.org/wiki/Ru%C3%9Fberg_%28Rietheim-Weilheim%29

Also wohl “Rußberger Straße”.

Bei Vorliegen eines einfachen Tippfehlers kann bereits die Ersetzung von Strasse zu Straße eine falsche Korrektur darstellen.

Strassen, zur Strassen und Zurstrassen sind Nachnamen, zu denen ich 4 Personen in Wikipedia gefunden habe.
Strassen kommt zudem noch in deutschland als Ortsteil und in Österreich und Luxemburg als Ortsname vor.
Danach könnte also schon eine Straße benannt sein. Fehlt ein Zeichen (das n) so würde der Bot falsch korrigieren.

Bei einem falschen Zeichen “r” statt “g” würden auch folgende Straßennamen falsch korrigiert:
Astgasse
Postgasse
Obstgasse
Westgasse
Forstgasse
Lustgasse
Nernstgasse
Hochenaistgasse
Heiliggeistgasse
Erdbrustgasse
Fronfestgasse
und viele mehr (Dies ist nur eine kleiner Auszug der real existierenden Straßennamen in dieser Form)

Danke, das war mir nicht bekannt. Ich habe gerade noch ein \b eingebaut, sodaß Strasse nur am Wortende ersetzt wird, Strassen also nicht. Im Fall des fehlenden n sehe ich aber keine Möglichkeit, dies automatisch zu erkennen. Da bleibt wohl eine Restunsicherheit.

Das stimmt auch; aber diese Konstellation würde auch von keinem der ergänzenden Vorschläge erfaßt: weder von (vermeintlich) fehlenden Zeichen, noch von Buchstabendrehern, noch von falschen Zeichen, denn bei letzteren ging es nur um falsche Zeichen anstelle des ß, und auch nur solche, wo die Annahme plausibel ist, daß tatsächlich ß gemeint war (insbesondere 0, -, beta und großes Eszet - das einfache s würde ich mittlerweile ausnehmen). Das ß liegt im Randbereich der Tastatur, soda0 Tippfehler hier gehäuft auftreten. (Jener im vorigen Satz dient der Illustration und Erheiterung.)

Edit: Nach Hennings Posting ist mir gerade klar geworden, da0 ich die Sache mit r und g wohl zunächst falsch verstanden hatte. Ich dachte, es sei ein Einwand gegen den erweiterten Vorschlag. Aber es geht Dir um den Fall, wo jemand statt des richtigen g ein r erwischt und dies dann falsch korrigiert wird. Stimmt, das ist möglich, zumal g und r auf QWERT[ZY] nicht allzuweit auseinander liegen. Andererseits liegt g in der Mitte der Tastatur und ist einfacher zu treffen als etwa ß. Würde es sich lohnen, ein kleines Wörterbuch einzubauen mit den (in Straßennamen) gängigsten Wörtern auf -st? Machbar wäre es ohne weiteres, notfalls auch mit allen 30 -st-gassen (wobei Postgasse und Forstgasse schon 70 % aller Einträge abdecken).

Nochmal Edit: Postrasse und Forstrasse sind jetzt erst einmal von Ersetzungen ausgeschlossen, Erweiterung möglich.

Und folgendes stand im Kontext der oben angesprochenen Fehlinterpretation (auch wenn ich trotzdem gern Hennings Meinung dazu wüßte):

Wenn ich es aber richtig verstehe, war Henning generell gegen die erweiterten Vorschläge. Vielleicht läßt er sich noch (wie Du) von einer Teilmenge überzeugen; ansonsten muß ich in der Diktion der entsprechenden Richtlinien von “significant objection” ausgehen und die Erweiterung fallenlassen.

Da würde ich jetzt kein Problem sehen, da es vorher falsch war und hinterher immer noch falsch ist.

Ja, aber vorher konnte man sehen, dass da offensichtlich was falsch war, und dann herausfinden, was richtig ist. Nach der Nicht-Korrektur muss man das Wissen um den korrekten Namen von vornherein mitbringen.

Wobei Po-straße und A-straße schon merkwürdig genug aussehen :wink:
Aber Du hast Recht: die Fehlkorrektur läßt den Stra0ennamen formal korrekt aussehen. Deswegen wird die Ersetzung von Postrasse und Forstrasse ab sofort unterdrückt; die übrigen Wörter auf -st, welche als -gasse in OSM vorkommen, füge ich in den nächsten Tagen hinzu.

Ich glaub zu den weiteren Ersetzungen hab ich mich noch nicht wirklich geäußert.

Ob Forstrasse nun zu Forstgasse oder zu Forststraße geändert werden muss weiß keiner. Für die Auswertung ist aber sowohl Forstrasse als auch Forstraße unbrauchbar, weil der Nutzer ja nach Forstgasse sucht. Sprich die Auswirkung kann man meiner Meinung nach in den Skat drücken. Falscher gibt es nicht, Falsch bleibt Falsch. Und in beiden Fällen braucht man lokales Wissen, um den korrekten Namen zu setzen.

Zu den anderen Ersetzungen finde ich es sinnvoll Großschreibung zu korrigieren und Falsche Zeichen für das ß. Bei der Großschreibung aber nur den Straßenteil. Im Straßenteil könnte man auch Zeichendreher wechseln. Beim letzten bin ich mir aber nicht sicher, ob man das nicht besser manuell macht oder zumindest mit manueller Kontrolle vor dem Upload.

Allgemein fände ich es auch sinnvoll, das ganze auf addr:street zu erweitern.

Zumindest wenn man das vermeintliche “straße” nicht mitten im Wort zuläßt, kann ich dann aber nicht verstehen, warum du Einschränkungen bei den Erweiterungsvorschlägen zu haben scheinst. Da wird doch immer nur etwas verändert, was vorher schon falsch war. Das Restrisiko, dass es hinterher anders falsch ist, ist bei den verschiedenen Varianten dann eben mehr oder weniger gering.

Schön finde ich es nicht, wenn in falscher Richtung korrigiert wird. Dies kann ja erschweren, festzustellen, was gemeint war. Schlimmstenfalls kann es auch die Erkennung eines Fehlers erschweren.
Mit einem geringen Restrisiko halte ich dies für akzeptabel. Allerdings sehe ich hier schon eine Verpflichtung, dieses Risiko angemessen zu minimieren.
Dem wäre aber mit Erzeugung des speziellen Protokolls, dass ich zuvor beschrieben habe, genüge getan, wenn man dies in regelmäßigen Abständen überprüft.
Damit die Aufmerksamkeit bei der Kontrolle nicht leidet, sollte dieses auf diejenigen Fälle beschränkt werden, bei denen es eine gewisse Fehlerwahrscheinlichkeit gibt, und ein Mensch zumindest eine Gewisse Chance hat, einen Korrektur in falsche Richtung zu entdecken.
Der Kontrollaufwand dürfte gering sein, da hier ohnehin nur wenige Fälle auflaufen würden. In der langen Liste der von Oli-Wan aufgeführten Straßennamen für den Erweiterungsvorschlag habe ich keinen einzigen Fall gefunden, für den ich diese Protokollierung gefordert hatte. Allerdings würde ich in dieses Protokoll auch die Fälle von “strasse” als Wortbestandteil aufnehmen, damit man notfalls weitere neue Spezialfälle wie “Gleistrasse” oder “Gastrasse” findet.

Ja, evtl. hast du recht. Ich bin auch noch ein wenig am überlegen. Allgemein ist *strasse und *strasse * ein Problem, da es nicht immer eindeutig sein muss und der Bot keine sinnvolle Korrektur machen kann und der Mensch ohne lokales wissen auch nicht unbedingt. Der Bot läuft ja, weil es für den Menschen zu stupide ist. Evtl. sollte man den Bot trennen in eindeutig falsche Rechtschreibung:

*Strasse
*[Ss]tr. *
*[Ss]tr.
*[Ss]tr *
*[Ss]tr
Großschreibung in Straße
ß mit falschem Zeichen

Und vermutlich falsche:
*strasse
*strasse *
Zeichendreher aller Art

Wenn die zweite Liste nur 10-20 Einträge hat, lässt sich das denke ich gut manuell Prüfen und evtl. kann man auch über die Zeit sagen, dass man gewisse Zeichendreher mit in Liste 1 verschiebt.

Also ich finde eine Postraße oder eine Obstraße zumindest denkbar. Übrigens enthält dein Post hier auch den beliebten Stra0en-Fehler. Absicht? :wink: