Shape-Daten in der Datenbank zusammenfügen

Aus kvwmap
Wechseln zu: Navigation, Suche

--Heinz Schmidt 16:13, 18. Okt 2006 (CEST)
Es Bestand das Problem die Daten von mehreren Shape-Files mit gleicher Struktur (das ist Bedingung) zusammenzufügen. Man könnte auch die Shape-Files vereinigen und dann einen Shape-File in die Datenbank einlesen. Einfacher ist es PostGIS dieses machen zu lassen :-) Man erzeugt mit dem Kommando shp2pgsql mit dem Parameter -c eine SQL-Datei für die Erzeugung der entsprechende DB-Tabelle und die Daten des ersten Shape-Files.

Beispiel Erzeugung der ersten SQL-Datei mit den Daten des Shapefiles:

/usr/local/pgsql/bin/shp2pgsql -c /datenpfad_zum_shapefile/shape1.shp -s 2398 tabellenname  > daten_aus_shape1.sql 

Für die folgedateien benutzt man den Parameter -a für shp2pgsql.
Beispiel für die Erzeugung der SQL-Dateien der folgenden Shape-Files, die zusammengefügt werden sollen.

/usr/local/pgsql/bin/shp2pgsql -a /datenpfad_zum_shapefile/shape2.shp -s 2398 tabellenname  > daten_aus_shape2.sql 
...

Wichtig ist, dass man als user postgres in einem Verzeichnis steht, in dem man Schreibrechte hat. Die Angabe des EPSG-Codes sollte auch nicht fehlen, hier 2398. Die Pfade sind entsprechend anzupassen.

Dann in pgAdmin III die erste SQL-Datei öffnen und die Kommandos abschicken. Anschließend die weiteren Dateien in pgAdmin III öffnen und abschicken. Geht alles in Windeseile! Die Datenstruktur der Shapfiles muss aber gleich sein!