Shape-Daten in der Datenbank zusammenfügen: Unterschied zwischen den Versionen
(Eine dazwischenliegende Version von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
Man könnte auch die Shape-Files vereinigen und dann einen Shape-File in die Datenbank einlesen. | 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 :-) | Einfacher ist es PostGIS dieses machen zu lassen :-) | ||
− | Man erzeugt mit dem Kommando ''shp2pgsql'' eine SQL-Datei für die entsprechende Tabelle | + | 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 SQL- | + | 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 | /usr/local/pgsql/bin/shp2pgsql -c /datenpfad_zum_shapefile/shape1.shp -s 2398 tabellenname > daten_aus_shape1.sql | ||
− | /usr/local/pgsql/bin/shp2pgsql - | + | |
+ | Für die folgedateien benutzt man den Parameter -a für shp2pgsql.<br> | ||
+ | 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. | 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 | + | 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! |
Aktuelle Version vom 23. Oktober 2006, 08:17 Uhr
--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!