Importieren des ESRI-Geodatabase-Formats .gdb in PostGIS

16

Beim Laden eines ESRI-Geodatabase-Formats .gdb in PostGIS ist ein Problem aufgetreten. Ich habe Daten 2,5 GB GDB-Datei. Ich habe einige Tutorials im Internet verfolgt, aber es scheint, dass das nicht funktioniert.

  1. Ich habe eine Datenbank "SampleNY" erstellt
  2. Ich habe das von der Konsole aus ausgeführt:

    ogr2ogr -f "PostgreSQL" PG: "dbname = SampleNY user = postgres" NYPluto / Pluto.gdb

Es passiert aber nichts, ich habe weder einen Fehler noch eine erfolgreiche Operation bekommen. Habe ich irgendwelche Schritte verpasst?

user3001937
quelle
Sind Sie auf die Verwendung von ogr2ogr beschränkt? Oder sind Sie offen für andere Lösungen? FME sollte dies problemlos tun können.
Fezter
Ich bin offen für eine Lösung, die dieses Problem lösen kann? Können Sie weitere Details dazu bereitstellen?
user3001937
Versuchen Sie, FME herunterzuladen . Erstellen Sie eine neue Workbench und fügen Sie einen Geodatabase Reader und einen PostGIS-Writer hinzu.
Fezter
1
Es ist eine kommerzielle Lösung. Sie haben nicht angegeben, dass Sie nur nach kostenlosen Lösungen suchen. Ich denke, FME hat eine kostenlose Testphase.
Fezter
1
Ich habe in anderen Antworten Spatial Data Manager gefunden. mapet.altervista.org Dies ist ein kostenloses Windows-Tool zum Laden von Shapefile- und File-Geodatabases in Postgis und anderen räumlichen Datenbanken.
Lele3p

Antworten:

18

Versuchen Sie entsprechende Hinzufügen hostund portArgumente.
Und übrigens, wenn ich eine große GDB-Datei importiere, füge ich auch diese Flags hinzu:

-overwrite (löscht eventuell bereits eingefügte Unordnung) und

-progress (zeigt einen Punkt oder eine Zahl für jeweils 10.000 oder 10% hinzugefügte Datensätze an):

--config PG_USE_COPY YES (Verbessert die Geschwindigkeit erheblich)

So wird der Befehl (der einzeilig sein sollte, aber hier zur Verdeutlichung formatiert wurde)

ogr2ogr 
    -f "PostgreSQL" 
    PG:"host=localhost port=5432 dbname=SampleNY user=postgres" 
    NYPluto/Pluto.gdb 
    -overwrite -progress --config PG_USE_COPY YES

Verwenden Sie bei Bedarf eine URL anstelle von "localhost".

Martin F
quelle
6

Wenn die GDB mehrere Features enthält und Sie das Postgres-Schema und die Tabellennamen angeben möchten, gehen Sie wie folgt vor:

#First get the featurenames from the gdb:
ogrinfo geodbname.gdb

#then import a feature into a table:
ogr2ogr -f "PostgreSQL" PG:"host=hostname port=5432 dbname=dbname user=postgres"
geodbname.gdb -nlt PROMOTE_TO_MULTI -nln schemaname.tablename featurename -overwrite
anneb
quelle