Come importare il formato geodatabase ESRI .gdb in PostGIS


17

Ho riscontrato un problema durante il caricamento di un formato geodatabase ESRI .gdb in PostGIS. Ho un file GDB da 2,5 GB di dati. Ho seguito alcuni tutorial su Internet, ma sembra che non funzioni.

  1. Ho creato un database "SampleNY"
  2. L'ho eseguito dalla console:

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

Ma non succede nulla, non ho riscontrato né un errore né un'operazione riuscita. Ho perso qualche passo?


Sei limitato all'utilizzo di ogr2ogr? O sei aperto ad altre soluzioni? FME dovrebbe essere in grado di farlo facilmente.
Fezter

Sono aperto a qualsiasi soluzione in grado di risolvere questo problema? Potete fornire maggiori dettagli su come farlo?
user3001937,

Prova a scaricare FME . Crea un nuovo workbench e aggiungi un Geodatabase Reader e un PostGIS writer.
Fezter

1
È una soluzione commerciale. Non hai specificato che cercavi solo soluzioni gratuite. Penso che FME abbia un periodo di prova gratuito.
Fezter

1
Ho trovato in altre risposte Spatial Data Manager. mapet.altervista.org Questo è uno strumento gratuito di Windows per caricare shapefile e archiviare geodatabase in Postgis e altri db spaziali.
lele3p,

Risposte:


19

Prova ad aggiungere appropriati hoste portargomenti.
E a proposito, quando importi un file GDB di grandi dimensioni, aggiungo anche questi flag:

-overwrite (cancella qualsiasi pasticcio che potresti aver già inserito) e

-progress (visualizza un punto o un numero per ogni 10.000 o 10% di record aggiunti):

--config PG_USE_COPY YES (migliora notevolmente la velocità)

Quindi il comando (che dovrebbe essere una riga, ma ho formattato qui per chiarezza) diventa

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

Utilizzare un URL al posto di "localhost", se necessario.


6

Se ci sono più funzionalità in gdb e vuoi specificare lo schema di Postgres e i nomi delle tabelle, allora segui:

#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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.