BEV-Adressen (incl. Subadressen) als .osm-Files (neue Daten 10/19)

Zurück zum Thema:

Gibt es in dieser Annahme, regionale Unterschiede oder trifft diese Aussage auf gesamt Österreich zu ?

wie gesagt ist das mittlerweile auch nicht mehr ganz aktuell, nicht zuletzt weil auch du dich beschwert hast, dass du immer noch nicht verstehst, warum nicht immer die Gemeinde als addr:city geliefert wird und es tatsächlich nicht immer ganz konsistent war:

Aber gibt es da regionale Unterschiede? Ob in einer Gemeinde Straßennamen mehrfach vorkommen, ist tatsächlich regional sehr unterschiedlich. In den PLZ-Bereichen 4-6 (“Westen”) kommt das fast gar nicht vor, 7-9 (“Süden”) etwas mehr und am häufigsten im Osten.

Das wiki sagt zu addr:city

Wie im oben verlinkten “Richtig Addressieren” der Post, ist der “Bestimmungsort” bspw. in der Gemeinde Götzendorf an der Leitha aber nicht die Gemeinde, sondern die Ortschaft, da bspw. die Hauptstraße 65 sowohl in der Ortschaft Götzendorf an der Leitha, als auch ein paar Hundert Meter weiter in der Ortschaft Pischelsdorf vorkommt und die Adressen nach der ersten Variante der Post dann folgendermaßen lauten müssen:

Hauptstraße 65
2434 Pischelsdorf

und

Hauptstraße 65
2434 Götzendorf an der Leitha

addr:city=Pischelsdorf ist dafür also völlig korrekt, v.a. aber ist es zwingend erforderlich, dass Pischelsdorf in der Adresse überhaupt aufscheint. Warum habe ich es für die Ausgabe des Konverters dann trotzdem nochmal geändert? Man könnte nur bei den Straßen oder Adressen, die ansonsten nicht eindeutig sind, ein anderes addr:city setzen, aber das ist völlig inkonsistent und für User und Mapper ohne zusätzlichen Hinweis schwer nachvollziehbar, warum das so ist und dass das v.a. Absicht ist und es einen Grund dafür gibt. Wenn man es für den gesamten Ort / die gesamte Gemeinde ändert, ist es zwar lokal konsistenter, das Problem mit der Nachvollziehbarkeit ist aber immer noch ein wenig gegeben und wenn jemand daher kommt und meint, diese Angabe wäre falsch, weil doch immer die Gemeinde in addr:city stehen muss, und das entsprechend ändert, gibt es plötzlich wieder Adressen, die nicht mehr eindeutig sind. Daher ist die Variante 2 der Post mit addr:suburb vermutlich etwas sicherer und konsistenter, wobei ich es aktuell nur bei den Straßen setze, die ansonsten nicht eindeutig sind. Warum nur bei den Straßen? “Ortschaft” kann wie gesagt alles mögliche und auch sehr klein sein, für alle Ortschaften ist es also mMn. nicht sinnvoll, auch nicht wenn man die abzieht, die unter die addr:place Regel fallen. Man könnte es auch nur in den Orten setzen, wo mehrdeutige Straßennamen vorkommen. Das kann aber auch etwas irritierende Ergebnisse liefern, wo bei “gleichwertigen” Katastralgemeinden einmal überall suburb vorkommt und bei der anderen dagegen nur die Gemeinde aufscheint. Umgekehrt für die gesamte Gemeinde würden dann auch kleine Ortschaften dieser Gemeinde (und wieder nur dieser Gemeinde) ein Suburb bekommen, daher scheint es zumindest für diese automatisch generierten Dateien jetzt einmal nur dort auf, wo es am ehesten auch tatsächlich notwendig ist, auch wenn es an mehr Stellen passend sein könnte.

