Shape-Datei in CSV oder XML umwandeln

Hallo zusammen,

ich habe vor einiger Zeit hier im Forum nach den Gemeindegrenzen in Deutschland gefragt und mir ist auch sehr gut weitergeholfen worden. :slight_smile:

Nun hat sich meine Datengrundlage geändert / verbessert und bräuchte die Postleitzahlgebiets-Grenzen.

misterboo hat seinerzeit diesen Link gepostet: http://arnulf.us/PLZ

Da sind auch alle Informationen drin die ich haben möchte, aber ich schaff es einfach nicht, diese .shp (und dbf + shx) in ein Format umzuwandeln, welches ich dann in meine MySQL Datenbank importieren kann. Bin schon seit einigen Stunden dran. :frowning:

Kann mir bitte einen Tipp geben?

Folgendes habe ich schon probiert:

  • shp2csv → gibt eine Fehlermeldung raus
  • QuantumGIS → habe ich nicht auf die Reihe gekriegt

Vielen Dank im Voraus.

Gruß Fred

Also auch QGIS nutzt die OGR Bibliothek, die viele GIS Formate unterstützt
http://www.gdal.org/ogr/
Da gibt es auch ein Hilfsprogramm für, dass SHP nach CSV umwandeln soll
http://www.gdal.org/ogr2ogr.html
http://www.gdal.org/ogr/drv_csv.html

Hallo Fred

Benutze diese Daten nicht, weil:

  • die Daten sind alt (199x)
  • die Daten sind ungenau (Versatz von mehreren 100 Metern)

Die Postleitzahlbezirke (auf Basis des obigen Links), wie sie in OSM importiert/eingetragen sind, dürften zumindest diesen Versatz nicht mehr haben und auch oft im Detail korrigiert sein (z.B. an Gemeindegrenzen/Straßen/Flüssen/… ausgerichtet). Über den Import und das vorgeschlagene Tagging kannst du dich auf der PLZ-Importseite informieren.

Ob die PLZ-Karte von Wambacher noch Online ist, weis ich nicht (daher auch kein Link). Er wird sich sicher dazu noch äußern.

Eine andere Infoquelle ist der OSM-Inspector in der Debug-Version, der einen Sicht auf die alten Daten und die real importierten PLZ-Bezirke enthält (OSMI-Postleitzahlen). Wie man dort sieht, sind die meisten (aber noch nicht alle) PLZ-Bezirke importiert.

Das Problem, diese Daten in ein für dich nutzbares Format zu wandeln bleibt natürlich.

HTH
Edbert (EvanE)

Hi Fred,
was meinst du damit genauer?

Gruss
Walter

Die läuft inzwischen fast wieder rund. Aber Fred ist damit nicht geholfen.

Gruss
Walter

Hallo,

vielen Dank für eure Antworten.

Ich brauch diese Grenzen, um Potentialanalysen durchzuführen. D.h. ein Benutzer meiner Webseite gibt einen Umkreis um einen bestimmten Ort ein und erhält das Verkaufspotential für ein bestimmtes Produkt. Im Moment habe ich nur den Mittelpunkt der Postleitzahlgebiete. D.h. eine Postleitzahl ist entweder drin oder nicht. Ich würde das gerne detaillierter darstellen, um bspw. sagen zu können, von dem PLZ-Gebiet 12345 sind ca. 1/4 in dem angegebenen Umkreis enthalten.
@Walter: Die Datenbasis hat sich in sofern verbessert, dass ich nun alle grundlegenden Daten nicht nur für Gemeinden habe, sondern auch für 5-stellige Postleitzahlen. Dies ist vor allem in Großstädten wesentlich genauer.

Deshalb benötige ich die Grenzen als Polygon mit Dezimalwerten. (bin leider nicht so bewandert in geographischen Fachausdrücken)
Ideal wäre es in dieser Form:
12345 (50.345434,7.38402384;50.234553,7.4394723;usw)
wobei 12345 die PLZ darstellt.

