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"
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 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 poderosa para convertir datos en y desde Postgis a muchos formatos de datos. ogr2ogr es parte del software GDAL / OGR y debe instalarse por separado. Para exportar una tabla de PostGIS a GML, puede usar 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.