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. En Unix, se puede usar el siguiente comando para importar una nueva tabla de PostGIS:

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

En Windows, se debe realizar el proceso de importación en 2 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

Se puede encontrar este error:

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

Este es un problema conocido con respecto a la creación in situ de un índice espacial para los datos que se van a importar. Para evitar el error, hay que excluir el parámetro -I. Esto quiere decir que ningún índice espacial está siendo creado directamente, y necesitará crearse en la base de datos después que los datos hayan sido importados. (La creación de un índice espacial se verá en la próxima lección.)

16.3.2. pgsql2shp

pgsql2shp es una herramienta de línea de comando para exportar Tablas, Vistas o Consultas de Selección SQL de PostGIS. Para hacer esto en 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 potente herramienta para convertir datos hacia PostGIS o desde PostGIS a muchos formatos. ogr2ogr es parte de GDAL/OGR Software y debe instalarse por separado. Para exportar una tabla de PostGIS a GML, este comando puede ser usado:

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

16.3.4. SPIT

SPIT es un complemento de QGIS que es entregado con QGIS. Se puede usar SPIT para subir archivos shape de ESRI a PostGIS.

Una vez que se haya agregado el complemento SPIT mediante el Administrador de Complementos, buscar este botón:

../../../_images/008.png

Haciendo clic o seleccionando Base de Datos –> Importar (SPIT) –> Importar archivos shape a PostgreSQL desde el menú llevará al cuadro de dialogo de SPIT.

../../../_images/spit_dialog.png

Se pueden agregar archivos shape a la base de datos haciendo haciendo clic en el botón Añadir, el cual abrirá una ventana de explorador de archivos.

16.3.5. Administrador de BBDD

Se puede distinguir otra opción en el menú Base de Datos con el nombre de Administrador de BBDD. Esta es una nueva herramienta en QGIS 2.0 que proporciona una interfaz unificada para interactuar con bases de datos espaciales incluyendo PostGIS. Ademas permite importar y exportar desde bases de datos a otros formatos. Dado que el siguiente módulo esta dedicado a usar esta herramienta, solo será mencionada de manera breve aquí.

16.3.6. 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.7. What’s Next?

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