AustriaAdressHelper in der Praxis

Unsere Werkzeugkiste füllt sich:

Die Kombination folgender Werkzeuge sollte die Problematik doppelt erfasster Adressen wesentlich verbessern.

[out:xml][timeout:25][bbox:{{bbox}}];
{{geocodeArea:Austria}}->.searchArea;
(
 node
  ["addr:housenumber"](area.searchArea)({{bbox}});
  way
  ["addr:housenumber"](area.searchArea)({{bbox}});
  relation
  ["addr:housenumber"](area.searchArea)({{bbox}});
);
(._;>;);
out meta;

Neue verbesserte OverPassTurbo Abfrage, zum prüfen ob möglicherweise doppelte Adressen vorliegen:

Mehrfacheinträge Hausnummern:
Berücksichtig addr:street
Berücksichtig addr:place
Polygone und Nodes
Prüft mehrfach eingetragenes Gewerbe

http://overpass-turbo.eu/s/yqI

// Abfrage doppelter Hausnummern. Nodes und Gebäudepolygone ohne Adressen mit Namen oder Gewerbe. (addr:Place und addr: street wird berücksichtigt). Bitte zur Vermeidung unnötiger Serverbelastung, jeweils einen Kartenausschnitt manuell festlegen, oder das Fenster nicht zu groß wählen.

[bbox:{{bbox}}];
nwr["addr:city"]["addr:housenumber"];
for(t["addr:city"] + " " + t["addr:street"] + " " + t["addr:place"]+ " " + t["shop"] + " " + t["addr:housenumber"] + " " + t["name"]+ " " + t["amenity"]+ " " + t["shop"])
{
  if (count(nodes) + count(ways) + count(relations) > 1)
  {
   (._;>;); out meta;/*fixed by auto repair*/
  }
};

Interessehalber, hab letzte Woche das erste mal ein paar allererste einfache Overpass anfragen ausprobiert:
Wenn ich das von dir bei Overpass einfüge und ausführe, kommen eigentlich nur Scriptfehler. Da ich davon ausgehe, dass ich da was falsch mache - wie geht denn das?
Code reinkopieren, ich lösch den letzten Part mit JOSM (weil ichs noch nicht benutze) und drücke dann auf ausführen. Dann kommen lauter Parse und Static Error.

Grüße

Im Moment ist folgende Zeile noch absolut notwendig:

```
{{data:overpass,server=http://dev.overpass-api.de/api_mmd/}}
```

Die Query läuft noch gegen einen Entwicklungsserver und erst wenn die nächste Version rauskommt, wird das auch auf dem produktiven Server laufen.

Update: 1.5. Ist nicht mehr notwendig, bitte den produktiven Server unter overpass-api.de verwenden.

Oh, danke, ich hatte das Kommentar davor auf die Zeile danach bezogen, dass die Zeile für den Export nach JOSM benötigt wird. Gesammtes Kommentar lesen hilft halt auch :smiley:
Funktioniert, soweit ich das sehen konnte, danke.

nop

Ja, ist leider nicht in der JOSM-Hilfe beschrieben. Auf der Seite untem im Screenshot gibt es einen weiteren Tabreiter für Overpass, dort kann man den Server eintragen als http://dev.overpass-api.de/api_mmd/ - zumindest vorübergehend.
Ist nicht mehr notwendig, bitte den Produktiv-Server unter overpass-api.de verwenden!

Wichtig: den Teil {{data:overpass … }} am Ende unbedingt weglassen, diese overpass turbo Erweiterung versteht JOSM nicht und versucht es an den Server zu schicken, was aber nicht wirklich sinnvoll ist.

nop

Hinweis Bedienung JOSM Plugin AsutraAddressHelper

Wie viele bereits wissen, löst man den AddressHelper durch die Tastenkombination strg+shift+a aus.
Damit etwas geschieht muss man vorher ein Objekt mit der Maus selektieren.

Wenn es kein Objekt gibt, ist man gezwungen wenigstens vorher einen Node zu erzeugen.
Ich haben diesen Vorgang mittels Gaming Hardware automatisiert. Eine Beschreibung dazu gibt es auf meinem Blog. https://www.openstreetmap.org/user/wiki%20the%20map/diary/43339

Nicht jeder möchte sich nun ein Gamepad kaufen, zum Glück gibt es auch praktische Softwarepakte
http://www.chip.de/downloads/AutoHotkey_13653378.html
mit deren Hilfe man solche Tastenkombinationen auf die normale PC Tastatur legen kann.

Zum setzen eines Nodes samt AddressHelper Adresse mit einem Tastenklick ist folgende im linken Bildabschnitt ersichtliche Tastensequenz notwendig.

Diese kann man auch ohne G13 Gamepad mittels PC Software auf eine beliebige PC Taste legen.

