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:
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.
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:
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:
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:
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:
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:
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.