housenumbervalidator

In den letzten Tagen habe ich den housenumbervalidator von osmosis auf osmconvert und osmfilter (zum vorfiltern der Dateien) umgestellt. Dank der --all-to-nodes konnte ich den Code des housenumbervalidators vereinfachen (keine Sonderbehandlung der ways mehr), wodurch sich insgesamt eine Laufzeitverkürzung von ca. 75% ergibt.
Sollten sich bei der Umstellung irgendwelche Fehler eingeschlichen haben, bitte melden.

Danke für den housenumbervalidator, das ist ein echt praktisches Tool! Hab gleich mal ein paar Fehler in der Gegend korrigiert und dabei auch einige Häuser bemerkt, die addr:housename statt addr:housenumber verwenden (aber mit einer Nummer als housename). Beispiel: http://www.openstreetmap.org/browse/node/808615479 (hab ich jetzt schon geändert). Das kommt wahrschl. durch die Autovervollständigung im Editor… Vielleicht kannst du sowas als Zusatzprüfung einbauen (also wenn addr:housename eine Hausnummer enthält) und als Warnung anzeigen?

Ach ja, wird die Prüfung eigentlich täglich gemacht?

Danke für die Anregung. Leider ist eine solche Prüfung auf Grund der Programmstruktur nicht so schnell umzusetzen, aber vielleicht baue ich das in Zukunft mal ein.

Die Datenbank wird (meistens) täglich aktualisiert.

Sehr tolles tool, aber ein Feature gibt es das ich mir wünsche: abhaken von verbesserten Fehlern

Das wünsche ich mir auch. :wink: Ich habe aber momentan keine Idee, wie ich verhindern kann, dass die “Abgehakt”-Information bei einem Datenbank-Update (dabei wird der zunächst der Datenbankinhalt komplett gelöscht) verloren geht.

Das möchte ich noch einmal aufgreifen. Straßennamen mit “von” und “vom” am Anfang nicht als Fehler aufzufassen, halte ich für sinnvoll. Meistens handelt es sich um Straßen, die nach Adligen benannt wurden. Allerdings scheint das auch nicht immer zu klappen, etwa hier (liegt es am Bindestrich?).

Aber klein geschriebene Präpositionen “an” und “am” (sowie “in”, “im”, “auf”, “zur”) am Anfang wären bei den Straßen, die ich kenne, stets falsch. Ich weiß nicht, ob das regional unterschiedlich ist, aber hier beginnen auch Straßennamen mit solchen Präpositionen stets mit Großbuchstaben.

Gerade falsch geschriebene Straßennamen findet man allerdings auch zuverlässig(er) mit dem Adresslayer von OSMI. Wenn die Schreibweise einer Hausnummer vom eingetragenen Straßennamen abweicht (addr:street=“im Eimer”, aber name=“Im Eimer” an einer nahegelegenen Straße), wird “street not found” gemeldet. Insofern muß man den housenumbervalidator in diesem Punkt nicht unbedingt bis ins letzte optimieren. Vielleicht wäre ein Link auf dieselbe Region im OSMI hilfreich. Kombiniert man beide Instrumente, kann man schon einen erheblichen Teil der Fehler erkennen und beseitigen.

Im übrigen denke ich, daß jene Fehler, die xybot automatisch berichtigt, nicht angezeigt werden brauchen, die verschwinden schließlich von selbst. Das wirklich wertvolle Merkmal des housenumbervalidator (was nämlich auch OSMI nicht bietet) ist aus meiner Sicht ohnehin die Erkennung von Duplikaten.
Allerdings hatte ich vor einiger Zeit den Eindruck, daß die Duplikaterkennung nur funktioniert, wenn zwei Adressen in allen Merkmalen übereinstimmen, aber nicht, wenn z.B. :street und :housenumber übereinstimmen, aber eines der beiden Objekte zusätzlich noch :city hat, das andere aber nicht. Hier wäre es m.E. sinnvoll, Abweichungen in :city, :postcode, :country zu ignorieren, wenn beide Objekte höchstens einen bestimmten Abstand voneinander aufweisen. (Bahnhofstraße 1 in 12345 Pusemuckel und Bahnhofstraße 1 ohne Ort und PLZ sind in Ordnung, wenn mindestens $(heuristischer Wert) auseinander.) Daß eine solche Kontrolle mit deutlichem Mehraufwand einhergeht, ist mir klar, aber ich halte sie für sinnvoll.

