Können Sie mir mitteilen, wie ich Geodatabase-Daten in PostGIS laden kann, ohne Esri-Apps installieren zu müssen?
Die Lösung, die ich online gefunden habe, sprach über die Verwendung von ArcGIS zur Konvertierung von GDB in SHP und den anschließenden Import von SHP in PostGIS.
postgis
esri-geodatabase
spatial-etl
Gerson Galang
quelle
quelle
Antworten:
Ich mache es die ganze Zeit für meine Kunden.
Speichern Sie Ihre Daten in FileGDB oder Shapefiles und führen Sie den folgenden Befehl aus:
Für ESRI-Shapefiles:
Für FileGDB:
Für FileGDB müssen Sie sicherstellen, dass der FileGDB-Treiber installiert ist. Du machst es mit:
Hier sollte FileGDB angezeigt werden, um anzuzeigen, dass es installiert ist.
quelle
ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
würde die ESRI XML-Metadaten in ein Feld in dieserIch habe dies nicht ausprobiert und kann daher nicht überprüfen, ob es funktioniert. Mit der File-Geodatabase-API können Sie jedoch möglicherweise die Daten aus der File-Geodatabase nach SHP (und anschließend nach PostGIS) exportieren. In der Dokumentation heißt es:
quelle
Die File-Geodatabase-API von Esri funktioniert nur mit File-Geodatabases, die mit 10.x erstellt wurden. Die älteren Versionen funktionieren nicht mit GDAL, QGIS oder anderen Anwendungen, die von der Open-File-Geodatabase-API abhängen . Die alten Personal Geodatabases sind von MS Access abhängig und es stehen Reader und Code zur Verfügung.
Wenn Sie über eine File-Geodatabase der Version 10.x verfügen, können Sie Layer aus FileGDB lesen und mit einem einzigen Befehl ogr2ogr in PostGIS laden ( siehe Dokumentation ):
Dazu musste ich auch die Express Edition von VS2010 herunterladen und meine eigene GDAL, das OGR-Plugin und 1.3 der Open File-Geodatabase-API erstellen.
Ich konnte eine ältere 9.x-File-Geodatabase nicht ohne die Verwendung der esri-Software migrieren (für mich nicht verfügbar) - ich komme nicht über die ...
... beim Versuch, die 9.x "gdb" mit der offenen API zu öffnen, die nur 10.x "gdb" unterstützt.
quelle
Obwohl ich es noch nicht selbst ausprobiert habe, bin ich auf dieses Tutorial gestoßen (Shapefile -> PostGIS), das die Open-Source-GeoETL-Software " Spatial Data Integrator " verwendet. Ich bin nicht sicher, ob es Esri GDB unterstützt oder nicht, aber es könnte sich lohnen, weiter zu untersuchen, ob Sie mit diesem Produkt eine ähnliche Konvertierung von GDB zu PostGIS ohne Verwendung von ESRI-Produkten durchführen können.
Andere ETL-Pakete, von denen ich gehört habe, sind FME von Safe Sofware (sehr beliebt) und GeoKettle (Open Source) sowie viele weitere Referenzen auf der Spatial ETL-Wikipedia- Seite.
BEARBEITEN : Wenn Sie ein bisschen weiter graben, sieht es so aus, als ob SDI das Lesen von EsriGDB nicht direkt unterstützt , aber die verfügbaren OGR-Dateiformate lesen kann .
quelle
FWIW arbeitet daran, eine GDB für den Postgis-Loader zu erstellen. Dies hängt von der neuesten GDAL-Amtsleitung ab, die über GDB-Bindungen verfügt. Hatte noch keine Gelegenheit, mich selbst zu kompilieren und auszuprobieren, hoffe aber, bevor PostGIS 2.0 herauskommt.
check out - http://trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb
Sie können Paul wahrscheinlich über die PostGIS-Newsgroup informieren, um herauszufinden, wo er damit ist. http://www.postgis.org/mailman/listinfo/postgis-users
Für das Personal GeoDatabase-Format kann GDAL das gut lesen und das ist es, was ich normalerweise verwende, um Daten aus Personal Geodb zu exportieren.
quelle
Beantworte hier meine eigene Frage, die ich vor einiger Zeit hier gepostet habe ...
Eine andere Option, die ich online gefunden habe (zusätzlich zu den oben genannten Vorschlägen), ist die Verwendung von pgdbf ( https://github.com/kstrauser/pgdbf ), das das SQL-Skript ausgibt, mit dem Sie Postgres manuell einlesen können.
quelle