Como Importar Shapefiles para PostGIS com o QGIS

Neste tutorial iremos tratar mais uma vez de uma situação comum durante os trabalhos de Geoprocessamento que envolvam bancos de dados geográficos, em especial o PostGIS: A importação de arquivos do formato shapefile para a base de dados. Veremos como usar a ferramenta de importação de shapefiles para o PostGIS presente no Quantum GIS (QGIS).

Anteriormente foi publicado em nosso site um outro tutorial que explica como realizar esse procedimento através do comando shp2pgsql, via prompt do DOS:

Não custa lembrar que tanto o QGIS (software de SIG) como o PostgreSQL (Sistema Gerenciador de Banco de Dados) são softwares livres.

VANTAGENS DE IMPORTAR SHAPEFILE USANDO O QGIS

As principais vantagens que percebemos desse método em relação ao convencional citado acima são simplicidade e a rapidez. Pois, quando usamos o comando shp2pgsql no prompt do DOS é gerado um arquivo SQL (*.sql) que posteriormente será carregado para o banco de dados como tabela espacial.

 

Como você poderá ver neste tutorial usando essa ferramenta do QGIS, o shapefile já é importado como tabela, vencendo-se, por assim dizer, uma das etapas, o que no mínimo representa algum ganho de tempo. No entanto, pode-se ter problemas no caso de shapefiles onde há acentos e caractéres especial na tabela de atributos. Fique atento à codificação.

BARRA DE FERRAMENTAS PLUGINS

Possivelmente ao instalar e iniciar o Quantum GIS pela primeira vez nem todas as barras de ferramentas estarão visíveis. Portanto, é necessário que se as habilite. Para isso, clique com o botão direito do mouse sobre a parte superior da tela de visualização do QGIS torne disponível a (s) barra (s) que achar necessário. A barra que contém a ferramenta de importação de shapefiles para o PostGIS é a denominada plugins ou complementos.

Plugins no QGIS

Essa barra de ferramentas, “Plugins”, inclui além da ferramenta tratada nesse tutorial uma série de outras opções: Etiqueta de Copyright, adicionar camada de texto delimitado, georeferencer, criar quadrículas, barra de escala e adicionar camada de um servidor de mapas WFS, entre muitas outas.

Na figura seguinte poderá notar que a ferramenta de importação de shapefiles possui um ícone bem sugestivo (na imagem, o penúltimo da esquerda para direita), em forma de elefante, fazendo referência à logomarca do PostgreSQL/PostGIS.

Plugins - QGIS

FERRAMENTA DE IMPORTAÇÃO DE SHAPEFILE PARA POSTGIS

Se você clicar no ícone correspondente, mostrado na figura anterior, será aberta a seguinte interface gráfica:

Ferramenta de Importacao de Shapefiles

Em nosso exemplo iremos importar um arquivo shape que representa a divisão do Brasil em regiões. Observe que para a configuração da ferramenta é necessário se preencher alguns parâmetros. Iremos fornecê-los a partir de agora.

DEFINIÇÃO DA CONEXÃO POSTGRESQL

A primeira etapa é a criação de uma nova conexão com o PostgreSQL. Clique em “Novo”. Será aberta uma janela onde definiremos as características dessa nova conexão.

Conexao PostGIS

Vamos entender o que significa cada um desses parâmetros:

  • Nome – É a denominação, uma identificação dada à conexão. Pode ser um nome aleatório, mas é aconselhável que se escolha algo que ajude-o a relacionar facilmente o nome da conexão ao tipo de dados representados por ela. (No nosso caso escolhemos ‘brasil’);
  • Servidor – Esse parâmetro diz respeito ao local onde estão armazenados os dados (Arquivo *.shp), como neste exemplo estão na própria máquina, usamos localhost (Máquina local). No caso de computadores em rede, podem-se acessar os dados fornecendo-se o IP da máquina que contém os arquivos;
  • Banco de Dados – Deve ser preenchido, evidentemente, com o nome do banco de dados no qual será criada a nova tabela espacial. Em nosso caso, ‘brasil’. (Banco criado antecipadamente com a codificação adequada no PostgreSQL/PostGIS);
  • Porta – Por padrão, usa-se para o PostgreSQL o valor ‘5432’;
  • Usuário – Nome do usuário gerenciador do banco de dados, em geral definido durante a instalação do PostgreSQL. (Em nosso caso, ‘postgres’);
  • Senha – Também definida durante a instalação do banco de dados, visando a segurança no tocante ao acesso aos dados.

Após isso basta ‘Testar a conexão‘ e confirmar em ‘Ok’.

LISTANDO E IMPORTANDO OS SHAPEFILES