Na, so schwierig kann das nicht sein. Andererseits sehe ich bei der gegebenen Aktualisierungsfrequenz nicht die Notwendigkeit. Ist ein Fehler erledigt, wird er nach zwei bis drei Tagen auch nicht mehr angezeigt. Bis dahin kann man sich ja einem anderen Stadtteil etc. zuwenden.
Aber wäre es möglich, das Koordinatensystem der Slippymap umzustellen? lat=6446066.23248&lon=890951.76387 im obigen Link ist ja schauderhaft :wink:

Sehr gutes Tool.
Sofort in meine Linkliste. :top:

Als Anregung noch entsprechend zu der Überprüfung der Straßennamen.
Bei Gemeinden mit Ergänzungen im Namen fliegen in den Adressen und den Gemeinde-Nodes auch mehrere Schreibweisen rum.
Mein Beispiel hier ist “Reichenbach an der Fils”, “Reichenbach/Fils”, evtl. noch “Reichenbach a.d. F.” oder alle weiteren Kombinationen mit und ohne Leerzeichen.
Das gleiche gilt natürlich auch für “an der Teck”, “ob der Tauber” usw.
Vielleicht lässt sich’s ja mit reinbasteln. :slight_smile:

Nein, das liegt daran, dass “vom” bisher nicht ignoriert wird.

Es ist wirklich die Frage, ob das überall so ist. Gibt es zufälligerweise ein bundesweit einheitliches Regelwerk für die Schreibweise für Straßennamen? (wahrscheinlich nicht…)

Ist jetzt drin.

Das sind ja hauptsächlich die addr:street=Musterstr. Sachen, deshalb werden Fehler bei addr:street auch in einer anderen Farbe angezeigt. Aber dass die Fehler angezeigt werden, erinnert vielleicht den ein oder anderen wieder daran, dass Abkürzungen vermieden werden sollten.

Ein Hausnummer wird nur denn in die Duplikat-Prüfung mit eingeschlossen, wenn alle addr:*-Werte (ausgenommen country; bei Bremen, Hamburg und Berlin auch ausgenommen city) angegeben sind. Wenn ich mal die Zeit finde, gucke ich mal, ob ich eine Entfernungs-basierte Duplikatsprüfung hinzufüge.

Inzwischen habe ich mir ein paar Gedanken dazu gemacht, und es scheint doch recht einfach zu sein.

Deshalb habe ich mir dazu bisher auch keine Gedanken gemacht.

Erledigt.

Da ist wiederum auch was dran.

Dem sich wundernden Mitleser sollte zu HB, HH, B vielleicht gesagt werden, daß Du das Programm bundeslandweise laufen läßt und zwei Adressen in den jeweiligen Geofabrik-Extrakten der genannten Stadtstaaten - Randbereiche ausgenommen - keine verschiedenen Werte von addr:city haben können :wink:
Danke für die Erklärung. Vielleicht steige ich mit dem Hinweis besser durch den Quellcode durch.

Randnotiz: In Deinem Skript “filter” meinst Du übrigens vermutlich power=sub_station (nicht substation).

Danke für den Hinweis.