Hat jemand eine Idee wo ich das herbekomme? Der Link auf PLZ-Importseite “download.geofabrik.de/plz” führt ins Leere bzw. der dahinter Server ist down.

Mit FW Tools schaffe ich nur die .shp als Bild zu exportieren.

P.S. Entschuldigung dafür, dass das eigentlich nichts mit OSM zu tun hat und ich eure Zeit stehle. :slight_smile:

Hi,

Nicht nur “soll”, sondern auch “tut” :wink:

$ ogr2ogr -f CSV output.csv post_pl.shp -lco GEOMETRY=AS_WKT
$ head -3 output.csv/post_pl.csv
WKT,PLZ99,PLZ99_N,PLZORT99
“POLYGON ((13.718935799999999 51.076000169999993,13.721215319999999 51.074981729999998, ))”,01067,1067,Dresden
“POLYGON ((13.749838919999998 51.054431939999994,13.751147159999999 51.054687539999996,))”,01069,1069,Dresden

Ciao,
Frank

Danke fürs testen Frank :slight_smile: Aber da ich selber nicht damit arbeite bin ich immer lieber vorsichtig mit Behauptungen.

Was hast Du mit QGIS probiert und wo bist Du nicht weiter gekommen? Um was für Daten gehts denn?

@ Frank: Danke, das sieht schon ganz gut aus. Wenn ich den ersten Befehl (ogr2ogr -f CSV output.csv post_pl.shp -lco GEOMETRY=AS_WKT) eingebe, wird dieser auch ausgeführt. Ich finde allerdings den Output nirgendwo. Wenn ich den zweiten Befehl eingebe (head -3 output.csv/post_pl.csv) kommt die Fehlermeldung, dass head kein gültiger Befehl ist. Ich nutze die FWTools Shell. Was mache ich falsch?

Gruß
Fred

head ist ein Linux Befehl, mit dem Frank nur die ersten Zeilen der Datei hat anzeigen lassen :slight_smile:

Wenn du beim ersten Befehl keinen absoluten Dateinamen angibst, sollte die Datei entweder im aktuellen Pfad, oder im Verzeichnis der OGR Tools erstellt worden sein.

Hi Fred,

wie !i! schon richtig schrieb benutzet ich ‘ogr2ogr’ unter Linux (genauer: unter Debian 6) auf meinen Netbook. Mangels Windows :wink:
kann ich Dir nicht sagen, wie die FWTools - und damit auch ogr2ogr - das unter Windows handhaben.
Bei mir ist es jedenfalls so, dass mit dem Aufruf “ogr2org -f CSV output.csv post_pl.shp -lco GEOMETRY=AS_WKT” automatisch ein Verzeichnis
output.csv
erstellt wird und darin befindet sich dann die Ausgabe-Datei
post_pl.csv
(Ist etwas verwirrend, da bei anderen Filtern “-f xyz datei.xyz …” von ogr2ogr die Ausgabe-Datei dann auch wirklich “datei.zyz” heisst)

Such doch mal nach “post_pl.csv” :slight_smile:

Ciao,
Frank

Wow. Es hat funktioniert! Ziemlich cool. Danke!
Das Problem war, dass das Program einen neuen Ordner FWTools angelegt hat. Unter AppData->Local->VirtualStore->ProgramFiles

Und ich habe immer nach der Datei output.csv gesucht. Aber jetzt hat es ja geklappt! :slight_smile:

Da Edbert ja schon gewarnt hat, dass die Daten nicht sonderlich genau sind, werde ich jetzt mal prüfen, ob sie für meine Zwecke genau genug sind.

Auch wenn es eigentlich unnoetig sein sollte es extra zu erwaehnen, vergiss bitte die Hinwiese auf OSM und die Lizens nicht.

Hi,

hier muss ich leider widersprechen :wink:

Das PLZ-Shape von http://arnulf.us/PLZ ist lt. Webseite “Public Domain”.

Werbung für OSM ist natürlich auch nicht verkehrt :slight_smile:

Ciao,
Frank