Outdated version of the documentation. Find the latest one here.

16.3. Lesson: Importação e Exportação

É claro que um banco de dados com nenhuma maneira fácil de migrar os dados para ele e para fora dele, não teria de muita utilidade. Felizmente, há uma série de ferramentas que lhe permitem mover facilmente de dados de dentro e de fora do PostGIS.

16.3.1. shp2pgsql

shp2pgsql é uma ferramenta de linha de comando para importar arquivos shape da ESRI para o banco de dados. No Unix, você pode usar o seguinte comando para importar uma nova tabela PostGIS:

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

No Windows, você tem que executar o processo de importação em duas etapas:

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

Você pode encontrar esse erro

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

Este é um problema conhecido sobre a criação in situ de um índice espacial para os dados que você está importando. Para evitar o erro, exclua o parâmetro :kbd: -i. Isto significa que nenhum índice espacial está sendo criado diretamente, e você terá que criá-lo no banco de dados após os dados terem sido importados. (A criação de um índice espacial será abordada na próxima lição.)

16.3.2. pgsql2shp

pgsql2shp é uma ferramenta de linha de comando para exportação de Tabelas PostGIS, Visualização ao seleção de consultas SQL. Para fazer isso dentro do amiente Unix:

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

Para exportar os dados usando uma consulta:

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

16.3.3. ogr2ogr

ogr2ogr é uma ferramenta muito poderosa para converter dados de e para postgis a muitos formatos de dados. ogr2ogr faz parte do GDAL / OGR e Software tem de ser instalada separadamente. Para exportar uma tabela do PostGIS para GML, você pode usar este comando

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

16.3.4. SPIT

SPIT é um complemento QGIS que vem junto com o QGIS. Você pode usar SPIT para fazer upload de arquivos shape da ESRI para PostGIS.

Depois de adicionar o complemento SPIT via: guilabel: Gerenciador de Complementos, procure este botão:

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

Clicando em ou selecionando Base de dados –> Spit –> Importar Shapefiles para PostgreSQL no menu lhe dará o diálogo SPIT: no menu lhe dará o diálogo SPIT:

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

Você pode adicionar arquivos shapefiles para o banco de dados clicando no botão :guilabel: Adicionar, o que lhe abrirá uma janela do navegador de arquivos.

16.3.5. DB Manager

Você deve ter notado uma outra opção no menu :guilabel: base de dados chamado: guilabel:Gestor de DB. Esta é uma nova ferramenta no QGIS 2.0 que fornece uma interface unificada para interagir com bancos de dados espaciais, incluindo PostGIS. Ele também permite a importação e exportação de bancos de dados para outros formatos. Uma vez que o módulo seguinte é dedicado em grande parte para o uso desta ferramenta, vamos mencionar apenas brevemente aqui.

16.3.6. In Conclusion

Importação e exportação de dados de e para o banco de dados pode ser feita de muitas maneiras diferentes. Especialmente quando se utiliza diferentes fontes de dados, você provavelmente vai usar essas funções (ou outros como eles) em uma base regular.

16.3.7. What’s Next?

Em seguida, vamos olhar para como consultar os dados que criamos antes.