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

Ich denke darüber nach, auch “Strase” bzw. “-strase” mit aufzunehmen (war in #74 schon mal vorgesehen, fiel dann aber heraus). Angesichts der bisher eher geringen Häufigkeit solcher Namen (siehe unten, für meine Begriffe in allen Fällen eindeutig falsch) könnte man auch manuell aufräumen; mit Aufnahme in die Regeln von Wall·E wäre das Thema aber natürlich nachhaltiger erledigt.

Häufigkeit in name von highway=… (germany.osm grenzgenau nachgeschnitten)

      5 Labahnstrase
      3 Bergstrase
      2 Commendestrase
      1 Talstrase
      1 Peter-Gast-Strase
      1 Friedhofstrase
      1 Falkenstrase
      1 Emlichheimerstrase
      1 Braunstrase

Einige davon sind steinalt (letzte Bearbeitung 2008 oder 2009), aber auch 2012 wurden noch neue erzeugt.

Häufigkeit in addr:street (germany.osm ohne Nachschneiden)

      2 Hofmaierstrase
      1 Humboldstrase
      1 Merkenicher Hauptstrase

Meinungen?

+1

Finde ich gut. Und Strase ist auch eigentlich immer ein Tippfehler, dh die Chance für fehlerhafte Berichtigungen geht gegen 0.

Wichtig wäre aber auf Endung strase bzw. Strase zu prüfen, sonst gibt es Probleme mit offiziellen Straßennamen

  • Strasener Chaussee
  • Strasen

bzw in Kleinschreibweise

  • Auf dem Pfingstrasen
  • Pfingstrasen
  • Am Pfingstrasen
  • Pfingstrasenstraße

Viele Grüße

Dietmar aka okilimu

Das ist richtig und auch so vorgesehen. Technisch gesehen geht es nur darum, ein “s” in die folgende -Gruppe einzufügen:

"\\([Ss]\\)tra[-09βẞ]e\\b"

\b prüft auf Wortende.

Klasse, dass das so gut läuft.

Zu den 5-10 % nicht mitkorrigierter Fehler bei addr:street:

Ich bin gerade über eine Addresse gestolpert, wo der Bot aus der Hagenerstr die Hagenerstraße gemacht hat.
Ich werde die jetzt in Hagener Straße ändern.

Die Straße in der Nähe heißt auch so.
Kannst du also ne Overpassanfrage einbauen, die bei zu korrigierenden Addressen schaut, ob es in der Nähe eine Straße mit dem Namen gibt und wenn nicht dein Warnungsprotokoll zuspammt?

PS: Es wäre vllt. auch was für den Hausnummernvalidator zu schauen ob in der Nähe eine Straße mit dem Namen vorhanden ist.
Auf das fehlende addr:city-Tag ist jemand dadurch aufmerksam geworden, den Straßennamen hat er ignoriert.

Ja, mit diesen Fällen bin ich auch noch nicht zufrieden. Es entsteht zwar kein neuer Fehler, aber daß noch etwas faul ist, sollte nach Möglichkeit zumindest bemerkt werden.
Einige ähnliche Namen (ich hoffe: die meisten) habe ich bisher selbst korrigiert, aber in Zukunft werden die natürlich durchrutschen, wenn ich nicht mehr Objekt für Objekt kontrolliere.
Ich hatte bisher in die Richtung gedacht, aus einem Katalog von Vornamen, Nachnamen und Ortsnamen etc. plausible Straßennamen zu basteln, aber die Overpass API ist zumindest für addr:street eine Alternative. Ich bin gerade dabei, Log-die Vermerke zu verdächtigen Tags zu verbessern. Die Idee mit der Overpass API gefällt mir und im Grunde muß ich dafür noch nicht einmal neuen Code schreiben, weil bei der Straße/Hausnummer-Zerlegung genau eine solche Abfrage genutzt wird. Wird mindestens ausprobiert - danke!

Ähnliches habe ich schon des öfteren gesehen. Auch so ein Beispiel: http://www.openstreetmap.org/browse/way/26946781/history
Unter anderem daran habe ich seinerzeit die Funktionen zur Trennung von Straße/Hausnummer und PLZ/Ort ausprobiert. Wenig später hängt ein User addr:country=DE dran, ein weiterer User macht einen Nulledit. Viel hilft viel. (Die spätere Löschung geht in Ordnung, da wurden die Kliniken neu strukturiert.)

Würde ich lieber bleiben lassen. Hier mal ein Beispiel: Hammer Straße (Straße nach Hamm) und Hammerstraße (wo der Hammer hängt). Gibt bestimmt noch andere Fälle.

Gruß
walter

Hallo Walter, Oli-Wan

Hier noch ein schöner aus Bonn:
Usenerstraße ist so richtig geschrieben, da sie nach dem Bonner Professor Usener und nicht nach einem Ort benannt wurde. Ich habe das damals beim Abgleich mit der (Flohoff) Straßenliste extra kontrolliert. Ob des Professors Nachname vom Herkunftsort seiner Familie stammt, habe ich nicht ermittelt. Ich halte das für durchaus möglich.

PS: http://de.wikipedia.org/wiki/Hermann_Usener (Das interessierte mich jetzt selbst.)

Edbert (EvanE)

Ich hätte klar sagen sollen, daß die oben angedeutete Überlegung auf ein QS-Werkzeug zur Mapperunterstützung abzielt (“Dieser Straßenname erscheint nicht plausibel: Karl-Ranseierstraße”, analog “Haupt Straße”, “Goethe Straße”, “Hamburgerstraße” usw.). Ob daraus jemals was wird, vermag ich noch nicht zu sagen; jedenfalls fiel mir das wieder ein, als BFX Warnungen zu verdächtigen Straßennamen ansprach. Für eine automatische Korrektur ist derlei zu unsicher, da kann ich euch nur zustimmen.

Andererseits: schön, daß ihr den Faden noch aufmerksam verfolgt und bei dummen Ideen interveniert.

BFX’ Idee habe ich jedenfalls eingebaut. Erfordert sicher noch etwas Feinabstimmung, aber die ersten Ergebnisse sind vielversprechend (will sagen: erschreckend). Auszug aus dem Log von heute:

editing node #2219340551, http://www.openstreetmap.org/browse/node/2219340551
	addr:street tag modified: "Luise-Kieselbach-Str." -> "Luise-Kieselbach-Straße"
	warning: addr:street tag of node #2219340551 is "Luise-Kieselbach-Straße" but there is no road of that name nearby
editing node #2219620961, http://www.openstreetmap.org/browse/node/2219620961
	addr:street tag modified: "Dr.-Adolf-Schneider-Strasse" -> "Dr.-Adolf-Schneider-Straße"
	warning: addr:street tag "Dr.-Adolf-Schneider-Straße" of node #2219620961 still looks suspicious
	warning: addr:street tag of node #2219620961 is "Dr.-Adolf-Schneider-Straße" but there is no road of that name nearby
... sechs weitere mit demselben Straßennamen ...
editing node #2219729124, http://www.openstreetmap.org/browse/node/2219729124
	addr:street tag modified: "Benedikt Wagener Strasse" -> "Benedikt Wagener Straße"
	warning: addr:street tag of node #2219729124 is "Benedikt Wagener Straße" but there is no road of that name nearby
editing node #2219733473, http://www.openstreetmap.org/browse/node/2219733473
	addr:street tag modified: "Benedikt Wagener Strasse" -> "Benedikt Wagener Straße"
	warning: addr:street tag of node #2219733473 is "Benedikt Wagener Straße" but there is no road of that name nearby
editing node #2223013837, http://www.openstreetmap.org/browse/node/2223013837
	addr:postcode tag modified: "54550 " -> "54550"
	warning: addr:street tag of node #2223013837 is " Leopoldstraße " but there is no road of that name nearby
editing way #193403415, http://www.openstreetmap.org/browse/way/193403415
	addr:street tag modified: "Münstereifelerstr. " -> "Münstereifelerstraße"
	warning: addr:street tag of way #193403415 is "Münstereifelerstraße" but there is no road of that name nearby

Anmerkungen:

  • “Luise-Kieselbach-Straße”: es gibt eine Luise-Kiesselbach-Straße (mit ss) in unmittelbarer Nähe.

  • “Dr.-Adolf-Schneider-Straße”: eine Straße dieses Namens ist vorhanden, allerdings in größerer Entfernung als dem derzeitigen Limit von 100 Metern. Das Limit werde ich kurzerhand hochsetzen. Die Warnung “looks suspicious” basiert vermutlich auf dem Punkt in “Dr.”. Eigentlich sollte in diesem Fall die Warnung unterdrückt werden - eigentlich.

  • “Benedikt Wagener Straße”: In der Nähe gibt es eine Benedikt-Wagener-Straße, deren Schreibweise plausibler erscheint.

  • " Leopoldstraße ": Leerraum in addr:street wird nur beschnitten, wenn das Tag zuvor bereits anderweitig angefaßt wurde. Das werde ich im Lichte der anstehenden allgemeinen Leerraumbeseitigung noch ändern.

  • “Münstereifelerstraße”: ihr ahnt es schon - in der Nähe gibt es eine Münstereifeler Straße.

Schön, dass du an der Idee einer allgemeinen Prüfung für die Qualitätskontrolle weiter arbeitest.
Für Straßen nach Ortsangaben der Form “Friesdorfer Straße” wäre eine Umkreissuche nach Nachbarorten nicht verkehrt. Neben den mehr oder weniger bekannten Städten wie “Münchner Straße” wird auch gerne die Richtung, in die eine Straße führt, zur Namensgebung verwendet.

Edbert (EvanE)

Einen besonderen Fall, wo eine automatische Korrektur gestützt auf Umgebungsdaten eventuell möglich wäre, hätte ich aber doch noch: kleinbuchstaben am string- bzw. wortanfang, beispiel: http://www.openstreetmap.org/browse/node/2214124473 Ich habe schon eine Weile darüber nachgedacht, aber so ein Prachtexemplar wie hinter diesem Link ist selten.

Meine Argumentation wäre hier: es ist extrem unwahrscheinlich, daß addr:city=monheim bzw. addr:street=“am kieswerk” korrekt ist. Wenn in der näheren Umgebung eine Straße existiert, deren Name sich von “am kieswerk” nur durch Großbuchstaben am Wortanfang unterscheidet (also “Am Kieswerk”), erscheint es mir als nahezu sicher, daß diese Schreibweise mindestens besser ist, und man könnte sie übernehmen. Analog: wenn sich das Objekt innerhalb eines Gebiets (Overpass-Query “is_in”) mit name=Monheim befindet (evtl. noch eingeschränkt durch Zusatzbedingung wie passendes admin_level), ist davon auszugehen, daß “monheim” falsch und “Monheim” richtig(er) ist.

Eine solche Korrektur werde ich nicht von heute auf morgen in Betrieb nehmen. Erst einmal muß ich passenden Code basteln und diesen an einer größeren Zahl von Beispielen testen - vielleicht ergeben sich daraus schon Argumente, das Vorhaben lieber sein zu lassen. Eure Meinungen dazu interessieren mich natürlich auch bereits jetzt, aber ansonsten stelle ich die Idee noch einmal vor, wenn ich etwas fundiertere Erkenntnisse zur Umsetzbarkeit und Sicherheit habe.

Klingt ausbaufähig, man sollte aber daran denken, daß es beispielsweise um München die Münchener Straße sowohl mit als auch ohne e gibt. Ebenso gibt es Straßen, die nach Personen benannt wurden, deren Name wiederum von einem Ort abgeleitet ist. Oder Namen, die eine inzwischen veraltete Schreibweise des namengebenden Orts verwenden. (auch wenn mit da spontan nur der Kotti als Beispiel einfällt.)

Wenn wir schon dabei sind: Ein Abgleich mit einer Liste historischer Persönlichkeiten wäre auch nicht schlecht, damit die ganzen Eichendorf- und Schuhmannstraßen endlich weniger werden.

Baßtölpel

Alles richtig.

Ich wollte zunächst einmal einen Katalog häufiger Bestandteile von Straßennamen erstellen und dann Straßennamen dahingehend analysieren, ob sie in eines von mehreren Schemata passen:

  • **er Straße (Bonner Straße)

  • **straße (Beethovenstraße)

  • --Straße (Karl-Ranseier-Straße)

  • *( )?<sonstiges Präfix>*straße (Industriestraße)

mit
  • in {München, Münchn, Berlin, …}

  • in {Friedrich, Wilhelm, Karl, August, …}

  • in {Schiller, Goethe, Jahn, Mozart, …}

  • <sonstiges Präfix> in {Haupt, Bahnhof, Dorf, Schul, …}

  • in {Alte, Breite, Hohe, …}

wären Beispiele für gültige Straßennamen; ** Straße wäre ein Beispiel für einen ungültigen Straßennamen. (Nicht zu vergessen, daß neben "Straße" auch "Weg" und "Platz" auftreten, wo die Attribute und teils auch die Präfixe anders ausfallen.) Ein QS-Werkzeug könnte eine Warnung generieren, wenn ein Straßennamen auf ein ungültiges Muster, aber nicht zugleich auf ein gültiges Muster paßt. Eine Adenauer Straße ist als ** Straße ungültig, zugleich aber als **er Straße gültig -> keine Warnung. Konrad-Adenauerstraße paßt dagegen nur auf das ungültige Muster **-**straße -> Warnung.

Wie gesagt, weiß ich noch nicht, ob aus der Idee je etwas wird. Vielleicht kommt mir auch jemand zuvor, QS-Werkzeuge zum Thema Adressen gibt es schließlich schon - unlieb wäre mir das nicht.

Da grade das Thema kleinschreibung angesprochen wurde, noch ein kleiner Hinweis:
Bei mir in der Nähe gibt es eine Straße Namens: StragholzerGarten. Wollte demnächst mal überprüfen, ob da wirklich kein Leerzeichen steht.
Solche Fälle eignen sich wohl nur zur Qualitätssicherung. Allerdings gibt es bestimmt auch korrekte McD*nalds Straßen.

Zu der Idee mit einer Suche nach verdächtigen (jedoch nicht automatisch korrigierbaren) Straßennamen habe ich mal ein bißchen was als “proof of concept” gebastelt, um zumindest zwei Typen verdächtiger Straßennamen zu identifizieren:
a) Berlinerstraße statt Berliner Straße

