You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2016-11-16 23:23:19

DarsVaeda
New Member
Registered: 2016-11-16
Posts: 2

Export der Postleitzahlengebiete als GeoJson

Hallo,

ich möchte gern eine Art Postleitzahlen-Heatmap mit allen Postleitzahlen Deutschlands erstellen in der Art wie: https://maps.aimpulse.com/osm/addresses/
Soweit ich herausgefunden habe, kann ich das mit leaflet.js machen.
Dafür brauche ich die Postleitzahlengebiete als GeoJson.
Ein User hier macht ja genau das was ich suche: https://osm.wno-edv-service.de/pcboundaries/
In einem Thread hier im Forum: https://forum.openstreetmap.org/viewtopic.php?id=27241 wird geraten dafür QGis und die overpass-Api zu nutzen.
Aufgrund der Datenmenge und Nutzungsbedingungen denke ich nicht das ich die gehostete API nutzen kann.
Nun frage ich mich wie kompliziert es wohl ist das ganze selbst lokal aufzusetzen und daraus die Daten zu exportieren?

Offline

#2 2016-11-17 10:09:53

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Export der Postleitzahlengebiete als GeoJson

DarsVaeda wrote:

Dafür brauche ich die Postleitzahlengebiete als GeoJson.
Ein User hier macht ja genau das was ich suche: https://wambachers-osm.website/pcboundaries/

jo, das stimmt fast wink

In einem Thread hier im Forum: https://forum.openstreetmap.org/viewtopic.php?id=27241 wird geraten dafür QGis und die overpass-Api zu nutzen.

schon mal gesehen, wie alt der ist? Aber gehen tut das schon.

Aufgrund der Datenmenge und Nutzungsbedingungen denke ich nicht das ich die gehostete API nutzen kann.

Die Datenmenge ist nicht das Problem - nur es gibt hier keine API. Es gibt derzeit nur eine GUI, die zum Export aller PLZ-Grenzen nie gedacht und auch nicht geeignet ist.

daher versuche mal:

wget -O alle_plz.geojson 'https://wambachers-osm.website/geoserver/osm/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=osm:postal_boundaries&maxFeatures=10000&outputFormat=application%2Fjson'

Das ist relativ frisch und könnte funktionieren. Sollten etwa 150 Mb sein. Du musst danach nur alle PLZ > 100000 ignorieren. Das sind PLZ-Zonen.

Nun frage ich mich wie kompliziert es wohl ist das ganze selbst lokal aufzusetzen und daraus die Daten zu exportieren?

also einfach ist das net.

Gruss
walter

Last edited by wambacher (2017-08-04 23:27:49)

Offline

#3 2016-11-17 11:31:14

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: Export der Postleitzahlengebiete als GeoJson

wambacher wrote:

also einfach ist das net.

wie wäre es mit einer kurzen stichpunktartigen Liste (Schlagworte), damit das der User selbst entscheiden kann? Vielleicht ist er ja voll der Krack oder ihm poppt ein Fragezeichen nach dem anderen auf und streicht schon bei PostGIS die Segel...


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#4 2016-11-17 12:16:25

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Export der Postleitzahlengebiete als GeoJson

Harald Hartmann wrote:
wambacher wrote:

also einfach ist das net.

wie wäre es mit einer kurzen stichpunktartigen Liste (Schlagworte), damit das der User selbst entscheiden kann? Vielleicht ist er ja voll der Krack oder ihm poppt ein Fragezeichen nach dem anderen auf und streicht schon bei PostGIS die Segel...

naja - wenn es der Wahrheitsfindung dient:

- PostgreSQL-DB mit PostGIS
- Import der Rohdaten mit osm2pgsql
- Query auf planet_osm_polygon mit osm_id<0, boundary=postal_code und Spatialem Filter für Deutschland
- Umwandlung der Geometrien mit ST_AsGeoJson()
- Ausgabe aller relevanten Tags und der Geometrien

feddich.

Gruss
walter

ps: geht natürlich auch noch anders, aber that's "My Way"

Offline

#5 2016-11-17 12:26:42

gormo
Member
Registered: 2013-08-01
Posts: 2,119
Website

Re: Export der Postleitzahlengebiete als GeoJson

wambacher wrote:

