Adressdaten Vervollständigung addr:postcode

Im Wiki steht zwar dass addr:housenumber und addr:street die “Mussfelder” für die Adresserfassung sind und weitere Adresstags optional sind, da sie aus den Grenzrelationen ermittelt werden können.

Für Österreich stimmt das jedoch nicht ganz, da PLZ Gebiete und Gemeindegrenzen nicht immer übereinstimmen. So haben zB die Innsbrucker Stadtteile Vill und Igls eine andere PLZ als das restliche Innsbruck.

Die PLZ / addr:postcode ist also durchaus ein wichtiges Adresskennzeichen in Österreich und aus oben genannten Grund nicht unbedingt optional.

Es sollte also nichts dagegen sprechen, bestehende Adressdaten mit fehlender PLZ zu ergänzen.

Habe in Tirol mal einiges ergänzt und wenn neben addr:postcode auch noch addr:city und addr:country bei den einzelnen Adressen gefehlt haben, habe ich auch dies gleich miterfasst.

Habe mir für https://overpass-turbo.eu/ eine kleine Abfrage gebastelt, die mir fehlende Einträge zeigt. Adressen mit addr:housenumber aber ohne addr:postcode:

[out:json][timeout:25];
// gather results
(
  node
  ["addr:housenumber"]
  [!"addr:postcode"]({{bbox}});
  way
  ["addr:housenumber"]
  [!"addr:postcode"]({{bbox}});
  relation
  ["addr:housenumber"]
  [!"addr:postcode"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Für JOSM habe ich ebenfalls einen Filter erstellt, der mir die Objekte mit addr:housenumber aber ohne addr:postcode anzeigt:

-"addr:postcode" and "addr:housenumber"

Habe dann Stück für Stück die Einträge manuell ergänzt und dann zT gleich noch ein paar weitere Ergänzungen / Korrekturen gemacht.

Vielleicht hat der ein oder andere Zeit / Lust hier weitere Adressvervollständigungen in Österreich zu machen.

Hier wäre noch obiges Script angepasst zur Anzeige von fehlenden addr:city anstatt addr:postcode

[out:json][timeout:25];
// gather results
(
  node
  ["addr:housenumber"]
  [!"addr:city"]({{bbox}});
  way
  ["addr:housenumber"]
  [!"addr:city"]({{bbox}});
  relation
  ["addr:housenumber"]
  [!"addr:city"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Der Vollständigkeit halber: Man kann auch mit PLZ-Relationen arbeiten, so wie das die Kollegen in Deutschland machen. Mit


[out:json][timeout:25];
{{geocodeArea:Austria}}->.searchArea;
(
  relation["boundary"="postal_code"](area.searchArea);
);
out body;
>;
out skel qt;

sieht man wo es solche Relation in Österreich schon gibt. Scheint besonders in Kärnten, der Südsteiermark und im nördlichen Niederösterreich beliebt zu sein.

Servus nebulon42,

danke für deine tolle Suchfunktion im JOSM um fehlende PLZ und Ortsbezeichnung aufzuspüren.
Kann ich das auch noch auf addr:country ausdehnen.

Wie müsste ich den Filter legen?

Danke!

Mfg
Thomas

Hallo Thomas,

für addr:country wäre das die overpass turbo Abfrage

[out:json][timeout:25];
// gather results
(
  node
  ["addr:housenumber"]
  [!"addr:country"]({{bbox}});
  way
  ["addr:housenumber"]
  [!"addr:country"]({{bbox}});
  relation
  ["addr:housenumber"]
  [!"addr:country"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

und im JOSM müsste das als Filter gesetzt werden:

-"addr:country" and "addr:housenumber"

Wobei die Spalte I (invertieren) auch noch angeklickt werden muss. Das habe ich im ersten Post nicht erwähnt.
Und der JOSM Filer für addr:city wäre folgender:

-"addr:city" and "addr:housenumber"

@nebulon42: Danke für die Info über die PLZ Relationen. Die kannte ich nicht.
Denke aber dass es trotzdem nicht schadet, die PLZ und Ortstags bei den Adressen zu ergänzen. Das ist auch sehr robust. Relationen können ja relativ leicht beschädigt werden. Mit dem JOSM Adresshelper Plugin werden ja auch alle Adresstags gesetzt.

In Tirol hab ich mal alle PLZ tags ergänzt. Bei den addr:city tags bin ich noch dabei.

Vielleicht finden sich ja noch mehr Helfer für die Vervollständiging der Adressdaten.

Ich habe inspiriert durch Nesol ebenfalls ein bisschen herumexpermentiert, eine Variante welche mit JOSM Bordmittel funktioniert.

[out:xml][timeout:25][bbox:{{bbox}}];
area[postal_code="6300"]->.searchArea;
(
 node
  ["addr:housenumber"]
  [!"addr:city"](area.searchArea)({{bbox}});
  way
  ["addr:housenumber"]
  [!"addr:city"](area.searchArea)({{bbox}});
  relation
  ["addr:housenumber"]
  [!"addr:city"](area.searchArea)({{bbox}});
);
(._;>;);
out meta;

Nach der Abfrage, Strg+F und Suchbegriff addr wählen.
Nun das fehlende Element Gemeindenamen nachtragen.

Bei mehreren PLZ in einer Gemeinde. JOSM Hilfs Code zum laden aller Adressen in einer Gemeinde.

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

Die selbe Vorgangsweise für das fehlende Merkmal addr:country=AT

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

Zu ergänzendes Element hier addr:country=AT
Nachdem das Ergänzen von country über große Landflächen einen Massenedit darstellt, möchte ich dies erst hier zur Diskussion stellen.