Zum Key selbst: ich weiß nicht, wie verbreitet der für Ortschaften/Katastralgemeinden ist, aber auch nach den Reaktionen einiger anderer User auf diversen Kanälen zu schließen, ist es nicht falsch, aber bisher auch nicht unbedingt üblich - so zumindest mein Eindruck. Beim Durchforsten des Forums (und auch bei den Overpass-Abfragen in Grenznähe) hatte ich den Eindruck, dass das in Deutschland eher verbreitet ist und so wie man “city” nicht zu wörtlich nehmen darf, ist das bei “suburb” wohl genauso.
Man findet bei den Werten für addr:city auch die Angaben “Gemeindename”, “Gemeinde Gemeindename”, “Ortsname”, oder “Gemeindename-Ortsname” bunt gemischt, was bei einem Community-Projekt wie OSM auch nicht weiter überraschend ist, aber mittlerweile bin ich auch der Ansicht, dass der Ortsname (wenn es nicht nur ein Place ist) unter suburb wohl am besten aufgehoben ist, wenn man ihn angeben will oder muss.

Das Filter-Script ist mittlerweile übrigens wieder freundlicher zum Overpass-Server und damit auch wieder deutlich schneller, also falls das jemand verwendet, sollte man es aktualisieren

@ Luzandro:

Es gibt natürlich noch eine weitere Möglichkeit, nämlich: Ortschaft-Beistrich-Straße. Konkret beim Bsp. Pischelsdorf: Götzensdorf an der Leitha, Hauptstraße 65 2434 Pischelsdorf.
im Addr:city Feld steht IMMER die pol. Gemeinde, niemals die Katastralgemeinde, die speziell durch die Gemeindezusammenlegungen in der Stmk. vor einigen Jahren vermehrt entstanden sind.
Und das ganze kommt dann in das addr:street Feld, die Straße davor muss natürlich gleich heißen.

Unsere Post stellt beide Varianten zu.

Wenn ich die Wahl habe, wähle ich daher die nicht so elegante aber dafür konsistente Variante.

Eine Alternative wäre in OSM, Regionalverantwortliche zu ernennen. Regionalverantwortliche mit Ortskenntnis welche den jeweiligen regionalen Status per regelmäßiger Sichtung und Kontrolle aufrechterhalten.
Aufgrund mangelnder Ressourcen ist das aktuell aber nicht zu machen. Daher meine Meinung, eine einheitliche Umsetzung über ganz Österreich mit dem Gemeindenamen im Feld addr:city ist derzeit die besser Variante.

Wie gesagt machen das manche Gemeinden so (entsprechend taucht dort dieses Problem dann auch nicht auf), der Ortsname ist dann allerdings auch tatsächlich Teil des Straßennamens. In den Fällen, wo das nicht so ist, ist das nach Ansicht der Post keine korrekte Form der Adressierung und es ist auch für OSM nicht sinnvoll das dort dennoch einzuführen, eine Straße mit diesem Namen gibt es dort schlicht nicht.

Ich habe das vor zwei Jahren in der Gemeinde Wildschönau -nach viel Probieren- ebenfalls so umgesetzt, und das Thema daher für mich damals abgeschlossen.
Manchmal fällt es schwer eine eigene Erfahrung in einem kooperativen Projekt zu transportieren. Aber siehe da, andere kommen auf die selbe Lösung.

Leider ist das Handstricken solcher Adressen (addr:street=Straße,Ort) sehr zeitaufwendig. Wildschönau du hast mich Wochen beschäftigt.

Ich zweifle nicht mal näherungsweise, dass die Post mit der Kombination Ortschaft-Beistrich-Straße + PLZ & Ort, ein Problem haben wird. Denn, präziser kann man kaum einen Brief/ein Paket adressieren, als zu einer Ortschaft/Gemeinde, in der es in der Tat 2 oder mehr gleichnamige Straßen gibt, noch zusätzlich die Katastralgemeinde in den Straßennamen zu schreiben. :wink:
Ich habe eh schon hier im Forum vor 1-2 Jahren auf diese Thematik hingewiesen. Es wird jedoch - grade durch die Gemeindezusammenlegung in der Stmk auch bedingt - hier die einzige praktikable Lösung bleiben. Denn, wie auch in den BEV-Daten vorhanden, steht im addr:city Feld immer der Name der Gemeinde drinnen. Beim zuvor genannten Bsp. ist es "Götzendorf an der Leitha"lt. Wikipedia.