Aufgrund der Datenmenge und Nutzungsbedingungen denke ich nicht das ich die gehostete API nutzen kann.

Die Datenmenge ist nicht das Problem - nur es gibt hier keine API. Es gibt derzeit nur eine GUI, die zum Export aller PLZ-Grenzen nie gedacht und auch nicht geeignet ist.

Ich glaube, er meint die Overpass API, aber auch die dürfte mit einmalig 150MB gut zurecht kommen, vorallem wenn man die FR-instanz oder die auf rambler nimmt.


OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)

Offline

#6 2016-11-17 12:33:48

mmd
Member
Registered: 2010-11-06
Posts: 2,150

Re: Export der Postleitzahlengebiete als GeoJson

gormo wrote:

Ich glaube, er meint die Overpass API, aber auch die dürfte mit einmalig 150MB gut zurecht kommen, vorallem wenn man die FR-instanz oder die auf rambler nimmt.

Ich weiß nicht genau, wo die Zahl herkommt, alle Relationen mit type=boundary und boundary=postal_code weltweit sind eher >500MB als XML.

Evtl. interessant: als PBF (auch weltweit) sind das 27MB Download (DB wird momentan nicht aktualisiert, nur testweise!)

http://overpass-turbo.eu/s/k7V  -> Export -> Rohdaten direkt von Overpass API

Die Datei "interpreter" würde ich dann in plz.pbf oder ähnlich umbenennen und dann mit osm2pgsql in eine DB laden. Dann weitermachen wie oben beschrieben.

Last edited by mmd (2016-11-17 12:36:37)

Offline

#7 2016-11-17 12:46:25

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Export der Postleitzahlengebiete als GeoJson

mmd wrote:

Ich weiß nicht genau, wo die Zahl herkommt, alle Relationen mit type=boundary und boundary=postal_code weltweit sind eher >500MB als XML.

Die kommt von mir und betrifft alle PLZ-Grenzen in DE. Und natürlich im vom Fragesteller gewünschten GeoJson-Format.

Gruss
walter

Last edited by wambacher (2016-11-17 12:46:39)

Offline

#8 2016-11-17 16:17:29

Gehrke
Member
From: Bremen, DE
Registered: 2013-10-19
Posts: 1,894
Website

Re: Export der Postleitzahlengebiete als GeoJson

Es ist oft nicht notwendig, die Grenzen mit Haltepunkten alle paar Meter im Web anzuzeigen. Stattdessen kann man sie simplifizieren.
Das GeoJSON für die Landkreise kann so z.B. auf ca. 1,3 MB reduziert werden.

Offline

#9 2016-11-17 17:46:46

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Export der Postleitzahlengebiete als GeoJson

Gehrke wrote:

Es ist oft nicht notwendig, die Grenzen mit Haltepunkten alle paar Meter im Web anzuzeigen. Stattdessen kann man sie simplifizieren.
Das GeoJSON für die Landkreise kann so z.B. auf ca. 1,3 MB reduziert werden.

Das Vereinfachen von sich berührenden Polygonen ist nicht gerade trivial, wenn man Wert darauf legt, dass sich keine Lücken oder Überlappungen bilden.

siehe: http://trac.osgeo.org/postgis/wiki/User … veTopology

Ich möchte das hier nicht als Lösungsvorschlag vorstellen, sondern hier wird in der dritten Grafik nur verständlich dargelegt, wo es Probleme geben kann.

SPT_no_topo.png

Und zudem kommt es bei manchen Anwendungen wirklich auf jeden Meter an:
tn_plz_details.png

Gruss
walter

Last edited by wambacher (2016-11-17 17:54:12)

Offline

#10 2016-11-17 20:44:05

Gehrke
Member
From: Bremen, DE
Registered: 2013-10-19
Posts: 1,894
Website

Re: Export der Postleitzahlengebiete als GeoJson

Klar, kommt immer darauf an, wofür man es braucht. Man kriegt es schon hin, dass sich angrenzende Polygone ohne Lücken berühren. Das ist aber schon etwas komplizierter - stimmt.

Last edited by Gehrke (2016-11-17 20:44:19)

Offline

#11 2016-11-18 21:05:23

DarsVaeda
New Member
Registered: 2016-11-16
Posts: 2

Re: Export der Postleitzahlengebiete als GeoJson