Allensteinerstraße
Altdorferstraße
Altenbergerring
Altenbergerstraße
Altenburgerstraße
Ambergerstraße
Annabergerstraße
Augsburgerstraße
Badenerstraße
Baslerstraße
Berlinerstraße
Böblingerstraße
Bonnerstraße
Borkenerstraße
Brandenburgerstraße
Breisacherstraße
Bremerplatz
Bremerstraße
Breslauerstraße
Brüsselerstraße
Bucherstraße
...

Hierbei sind Straßennamen, die sich sowohl auf einen Ort (Gabelsberg) als auch auf einen davon abgeleiteten Familiennamen (Gabelsberger) beziehen können, bereits ebenso aussortiert wie solche, wo ein Präfix wie “Hammer” einen Ortsbezug (Hamm) vortäuschen kann. Bisher umfassen meine Listen von Ortsnamen, Familiennamen und Präfixen jeweils nur die in germany.osm am häufigsten in addr:street vorkommenden; mit annähernd vollständigen Listen könnte man aber m.E. weitgehend reine Resultate generieren, die dann wirklich nur noch hochgradig verdächtige Straßennamen enthalten.

b) Willy-Brandtplatz statt Willy-Brandt-Platz

Adalbert-Stifterstraße
Andreas-Hoferstraße
Carl-Diemstraße
Elly-Beinhornstraße
Elsa-Brändströmstraße
Ernst-Thälmannstraße
Franz-Mehringstraße
Gerhart-Hauptmannstraße
Hermann-Lönsstraße
Karl-Zieglerstraße
Martin-Lutherstraße
Paul-Ahrensstraße
Robert-Kochstraße
Robert-Schumannstraße
Theodor-Körnerstraße