Vielleicht könntest Du zumindest auf die Postleitzahl verzichten (also auch vergleichen, wenn diese fehlt). Ich habe durch bloßen Zufall gesehen, daß ich kürzlich eine Adresse doppelt vergeben habe (in diesem Fall ganz klar einmal falsch) - jedoch ohne addr:postcode. Der housenumbervalidator findet diese nicht.
Eine solche Änderung generiert natürlich auch Falschmeldungen, denn wie viele verschiedene Bahnhofstraßen gibt es etwa in Berlin? Andererseits ist das nicht wirklich eine Falschmeldung, denn die Straßen sollten sich dann tatsächlich in der PLZ unterscheiden - bzw. bei kleineren (zusammengelegten) Gemeinden im Ortsteil.
Die entfernungsabhängige Prüfung wäre aber natürlich der Königsweg :wink:
Kannst Du bitte einmal folgendes ausprobieren: wenn addr:postcode an beiden Adressen vorhanden ist, dieses in den Vergleich einbeziehen; ansonsten nur die übrigen Tags vergleichen und auch dann ein Duplikat melden, wenn nur diese übereinstimmen.

Beide Wünsche sind jetzt erfüllt: http://gulp21.bplaced.net/osm/housenumbervalidator

Die von Oli-Wan vorgeschlagene Entfernungs-basierte Duplikatsprüfung bei unvollständigen Adressen ist noch nicht implementiert, da ich noch nicht weiß, wie ich die Bedingungen effizient überprüfen kann (aber die Funktion wir noch kommen).

Hi !

Könntest du das mal für Lübeck laufen lassen ?

Jan

Bundesweit reicht nicht?
http://gulp21.bplaced.net/osm/housenumbervalidator/?zoom=12&lat=53.85648&lon=10.67396&layers=B0TTTT
Vorsicht: Kein schöner Anblick.

Tolle Arbeit. Vor allem das mit dem Abhaken hat echt gefehlt. Hab jetzt schon mal einiges gemacht und mir ist aufgefallen wenn man nochmal auf den Haken klickt kommt ein SQL Fehler. Ich fände es besser und schneller wenn man auf den Haken klickt das kein Popup kommt und der vorhandene Dialog gleich geschlossen wird. Ein anschließender Refresh der Karte ist bestimmt nicht so einfach damit der Fehler gleich ohne etwas zu tun verschwunden wäre.

Ich fände es auch toll wenn man wie bei keep right sagen könnte welche Fehler ich sehen will, da ich mir momentan primär die Probleme anschaue. Für die Duplikate fehlt mir noch irgendwie die richtige Herangehensweise. Hast du da evtl. eine Quelle?

Gruß
wmann

Oben rechts, das weiße Kreuz in der blauen Fläche.

OK, ich werde das ändern. Dadurch kann dann auch nicht mehr die Fehlermeldung erscheinen.

Über das “+” oben rechts können die Duplikate (Dupes) ausgeblendet werden.

Wunderbar. Auf die Idee, dass es ein Overlay ist hät ich ja auch selbst kommen können :wink:

Mir ist ein Fehler(?) aufgefallen.
Wenn man auf “Fehlalarm melden” oder “Ein Fehler je Tag” klickt, kann man den erscheinenden Text nicht mehr schließen.

Wenn man einen Fehler in JOSM aufruft, wird nur das Objekt geladen. Ich würde es bevorzugen den Fehler plus ein kleines Umfeld (ca. 50m in jede Richtung) erhält. Persönlich kümmere ich mich vor allem um gehäufte Fehler. So muss ich immer per Hand einen Bereich um den Fehler laden.

@wmann:
Bei Duplikaten kann man im Popup auf “zeigen” klicken. Dann zoomed ein schwarzer Marker zur zweiten Position.
Erklärung: Duplikate entstehen oft, wenn man die falsche Straße mit kopiert hat.

Edbert (EvanE)

Einfach nochmal auf den entsprechenden Link klicken. (Ich weiß, dass das gerade nicht so optimal gelöst ist.)

So weit ich weiß unterstützt das JOSM-Remote-Control-Feature nicht die Kombination “Bereich laden” + “Objekt laden und markieren” (nur eins von beiden ist möglich), und “Objekt laden und markieren” finde ich persönlich nützlicher als “Bereich laden”, da man nicht erst die fehlerhafte Adresse in JOSM finden muss.