16.3. Lesson: Importar y Exportar

Evidentemente, una base de datos sin una manera simple de migrar datos dentro y fuera de esta no seria de mucha utilidad. Afortunadamente, hay ciertas herramientas que te permitirán importar o exportar datos de PostGIS fácilmente .

16.3.1. shp2pgsql

shp2pgsql es una herramienta de línea de comando para importar archivos Shape de ESRI a la base de datos. Bajo Unix, puede usar el comando siguiente para importar una nueva tabla PostGIS:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> | \
  psql -d <databasename> -h <hostname> -U <username>

Bajo Windows, tienes que realizar el proceso de importación en dos pasos:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> > import.sql
psql psql -d <databasename> -h <hostname> -U <username> -f import.sql

Puede encontrar este error:

ERROR:  operator class "gist_geometry_ops" does not exist for access method
"gist"

Se trata de un problema conocido relacionado con la creación in situ de un índice espacial para los datos que está importando. Para evitar el error, excluya el parámetro -I. Esto significará que no se creará ningún índice espacial directamente, y tendrás que crearlo en la base de datos después de haber importado los datos. (La creación de un índice espacial se tratará en la próxima lección).

16.3.2. pgsql2shp

pgsql2shp es una herramienta de línea de comandos para exportar Tablas PostGRES, Vistas o consultas de selección SQL. Para hacer esto bajo Unix:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> <databasename> <table | view>

Para exportar los datos usando una consulta:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> "<query>"

16.3.3. ogr2ogr

ogr2ogr es una herramienta muy potente para convertir datos en y desde PostGIS a muchos formatos de datos. ogr2ogr forma parte de la biblioteca GDAL y debe instalarse por separado. Para exportar una tabla de PostGIS a GML, puede utilizar este comando:

ogr2ogr -f GML export.gml PG:'dbname=<databasename> user=<username>
        host=<hostname>' <Name of PostGIS-Table>

16.3.4. Administrador de BBDD

Es posible que haya notado otra opción en el Database menu labeled DB Manager. Esta es una herramienta que proporciona una interfaz unificada para interactuar con bases de datos espaciales, incluida PostGIS. También le permite importar y exportar desde bases de datos a otros formatos. Dado que el próximo módulo está dedicado en gran medida al uso de esta herramienta, aquí solo lo mencionaremos brevemente.

16.3.5. In Conclusion

Importar y exportar datos hacia una base de datos o desde una base de datos puede ser llevado a cabo de distintas formas. Especialmente cuando se usa diversas fuentes de datos, probablemente se usen estas funciones ( o parecidas) en una base regular.

16.3.6. What’s Next?

A continuación se detalla como hacer una consulta en los datos que hemos creado previamente.