Nessa segunda etapa escolha o botão ‘Adicionar’ para procurar o diretório onde está guardado o arquivo *.shp. Desmarque a opção ‘Utilizar o SRID Padrão’ que é ‘-1’. Nesse caso usaremos o SRID, o Identificador do Sistema de Referência Espacial, relacionado com a projeção usada, ‘4291’ que se refere ao DATUM SAD69 e às coordenadas geográficas (Latitude/Longitude).

Adicionar Shapefiles

Podemos, sem problemas, usar o nome da coluna geométrica padrão (the_geom) e o esquema global ‘public‘.

Esquema Global - public

Agora só nos resta confirmar os parâmetros fornecidos e executar a operação em ‘Ok’. Pronto! Foi realizada a importação do arquivo para o PostGIS, em forma de uma tabela. Essa tabela poderá ser visualizada em vários softwares de SIG que se conectam com o PostGIS.

QGIS - Brasil

Espero que este tutorial como os demais já publicados possam servir para disseminação de conhecimento, o qual deve ser compartilhado.

DOWNLOAD GRATUITO DO TUTORIAL

Para baixar esse tutorial, na versão completa, em formato PDF, acesse:

Leia mais alguns tutoriais sobre o QGIS e PostGIS publicados neste blog:

O que acham de deixar um comentário?

Assine nosso FeedAssine nosso Feed e receba nossas atualizações por e-mail. Curta nossa página no Facebook [PortalClickGeo] e siga nosso Twitter [@ClickGeo] para continuar atualizado sobre o Mundo das Geotecnologias.

Consultor em Geotecnologias, graduado em Geoprocessamento. Instrutor de diversos cursos, presenciais e online, sobre Geotecnologias com Softwares Livres com ênfase em QGIS, gvSIG, PostgreSQL/PostGIS, MapServer e i3Geo.

Você pode gostar...

6 Resultados

  1. Felipe disse:

    Não estou achando este plugin no QGis 2.14.6 qual o nome para download do mesmo?

    • Felipe,
      Procure pelo DB Manager ou pelo SPIT.
      Abraço!

      • Felipe disse:

        Anderson,

        Consegui importar através da ferramenta própria do PostGIS.

        Eu precisava realizar algumas analises entre duas camadas, como por exemplo a area que uma ocupa sob a outra, ex:

        O tanto que o estado de MG esta ocupando do Brasil.

        Teria alguma formula, scrip, ferramenta pra esse tipo de analise?

        Obrigado!

  2. Rodolfo disse:

    Olá, parabéns pelo tutorial. Eu sou novo no trato com banco de dados geográficos, segui os procedimentos descritos, mas ocorre um erro e gostaria de saber o que pode estar acontecendo. Reproduzo a descrição do erro a seguir:

    “Problema inserindo feições do arquivo:
    C:/Documents and Settings/21389561801/Limite_Municipio.shp
    Ocorreu um erro no banco de dados ao executar este SQL:
    SELECT AddGeometryColumn(‘public’,’Limite_Municipio’,’the_geom’,4674,’NULL’,2)
    O erro foi:
    ERRO: Invalid type name “NULL(2)” – valid ones are:
    POINT, MULTIPOINT,
    LINESTRING, MULTILINESTRING,
    POLYGON, MULTIPOLYGON,
    CIRCULARSTRING, COMPOUNDCURVE, MULTICURVE,
    CURVEPOLYGON, MULTISURFACE,
    GEOMETRY, GEOMETRYCOLLECTION,
    POINTM, MULTIPOINTM,
    LINESTRINGM, MULTILINESTRINGM,
    POLYGONM, MULTIPOLYGONM,
    CIRCULARSTRINGM, COMPOUNDCURVEM, MULTICURVEM
    CURVEPOLYGONM, MULTISURFACEM, TRIANGLE, TRIANGLEM,
    POLYHEDRALSURFACE, POLYHEDRALSURFACEM, TIN, TINM
    or GEOMETRYCOLLECTIONM
    CONTEXT: SQL statement “SELECT AddGeometryColumn(”,$1,$2,$3,$4,$5,$6,$7)”
    função PL/pgSQL “addgeometrycolumn” linha 5 em comando SQL”

  3. Diego Andrade disse:

    Olá Anderson.

    Tento importar um arquivo shp conforme suas orientações, mas então pede que eu especifique uma conexão primeiro.Como procedo?

    • Neste mesmo tutorial Diego há explicações sobre isso no tópico: “DEFINIÇÃO DA CONEXÃO POSTGRESQL”.
      Em caso de dúvidas, entre em contato.
      Abraço!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *