Ich habe über hundert Datenebenen im Shapefile-Format, die ich in eine PostGIS-Datenbank hochladen möchte. Sie befinden sich alle in derselben Projektion, stellen jedoch unterschiedliche Datenebenen dar, sodass sie nicht dasselbe Schema haben.
Was ist die zeiteffektivste Methode, um all diese Dateien als Massenkonvertierung in meine PostGIS-Datenbank zu konvertieren (unter Windows 7)?
UPDATE: Der Massenimport im pgAdmin3 "PostGIS-Shapefile-Uploader" (wie unten angegeben) ist jetzt standardmäßig mit PostGIS 2.0 verfügbar .
Antworten:
Wenn Sie sich an eine grafische Benutzeroberfläche halten möchten, verfügt die neuere Version von pgAdmin über einen Shapefile Loader, der als Massenladeprogramm verwendet werden kann
quelle
Wenn Sie einen Windows-Computer haben, können Sie good 'ol
CMD.EXE
mit ein paar esoterischen for-Schleifen verwenden. Stellen Sie sicher, dass Sie dies in einem "enthaltenen" Verzeichnis mit nur den shp / sql-Dateien tun, die Sie laden müssen.Erstellen Sie im ersten Schritt die SQL Loader-Dateien (ich habe auch angenommen, dass Sie Lat / Long WGS84-Daten mit 4326 haben. Aktualisieren Sie diese auf Ihre SRS):
Überprüfen Sie dann Ihre SQL-Dateien, um sicherzustellen, dass sie gut aussehen, und führen Sie dann eine ähnliche Schleife durch:
Das
bash
Äquivalent für POSIX-Benutzer (Linux, Mac OS X usw.) lautet etwa:dann
oder beide Teile werden zu einer Schleife zusammengefasst, wenn Sie die vorläufigen
.sql
Dateien nicht aufbewahren müssen :quelle
for f in *.shp do shp2pgsql -s 4326 %f public.'basename $f .shp' > 'basename $f .shp'.sql | psql -h myserver -d mydb -U myuser done
>
Redirect-Teil, da dieser den|
Pipe-Teil unterbricht), solange Sie sicher sind, dass die an psql übergebene SQL korrekt ist. Ich würde argumentieren, dass dies nicht besser ist, da es keine Aufzeichnung der Daten im SQL-Format gibt.Sie können auch diesen einzelnen Befehl verwenden, der das Schleifen erheblich vereinfacht und es nicht erforderlich macht, .sql separat zu erstellen.
quelle
Vielleicht möchten Sie sich auch SPIT ansehen , ein PostGIS-Ladeprogramm für QGIS
quelle