publicidade

Introdução ao PostGIS, um banco de dados para informações espaciais

publicidade

Nos últimos anos, os usuários de ferramentas de SIG têm visto um forte movimento dos fabricantes de software e projetos de SIG em direção aos bancos de dados relacionais e adequação às especificações do Open Geospatial Consortium (OGC). Dentre estas especificações, uma das mais conhecidas é o Simple Features for SQL (SFSQL), que define uma série de características que um banco de dados deve possuir para armazenar, manipular e extrair dados espaciais e que foi atualizada pela especificação Simple Feature Access 1 e 2.

Atualmente, diversos bancos já possuem suporte parcial ou total a SFSQL, entre eles o ArcSDE (Esri), Oracle Locator/Spatial (Oracle), DB2 Spatial Extender (IBM), MySQL (MySQL AB) e PostgreSQL/PostGIS (Refractions Research).

O foco deste artigo será o PostGIS, devido à facilidade de acesso para download e instalação. Nas próximas edições serão apresentadas as outras opções disponíveis. Ao final deste artigo, o leitor será capaz de configurar um pequeno servidor de banco de dados espaciais no seu computador.

Os requisitos são:

– Instalador do banco de dados PostgreSQL: www.postgresql.org/ftp/binary/v8.1.5/win32 (faça download da versão mais recente, postgresql-8.2.3-1.zip, em torno de 22MB).
– Instalador do PostGIS para Windows: www.postgis.org/download/windows (faça download da versão para postgresql 8.2, postgis-pg82-setup-1.2.1-1.exe, em torno de 1,5MB).

A instalação será feita em uma máquina rodando Windows XP Professional. Para evitar problemas de conexão durante a configuração, sugere-se desabilitar o firewall, caso esteja instalado, ou para usuários mais experientes deve-se liberar a porta 5432 para conexões, pois é a porta padrão do PostgreSQL.

Descompacte o conteúdo do arquivo postgresql-8.2.3-1.zip no diretório C:temp e execute o arquivo postgresql-8.2.msi para iniciar a instalação.

Na primeira tela da instalação o leitor irá informar o idioma da instalação. Fique à vontade para selecionar o Português – Brazil. Na segunda é apresentado um aviso solicitando o encerramento de todos os programas ativos. Na terceira são apresentadas algumas informações sobre a instalação. Continue normalmenteclicando em “Próximo”. Na quarta tela o leitor deve selecionar quais os itens que serão instalados. Importante! Não selecione a opção PostGIS que já vem com o instalador, pois é uma versão mais antiga. A extensão será incluída após a instalação do PostgreSQL.

Na tela seguinte o leitor deve informar se deseja instalar o banco como um serviço (recomendável) e informar um usuário e senha. Este usuário não precisa existir no computador, pois o instalador pode criá-lo automaticamente.

Seguindo com a instalação, a próxima tela solicita qual porta o banco deve usar (5432 é a padrão), se o banco deve aceitar conexões em todos os endereços do computador (deixe selecionado para o caso de precisar acessar de outro local), qual a codificação (faça opção por UTF-8 em relação à SQL_ASCII devido à melhor capacidade para armazenar diferentes tipos de caracteres) e senha para o superusuário do banco (grave esta senha pois será utilizada a seguir).

Nas telas seguintes o leitor deverá informar quais linguagens e módulos adicionais devem ser habilitados no banco. Selecione a linguagem PL/pgsql que é pré-requisito para o PostGIS e o módulo Adminpack que facilitará a administração do banco. O restante deixe desmarcado.

Com estas informações o instalador irá completar a instalação do PostgreSQL e ao final o leitor já poderá realizar um teste de conexão com o banco. Para isto, abra uma tela de linha de comando e digite: “psql -Upostgres”.

O seguinte texto deve aparecer na tela:

Welcome to psql .2.3, the PostgreSQL interactive terminal.

Type:
|copyright for distribution terms
|h for help with SQL commands
|? for help with psql commands
|g or terminate with semicolon to execute query
|q to quit