Ich gehe auch nicht davon aus, dass es nicht ankommen wird, aber der vorgesehene Platz dafür ist für die Post entweder statt der Gemeinde nach der PLZ - was wie oben ausgeführt für OSM unpraktisch ist und Nachteile hat - oder in der vorletzten Zeile, was der Angabe von addr:suburb entspricht:

Hauptstraße 65
Pischelsdorf
2434 Götzendorf an der Leitha

Wenn die Gemeinden solche Sonderfälle nicht von sich aus umgehen und Straßennamen verhunzen, indem sie den Ortsnamen mit oder ohne irgendwelchen Zeichen davor schreiben

Welten, Hauptstraße 25
8383 Sankt Martin an der Raab

Rax-Raxer Hauptstraße 4
8380 Jennersdorf

Walbersdorf Berggasse 3
7210 Mattersburg

Überfeld/Dorfstraße 25
9311 Frauenstein

oder danach schreiben

Feldgasse, Rattersdorf 7
7443 Mannersdorf an der Rabnitz

Gartengasse (Seyring) 12
2201 Gerasdorf bei Wien

gibts keinen Grund, warum wir das unnötigerweise verfälschen und verschandeln sollten

Luzandros aktuelle BEV Adressaufbereitung liegt nun in einem derart massiv fragmentierten Format auf, als dass seine Aufbereitung nur noch maschinell weiterverarbeitet werden könnte.
Somit kann man sein Projekt -für laienhafte Mapping Aktivitäten- nun als unbrauchbar erachten.

Schade,
was als ambitioniertes Projekt begonnen hat, endet also nun. Auch die dem JOSM Plugin zugrunde liegenden BEV Daten sind längst nicht mehr aktuell, werden also offensichtlich nicht mehr aktualisiert.

Aktuell verweise ich auf die in meiner Signatur erreichbaren älteren Aufbereitungen. Ich finde es macht Sinn Österreich mit diesen Daten in Adressabdeckung zu vervollständigen. Ein anschließend hoffentlich eintretender Wiki Effekt, sollte das importieren weiterer BEV Daten künftig überflüssig machen.

Stichtagsdaten vom 1.10.2018 sind online

Vollständig: https://my.sofortcloud.com/index.php/s/1mVREyBx0dCZZ4q

Verschiedene reduzierte Datensätze, wie ohne identischen Einträgen vom letzten Stichtag, nur Adressen mit neuen IDs, oder nur neue Straßen: https://my.sofortcloud.com/index.php/s/vR5Yq9ojJGfvLW5

Liste mit geänderten Straßennamen: https://my.sofortcloud.com/index.php/s/EDLQNOCw7Fe9ef3

Bei den neuen Adressen/Straßen muss das nicht in jedem einzelnen Fall zwingend stimmen. Ich schaue da nur, ob die ID im letzten Datensatz noch nicht vorgekommen ist und tlw. tauchen da aus irgendeinem Grund auch alte Einträge mit neuer ID auf.

Scripts zur Auswertung gibts tlw. hier: https://github.com/Luzandro/osm-toolbox

Interessant wäre nun Deine Einschätzung, wie viele Frau oder Mannstunden Du zum abarbeiten Deiner nun je Straßenzug aufgegliederten BEV Adressdaten ansetzt.
Bitte das in Relation dazu setzten wie viele Mapper sich aktuell tatsächlich mit der Adresserfassung in Österreich beschäftigen, und wie viele Stunden Mappingzeit uns daher aktuell für solche Arbeiten tatsächlich zur Verfügung stehen.

Die Anzahl der Adressen hat sich um nichts geändert. Und hast du dich das bei deinem Glühwürmchen Mapping noch nicht gefragt?

Meine Antwort findet sich in meiner Signatur.
Deine noch anwendbare Aufbereitungen
at_bev:addr_date=2018-04-02

