Die meiner Meinung nach einfachste Variante: Gib auf http://www.postdirekt.de/plzserver/ bei “Ort” “Stuttgart” und bei “Straße und Hausnummer” nichts ein, klicke beim Ergebnis auf “Stuttgart”, und Dir werden Dir alle PLZ von Stuttgart ausgespuckt.
Das verlinkte Overpass sollte sich auf Relationen beschränken.
Es fehlen evtl. noch PLZ-Relationen, die nur teils in der Gemeinde liegen (kenn Overpass zu schlecht). Sonst schon entsprechend meinem Query.
Ja, generell schon. Funktioniert aber nicht, wenn man wirklich alle haben will, aber die DPAG die PLZ für die Gemeinde nicht listet (vgl. z.B. Süsel in Schleswig-Holstein).
Außerdem muss man sich im Zweifel länger durchklicken. Und ne größere Auswertung über mehrere Gemeinden ist damit natürlich auch nicht angenehm.
Danke Leute für die Antworte.
Aber wie ihr schon gesehen habt, brauche ich eine **NOMINATIM **online Abfrage (und keine SQL) die mir die Daten (PLZs) via XML zurück gibt. Ich weiß nur nicht wie ich diese Abfrage zusammensetzen soll damit die richtige Daten zurück kommen, wenn es überhaupt möglich ist. Als Eingangs-Data habe ich **nur **den Stadtnamen und nichts weiter.
Jedwede Hilfe ist willkommen!
Für deine Programmierung müsstest du jetzt nurnoch im Query String der Abfrage jeweils Stuttgart durch deine Stadt ersetzen - halt sofern du das Ergebnis als geoJSON verarbeiten kannst.
Nicht oft. Normalerweise hat der Benutzer meiner Anwendung, auch eine Straße eingegeben. Dann bekomme ich immer die PLZs problemlos. Aber es kann auch ab und zu vorkommen dass der Benutzer, die Straßennamen nicht hat und nur den Namen der Stadt/Gemeine/Dorf etc. weiß, dann möchte ich das meine Anwendung in der Lage ist, durch einen **NOMINATIM **online-Abfrage, eine richtige PLZ (oder PLZ-Liste) aus der XML lesen und dem Benutzer vorschlagen kann.
es ist natürlich kein XML sondern ein anderes struktuiertes Format. JSON ist aufgrund seines einfacheren Aufbaus wesentlich leichter zu handhaben und kann schon als der Nachfolger von XML angesehen werden. In jeder (vernünftigen) Programmsprache gibt es inzwischen Interfaces dafür, kommt halt drauf an, was du benutzt.
Gruss
walter
ps: wofür brauchst du denn die PLZ einer Stadt? Ist dir inzwischen klar, dass das nicht immer stimmt? Es gibt auch PLZ-Gebiete, die mehrere Städte enthalten oder über Stadtgrenzen hinausgehen. Die pauschale Annahme “eine PLZ in einer Stadt und nur dort” ist falsch.
/*
This has been generated by the overpass-turbo wizard.
The original search was:
“boundary=postal_code in "Stuttgart"”
*/
[out:json][timeout:25];
// fetch area “Stuttgart” to search in
area(3602793104)->.searchArea;
// gather results
(
// query part for: “boundary=postal_code”
relation["boundary"="postal_code"](area.searchArea);
);
// print results
out body;
>;
out skel qt;
Ja, einfach die Suche nach Unterelementen (“>;”) weglassen.
Hier mein Vorschlag: http://overpass-turbo.eu/?Q=area[name%3D%22Stuttgart%22]%3B%0Arel%28area%29[%22boundary%22%3D%22postal_code%22]%3B%0Aout%20%20tags%3B&C=52.5214;13.4137;17
area[name=“Stuttgart”];
rel(area)[“boundary”=“postal_code”];
out tags;