Postleitzahlen ermitteln im Umkreis eines bestimmten Punktes

wie bitte? ich hatte “einige komplette Datensätze” geschrieben. “einige” bedeutet für mich “maximal 10”.

Aber bitte in Tabellenform als Text, da ich keine Zeit habe, deine Koordinaten abzuschreiben. Da scheint nämlich was faul zu sein.

Könnte in etwa so aussehen:


select id,country,value,localname,st_astext(st_centroid(way)) center
from pcboundaries
where level='8' limit 10;
   id    | country | value |        localname         |                  center                  
---------+---------+-------+--------------------------+------------------------------------------
 3364010 | DEU     | 23746 | 23746 Kellenhusen        | POINT(11.0531188379303 54.1960075581618)
 1143653 | DEU     | 91781 | 91781 Weißenburg i. Bay. | POINT(10.9868848878729 49.0155652028506)
 1143646 | DEU     | 91799 | 91799 Langenaltheim      | POINT(10.916123625671 48.8947003980495)
 1142019 | DEU     | 86700 | 86700 Otting             | POINT(10.7999085060505 48.8759987806228)
 1142042 | DEU     | 86653 | 86653 Monheim            | POINT(10.8715333684994 48.8331561527078)
 1142011 | DEU     | 86709 | 86709 Wolferstadt        | POINT(10.7798925215971 48.9114862603698)
 1142004 | DEU     | 86744 | 86744 Hainsfarth         | POINT(10.6434466935057 48.959903432677)
 1142014 | DEU     | 86750 | 86750 Megesheim          | POINT(10.6642787741818 48.9377934808818)
 1142002 | DEU     | 86754 | 86754 Munningen          | POINT(10.6313091097553 48.9150349982405)
 1141996 | DEU     | 86736 | 86736 Auhausen           | POINT(10.5904161364026 49.0067128599093)
(10 Zeilen)

Zudem sind folgende Fragen noch unbeantwortet:

  • Welche DB?
  • Welche Quelle?

Gruss
walter

Nachtrag: Hier würde ich gerne deine Daten auch anzeigen.

Walter, was ich nurnoch wissen muss ist ob ich hier:

[out:json][timeout:25];(relation[“boundary”=“postal_code”][“postal_code”=“30823”];);out center;

Noch das Land hinzufügen kann, den Rest habe ich schon fertig. Und was du von mir wissen willst verstehe ich nicht wirklich. Alle infos die du haben möchtest stehen schon in diesem Thread. ^^

Ich brauche auch keine Karte, lediglich die Längen und Breitengrade^^

Eine Karte dient bei mir zur Qualitätskontrolle - mehr nicht.

Ich bin raus.

viel Spass noch
walter

jaein, man könnte noch “(area:3600051477)” (z.B. für Deutschland, 3600000000 + die ID der Relation des jeweiligen Landes) hinzufügen, aber das erhöht die Abfragezeit für das Script exponentiell.

@wambacher: er braucht KEINE Karte, d.h. wenn das Script nichts bringt, würde ihm aber wohl eine CSV für DE, AT, CH so wie von dir oben aufgeführt definitiv helfen (gut center müsste erhalt noch in lat/lon spalten aufteilen), einfach in seine DB importiert und dann einfach einen UPDATE per Matching durchgeführt, fertig.

Gibt es irgendwo die möglichkeit die areacodes einzushen? Ob es da script verlangsammt ist mir eig erstmal egal, da ich das script wenn alles glattläuft nur einmal ausführen muss^^

Könnte mir eventuell jemand sagen wie ich die area noch zu der jetzigen abfrage dazubekomme und wo ich die areadaten finden kann?

Derzeitiger Code:

[out:json][timeout:25];(relation[“boundary”=“postal_code”][“postal_code”=“30823”];);out center;

Siehe By area (area)

[out:json][timeout:25];(relation["boundary"="postal_code"]["postal_code"="30823"](area:3600051477););out center;

aber wie schon geschrieben, das sprengt bereits das timeout

Und den Namen der Stadt zusätzlich zu nutzen ist nicht möglich? Dann hätte man das Problem mit doppelten PLZ ja nicht mehr?

Könnte mir vllt jemand ein beispiel geben wie ich einen Areacode abrufen kann?

Irgendwie verwirrt mich das ein wenig, wenn ich das timeout auf 120 Sekunden stelle liefert er mir schon ein ergebnis^^

Oder gibt es eine möglichkeit nach einer Stadt und PLZ zu suchen?

All deine Fragen wurden bereits in diesem Thema beantwortet:

  • areacode ist die genannte Konstante Zahl plus die Relations-ID des jeweiligen Landes … ein bisschen musst du dich halt schon mit der OSM Materie auseinandersetzen
  • egal welche adressen du suchen möchtest, da gibt es nominatim dafür

Hi zusammen,

ich hatte letztens auch das gleiche Problem und bin dann auf folgendes Tool von Cebus gestoßen:

Geo Tool PLZ

Liebe Grüße