Es sind in der von mir archivierten Fassung zwar geringe Anpassungen notwendig. Zum Beispiel, Ortsteile welche in dieser als Gemeinde eingetragen sind, von addr:city nach addr:suburb umwandeln, und anschließend ein neues addr:city der Hauptgemeinde setzen.
Ansonsten passen die meisten Daten. Manchmal muss man aber wenn einzelne Ortsteile wie in der Gemeinde Zams fehlen, auf einen noch älteren Satz (nach PLZ) zurückgreifen.

Der mächtige Zauberer Luzandero des Königs Buff, soll also nun das lästige Glühwürmchen im Honigtopf ertränken,
Glühwürmchen Flieg!

Das Glühwürmchen arbeitet an einer neuen Methode der Adressvervollständigung von Gemeinden, bei der es nicht mehr notwendig ist, bereits bestehende Adresselemente vom Gebäudepolygon in einen Node zu verlagern. Bereits gemappte Informationen bleiben hierbei erhalten. Differenzen werden mit dieser Methode gut sichtbar gemacht, deren Auflösung erfolgt nach guter Mapper Manier jeweils von Hand. Der Arbeitsaufwand bleibt -da Übereinstimmungen im Gegensatz zu Luzandros Methode ausgefiltert werden- überschaubar.

Folgende Vorgangsweise:
Editor JOSM, Adresselemente eines Gemeindegebietes unter Anwendung folgender Overpass- Turbo Abfrage vollständig in den Editor laden.

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

Nun BEV Daten einer Gemeinde https://drive.google.com/open?id=1G8F4TWd6OXFFym-N9u4oTQ91WKKUAKtp vollständig in einem eigenen Layer sammeln, eventuelle Luzandro Orte in Suburb umwandeln, addr:city Gemeinde wieder vervollständigen.
Die nun vollständigen BEV Adressdaten -die sich nun in Datenebene 2 befinden- kopieren, und in die Datenebene 1 per strg+alt+v einkopieren.
Daten hochladen, hierbei sämtliche Fehlermeldungen ignorieren.

Änderungssatz ID eruieren, und vorläufig notieren. Einige Minuten warten.

Editor JOSM,
Folgende Overpass Turbo Abfrage anwenden,
dazu ein JOSM Auswahlfenster über das geamte Gemeindegebiet aufziehen, und Prüfung durchführen.


[bbox:{{bbox}}];
nwr["addr:city"]["addr:housenumber"];
for(t["addr:city"] + " " + t["addr:street"] + " " + t["addr:unit"] + " " + t["addr:flats"] + " " + t["addr:place"]+ " " + t["shop"] + " " + t["addr:housenumber"] + " " + t["name"]+ " " + t["amenity"]+ " " + t["shop"]+ " " + t["note"])
{
  if (count(nodes) + count(ways) + count(relations) > 1)
  {
   (._;>;); out meta;
  }
};

nun: strg+F Suchen nach changeset:1234567letzte ID

Nun sämtliche Elemente der Auswahl entfernen, anschließend “leere” Nodes zum Vermeiden von Konflikten aber vorläufig bestehen lassen.
Änderungssatz daher samt “leere” Nodes hochladen. Fehlermeldungen beim hochladen ignorieren.

Mehrere Minuten warten,
Nun JOSM erneut starten und folgende Abfrage nach leere Nodes laufen lassen:

[out:xml][timeout:25][bbox:{{bbox}}];
rel; > -> .r;
way; > -> .w;
(( node(if:count_tags()==0); - node.r; );  - node.w; );
out meta;

Die so gefundenen leeren Nodes, kann man nun allesamt ohne Konfliktgefahr löschen,
Änderungssatz hochladen.

Erneut mehrere Minuten warten,
JOSM neu starten und mit der Bereinigung der verbliebenen Duplikate beginnen:
Duplikate per Geometrie ersetzten auflösen.
Ich verwende hierbei eine Funktion meines in meinem Blog beschriebenen Gampepad Logitech G13, das geht aber ebenso gut per JOSM Tastenkombination.


edit: linkfix + Text

Dank:

Warum lädst du absichtlich Unmengen an Duplikaten hoch, anstatt NICHT alle Warnungen zu ignorieren, sondern per Doppelclick auf die entspr. Warnung alle doppelten Hausnummern zu selektieren und mit Ctrl+F “new” “in Auswahl suchen” alle neuen doppelten zu suchen und löschen, was weitgehend dem entspricht, was du da machst, wenn ich dich richtig verstehe (oder gleich das Script, was ich oben gepostet habe)?
Der Haupt-Unterschied, den ich sehe: addr:city muss bei dir zwingend angegeben werden, aber wenn du sowieso nur die Adressen der Gemeinde lädst, kannst du das auch dort, wo es fehlt, problemlos davor hinzufügen.
Und warum löscht du zuerst nur die Tags und nicht gleich die Nodes?

man müsste es halt auch nutzen, denn natürlich sind die Adressen immer noch irgendwo ohne Straße bzw. bei Straßen mit falschem Namen und werden damit zB von Nominatim schon mal nicht einmal gefunden
https://www.openstreetmap.org/way/634070296
https://www.openstreetmap.org/node/5983716385
https://www.openstreetmap.org/node/5983716363#map=19/48.48774/13.56671
https://www.openstreetmap.org/way/128424581

Das Problem was ich aktuell habe, ist dass ich die Prüfung auf Duplikate per Overpass Filter an Realdaten vornehme.
Hierbei kann es vorkommen dass ein BEV Adresse Node bereits Teil eines Gebäude Polygons geworden ist. Würde ich scheinbar “leere” Nodes löschen, so besteht große Gefahr dass ich hierbei unabsichtlich Gebäudeteile lösche, und es dann massenhaft zu Konflikten kommt.

Kannst Du noch einmal näher auf Dein Script eingehen, und erklären wie Du Dir hierbei den Ablauf gedacht hast. Möglichst mit Video.
Du meinst vermutlich diese Beschreibung: https://forum.openstreetmap.org/viewtopic.php?pid=719103#p719103 das ist für den normalen OSM Mapper nicht anwendbar. Wenn das so einfach wäre würden wir den Editor ID nicht benötigen.

Du bist auf auf der Profi Welle unterwegs. Lass mal das ganze Wasser aus der Badewanne, und füll für uns nur Ein Glas Wasser ein.
Ab besten genau so dass der Boden der Badewanne ein bisschen feucht ist.

Grüße

edit:text

Rom ist nicht an einem Tag erbaut worden.
Ich räume aktuell der Nachbearbeitung wesentlich mehr Zeit ein, alles kann ich aber auch nicht alleine machen.
Wie bereits beschrieben, nur da ich die Adress- Kartoffel ins Feuer geworfen habe, ist OSM noch lange nicht mein alleiniges Projekt.

Dank der von mir beschriebenen neuen Methode https://forum.openstreetmap.org/viewtopic.php?pid=720296#p720296 ist die zu kontrollierende Datenmenge nun drastisch reduziert. Das Mappen macht so endlich wieder Spaß, das bedeutet aber noch lange nicht dass ich plötzlich auch noch für Straßen zuständig wäre. Aber Ja Dein Tool coloured Streets ist hilfreich, und wo es geht bessere ich über dieses Tool gefundene falsch geschriebene Straßennamen auch aus.

Eine effiziente Kontrolle der Namensschreibung von Straßen, sollte aber besser in einem separaten Arbeitsgang erfolgen.
Eine entsprechende Abfrage ist sicher effizienter als jede Handsichtung.
Übrigens bietet regio-osm.de eine solche Auswertung an. Und Ja, Regio OSM ist meine Messlatte, egal was Du gerade an den Straßennamen herumschraubst.

Wenn das Mappen gut von der Hand geht, dann bleiben auch mehr Leute im Projekt.
Machen wir es uns doch nicht unbedingt kompliziert. Daher meine Devise, Adressvervollständigung, je Gemeinde in einem Task.
Bereinigung anschließend in mehreren Schritten, und so dass man diese Tätigkeit auch mal für ein paar Stunden unterbrechen kann.

edit:typo

Warum ladest du nicht alle Daten herunter und filterst dann mit dem JOSM-Internen Filter? Dann hast du alle Daten und die internen Kontrollen können alle statt finden.