Mir ist schon klar, was du erreichen möchtest, aber du solltest dich entscheiden, ob es ein Problem ist, wenn die Häuser nicht da sind, oder wenn sie da sind. Wenn du auf einer höheren Zoomstufe mehr Übersicht haben möchtest, erreichst du genau das gleiche Ergebnis mit einem lokalen JOSM-Filter nach “addr:housenumber” (mit dem Hakerl in der 2ten Spalte wird es nicht nur grau, sondern komplett ausgeblendet), den du allerdings mit einem Click ein- und ausschalten kannst.

Mal Danke für den Tipp, es geht weniger um die Übersicht, sondern darum sicher Adresslücken zu erkennen.
Der von dir beschriebene Filter blendet bereits erfasste Adressen aus, das ist nicht mein Ziel. Der von mir beschriebene Filter bezweckt genau das Gegenteil. Er blendet alle nicht Adress- Objekte aus. Mittels JOSM Filter müsstes du hierfür sehr viele Filter setzten. Ich finde einen globalen Overpass positiv Filter da wesentlich praktikabler. Adress-Nodes haben zudem den Vorteil, dass du mittels setzten des Node in eine bestimmte Gebäudeecke auch die Zugehörigkeit einer Adresse zu einer bestimmten Straße anzeigen kannst.

Grüsse Johann

Hallo nochmal,

ihr könnte jetzt die Zeile