wambacher wrote:

daher versuche mal:

wget -O alle_plz.geojson 'https://osm.wno-edv-service.de/geoserver/osm/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=osm:postal_boundaries&maxFeatures=10000&outputFormat=application%2Fjson'

Hehe ja habe gesehen, dass der Thread sehr alt ist.
Mit der API meinte ich tatsächlich die Overpass-API wie im erwähnten Thread empfohlen.

Aber VIELEN VIELEN dank für deinen Link. smile Ich hatte schon überlegt es über deine Webseite zu machen und mir die Plz-Kreise "einzeln" herunter zu laden. Allerdings wollte ich deinen Server nicht zu sehr belasten, weil ich das ja ganz kostenfrei mache.
Mit den Daten von dir konnte ich jedenfalls schonmal einen Prototypen erstellen (so oft ändern sich die Zonen ja nicht).

z5ic8vph.png

Ich habe erstmal alle Zonen einzeln nachgeladen. Leider steigt da der Browser auf dem Testsystem mit Win32 4GB RAM bei ~6000 eingefügten Zonen aus lol (Daher die blanken Flächen.)
Da muss ich wohl noch was optimieren, sieht aber schon sehr vernünftig aus!

wambacher wrote:
Harald Hartmann wrote:

wie wäre es mit einer kurzen stichpunktartigen Liste (Schlagworte), damit das der User selbst entscheiden kann? Vielleicht ist er ja voll der Krack oder ihm poppt ein Fragezeichen nach dem anderen auf und streicht schon bei PostGIS die Segel...

naja - wenn es der Wahrheitsfindung dient:

- PostgreSQL-DB mit PostGIS
- Import der Rohdaten mit osm2pgsql
- Query auf planet_osm_polygon mit osm_id<0, boundary=postal_code und Spatialem Filter für Deutschland
- Umwandlung der Geometrien mit ST_AsGeoJson()
- Ausgabe aller relevanten Tags und der Geometrien

Ich habe Medieninformatik studiert und Geoinformationssysteme wurden ebenfalls behandelt. Also ein bisschen sagt mir das alles schon etwas wink
Aber ich muss da nochmal kräftig auffrischen.
Jedoch hilft mir die Liste auf jeden Fall schon deutlich weiter, denke ich. Vielen Dank ein weiteres Mal!

mmd wrote:
gormo wrote:

Ich glaube, er meint die Overpass API, aber auch die dürfte mit einmalig 150MB gut zurecht kommen, vorallem wenn man die FR-instanz oder die auf rambler nimmt.

http://overpass-turbo.eu/s/k7V  -> Export -> Rohdaten direkt von Overpass API

Die Datei "interpreter" würde ich dann in plz.pbf oder ähnlich umbenennen und dann mit osm2pgsql in eine DB laden. Dann weitermachen wie oben beschrieben.

Ah okay, das hilft auch weiter, denke ich. Ich hatte mir schon die kompletten Daten von Deutschland von http://download.geofabrik.de/ gezogen und dann mit osmfilter nach boundary und postal_code gefiltert. Nur konnte ich dann mit den gefilterten Daten weiter nichts anfangen. Ich weiß nicht wie ich davon auf die Polygone komme.

Gehrke wrote:

Es ist oft nicht notwendig, die Grenzen mit Haltepunkten alle paar Meter im Web anzuzeigen. Stattdessen kann man sie simplifizieren.
Das GeoJSON für die Landkreise kann so z.B. auf ca. 1,3 MB reduziert werden.

wambacher wrote:

siehe: http://trac.osgeo.org/postgis/wiki/User … veTopology

Ich möchte das hier nicht als Lösungsvorschlag vorstellen, sondern hier wird in der dritten Grafik nur verständlich dargelegt, wo es Probleme geben kann.

Das dürfte je nach Anwendung zur Optimierung sehr interessant sein, falls es mal mehr als ein Prototyp wird. Denn je nach Ausgabe müssen die Grenzen nicht immer super akkurat sein.


Vielen Dank an alle! Ich habe aus dem Thread schon mal viel mitgenommen.
Ich denke wenn ich die GeoJson-Daten das nächste Mal selbst erzeugen möchte, komme ich nochmal auf den Thread zurück cool

Offline

Board footer

Powered by FluxBB