Acessando dados espaciais PostGIS no QGIS

Uma das grande vantagens em se trabalhar com software livre é a ampla capacidade de interoperabilidade entre diferentes programas. Como tenho trabalhado constantemente com banco de dados espaciais (PostGIS), resolvi evidenciar duas ótimas ferramentas do QGIS para acessar dados espaciais gerenciados no PostGIS: ‘Adicionar camada PostGIS‘ (‘Add PostGIS Layer’) e ‘Gerenciador BD‘ (‘DB Mannager’).

Antes de tudo, é importante criar e configurar o acesso ao banco de dados PostGIS. Pressupondo que vc já possui o PostGIS instalado e configurado. O acesso ao seu banco de dados poderá feita através da ferramenta: Adicionar camada PostGIS.

Então, vamos ao que interessa:

AddPGLayer

ADICIONAR CAMADA POSTGIS

Ao adicionar tal opção do menu ‘gerenciador de camadas’, uma caixa de diálogo será aberta para que seja configurada uma conexão ao PostGIS. Eu já tenho uma conexão configurada (neste caso, chamada ‘Blog’), mas, para criar uma nova, basta clicar em ‘NOVO‘, para poder configurar a conexão com os parâmetros necessários.

Para criar uma nova conexão será imprescindível saber algumas informações básicas do servidor onde o PostGIS está hospedado, assim como ter usuário e senha de acesso. Caso esteja rodando o PostGIS em seu próprio computador, basta inserir ‘localhost’ na máquina. Caso contrário, insira o IP do servidor.
Informe o nome do banco de dados a ser acessado, usuário e senha.

CirandoConexaoFinalizando a criação da conexão é possível testa-la para averiguar se está tudo sendo devidamente OK ou se há algum erro.

Como você deve ter percebido, ao criar a conexão você indica a qual base de dados a conexão será realizada. Portanto para adicionar dados que estejam em bases diferentes será necessário criar conexões diferentes.

Uma vez criada a conexão a mesma ficará disponível na lista de conexões existentes. Bastando portanto, clicar em ‘CONECTAR‘.

Ao estabelecer a conexão com a base de dados, a lista de ‘esquemas’ será disponibilizadas (caso haja mais de uma), assim como será possível visualizar os respectivos dados vetoriais (tabelas) disponíveis em cada ‘esquema’.

adiconarTabela_PostGIS

Ao selecionar o dado espacial a ser adicionado ao projeto, há ainda a possibilidade de filtra-lo ao invés de adicionar todos os dados. Por exemplo, caso você queira apenas adicionar uma determinada feição, basta clicar em ‘ADICIONAR FILTRO‘, após ter selecionado da camada. Ao fazer isso a janela de diálogo de consulta será aberta e você poderá inclui a expressão considerando os campos e valores do dado em questão.

filtro

Não esqueça de clicar em ‘TESTAR‘ antes de ‘OK’. Depois é só ‘ADICIONAR‘ a camada com ou sem o filtro realizado.

Essa é uma das formas mais simples de se adicionar e trabalhar com dados espaciais armazenados em PostGIS. Porém, as possibilidades são um pouco limitadas à realização de filtros ou adicionar os dados completos. Contudo, há uma outra possibilidade um pouco mais interessante, principalmente para quem está aprendendo a trabalhar com SQL e análise espacial.

Antes, porém, gostaria de atentar que uma vez criada a conexão ao servidor do PostGIS e ao banco de dados, é possível acessa-lo pelo menu ‘BUSCADOR’:

Buscador

GERENCIADOR BD

A feramenta ‘Gerenciador DB’ ou, em ingles, ‘DB manager’, foi pensada como complemento, mas devido às importância e funcionalidades, logo foi implementada no ‘core’ do QGIS.

O mais interessante dessa ferramenta é que, como o próprio nome da ferramenta evidencia, a proposta é ter dentro do QGIS uma interface de gestão do PostGIS. A mesma pode ser acessada pelo menu: ‘Base de dados’>’Gerenciado BD’>’Gerenciado BD’. Ou, habilitando seu ícone ao clicar com o botão direito na barra de ferramentas.

Para ter acesso ao banco de dados, é necessário já ter criado a conexão com o servidor e ao banco desejado, como mostrado anteriormente.

Através da ferramenta ‘Gerenciador BD’ você tem listada todos os ‘esquemas’ do banco de dados, como na ferramenta anterior, mas com as possibilidade de:

a) Acessar informações sobre as tabelas:

GerenciadoDB_infob) visualizar os dados tabulares:

GerenciadoDB_tabelae c) pré-visualiza-las espacialmente:

GerenciadorDB_previsualizarAlém disso, esta ferramenta possibilita importar/exportar arquivos em formato shp.

Contudo, a parte mais interessante é a ‘Janela SQL‘, através da qual é possível construir consultas de processamento dos dados espaciais e adiciona-los ao projeto, sem a necessidade de salva-lo como tabela ou shp.

Só para dar um exemplo rápido, suponhamos que por alguma motivo seja pertinente criar um buffer de 300 metros para os dados de rodovia pavimentadas do estado do Rio de Janeiro.

Para isso realizo a consulta:

select gid, st_buffer(st_transform(geom, 32723), 300) from estrategico.rodovias where tipo='Pavimentada' and UF='RJ'

Pavimentada_buffer_300

Após ‘Executar’ a consulta, o resultado tabular é apresentado, bem como o resumo com a quantidade de linhas e o tempo de execução. Ao clicar em ‘Carregar uma nova camada‘, deve-se indicar as colunas de identificador único e de geometria, assim como o nome a ser dado à camada. Neste caso, ‘Pavimentada_Buffer_300’.

É fundamental que a consulta retorne com a coluna de identificador único dos registros para que a camada possa ser adicionada corretamente, não só a coluna de geometria.

Como resultados, teremos:

Resultado1

Porém, pode-se, ainda além de fazer o buffer, realizar o ‘dissolve’ (ou ‘union’, na linguem SQL) do resultado. Para tanto, usamos a consulta:

select 1 as gid, st_union(st_buffer(st_transform(geom, 32723), 300)) from estrategico.rodovias where tipo='Pavimentada' and UF='RJ'

Como ao realizar o ‘union’, eu passo a ter apenas um registro o qual não possui campo de identificador único, eu já defino um valo e o atribuo a uma coluna ‘gid’:(“select 1 as gid, …”)

Pav_Buffer_Union

Definindo os campos necessário, adicionamos o resultado ao projeto:

Resultado2

Todos os resultado ficam salvos como camadas espaciais do projeto. Ao salvar o projeto e reabri-lo, as mesmas já estarão prontas, como acontece com qualquer outro dados espacial armazenado através de arquivos…

A ferramenta ‘Gerenciador BD’ é uma ótima forma de aprendizado para a realização de consultas espaciais de banco de dados que envolvam processamentos. Poder visualizar os resultados nos ajuda, em muito, saber se deu certo ou obtivemos êxito. Além disso, ajuda muito por não ser necessário salvar o resultado em shp ou tabela. Porém, é importante que, se a análise realizada for de interesse permanente é fundamental que a mesma seja armazenada de forma apropriada.

Caso tenha interesse, há um tutorial no site oficial do projeto QGIS.

Espero que as ferramentas e a apresentação seja útil. Caso tenham gostado, ou encontrado alguma dificuldade ou erro, deixe seu comentário!

Anúncios

Sobre Felipe Barros

Geógrafo formado pela PUC-Rio, é mestre em Biodiversidade pelo Jardim Botânico do Rio de Janeiro e especialista em analise ambiental e gestão do território pela ENCE/IBGE. Trabalha com softwares livres de análise espacial, banco de dados e sensoriamento remoto.
Esse post foi publicado em Banco de Dados Geográficos, QGIS e marcado , , , , . Guardar link permanente.

3 respostas para Acessando dados espaciais PostGIS no QGIS

  1. Republicou isso em QGIS Brasile comentado:
    Uma das grande vantagens em se trabalhar com software livre é a ampla capacidade de interoperabilidade entre diferentes programas. Como tenho trabalhado constantemente com banco de dados espaciais (PostGIS), resolvi evidenciar duas ótimas ferramentas do QGIS para acessar dados espaciais gerenciados no PostGIS: ‘Adicionar camada PostGIS‘ (‘Add PostGIS Layer’) e ‘Gerenciador BD‘ (‘DB Mannager’).

  2. Eliane disse:

    Eu Tenho o shapefile e criei a conexão das tabelas no Postgis; porém não consigo visualizar o desenho a partir da tabela criada, vc pode me ajudar?

  3. Felipe Barros disse:

    Olá Eliane!
    Tudo bem?
    Para poder tentar ajudar, precisaria mais informações:
    Você criou um a base de dados com as ferramentas GIS habilitadas?
    Conseguiu importar o shapefile para o banco de dados criado?
    Se houve erro em algum passo busque entender o erro apresentado pelo software.
    De uma olhada nos artigos relacionados:
    https://geoind.wordpress.com/2013/07/17/importarexportarcontinuacao/
    https://geoind.wordpress.com/2013/06/17/vetoriais_postgis/

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s