ImportacaoDePlanosDeInformacaoGeograficaParaPostgis Page History


Importação de arquivos shape pela interface gráfica

Conexão com o banco de dados

Inicialmente verifique qual a projeção cartográfica. Caso não saiba, edite o arquivo .PRJ com um editor de textos e veja a mesma. Se este arquivo não estiver presente você terá que perguntar para quem forneceu este dado a você. Para verificar as projeções mais utilizadas, selecione aqui.

Entre na aplicação pgShapeLoader para importar os arquivos no formato shape para o banco de dados geográfico. Aparecerá a seguinte caixa de diálogo:

importacaoShape.JPG

Agora é necessário estabelecer a conexão com o banco de dados geográfico, para isso selecione o botão View connection details....

Entre agora com o nome do usuário e senha, o endereço IP ou nome do servidor na rede e porta, bem como o nome do banco de dados criado no Postgres. No caso da figura abaixo o banco de dados colocamos na port 5434, o padrão de instalação é a porta 5432, veja com atenção o número de sua porta, bem como o nome do banco de dados que criou. Para informações sobre seu a instalação do Postgres, selecione aqui.

conexaoComBanscoShape.JPG

Verifique na janela de log se a conexão foi realizada com sucesso.

Importação de arquivos

Selecione o botão Add File para adicionar um arquivo para a importação. Aparecerá a seguinte caixa de diálogo:

selecaoShape.JPG

Selecione Open para abrir o arquivo. Caso tenha selecionado o arquivo errado na linha em que encontra-se o nome do arquivo existe uma coluna com o nome Rm. É só selecionar ela que o dado para importação será removido da seleção.

Selecione agora o botão Import para importar. O shape será importado para o banco de dados geográfico e aparecerá uma mensagem de log semelhante a apresentada a seguir:

logShape.JPG

Verificação no banco de dados do arquivo importado

Para verificar a importação entre no pgAdmin e navegue até o banco de dados. Lá deverão aparecer os dados importados, semelhante ao apresentado na figura abaixo:

verificacaoImportacaoShape.JPG

Consulta aos dados geográficos importados

Para verificar se a projeção cartográfica e dados numéricos das geometrias estão corretos, você poderá fazê-lo rodando a seguinte querie:

SELECT gid, ST_Srid(geom), ST_AsEWKT(geom) FROM cartografia

Veja que neste nosso exemplo a projeção cartográfica do dado não foi importada, conforme mostra a figura abaixo:

querieEspacialShape.JPG

Atualização da projeção cartográfica

Para atualizar a projeção cartográfica para todas as linhas da tabela, rode uma querie semelhante a mostrada a seguir:

select UpdateGeometrySRID('cartografia','geom',32723)

Com as projeções atualizadas, faça novamente uma consulta para que possa verificar se a atualização foi realizada corretamente. A querie de consulta é a mesma do SELECT anterior. Você terá como resultado algo semelhante ao apresentado a seguir:

querieEspacialShape2.JPG

Importação de arquivos shape pela linha de comandos

Este tipo de importação é preferível, pois leva em consideração a projeção cartográfica.

O comando geralmente utilizado para realização da importação pela linha de comando é o mostrado abaixo:

shp2pgsql -s 32723 -d cartografia public.cartografia -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres

onde:

-s 32723 sistema de projeção em que se encontra o dado que será importado, neste caso do exemplo, o WGS84 - 23S

-d indica que se a tabela já existir, vai quebrar a mesma e criar outra

cartografia nome do arquivo shape que irá importar, no caso cartografia.shp

public.cartografia nome do esquema (public) e o nome da tabela que será criada no banco de dados (cartografia)

-h localhost nome da máquina na rede (no caso localhost), que contém o servidor de banco de dados

-u postgres o nome do usuário que acessa o Postgres, no nosso caso o nome do usuário é postgres

P opengeo senha de acesso ao banco de dados Posgtres, neste exemplo opengeo

-p 5432 número da porta de acesso ao banco de dados Postgres

-h nome da máquina na rede (no caso localhost), que contém o servidor de banco de dados

-d gis nome do banco de dados para onde vai ser importado o shape

-U postgres o nome do usuário que acessa o Postgres, no nosso caso o nome do usuário é postgres

Lista total de opções para conversão em linha de comando

Para a lista total de opções, selecione aqui

Conversão em lotes

A seguir é apresentado um exemplo de conversão em bath. Basta criar um arquivo com a extensão .bat e rodar o mesmo.

shp2pgsql -s 32723 -d cartografia public.cartografia -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d bairros public.bairros -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d cursosdagua public.cursosdagua -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d edificacoes public.edificacoes -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d eixosdelogradouros public.eixosdelogradouros -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d limitedemunicipio public.limitedemunicipio -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d linhaferroviaria public.linhaferroviaria -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d linhasdetransmissao public.linhasdetransmissao -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d lote public.lote -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d malhadecoordenadas public.malhadecoordenadas -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d quadras public.quadras -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres
shp2pgsql -s 32723 -d zonas public.zonas -h localhost -u postgres -P opengeo -p 5432 -I | psql -h localhost -d gis -U postgres

Para rodar este arquivo, abra uma janela de comandos do Windows, como administrador, e rode o seguinte comando:

shp2postgis.bat > resultado.txt

Sempre tenha muita atenção para o resultado no arquivo txt e para o resultado na janela de comando do Windows. Tudo deve ser levado em consideração.


Last edited by José Maria Villac Pinheiro