Und es ist jetzt wirklich nicht der Mörderaufwand eine Gemeinde zu taggen (Übringes gut, dass du endlich kleinere Changesets machs, wie mehrmals vorgeschlagen wurde) und im zuge dessen direkt auf Duplike, korrekte Positionierung und sonstige Fehler zu kontrollieren und dann ein korrektes Changeset hochzuladen.

Eine neue Methode der Adressvervollständigung in Österreich, bei der es nicht mehr notwendig ist, bereits bestehende Adresselemente vom Gebäudepolygon in einen Node zu verlagern. Bereits gemappte Informationen bleiben hierbei erhalten. Differenzen werden mit dieser Methode gut sichtbar gemacht, deren Auflösung erfolgt nach guter Mapper Manier jeweils von Hand. Der Arbeitsaufwand bleibt -da Übereinstimmungen ausgefiltert werden- überschaubar.

Folgende Vorgangsweise:
Editor JOSM, Adresselemente eines Gemeindegebietes unter Anwendung folgender Overpass- Turbo Abfrage vollständig in den Editor laden.

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

Nun BEV Daten einer Gemeinde https://drive.google.com/open?id=1G8F4TWd6OXFFym-N9u4oTQ91WKKUAKtp vollständig in einem eigenen Layer sammeln, eventuelle Luzandro Orte in Suburb umwandeln, addr:city Gemeinde wieder vervollständigen.
Die nun vollständigen BEV Adressdaten -die sich nun in Datenebene 2 befinden- kopieren, und in die Datenebene 1 per strg+alt+v einkopieren.
Daten hochladen, hierbei sämtliche Fehlermeldungen ignorieren.

Änderungssatz ID eruieren, und vorläufig notieren. Einige Minuten warten.

Editor JOSM,
Folgende Overpass Turbo Abfrage anwenden,
dazu ein JOSM Auswahlfenster über das geamte Gemeindegebiet aufziehen, und Prüfung durchführen.


[bbox:{{bbox}}];
nwr["addr:city"]["addr:housenumber"];
for(t["addr:city"] + " " + t["addr:street"] + " " + t["addr:unit"] + " " + t["addr:flats"] + " " + t["addr:place"]+ " " + t["shop"] + " " + t["addr:housenumber"] + " " + t["name"]+ " " + t["amenity"]+ " " + t["shop"]+ " " + t["note"])
{
  if (count(nodes) + count(ways) + count(relations) > 1)
  {
   (._;>;); out meta;
  }
};

nun: strg+F Suchen nach changeset:1234567letzte ID

Nun sämtliche Elemente der Auswahl entfernen, anschließend “leere” Nodes zum Vermeiden von Konflikten aber vorläufig bestehen lassen.
Änderungssatz daher samt “leere” Nodes hochladen. Fehlermeldungen beim hochladen ignorieren.

Mehrere Minuten warten,
Nun JOSM erneut starten und folgende Abfrage nach leere Nodes laufen lassen:

[out:xml][timeout:25][bbox:{{bbox}}];
rel; > -> .r;
way; > -> .w;
(( node(if:count_tags()==0); - node.r; );  - node.w; );
out meta;

Die so gefundenen leeren Nodes, kann man nun allesamt ohne Konfliktgefahr löschen,
Änderungssatz hochladen.

Erneut mehrere Minuten warten,
JOSM neu starten und mit der Bereinigung der verbliebenen Duplikate beginnen:
Duplikate per Geometrie ersetzten auflösen.
Ich verwende hierbei eine Funktion meines in meinem Blog beschriebenen Gampepad Logitech G13, das geht aber ebenso gut per JOSM Tastenkombination.


edit: linkfix + Text

Dank:

Hinweis: Die Vorgangsweise benötigt Erfahrung im Umgang mit dem Editor JOSM. Mapper welche üblicherweise den Editor ID benutzen bitte ich von Experimenten in Adresserfassung Abstand zu nehmen, und sich erst ausreichend Erfahrung mit dem Editor JOSM anzueignen.