doppelt gemappte Adressen künftig vermeiden

Es ist nicht wirklich falsch ohne addr:city und Nominatim ignoriert das bspw. sowieso (was man jetzt nicht positiv finden muss…). Aber ich werde den Punkt nochmal überdenken, evtl. könnte man in den Fällen die Fehlerkategorie auch von Warnung auf Info herabstufen.
Was es aber auf jeden Fall auch noch zu beachten gibt, ist dass generell “nur” die Daten betrachtet werden, die lokal heruntergeladen wurden.

Wenn du spatiale Abfragen machen könntest, wäre eher ein “in welchem Ort (Grenzrelation) liegt die Adresse?” sinnvoll. Für PostGIS ist das ein Klacks.

Gruss
walter

Hallo Thomas, schön dass du dich wieder in OpenStreetMap einbringst, willkommen zurück.
Ich hoffe du bist mit der gefundenen Lösung für die Ortsteile in Wals-Siezenheim zufrieden.

Grüße Johann

**Indizien auf einen maschinellen Import. **

Ich habe den gegenständlichen User kontaktiert, und gebeten, die oben angeführte Vorgangsweise https://forum.openstreetmap.org/viewtopic.php?pid=699275#p699275 zum bereinigen doppelter Adressen selbst anzuwenden. Ich habe hierbei angeboten, beim schließen dadurch entstehender temporärer Adresslücken zu helfen.
Der User hat mein Schreiben gelesen, aber darauf nicht reagiert. Daraus leite ich nun Vorsatz ab, OpenStreetMap durch vorsätzliches falsches Tagging, in diesem Fall durch fluten mit einer massiven Zahl an doppelten Adresse zu beeinträchtigen. Sieht man sich die betreff-lichen Changesets genauer an, so fällt auf, dass eingebrachte doppelte Adressen gar nicht mittels Addresshelper gesetzt worden sind, sondern es sich hierbei vielmehr um jeweils maschinelle Importe handelt, welche mit der AddressHelper Signatur maskiert worden sind.

Hierdurch wurde die JOSM App Austria AddressHelper diskreditiert.

Ja, ich hatte nichts gefunden, wie ich das in JOSM bei einem OsmPrimitive schnell und einfach abfragen kann, aber ich bin für jeden Hinweis dankbar. Das erste Ziel ist jetzt erst einmal die 90% low hanging fruits zu erwischen und dabei möglichst wenig false positives generieren, durch die es von den meisten gleich wieder ignoriert oder deaktiviert werden würde. Bei Adressen, die so nahe beieinander sind und nicht explizit unterschiedliche cities angegeben haben, gehe ich davon aus, dass das fishy und zu 99% falsch ist - sogar wenn die Angabe von city unterschiedlich ist, ist es eher suspekt und könnte ein Tippfehler, unterschiedliche Schreibweise, oder eine Verwechslung bei zusammengewachsenen Ortschaften sein, aber es scheint diese Fälle durchaus zu geben: Rustenfeldgasse 26, 1100 Wien ist gerade einmal 3 Häuser von Rustenfeldgasse 26, 2333 Leopoldsdorf entfernt.

Ich habe den Punkt mit der Entfernung jetzt feiner gegliedert, aber dazu möchte ich noch etwas zur allgemeinen Logik vorausschicken: die simpelste korrekte Adresse enthält nur housenumber und street/place - ich möchte allerdings auch Duplikate erkennen unabhängig davon, wie viele zusätzliche optionale Adress-Attribute jeweils noch angegeben sind. Im ersten Schritt wird also ein Schlüssel aus den Werten street, place, housenumber, unit und flats erzeugt, der Groß-/Kleinschreibung und Abstände/Bindestriche in Straßennamen ignoriert, also “Mozart-Gasse”, “Mozart Gasse” und “Mozartgasse” werden gleich angesehen. Kommt es dann zu einem Match, werden folgende Entscheidungen getroffen:

  • wenn beide ein addr:city angegeben haben und dieses ident ist, gibt es falls auch noch der Postcode gleich oder nicht vorhanden ist (momentan der einzige Fall, wo ich Postcode überhaupt betrachte) eine Warnung, bei unterschiedlichem Postcode zumindest noch eine Info (muss in JOSM unter “unwichtige Warnungen” aktiviert werden). Distanz spielt da überhaupt keine Rolle, es wird alles geprüft, was in der aktuellen Datenebene ist.

  • wenn sich city dagegen unterscheidet, aber die Adressen sehr nahe (200m) beieinander liegen kommt dennoch eine Info - ich bin mir beim Grenzwert und der Warnstufe nicht ganz sicher. Wenn man es auf “Warnung” erhöht, wäre wohl ein eigener Text dafür sinnvoll, nachdem der Unterschied ja explizit angegeben ist.

  • wenn zumindest bei einer Adresse kein addr:city angegeben ist, gibt es eine Warnung, wenn sie sehr nahe beieinander liegen, ansonsten nur eine Info (sollte wohl auch noch eine PLZ-Überprüfung bekommen)