postgres#

Para sair digite |q.

Ok, agora que o banco de dados já está em funcionamento, o próximo passo é instalar a extensão PostGIS. Para isto execute o arquivo postgis-pg82-setup-1.2.1-1.exe que irá iniciar a instalação. Na primeira tela o leitor deve informar se aceita as condições para instalação.

A seguinte informa que será instalado o PostGIS e um banco com suporte aos dados espaciais será criado (este último item não é obrigatório durante a instalação, mas já adianta o trabalho).

Na tela seguinte, o leitor deve informar onde deseja instalar o PostGIS. O caminho informado deve ser o mesmo utilizado na instalação do PostgreSQL, pois o PostGIS é instalado dentro dos diretórios do mesmo. Em seguida é solicitado o usuário e senha para conexão com o banco (estes dados foram definidos durante a instalação do PostgreSQL).

Por último deverá ser informado qual o nome da base de dados que será criada com suporte ao PostGIS. Para os fins deste artigo informe “geoteste”. A seguir o instalador irá finalizar o processo.

Parabéns! Caso não tenha ocorrido nenhuma mensagem de erro o leitor já terá em mãos um banco de dados preparado para receber os seus dados espaciais.

Ok, mas e agora? Como transformar os dados que estão shapefile para PostGIS? Simples, muito simples. O PostGIS já vem com um utilitário que converte os dados chamado shp2pgsql.

No exemplo abaixo será utilizado a malha municipal de 2005 do estado do Paraná, disponível na página do IBGE – download de arquivos de Geociências, em mapas/malhas_digitais/municipio_2005/E500/Proj_Geografica/ArcView_shp/Uf/PR.

Com o arquivo em mãos, na linha de comando do Windows digite:

shp2pgsql -c -g “geom” -I 41mu500gc.shp municipios > municipios.sql

Lendo opção por opção na linha acima vê-se que: a opção -c informa que deseja-se criar uma nova tabela e preenchê-la com dados, a opção -g seguida de “geom” informa que o nome do campo com a informação espacial deve se chamar geom, a opção -I informa que deve ser criado um índice GisT na coluna geom, que irá incrementar a velocidade de consulta na tabela.

Em seguida é informado o nome do arquivo shapefile e o nome da tabela que será criada no banco. O resultado deste comando está sendo direcionado para um arquivo chamado municipios.sql que será utilizado para carregar o banco.

Para executar os comandos SQL armazenados no arquivo municipios.sql, utiliza-se o programa pgAdmin que permite o acesso ao banco de dados PostgreSQL. Inicie o programa em Iniciar -> Programas -> PostgreSQL 8.2 -> pgAdmin III, informando a senha do usuário do banco de dados e selecione a base “geoteste”.

Clique no ícone e copie o conteúdo do arquivo municipios.sql para a área de trabalho. Após isto, execute os comandos clicando no ícone .

Na imagem aparece a tela do pgAdmin informando que os dados foram carregados com sucesso.

Neste momento o leitor já possui dados carregados na base. Na continuação deste artigo será visto como manipular a informação que foi carregada, utilizando as funções disponíveis no PostGIS para recuperar áreas, perímetros, distâncias e realizar operações de conversão de coordenadas, por exemplo.

Até lá, para os leitores que desejarem pesquisar mais informações sobre o PostGIS, visitem os links abaixo:

http://www.postgis.org (página oficial do projeto PostGIS);
http://www.webgis.com.br/postgis (Documentação do PostGIS em português);
http://portal.opengeospatial.org/files/?artifact_id=829 (Especificação Simple Features for SQL);
http://portal.opengeospatial.org/files/?artifact_id=18241 (Especificação Simple Feature Access 1);
http://portal.opengeospatial.org/files/?artifact_id=18242 (Especificação Simple Feature Access 2).

Roberto Oliveira Santos
Oracle Certified Professional
Consultor/desenvolvedor especialista em geotecnologias

py5gol@gmail.com

publicidade
Sair da versão mobile