{{data:overpass,server=http://dev.overpass-api.de/api_mmd/}}

in den Overpass Queries oben weglassen und wieder zurück auf https://overpass-api.de/api/ wechseln.

Danke für den Hinweis:
Neue verbesserte OverPassTurbo Abfrage, zum prüfen ob möglicherweise doppelte Adressen vorliegen:

Mehrfacheinträge Hausnummern:
Berücksichtig addr:street
Berücksichtig addr:place
Polygone und Nodes
Prüft mehrfach eingetragenes Gewerbe

http://overpass-turbo.eu/s/yqI

// Abfrage doppelter Hausnummern. Nodes und Gebäudepolygone ohne Adressen mit Namen oder Gewerbe. (addr:Place und addr: street wird berücksichtigt). Bitte zur Vermeidung unnötiger Serverbelastung, jeweils einen Kartenausschnitt manuell festlegen, oder das Fenster nicht zu groß wählen.

[bbox:{{bbox}}];
nwr["addr:city"]["addr:housenumber"];
for(t["addr:city"] + " " + t["addr:street"] + " " + t["addr:place"]+ " " + t["shop"] + " " + t["addr:housenumber"] + " " + t["name"]+ " " + t["amenity"]+ " " + t["shop"])
{
  if (count(nodes) + count(ways) + count(relations) > 1)
  {
   (._;>;); out meta;/*fixed by auto repair*/
  }
};

Den Code kann man auch kopieren, und im JOSM im Fenster “Daten herunterladen” in den Reiter “Von Overpass-API herunterladen” einfügen.
JOSM findet so ohne Umwege über die Overpass Turbo Webseite, direkt mögliche doppelte Adressen.

Unsere Werkzeugkiste füllt sich:

Die Kombination folgender nützlicher Werkzeuge sollte die Adresserfassung in Österreich wesentlich vereinfachen.

[out:xml][timeout:25][bbox:{{bbox}}];
{{geocodeArea:Austria}}->.searchArea;
(
 node
  ["addr:housenumber"](area.searchArea)({{bbox}});
  way
  ["addr:housenumber"](area.searchArea)({{bbox}});
  relation
  ["addr:housenumber"](area.searchArea)({{bbox}});
);
(._;>;);
out meta;

Vorgangsweise:
Nach herunterladen eines so gefilterten Kartenbereiches, basemap.at Ortophoto als Hintergrund laden.
Als weitere Ebene den transparenten Basemap Adress Layer bmapoverlay.

Nun analysieren wir die drei überlagerten Ebenen, (Datenebene, Luftbild, Adresslayer) und prüfen die vorliegende Situation auf Plausibilität.

Nun stoßen wir auf ein erstes Problem mit dem Addresshelper. Das AddressHelper kann nur einem Objekt eine Adresse hinzufügen. In dem vom uns hier angewandtem Filtermodus, haben wir aber alle Objekte ohne Adresse ausgeblendet. Der Vorteil in diesem Modus besteht allein darin, dass wir so bereits vorhandene OSM Adressen sicher erkennen können.

Das zweite Problem ist, dass wir durch den transparenten Basemap Adresslayer zwar wissen, dass an einem bestimmten Punkt eine Adresse sein sollte, der unsichtbare AddreessHelper Verortungspunkt liegt aber an einem für uns unbekannten Ort. Aus Erfahrung wissen wir, dass wir die AddressHelper Adresse, oft in der Nähe der Hauseinfahrt abholen können. Manchmal liegt diese aber tatsächlich im oder in unmittelbarer Nähe zum Gebäude. Man fischt also mit dem AddressHelper ein bisschen im Trüben.

Beispiel Versuch eine Adresse durch setzen mehrerer Addresshelper Punkte zu lokalisieren
https://forum.openstreetmap.org/viewtopic.php?pid=696372#p696372 Gaming Hardware verwendet.

Zum abholen der Adresse, zuerst einen Node setzten, und anschließend mittels strg shift +a den trigger für den AdHelper betätigen.

Ein Wohngebäude erkennen wir in unseren Breiten üblicherweise am Kamin am Dach. Das Hauptgebäude bei einem Gewerbebetrieb, an vor der Firmenzentrale geparkten Autos und Parkplätzen.

Nun ziehen wir den Adresspunkt in den den jeweiligen Gebäudeumriss.

Nun den mit Adressen ergänzten Kartenbereich hochladen, und nach einer Wartezeit von ca. 3 Minuten den Bereich anschließend auf versehentlich doppelt hinzugefügte Adressen prüfen.
Siehe:https://forum.openstreetmap.org/viewtopic.php?pid=697188#p697188

So, nachdem ich heut in Adnet war, dachte ich mir “Perfekt, schau ich mal.” und jetzt seh ich da viele Adressen bereits als Nodes eingetragen sind (Ich hab ja Adresse am Gebäudeumriss lieber, aber so ists jetzt nun mal - so lange du nicht Gebäudeadressen dabei löscht!)

Ich hab mir jetzt endlich mal JOSM geladen, die Plugins aktiviert und mir den Adressehelper ein bisschen angeschaut. Funktioniert prima, wenn die Einfahrt nicht ewig lang ist - das hast du schon geschrieben. Der Punkt ist scheinbar gern in der nähe der Einfahrt.

Aber, warum genau verschiebt man(=du) jetzt nicht einfach den Gebäudeumriss schnell zur Einfahrt, drückt STRG-SHIFT-A und verschiebt den Umriss retour? Gebäude anklicken - verschieben - strg-shift-a - retourschieben. Keine Makros benötigt. Das ist zumindest meine Arbeitsweise mit dem Teil künftig.

Zur Sache mit dem mehr oder weniger absichtlich doppelte Adressen hochladen sag ich jetzt mal nix.

Oder eine Node erzeugen, die ein bisschen herumschieben, dabei strg-shift-a druecken, bis die Adresse “gefunden” wird und dann Node und Gebaeude markieren und mit strg-shift-g vereinen. strg-shift-g heisst “Replace Geometry” und ist ein feature des util2 plugin des Josm.

Hört sich auch gut an. Gedanke hinter meiner Variante - der Gebäudeumriss ist halt größer als ein node und soweit ich das sehen kann, muss eben nur ein Teil darauf liegen. Erhöht, so zu sagen, die Chancen den Punkt zu erwischen durch die große Fläche. Wo ich das Gebäude herhab, weis ich ja.
Das STRG-SHIFT-G ist auch gut zu wissen, danke :slight_smile:
Ich denke, so kann man das gut bei Gebäuden machen, die mehrfach irgendwo verbunden sind, Reihenhäuser oder ähnliches.

Oder man beschafft sich ein G13 Gamepad, und drückt zum Geometrie ersetzten genau noch eine einzige Taste.

Zitat: Eine weitere Funktion ist das Auflösen eines Adress Nodes, und übertragen seiner Eigenschaften auf ein Gebäude Polygon mittes Tastendruck. Funktion. Gebäudeumriss auswählen, Taste Geometr.Ersetzten betätigen. (Das Skribt erledigt das Auswählen des Adress Nodes automatisch, es darf sich hierbei aber nur jeweils ein Adress Node im Gebäudeumriss befinden).


Aus: https://www.openstreetmap.org/user/wiki%20the%20map/diary/43339

Generell entsprechen Adress Nodes den OSM- Wiki Regeln für Adressen.
Praktischerweise kann man AdressNodes in jene Gebäudeecke setzten, wo auch die Hauszufahrt an das Gebäude anschließt.
Im Luftbild üblicherweise gut erkennbar. Ein echter Mehrwert in Vorstufe zum Entrance Punkt.
Adressnodes sind für mich daher inzwischen die erste Wahl.

Man sollte auch nicht außer acht lassen, unnützes Ziehen am Gebäudeumriss erzeugt unsinnige Datenfragmente in der OSM Datenbank. Wir gehen ja verantwortungsvoll und sparsam mit unseren Open Source Ressourcen um, hoffe ich jedenfalls.

Grüße Johann

Ref: https://forum.openstreetmap.org/viewtopic.php?pid=696372#p696372

Danke für das Lob.

Grüße Johann

Das ist glaube ich ein Trugschluss, zum Suchen wird ja auch nur der Gebäudemittelpunkt verwendet und der kann bei großen, unförmigen Gebäuden auch zu weit entfernt, oder bei einer anderen Nummer liegen, also das halte ich für keinen sinnvollen Workaround, erst recht nicht bei verbundenen Gebäuden, aber das hast du eh schon selbst festgestellt.
Du kannst Thomas Konrad bitten die modifizierten Daten zu importieren, wo wieder die Gebäudepositionen bevorzugt werden, das sollte meistens die Position sein, wo auch basemap die Adresse anzeigt
https://github.com/thomaskonrad/convert-bev-address-data-python/pull/1#issuecomment-382995346