Zu den Objekten, die ignoriert werden, habe ich jetzt noch leisure, emergency, craft, entrance und auch name hinzugefügt. Letzteres ohne weiteren spezifischeren Tags deutet zwar darauf hin, dass diese fehlen, aber zum einen gibt es nicht unbedingt immer etwas passendes und v.a. ist das ein anderes Problem und hat nichts mit den Adressen zu tun.

Was zu den 10% der “Früchte” zählt, die mich aktuell nicht interessieren, sind Adressen, die ausschließlich associatedStreet ohne addr:street/place verwenden. Die werden nicht als Duplikat erkannt, wenn man welche ohne associatedStreet anlegt, wobei in den Gegenden wo diese Relationen verwendet wurden, die ich mir angesehen habe, sowieso beides angegeben wurde.

Aktuelle Version zum Testen: https://github.com/Luzandro/josm-address-validator/raw/master/josm-custom.jar

Zur Diskussion IceAgeMike Adressen auflösen: https://forum.openstreetmap.org/viewtopic.php?pid=699882#p699882

Edit: IceAgeMike und AddressHelper Themen getrennt.

Das ist ja echt arg, alleine in Kärnten. :roll_eyes: Bei uns in der Stmk. habe ich im Bezirk LB sowie die südliche GU auch noch einiges gefunden. Schlimm, hast du doch den User im damaligen Thread noch (indirekt) verteidigt und meine damalige Urgenz als übertrieben dargestellt. Offenbar ist es ärger.
Wie kann man solch einen Vandalismus künftig verhindern? Auch daran wird man in OSM arbeiten müssen hinkünftig.

Zum Thema: Es wird wohl nicht anders gehen, als dass sich User bereit erklären, strukturiert (nach Regeln und nicht irgendwie) die Duplikate raus zu löschen, vermutlich manuell oder “halb-Automatisch” nach Durchsicht.

Aus meiner Sicht kann sowas wie folgt ablaufen:

  • Eine eindeutig und klar definierte Abfrage erstellen mittels Overpass-Turbo. Idealerweise strukturiert nach Gemeinde oder max. Bezirk, die alles beinhaltet und alles ausschließt, was benötigt/nicht benötigt wird. (nicht, dass sich im Nachhinein herausstellt, dass man was vergessen hat oder zu viel gelöscht hat).

  • Klare, einfach verständliche Anleitung, wie man Punkt für Punkt vorgehen muss - damit es auch User erledigen können, die keine-wenig Erfahrung mit OSM/Programmierung haben.

  • Hoffen, dass sich in der jeweilig betreffenden Region User finden, die sich der Sache annehmen.

  • Fragliche Adressen (was potentiell fraglich ist, habe ich hier schon einige Male gepostet) extern notieren und an die Gemeinden melden - damit schafft man zugleich einen Qualitätscheck der vorhandenen Adressen.

  • Etwas Zeit lassen - sowas wird Monate dauern.

nop

edit: Themen IceAgeMike und AddressHelper getrennt

Wie geht es nun mit der App AddressHelper weiter.
ich lese hier, es ist eine JOSM integrierte Validator Prüfung auf doppelte Adressen geplant.

Meine Bitte, bei der App vorläufig in der Version einen Schritt zurückzugehen, aktuell habe ich bei meiner JOSM Installation, die Auto Plugin Update Funktion deaktiviert, was naturgemäß nicht lange gut gehen kann, da solches auch den Update Prozess bei den anderen Plugins beeinträchtigt.

Ich finde das super, dass du das machen willst, (Danke dafür!) aber ich denke es wäre gut, auch wenn du das nicht gern hörst, wenn du das zumindest kurz auf der Mailingliste erwähnst, bevor du startest. Vielleicht kann ja dort auch jemand etwas nützliches noch beisteuern.

Wie vorgehen:

  • die anderen doppelten Adressen in obiger Grafik (ein paar tausend) jeden einzelnen von Hand bereinigen
  • selektiv sämtliche doppelt gemappten Adressen des Users “MisterX” löschen
  • die durch den user “MisterX” verloren gegangenen Adressen wieder von Hand ergänzen

Ich bin da jetzt einmal drüber gescrollt und zu großen Teilen sind das wirklich nur irgendwelche Nebengebäude. Tlw. wurden auch alle Adressen von ihm angelegt oder zumindest angefasst, aber nachdem du die wieder eintragen möchtest, spricht da meiner Ansicht nach nichts dagegen.

Wenn mir irgendwo Adressen begegnen, die sowohl auf das Hauptgebäude, als auch auf die Garage gesetzt sind, lösche ich die Adresse bei der Garage und setze diese auf building=garage, allerdings sind diese von ihm genauso wenig, oder besser gesagt auch nur vereinzelt verschont geblieben.

