Cómo importar el formato de geodatabase ESRI .gdb a PostGIS


17

Me encontré con un problema al cargar un formato de geodatabase ESRI .gdb en PostGIS. Tengo un archivo de datos GDB de 2.5GB. Seguí algunos tutoriales en Internet, pero parece que eso no funciona.

  1. Creé una base de datos "SampleNY"
  2. Ejecuté esto desde la consola:

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

Pero no pasa nada, no recibí ni un error ni una operación exitosa. ¿Me perdí algún paso?


¿Estás limitado a usar ogr2ogr? ¿O estás abierto a otras soluciones? FME debería poder hacer esto fácilmente.
Fezter

¿Estoy abierto a cualquier solución que pueda resolver este problema? ¿Puedes proporcionar más detalles sobre cómo hacerlo?
user3001937

Intenta descargar FME . Cree un nuevo entorno de trabajo y agregue un lector de geodatabase y un escritor PostGIS.
Fezter

1
Es una solución comercial. No especificó que solo estaba buscando soluciones gratuitas. Creo que FME tiene un período de prueba gratuito.
Fezter

1
Encontré en otras respuestas Spatial Data Manager. mapet.altervista.org Esta es una herramienta gratuita de Windows para cargar shapefile y geodatabase de archivos en Postgis y otra base de datos espacial.
lele3p

Respuestas:


19

Intenta agregar argumentos hosty portargumentos apropiados .
Y, por cierto, cuando importo un archivo GDB grande, también agrego estos indicadores:

-overwrite (borra cualquier desorden que ya haya insertado) y

-progress (muestra un punto o número por cada 10,000 o 10% de registros agregados):

--config PG_USE_COPY YES (mejora enormemente la velocidad)

Entonces, el comando (que debería ser de una sola línea pero formateé aquí para mayor claridad)

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

Utilice una URL en lugar de "localhost" si es necesario.


6

Si hay varias funciones en el gdb y desea especificar el esquema de Postgres y los nombres de las tablas, siga estos pasos:

#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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.