Como importar o formato .gdb do ESRI Geodatabase no PostGIS


17

Corri um problema ao carregar um formato .gdb do ESRI Geodatabase no PostGIS. Eu tenho um arquivo GDB de 2,5 GB de dados. Eu segui alguns tutoriais na internet, mas parece que não funciona.

  1. Eu criei um banco de dados "SampleNY"
  2. Eu executei isso no console:

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

Mas nada acontece, não tive erro nem operação bem-sucedida. Perdi alguns passos?


Você está limitado a usar ogr2ogr? Ou você está aberto a outras soluções? O FME deve ser capaz de fazer isso facilmente.
Fezter

Estou aberto a qualquer solução que possa resolver esse problema? Você pode fornecer mais detalhes sobre como fazer isso?
precisa saber é o seguinte

Tente baixar o FME . Crie um novo ambiente de trabalho e adicione um Geodatabase Reader e um gravador PostGIS.
Fezter

1
É uma solução comercial. Você não especificou que estava procurando apenas soluções gratuitas. Eu acho que o FME tem um período de teste gratuito.
Fezter

1
Encontrei em outras respostas Spatial Data Manager. mapet.altervista.org Esta é uma ferramenta gratuita do Windows para carregar shapefile e arquivo de banco de dados geográfico no Postgis e em outros bancos de dados espaciais.
Lele3p

Respostas:


19

Tente adicionar argumentos hoste apropriados port.
E, BTW, quando importo um arquivo GDB grande, também adiciono esses sinalizadores:

-overwrite (apaga qualquer confusão que você já tenha inserido) e

-progress (exibe um ponto ou número para cada 10.000 ou 10% de registros adicionados):

--config PG_USE_COPY YES (melhora muito a velocidade)

Portanto, o comando (que deve ser uma linha, mas eu formatado aqui para maior clareza) se torna

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

Use um URL no lugar de "localhost", se necessário.


6

Se houver vários recursos no gdb e você desejar especificar o esquema do Postgres e os nomes de tabelas, siga:

#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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.