Bei meinen Tests habe ich neben einem Bugfix und kleineren Ergänzungen jetzt noch hinzugefügt, dass Gebäude, die mit einem addr:unit Node verbunden sind, ignoriert werden (müssen aktuell tatsächlich verbunden und nicht nur innerhalb sein). Diese 5 Wohnblocks, die vorbildlich mit 18 nummerrierten Eingängen versehen sind, werden damit zB nicht mehr als Duplikat angesehen:
https://www.openstreetmap.org/#map=18/48.12604/16.46344

Ich mappe das auch als addr:unit (wo auch im wiki flat explizit inkludiert ist). Problematisch wird es natürlich, wenn es bei einer Adresse mehrere unterschiedliche Unteradressen mit gleicher Nummer gibt, also bsp. “Stg. 1” und “Haus 1”, aber solche Adressen sind ja grundsätzlich ziemlich schwachsinnig und nachdem es beim Reihenhaus dann normalerweise eben auch als “Haus 1” oder “RH 1” angeschrieben ist, gebe ich das eben auch so an.

Bei meinen Tests für den Validator bin ich wieder auf 1-2 so Fälle gestoßen:
https://www.openstreetmap.org/#map=19/48.10244/16.29444

Das “Per AddressHelper” im neuen Titel kann man mMn. löschen. Soweit ich das sehe, gibt es in erster Linie einen User, der sich etwas ausgetobt hat und jedem noch so kleinen Nebengebäude eine Adresse verpasst hat, wobei das absurde ja ist, dass das Hauptgebäude in den meisten Fällen schon eine Adresse hatte, wodurch er das mit copy/paste praktisch genauso schnell machen hätte können.
Die Fehler, die im Normalgebrauch auftauchen, sind die gleichen, die auch ohne AddressHelper auftauchen (und dann tlw. mit diesem bequem behoben werden könne), nämlich Zuweisung der Nachbaradresse.
Was bei meinen Tests sonst noch regelmäßig auftaucht, sind falsch zugewiesene Straßen, zusätzliche Address-Nodes über Gebäuden, die schon eine Adresse haben, und Wohnblocks mit fehlenden Unteradressen.

Sieht man sich uns angrenzende Länder an, so finden sich dort ebenfalls viele Duplikat Adressen. Also handelt es sich hier definitiv um keine Angelgelegenheit lex AddressHelper, schade dass dieser nun darunter zu leiden hat.
Dein Vorschlag mit dem Titel, erl.

Frage, unter Validator ist der JOSM integrierte Uploade Prüf- Vorgang von JOSM zu verstehen, sehr ich das richtig.

Ja, wobei “Upload” ein gutes Stichwort war, das mich auf ein konzeptionelles Problem bei meiner Lösung hingewiesen hat. Die funktioniert aktuell nur verlässlich, wenn man sie händisch ohne Auswahl anstößt, ansonsten werden nur die Daten angesehen (generell, also auch für mögliche Duplikate), die ausgewählt sind, was beim Upload eben nur die geänderten sind. Da muss ich nochmal schauen, ob ich das fixen kann.

edit: scheint behoben (allerdings noch nicht auf github eingecheckt)

Das klingt doch bereits vielversprechend.

Ich kann hier nur meine Beobachtungen um angrenzenden Ausland meiner Region (SLO, HUN) schildern, jedoch muss ich leider sagen, dass (fast) “ganz OSM” in dieser Gegend auf automatisierten Imports aus der Vergangenheit basiert, Adressduplikate inklusive. Leider sind mir in diesen Ländern keine Adressverzeichnisse bekannt, wodurch das Bereinigen schwer ist. Nicht selten liegen ein und die selbe Adresse auf mind. 2 Gebäuden verteilt, die aber ein paar Hundert Meter (wenn nicht gar Kilometer) auseinander liegen. Das wäre nur durch eine Vor-Ort Prüfung möglich bzw. durch eine fundierte Adressliste.

Soviel zur Behauptung, in bislang eher Adressleeren Regionen, wäre ein ein Erst Import besser geeignet als eine kontrollierte Erfassung mittels Addresshelper.

Ja, nur so ein Adressimport läuft ja (soweit mir bekannt) dermaßen ab, dass man Nodes erhält und die Adresse dann nicht am Gebäude drauf liegt. Ergo müsste nochmals händisch nachgearbeitet werden. Ausserdem kommt dazu, dass dann die Adressen wieder auf irgendwelchen Gebäuden (Gartenhütten, Garagen usw.) liegen.

Genauso ist es. Man importiert bei einem Massenimport einen Satz Nodes, nach den Gesetzen der Trägheit landen die Adressen dann dort wo angeboten, auf dem Nebengebäude.
Was ich noch nicht verstanden habe, wieso ab Salzburg Richtung Osten, es eine Systematik gibt, sofern es Nebengebäude gibt, das Hauptgebäude adresslos bleibt. Ich vermute diese Systematik stammt aus Zeiten des Kalten Krieges. Das Hauptgebäude war damals militärischen Karten vorbehalten. Man wolle es der feindlichen Artillerie wohl nicht zu einfach machen.