Auch diese Suche krankt noch an der Unvollständigkeit der Namenslisten, aber die gefundenen Fälle sind aus meiner Sicht allesamt höchst verdächtig.

Das ganze ist bisher nur ein Mock-up: ich filtere nicht die tatsächlichen OSM-Daten, sondern eine Textdatei mit aus germany.osm extrahierten Straßennamen. Dies hat rein praktische Gründe - es würde einfach länger dauern, jedes Mal 1,5 Gigabyte OSM-PBF zu lesen, und mich interessieren im Moment nur die Straßennamen. Dank der Osmium-Bibliothek ist die Anwendung als Filterprogramm für OSM-Daten ein Kinderspiel, wenn erst die Prüfung auf verdächtige Namen fertig ist.

???

Was spricht denn gegen die Herren Altenburger? Der Herr Basler ist sogar recht bekannt. Und beim Namen Bremer ist die Liste sogar ziemlich lang. Um die drei Beispiele zu finden hab ich ganze 4 Namen aus der Liste abgetippt, nur zu Altenberger hatte die Wikipedia auf die Schnelle nichts bereit. Also so ganz einfach scheint mir die Sache nicht zu liegen :wink:

Apropos Berlinerstraße: Wer sagt eigentlich, dass damit nicht dieser Berliner gemeint ist?^^

Hi,

Noch ein Problem: Wenn der Stadtrat oder Gemeinderat etwas Falsches beschließt, dann hat die Straße eben einen falschen Namen.

Weide

Danke, hab’s korrigiert.

Stimmt. Mal sehen, wie sich die Sache entwickelt, wenn die Namenslisten vollständiger werden. Gerade bei den Familiennamen ist noch viel Spielraum. Eventuell ist auch mit Heuristik oder durch Berücksichtigung ortsspezifischer Besonderheiten etwas zu machen. (Beispiel: Wenn Altenburg und Altenburger gemeint sein können, aber innerhalb von 20 km ein Ort namens Altenburg liegt, spricht dies tendentiell für einen Bezug zum Ort.)

Die zweite Gruppe scheint mir in jedem Fall schon deutlich stichhaltiger; auch Fälle wie “Vorname Nachname Weg” (statt “Vorname-Nachname-Weg”) sind gut zu identifizieren.

Klarerweise ist das ganze noch lange nicht ausgereift. Mal sehen, was am Ende übrig bleibt.