90
FUNDAÇÃO EDSON QUEIROZ UNIVERSIDADE DE FORTALEZA - UNIFOR DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE LIVRE VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURA Fortaleza – Ceará 2009

Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

Embed Size (px)

Citation preview

Page 1: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

FUNDAÇÃO EDSON QUEIROZUNIVERSIDADE DE FORTALEZA - UNIFOR

DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE

LIVRE

VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURA

Fortaleza – Ceará2009

Page 2: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Page 3: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURA

DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE

LIVRE

Monografia apresentada para obtenção dos créditos da disciplina Trabalho de Conclusão do Curso do Centro de Ciências Tecnológicas da Universidade de Fortaleza, como parte das exigências para graduação no Curso de Ciências da Computação.

Orientador: Msc. Raimundo Tales B R Matos

Fortaleza – Ceará2009

Page 4: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE LIVRE

Victor Hugo Pereira Soares de Joinville Moura

PARECER: ______________________________

DATA: ___/___/____

BANCA EXAMINADORA:

_______________________________________________Msc. Raimundo Tales B R Matos - professor orientador

_______________________________________________Dr. José Maria da S Monteiro Filho - professor examinador

Page 5: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

A o s f a m i l i a r e s d e s a n g u e e o s d e d e s t i n o .

D e d i c a m o s

Page 6: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

AGRADECIMENTOS

A

Minha mãe

por todo amor e carinho me dado pelo decorrer da vida.

A minha família, que é a minha raiz, minha origem e que ajudou a formar a

pessoa que sou hoje.

A Marcyo, pelo apoio e companheirismo sincero durante essa jornada.

A Alves Neto, por todo o conhecimento compartilhado.

Ao Professor Tales, por toda sua ajuda e compreensão.

Page 7: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

“O homem que remove montanhas começa carregando pedras pequenas.”

Ditado Chinês

Page 8: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

RESUMO

Este trabalho objetiva mostrar como trabalhar com Informações Geográficas (IG) em um ambiente computacional utilizando softwares livres. Explana sobre o que são Sistemas de Informação Geográfica (SIG). Aborda também os passos necessários para a representação computacional da IG além de falar sobre o Postgis, extensão do Sistema Gerenciador de Banco de Dados (SGBD) PostgreSQL, que permite o armazenamento e utilização da IG utilizando todos os recursos de um SGBD. Por fim mostra ferramentas livres que permitem a visualização e disponibilização dessas Informações Geográficas tanto em um ambiente desktop como em um ambiente web e até mobile.

Page 9: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

LISTA DE ABREVIATURAS

BD – Banco de Dados

GPS – Global Positioning System

IG – Informação Geográfica

OGC – Open Geospatial Consortium

OpenGIS – Open Geodata Interoperability Specification

SFS – Simple Features implementation Specification for SQL

SGBD – Sistemas Gerenciadores de Bancos de Dados

SIG – Sistema de Informação Geográfica

WKB – Well-known Binary Representation for Geometry

WKT – Well-known Text Representation for Geometry

WMS – Web Map Service

Page 10: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

LISTA DE TABELASTabela 2.1: Tipos de conceitos associados a entidades geográficas.............................28Tabela 2.2: Tipos de medidas de dados geográficos.....................................................30Tabela 2.3: Exemplos de WKT.....................................................................................45Tabela 3.1: Limites máximos do PostgreSQL 8.4..........................................................49Tabela 3.2: Exemplos de comandos de inserção para dados geográficos.....................51Tabela 3.3: Operadores Binários Booleanos Direcionais...............................................68

Page 11: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

LISTA DE FIGURASFigura 1.1: Superfícies de projeção. FONTE: IBGE (1998)..........................................19

Figura 1.2: Pedidos de Outorga para a utilização de águas subterrâneas no estado do

Ceará. FONTE: COGERH - Companhia de Gestão dos Recursos Hídricos (2009).....21

Figura 1.3: Arquitetura de sistemas de informação geográfica. FONTE: Câmara (2005)..

22

Figura 1.4: Tipos de Arquitetura. FONTE: CÂMARA (2005).........................................24

Figura 1.5: Atributos em um mesmo servidor. FONTE: FURUKAWA (2007)...............25

Figura 1.6: Atributos em servidores diferentes. FONTE: FURUKAWA (2007)..............25

Figura 2.1: Paradigma dos quatro mundos. Fonte: Adaptado CÂMARA (2005)............26

Figura 2.2: Modelo de representação utilizando espaço relativo. FONTE: CÂMARA

(2005)...........................................................................................................................31

Figura 2.3: Exemplo de representação do espaço absoluto. FONTE: CÂMARA (2005)....

32

Figura 2.4: Exemplo de dados geográficos. FONTE (a) Google Earth; (b) IBGE...........33

Figura 2.5: Tipos de dados geográficos........................................................................34

Figura 2.6: Representação dos dados Geográficos. FONTE: Adaptado BAUER (2008)...

35

Figura 2.7: Exemplo de layer sobrepostos. FONTE: BAUER (2008).............................35

Figura 2.8: Exemplo de shapefile..................................................................................37

Figura 2.9: Hierarquia das geometrias das feições geográficas. FONTE: OPEN

GEOSPATIAL CONSORTIUM (2006).........................................................................39

Figura 2.10: Modelo de classe para geometrias. FONTE: OPEN GEOSPATIAL

CONSORTIUM (2006).................................................................................................39

Figura 2.11: Modelo de “Point”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006)..

40

Figura 2.12: Modelo de “Curve”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

.....................................................................................................................................40

Figura 2.13: Modelo de “Surface”. FONTE: OPEN GEOSPATIAL CONSORTIUM

(2006)...........................................................................................................................41

Figura 2.14: Exemplo de Disjoint. A geometria “A” é espacialmente separada da

geometria “B”................................................................................................................41

Figura 2.15: Exemplo do relacionamento “touches”. FONTE: OPEN GEOPATIAL

Page 12: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

10

CONSORTIUM (2006).................................................................................................42

Figura 2.16: Exemplo do relacionamento “crosses”. FONTE: OPEN GEOPATIAL

CONSORTIUM (2006).................................................................................................42

Figura 2.17: Exemplo do relacionamento “contains”. FONTE: OPEN GEOPATIAL

CONSORTIUM (2006).................................................................................................43

Figura 2.18: Exemplo do relacionamento “overlaps”. FONTE: OPEN GEOPATIAL

CONSORTIUM (2006).................................................................................................43

Figura 2.19: Códigos Inteiros para tipos geométricos. FONTE: OPEN GEOSPATIAL

CONSORTIUM (2006).................................................................................................44

Figura 2.20: Exemplo de WKB. FONTE: OPEN GEOSPATIAL CONSOSRTIUM

(2006)...........................................................................................................................45

Figura 3.1: Tabelas de sistema do Postgis...................................................................50

Figura 3.2: Preparação dos arquivos para conversão....................................................54

Figura 3.3: Selecionando banco para receber a nova tabela..........................................55

Figura 3.4: Executando importação...............................................................................56

Figura 3.5: Exemplo de Retângulo envolvente. FONTE:

<http://150.164.29.11/mapserver-intro/img/exercicio01_extent.png>.............................57

Figura 3.6: Uma Árvore R. FONTE: Adaptado de informações fornecidas pela

Companhia de Gestão dos Recursos Hídricos - COGERH..........................................58

Figura 3.7: Operação unária booleana. O município de Fortaleza é convexo?...............60

Figura 3.8: Princípio básico para a criação de buffer. FONTE CÂMARA (2005)...........62

Figura 3.9: Exemplo de Buffer Zone ou Mapa de Distância...........................................63

Figura 3.10: Exemplo da função ConvexHull.................................................................64

Figura 3.11: Exemplo da função INTERSECT. FONTE: COGERH..............................65

Figura 3.12: Municípios de Fortaleza e Maranguape são espacialmente separados.

FONTE: COGERH.......................................................................................................66

Figura 3.13: Geometria B contida na geometria A sem tocá-la......................................67

Figura 3.14: Exemplo de relacionamento Binário Booleano Direcional. Fortaleza ao norte

de Pacatuba. FONTE: COGERH.................................................................................67

Figura 3.15: Exemplo de DIFFERENCE. FONTE: COGERH.......................................70

Figura 4.1: Adicionando camada vetorial a partir de um shapefile.................................74

Figura 4.2: Selecionando o shapefile.............................................................................75

Figura 4.3: Visualização dos dados geográficos no Quantum GIS................................75

Page 13: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

11

Figura 4.4: Adicionando camada vetorial a partir do Postgis..........................................76

Figura 4.5: Escolha ou criação de uma conexão com o Postgis....................................76

Figura 4.6: Configuração de conexão com o Postgis.....................................................77

Figura 4.7: Feições geográficas existentes no banco de dados com seus respectivos

tipos..............................................................................................................................78

Figura 4.8: Interface i3Geo...........................................................................................79

Figura 4.9: Interface principal do gvSIG mobile. FONTE: CONSELLERIA DE

INFRAESTRUCTURAS Y TRANSPORTE (2008).......................................................82

Figura 4.10: Visualizando shapefile no gvSIG mobile. FONTE: CONSELLERIA DE

INFRAESTRUCTURAS Y TRANSPORTE (2008).......................................................83

Page 14: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

SUMÁRIOINTRODUÇÃO........................................................................................................131 INFORMAÇÃO GEOGRÁFICA...........................................................................16

1.1 Noções de Cartografia...................................................................................161.1.1 Formas de coleta da informação geográfica...........................................171.1.2 Sistemas de Projeções Cartográficas.....................................................18

1.2 A informação geográfica ou espacial.............................................................201.2.1 Aplicações da informação geográfica......................................................20

1.3 Sistemas de Informação Geográfica.............................................................221.3.1 Arquitetura de Integração entre SIG e SGBD..........................................23

2 REPRESENTAÇÃO COMPUTACIONAL DA INFORMAÇÃO GEOGRÁFICA. . .262.1.1 Universo Ontológico...............................................................................272.1.2 Universo Formal.....................................................................................282.1.3 Universo Estrutural................................................................................332.1.4 Universo de Implementação...................................................................36

2.2 Padrões para representação da Informação Geográfica.................................362.2.1 ESRI Shapefile.......................................................................................362.2.2 Padrão SFS............................................................................................38

3 ARMAZENAMENTO DA INFORMAÇÃO GEOGRÁFICA...................................473.1 Banco de Dados Espaciais............................................................................473.2 Postgis..........................................................................................................48

3.2.1 PostgreSQL...........................................................................................483.2.2 Tabelas do Sistema...............................................................................503.2.3 Tipos de Dados......................................................................................513.2.4 Criando Banco de Dados Espaciais.......................................................523.2.5 Convertendo ESRI Shapefile para SFS..................................................533.2.6 Índices...................................................................................................563.2.7 Operações e consultas sobre a informação geográfica..........................60

4 VISUALIZAÇÃO DE DADOS GEOGRÁFICOS...................................................714.1 Software Livre................................................................................................71

4.1.1 Licenças.................................................................................................724.2 Softwares Livres para geoprocessamento.....................................................73

4.2.1 Ambiente Desktop..................................................................................734.2.2 Ambiente WEB......................................................................................794.2.3 Ambiente Mobile.....................................................................................81

CONCLUSÃO..........................................................................................................84REFERÊNCIAS BIBLIOGRÁFICAS........................................................................86

Page 15: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

13

INTRODUÇÃO

Centralizar as Bases de Dados tem sido um novo paradigma das empresas.

De Acordo com JOHANSSON (2009) conceitos como “necessidade de se fazer o

tratamento de dados de maneira local” e “informação é poder” passaram a ser

encarados sob outras perspectivas como "vantagens do tratamento de dados

centralizados em uma única base de dados" e o “que fazer com a informação adquirida

é poder”.

Mas depois de centralizadas as informações, veio o problema de como

compartilha-las? Como acessá-las remotamente dentro de uma organização ou fora

dela? Para a solução à esses problemas, a internet mostra-se bastante atraente. De

acordo com JOHANSSON(2009) “a Internet, obteve um grande salto tecnológico,

principalmente no que tange ao transporte e integração de mídias dos mais variados

tipos e o grau de interatividade com o usuário.”

No caso das Informações geográficas, existem diversas ferramentas

proprietárias para tal propósito como o ORACLE Spatial, ArcGIS e o ArcIMS por

exemplo, mas essas ferramentas ainda possuem um elevado custo. Para UCHOA

(2004), a evolução tecnológica tem exigido crescentes investimentos na área de

Page 16: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

14

Tecnologia da Informação (TI), resultando na aquisição contínua de sistemas

proprietários cada vez mais onerosos.

Ainda de acordo com UCHOA (2004), na área de geoprocessamento, o

elevado valor de licenças para construção de uma infraestrutura integrada inviabiliza a

maioria dos projetos em inúmeras empresas, principalmente as entidades públicas que

são as principais usuárias dos produtos cartográficos e as que mais sofrem com o

modelo de negócios das empresas de soluções proprietárias.

Mas devido ao envolvimento da comunidade de softwares livres e o

surgimento de padrões para as informações geográficas esses problemas são

resolvidos, além disso passa-se a contar com alternativas livres como o Postgis,

Quantum Gis e i3Geo e o gvSig para a solução do problema da armazenagem,

utilização e disponibilização das informações geográficas.

Ser capaz de trabalhar com informações geográficas no computador mostra-

se importante devido à diversidade de áreas que pode se beneficiar de seu uso. As

informações geográficas pode ser utilizadas desde as áreas da saúde até áreas como a

economia, monitoramento ambiental, órgãos governamentais e militares entre outros.

Este trabalho pretende demonstrar como as informações geográficas podem

passar do mundo real para o ambiente computacional e serem compartilhadas com os

usuários interessados de forma digital utilizando ferramentas livres.

No capítulo 1 é feita uma breve explanação sobre cartografia, que é a ciência

que cuida de representar as informações geográficas para a confecção de mapas e

atlas. Explica o que é a Informação geográfica e introduz o conceito de Sistemas de

Informação Geográfica (SIG).

Em seguida o capítulo 2 mostra como a informação geográfica podem ser

representadas computacionalmente, quais são os passos necessários à essa conversão

e quais os padrões existentes para essa representação computacional.

Já o capítulo 3 demonstra como armazenar computacionalmente as

informações geográficas. Discute sobre do Sistema de Gerenciamento de Banco de

Dados ( SGBD) PostgreSQL, que junto com sua extensão espacial Postgis, fornece o

suporte para o armazenamento e utilização dos dados espaciais.

Page 17: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

15

Por fim, o capítulo 4 mostra algumas das ferramentas livres que permitem a

visualização, criação de mapas e disponibilização das informações na rede e na internet.

Page 18: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

16

1 INFORMAÇÃO GEOGRÁFICA

Nesse capítulo, é feita uma breve explicação sobre a cartografia, que é o

conjunto de operações científicas, técnicas e artísticas para trabalhar com a informação

geográfica. Discorre também sobre o que é a informação geográfica e como ela pode

ser utilizada por entidades tanto públicas como privadas. Em seguida mostra o que vem

a ser um Sistema de Informação Geográfica (SIG), quais seus principais componentes

e suas arquiteturas de integração com o SGBD.

1.1 Noções de Cartografia

A vontade de representar o espaço em que vive sempre esteve presente na

humanidade. Encontrar uma maneira de substituir o espaço real por um espaço

análogo é o princípio básico da cartografia.

Com a cartografia é possível coletar, documentar e produzir conhecimento

sobre a superfície terrestre. A Associação Cartográfica Internacional (International

Cartographic Association – ICA) estabeleceu em 1966 a definição de cartografia da

Page 19: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

17

seguinte forma:

"A Cartografia apresenta-se como o conjunto de estudos e operações científicas, técnicas e artísticas que, tendo por base os resultados de observações diretas ou da análise de documentação, se voltam para a elaboração de mapas, cartas e outras formas de expressão ou representação de objetos, elementos, fenômenos e ambientes físicos e sócio-econômicos, bem como a sua utilização."

Este conceito foi posteriormente ratificado pela UNESCO e hoje tornou-se

aceito sem maiores contestações.

O processo cartográfico é multidisciplinar e envolve diversas áreas do

conhecimento desde a coleta dos dados espaciais até a sua representação final.

1.1.1 Formas de coleta da informação geográfica

As informações espaciais ou geográficas podem ser obtidas de basicamente

de duas formas: in loco ou através de sensoriamento remoto.

In loco

A coleta in loco significa que é preciso estar presente fisicamente no local de

onde irá se retirar as informações espaciais. Os processos mais utilizados são a

utilização de equipamentos GPS1 (Global Positioning System) ou a utilização da

topografia convencional.

Sensoriamento remoto

O sensoriamento remoto é a obtenção de informações geográficas sem a

necessidade de estar presente fisicamente no local em questão. Essa coleta geralmente

é feita através de imagens de satélites ou aerofotogrametria.

Segundo IBGE (1998), “entende-se por Sensoriamento Remoto a utilização

conjunta de modernos sensores, equipamentos para processamento e transmissão de

dados, aeronaves, espaçonaves e etc., com o objetivo de estudar o ambiente terrestre

através do registro e da análise das interações entre a radiação eletromagnética e as

substâncias componentes do planeta Terra, em suas mais diversas manifestações”.

1 Sistema eletrônico constituído de uma constelação de satélites. Juntamente com um equipamento receptor, permitem a localização de qualquer coordenada na superfície terrestre através de sinais de rádio emitido pelos satélites.

Page 20: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

18

1.1.2 Sistemas de Projeções Cartográficas

Basicamente, os sistemas de projeções cartográficas tentam representar

uma superfície curva em um plano. Segundo IBGE (1998) não existe uma solução

perfeita para esse problema. Para a confecção de uma carta, é necessário um método

segundo o qual, cada ponto na superfície terrestre corresponda a um ponto na carta e

vice-versa.

A teoria das projeções estuda os diferentes métodos de projeção, além das

leis de interligação entre os pontos de uma superfície (Terra) com a outra (carta). Mas

pode-se dizer que todas as representações de superfícies curvas em um plano resultam

em distorções ou "rasgos". As diferentes técnicas empregadas na representação da

superfície são aplicadas no sentido de se alcançar resultados que possuam certas

propriedades favoráveis para um propósito específico.

Os sistemas de projeções podem ser classificados quanto a superfície de

projeção basicamente em três tipos: Projeções Planas, Projeções Cônicas e Projeções

Cilíndricas. A Figura 1.1 mostra como as superfícies de projeções podem ser divididas:

Page 21: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

19

Figura 1.1: Superfícies de projeção. FONTE: IBGE (1998).

EQUATORIAL – plano tangente ao equador.

TRANSVERSA – eixo do cone perpendicular ao eixo da Terra.

TRANSVERSA – eixo do cilindro perpendicular ao eixo da Terra.

EQUATORIAL – plano tangente ao equador.

TRANSVERSA – eixo do cone perpendicular ao eixo da Terra.

TRANSVERSA – eixo do cilindro perpendicular ao eixo da Terra.

PLANAS CÔNICAS CILÍNDRICAS

POLAR – plano tangente ao nó polo.

NORMAL – eixo do cone paralelo ao eixo da terra.

EQUATORIAL – eixo do cilindro paralelo ao eixo da Terra.

EQUATORIAL – plano tangente ao equador.

TRANSVERSA – eixo do cone perpendicular ao eixo da Terra.

TRANSVERSA – eixo do cilindro perpendicular ao eixo da Terra.

HORIZONTAL – plano tangente a um ponto qualquer.

HORIZONTAL – eixo do cone inclinado em relação ao eixo da Terra.

HORIZONTAL – eixo do cilindro inclinado em relação ao eixo da Terra.

Page 22: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

20

1.2 A informação geográfica ou espacial

Informação geográfica é toda e qualquer informação sobre recursos minerais,

animais, vegetais, eventos sócio-econômicas e ambientais que possuam uma posição

geográfica definida.

Segundo VINHAS (2006) “Dados geograficamente referenciados, ou

simplesmente dados geográficos, são aqueles que possuem uma dimensão espacial, ou

uma localização, diretamente ligada ao mundo geográfico real como as imagens de

satélites de sensoriamento remoto, os dados de inventários cadastrais, os dados

ambientais coletados em campo e os modelos numéricos de terreno”.

Essa informação geográfica é moldada pode ser trabalhada em bancos de

dados especiais, desenvolvidos para suportar esse tipo de dado. Esses sistemas são

denominados de Sistemas de Informação Geográfica2 ou SIG.

1.2.1 Aplicações da informação geográfica

Variadas áreas podem se beneficiar das informações geográficas. Toda área

em que a pergunta “Onde?” for importante justifica o uso de Sistemas de Informação

Geográfica. Na área da saúde por exemplo, segundo CARVALHO (2005), os casos de

desnutrição podem ser melhor analisados com a utilização de Sistemas de SIG para a

melhor tomada decisão de medidas públicas de saúde.

Já para SAMIZAVA (2008), na área de meio-ambiente, “ferramentas

computacionais, como softwares SIG, fornecem suporte para discriminar áreas

potenciais para instalação de aterros sanitários, de maneira mais rápida e eficiente”.

Além disso, os SIGs podem ser utilizados também para gestão dos recursos

hídricos, ao mostrar quantos pontos estão utilizando água subterrânea em cada

município de um estado. A Figura 1.2 mostra um exemplo; A imagem é composta pela

feição (layer3) dos limites municipais do estado do Ceará e com a feição dos pontos

onde usuários fizeram pedido para a utilização de águas subterrâneas no estado do

2 Veja subtítulo 1.3 Sistemas de Informação Geográfica.3 Também conhecida por "feature" ou feição geográfica, é a forma de representação gráfica da

informação geográfica.

Page 23: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

21

Ceará (em amarelo).

Observa-se que há regiões com maior concentração de pedidos que outros e

essa forma de visualização das informações auxilia os gestores no processo decisório

de conceder ou negar novos pedidos de utilização de águas subterrâneas no estado.

Com o exposto, pode-se perceber o quão importante pode ser para entidades

governamentais ou privadas a utilização de Sistemas de Informação Geográfica no

auxílio ao processo decisório.

Figura 1.2: Pedidos de Outorga para a utilização de águas subterrâneas no estado do Ceará. FONTE: COGERH - Companhia de Gestão dos Recursos Hídricos (2009)

Page 24: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

22

1.3 Sistemas de Informação Geográfica

Os Sistemas de Informações Geográficas ou SIG, são sistemas especiais

que possibilitam o trabalho com informações espaciais. Com eles é possível armazenar,

consultar e visualizar as informações geográficas. Para CÂMARA (2005) a principal

diferença de um SIG para um sistema de informação convencional é sua capacidade de

armazenar tanto os atributos descritivos como as geometrias dos diferentes tipos de

dados geográficos.

De acordo com TAMBASCIA (2005), a arquitetura de um SIG é formada por

vários componentes como sistema de armazenamento de dados espaciais, servidores

de mapas e dados além de aplicações cliente e Web para visualização e manipulação

dos dados. A Figura 1.3 mostra os componentes básicos de um SIG.

No nível mais alto fica a interface com o usuário, essa camada define como o

sistema será controlado, pode ser baseada em um ambiente "desktop", lembrando uma

Figura 1.3: Arquitetura de sistemas de informação geográfica. FONTE: Câmara (2005).

Page 25: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

23

mesa de trabalho como também estar baseada em um ambiente de navegação da

internet.

Na camada intermediária do SIG tem-se mecanismos de processamento de

dados espaciais que incluem a entrada e integração de dados, a consulta e análise

espacial e a visualização e plotagem das informações. A entrada de dados possui os

mecanismos de conversão de dados. Já a parte de análise incluem-se os algoritmos de

análise espacial com as operações de topologia, álgebra de mapas, estatística espacial,

modelagem numérica de terreno e processamento de imagens. Os serviços de

visualização e plotagem devem oferecer suporte adequado para a apresentação gráfica

dos dados pesquisados.

Por fim na camada mais baixa do SIG, há os Bancos de Dados Geográficos4.

De acordo com CÂMARA (2005) "Cada sistema, em função de seus objetivos e

necessidades, implementa estes componentes de forma distinta, mas todos os

subsistemas citados devem estar presentes num SIG".

1.3.1 Arquitetura de Integração entre SIG e SGBD

CÂMARA (2005) define a existência basicamente de dois modos de

integrações entre o SIG e os SGBD5: A "Arquitetura Dual" e a "Arquitetura Integrada".

Na Arquitetura Dual, Figura 1.4(a), as Informações Geográficas são

armazenadas separadamente, os atributos alfanuméricos são armazenados em um

SGBD e os atributos espaciais são armazenada em arquivos com formato proprietário,

geralmente no formato ESRI Shapefile6.

Os principais problemas desse tipo de arquitetura, são a dificuldade no

controle e manipulação dos atributos espaciais, além da dificuldade em manter a

integridade entre esses atributos os atributos alfanuméricos.

Além disso, nessa arquitetura, os elementos espaciais não podem ser

4 Veja capítulo 3 subtítulo 3.1 Banco de Dados Espaciais5 Programas responsáveis pelo gerenciamento de uma base de dados. Seu objetivo é retirar das

aplicações clientes a responsabilidade pelo gerenciamento, acesso, manipulação e organização dos dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais, a interface é constituída pelas APIs ou drivers do SGBD, que executam comandos na linguagem SQL.

6 Veja capítulo 3 subtítulo 3.2.5 Convertendo ESRI Shapefile para SFS

Page 26: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

24

processados pelo SGBD, obrigando que seu processamento seja feito através de outros

aplicativos. Além disso, pode haver obstáculos na interoperabilidade, caso o formato dos

atributos espaciais seja proprietário.

Já a Arquitetura Integrada, vista na Figura 1.4 (b), consiste em armazenar

todos os dados no SGBD. O que possibilita a utilização dos recursos do SGBD para a

manipulação dos atributos espaciais com linguagem própria de consulta, além de

usufruir todos os benefícios do SGBD como, controle de transações, integridade

referencial, concorrência entre outros.

A Arquitetura Integrada ainda pode ser utilizada de duas formas, uma onde

todos os atributos estão armazenados em um mesmo servidor, como visto na Figura1.5. Nessa Arquitetura tanto os atributos geográficos como os atributos alfanuméricos

ficam armazenados em um mesmo servidor.

Figura 1.4: Tipos de Arquitetura. FONTE: CÂMARA (2005).

Arquivos

SGBD

SGBD

(a) Arquitetura Dual (b) Arquitetura Integrada

Page 27: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

25

Já na segunda forma, os atributos geográficos e alfanuméricos ficam

armazenados em servidores diferentes, como visto na Figura 1.6. Nesse modelo, a

feição geográfica é construída através de views7. Esse modelo é útil quando já existirem

sistemas para o gerenciamento dos atributos alfanuméricos e se deseja adicionar ou

criar novos sistemas com a informação geográfica.

Nesse primeiro capítulo, foi oferecida uma noção sobre o que é a Cartografia

e seus métodos de obtenção das informações geográficas. Foi apresentado o que é a

informação geográfica e sua importância para as mais variaras áreas e definiu-se o

conceito de Sistema de Informação Geográfica e discutiu-se sobre as suas principais

arquiteturas de integração com bancos de dados.

7 Espécie de tabela virtual, criada a partir de um ou mais tabelas do banco de dados.

Figura 1.5: Atributos em um mesmo servidor. FONTE: FURUKAWA (2007)

Figura 1.6: Atributos em servidores diferentes. FONTE: FURUKAWA (2007).

Servidor Geo Servidor do Cliente

Page 28: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

26

2 REPRESENTAÇÃO COMPUTACIONAL DA INFORMAÇÃO GEOGRÁFICA

Nesse capítulo discute-se os passos necessários para representar os dados

geográficos do mundo real em informação na forma digital. Mostra como esses dados

são classificados para que possam ser trabalhados computacionalmente e os padrões

existentes para isso.

CÂMARA (2005) propõe o paradigma dos quatro mundos (Figura 2.1), que

tratam de dos quatro passos para a a representação do mundo real no ambiente

computacional . Esse paradigma mostra que para a transposição da realidade para o

ambiente computacional, é necessário uma série complexa de mediações.

Figura 2.1: Paradigma dos quatro mundos. Fonte: Adaptado CÂMARA (2005)

Universo Formal

Universo Estrutural

Universo Implement.

Universo Ontológico

Page 29: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

27

2.1.1 Universo Ontológico

Ontologia, de acordo com COELHO (2007), é uma disciplina filosófica que

lida com a natureza e com a organização da realidade. Para a Informação geográfica, o

universo ontológico é o passo de criar ontologias, definir os conceitos, as entidades a

serem representados no ambiente computacional.

De acordo com CÂMARA (2005), nesse passo inicial, são escolhidas as

entidades a serem representadas no sistema e os conceitos que as envolvem. Esses

conceitos compartilhados e aceitos pela comunidade formam uma "Ontologia de

aplicação" .

Na área de geoprocessamento, pode-se chama-las de geo-ontologia e possui

dois tipos básicos de conceitos: Os conceitos físicos e os conceitos sociais.

Os conceitos físicos correspondem a fenômenos físicos presentes no mundo

real. Esse conceito ainda pode ser subdividido em: Conceitos para entidade

individualizáveis, e conceitos para entidades com variação contínua no espaço.

Esses conceitos físicos para entidade individualizáveis estão relacionados

com entidades que possuem um limite bem definido a partir de diferenciações

qualitativas ou descontinuidade da natureza. A existência dessas entidades decorrem da

nossa necessidade de nomear os elementos do mundo natural, como por exemplo os

conceitos de montanhas, serras, vales, rios e lagos.

Já os conceitos físicos associados a entidades com variação contínua no

espaço, estão associados a fenômenos naturais que não possuem a princípio uma

fronteira. Exemplos desse tipo são: Temperatura, declividade, altimetria e poluição.

Além dos conceitos físicos, existem os conceitos sociais, que representam

entidades sociais e institucionais criadas pelo ser humano e podem ser subdivididos em

conceitos sociais para entidades individualizáveis e conceitos sociais associados a

entidades com variação contínua no espaço.

Os conceitos sociais para entidades individualizáveis, descrevem entidades

criadas por ações humanas ou através leis. Elas possuem fronteiras bem definidas e

possuem uma identidade única. Sua existência depende geralmente de um registro

legal. Exemplos dessas entidades são: Municípios, lotes, reservas indígenas e países.

Page 30: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

28

Já os conceitos sociais para entidades com variação contínua no espaço,

associam-se a convenções sociais, como por exemplo o conceito de pobreza, que está

socialmente definido e ocorre no espaço de forma ininterrupta. Outros exemplos desse

tipo de conceito são: desenvolvimento humano, riqueza, segregação urbana e exclusão

social.

A Tabela 2.1, mostra um resumo desses conceitos ontológicos.

Tabela 2.1: Tipos de conceitos associados a entidades geográficas.

Realidade Física Realidade SocialEntidades individualizáveis Limites bem definidos no

mundo real. Ex.: Montanha.Limites definidos por leis. Ex.: Reservas indígenas.

Entidades com variação contínua no espaço

Limites variáveis no mundo real. Ex.: Poluição.

Limites Variáveis nas convenções sociais. Ex: Pobreza.

FONTE: Adaptado de CÂMARA (2005).

2.1.2 Universo Formal

Esse universo representa um passo intermediário entre os conceitos do

mundo ontológico e as estruturas de dados e algoritmos computacionais, CÂMARA

(2005). Pois devido os computadores trabalharem com estruturas matemáticas, a

passagem dos conceitos informais das ontologias, para as estruturas de dados

poderiam resultar em erros ou inconsistências.

Aqui, além de definir um conjunto de unidades mais lógicas e mais

abrangentes possíveis, ainda se define como serão associados valores aos diferentes

conceitos, ou seja, como medir o mundo real. Desta maneira nesse universo, toma-se

as seguintes decisões: Como medir o espaço geográfico e, qual conceito adotar para

representá-lo.

Page 31: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

29

Teoria das Medidas

Para CÂMARA (2005), “o processo de medida consiste em associar

números ou símbolos a diferentes ocorrências de um mesmo atributo, para que a

relação dos números ou símbolos, reflita as relações entre as ocorrências mensuradas”.

A principal referência para escalas de medidas foi feito por STEVENS (1946) que

propões quatro escalas de mensuração: nominal, ordinal, intervalo e razão.

Nominal: Nessa escala os objetos são divididos em classes distintas e sem

ordem inerente. As possíveis relações entre os valores são: Igualdade (x = y) e diferença

(x ≠ y ). Exemplos: zona industrial, floresta, área de preservação.

Ordinal: Introduz o conceito de ordenação, caracterizando as entidades em

classes distintas mas que possuem algum tipo de ordenação. As operações possíveis

entre os valores são: Igualdade (x = y), diferença (x ≠ y ), maior que (x > y) e menor que

(x < y). Um exemplo seria a fertilidade do solo: 1 – ruim, 2 – bom, 3-ótimo.

Intervalo: Baseada em números reais, é caracterizada por possuir um ponto

zero de referência arbitrário, admitindo valores entre [−∞ ,∞] e uma distância

proporcional entre os intervalos. Por possuir um zero arbitrário, não permite estimativas

de proporções. Essa escala admite relações de soma e subtração mas não é

recomendado operações de multiplicação e divisão. Exemplo de escala de intervalo pode

ser a altimetria, onde se toma por definição, como ponto zero o nível do mar, onde a

altitude pode assumir valores positivos e negativos. Podendo-se fazer relações do tipo,

Fortaleza possui uma altitude “x” metros a menos que a altitude de Brasília.

Razão: Também baseada em números reais, não possui um ponto zero

arbitrário. Seu zero é escolhido de acordo com alguma condição natural, o que limita sua

faixa de intervalos entre [0,∞] . O valor zero nessa escala representa a ausência

daquilo que está sendo medido. Exemplo dessa escala é a taxa de natalidade de uma

região, não sendo permitido valores negativos para essa medida. Essa medida, permite

comparações de proporções como, a taxa de natalidade no estado do Amapá é “y” vezes

maior que a do estado do Acre.

A Tabela 2.2, faz um resumo dos tipos de escala de medida proposto por

STVENS (1946):

Page 32: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

30

Tabela 2.2: Tipos de medidas de dados geográficos.

Escala Operações básicas

Possíveis estatísticas

Exemplos

Nominal Determinação de igualdade

Número de casos, comparação

Tipos de solo, uso do solo, vegetação

Ordinal Determinação de maior ou menor

Mediana, mínimo, máximo, porcentagens

Aptidão de uso, Classes de declividade

Intervalo Determinação da igualdade de intervalos ou diferenças

Diferença, soma, ranking,

Temperatura, altimetria

Razão Determinação da igualdade de proporções.

Coeficiente de variação

Renda, população, taxa de óbitos

FONTE: adaptado de STEVENS (1946)

Teoria da representação

De acordo com CÂMARA (2005), uma das escolhas que devem ser feita

nesse universo é como as entidades serão representadas. As entidades geográficas

podem ser representadas no espaço relativo, ou no espaço absoluto.

Espaço Relativo: Nesse modelo de representação, preocupa-se apenas

com o posicionamento relativo das entidades geográficas, e é indicado quando deseja-

se mapear fluxo e conexões entre as entidades. Esse modelo é melhor representado

utilizando-se grafos, e foge do escopo desse trabalho, que dará ênfase aos atributos no

espaço absoluto modelados de forma vetorial que serão vistos a seguir. A Figura 2.2 mostra um exemplo de modelagem utilizando espaço relativo, exibindo as relações de

vizinhanças entre os distritos de São Paulo através de um grafo, note que as fronteiras

Page 33: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

31

foram adicionadas apenas para melhorar a legibilidade da figura.

Espaço absoluto: Nessa forma de representação, cada entidade geográfica

é representada no ambiente computacional por sua localização no mundo real, de forma

que as coordenadas de suas fronteiras correspondam as fronteiras reais da entidade

geográfica. Esse tipo de representação é útil quando necessita-se saber o valor de

determinado fenômeno em todos os pontos da região. A Figura 2.3 ilustra um exemplo

de representação de entidades geográficas utilizando o espaço absoluto, exibindo as

fronteiras de cada distrito do município de São Paulo.

Figura 2.2: Modelo de representação utilizando espaço relativo. FONTE: CÂMARA (2005).

Page 34: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

32

Nesse modelo de representação ainda se tem outra escolha a fazer, se os

dados vão ser representados de forma matricial ou de forma vetorial. CÂMARA (2005)

em seu trabalho, os chamam de geo-campos (dados matriciais) e geo-objetos (dados

vetoriais), esse trabalho segue a definição de SILBERCHARTCZ (2006), que os

designa apenas como dados vetoriais e dados matriciais.

Dados Matriciais: Nesse modelo as entidades geográficas são representadas

na forma matricial, onde cada ponto possui suas informações próprias por exemplo na

Figura 2.4 (a), que mostra um trecho da cidade de Fortaleza – CE, cada ponto possui

um valor associado que no caso é o valor da reflectância do solo medido pelo sensor

óptico do satélite. Os SGBDs podem armazenar esses dados utilizando o tipo BLOB8,

mas não permitem tratamentos especiais para esses dados geográficos como detecção

de bordas por exemplo, e esse trabalho não se aprofundará nesse assunto.

8 Binary Large Object: Coleção de dados binários armazenados como uma entidade única.

Figura 2.3: Exemplo de representação do espaço absoluto. FONTE: CÂMARA (2005).

Page 35: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

33

Dados Vetoriais: Aqui a informação geográfica é armazenada de forma

vetorial, na Figura 2.4 (b) observa-se um conjunto de polígonos, representando os

municípios do Brasil, onde cada polígono representa vetorialmente a fronteira legal de

cada município brasileiro. Esse tipo de representação é indicada quando o papel da

fronteira é importante para a análise espacial.

2.1.3 Universo Estrutural

Segundo CÂMARA (2005), nesse universo escolhe-se quais as estruturas

de dados serão utilizadas para representar a informação geográfica. As estruturas de

dados vetoriais, são divididas basicamente em três tipos: Pontos [Figura 2.5 (a)], Linhas

[Figura 2.5 (b)] e Polígonos[(Figura 2.5 (c)].

Figura 2.4: Exemplo de dados geográficos. FONTE (a) Google Earth; (b) IBGE.

(b) Dados Vetoriais(a) Dados Matriciais

Page 36: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

34

Pontos: É um par ordenado (x,y) com coordenadas espaciais. Pode ser

utilizado para identificar localização ou eventos no espaço geográfico, como por exemplo

casos de dengue, localização de crimes, localização de espécimes vegetais, casos de

calazar.

Linhas: Representam estruturas unidimensionais, e possuem uma variedade

de usos. Podem representar ruas, rios (dependendo da escala utilizada), e podem

também estar associadas a representação de espaço relativo, simbolizando o grafo.

Polígonos: Área delimitada por uma ou mais linhas conectadas de modo que

o último nó de uma linha poligonal seja idêntico ao nó da linha seguinte. Note que os

limites do polígono dividem o plano em duas regiões: interior e exterior. Esse tipo de

estrutura é muito utilizada para representar entidades individuais como açudes, lotes,

municípios entre outros.

Para cada uma dessas entidades podem ser atribuídos dados provindos de

censo ou estatísticas sobre saúde entre outros.

De acordo com BAUER (2008), “a informação espacial vetorial é apenas

mais um tipo de dado, como os tipos Integer, Boolean e Date. Ela é um tipo especial de

dado que pode ser armazenados em SGBDs”. Muitos dos SGBD atuais já suporta

armazenamento de dados espaciais entre eles tem-se o PostgreSQL com sua extensão

Postgis, Oracle com sua extensão Oracle Spatial e MySQL com a Spatial Extensions.

Esse trabalho trata apenas do Postgis.

A figura abaixo mostra a representação de uma feição cartográfica também

Figura 2.5: Tipos de dados geográficos

(b) Linhas(a) Pontos (c) Polígonos

Page 37: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

35

chamada de plano de informação ou layer [Figura 2.6 (a)], que é a representação

gráfica do objeto no mundo real e uma representação lúdica de como essa informação é

armazenada numa tabela do SGBD [Figura 2.6 (b)].

Os layers, por analogia, podem ser considerados como transparências, que

quando sobrepostas formam uma imagem final. A Figura 2.7 mostra um exemplo de

layers sobrepostos.

Figura 2.6: Representação dos dados Geográficos. FONTE: Adaptado BAUER (2008).

(a) Feição cartográfica

(b) Armazenamento na tabela do SGBD.

53 Santa Candida

54 Tingui

55 Atuba

34 Boa Vista

48 Bacacheri

36 Bairro Alto

Atuba

Bacacheri

5541

Cod Nome

Figura 2.7: Exemplo de layer sobrepostos. FONTE: BAUER (2008).

Tema: Bairro Tema: Farol do Saber Tema: Ciclovia

Page 38: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

36

2.1.4 Universo de Implementação

Nesse universo, segundo CÂMARA (2005), tomam-se as decisões

concretas de programação, essas decisões devem levar em conta a natureza do

sistema a ser criado. É nessa fase que se tomam as decisões sobre quais os algoritmos

serão utilizados para o tratamento de dados geográficos, em qual Sistema Gerenciador

de Banco de Dados (SGBD) essas informações espaciais serão armazenadas, os

aspectos de indexação dos dados espaciais, a otimização das consultas sobre esses

dados, a linguagem que será utilizada para a programação e as bibliotecas utilizadas

para se trabalhar com dados geográficos e o desempenho que o hardware deverá

possuir.

2.2 Padrões para representação da Informação Geográfica

Existem diversos padrões para a representação computacional da informação

geográfica. Esse trabalho fala de um padrão proprietário, denominado ESRI Shapefile,

que devido ao seu pioneirismo tornou-se um dos padrões mais utilizados e fala também

do padrão de representação livre OpenGIS para SQL, chamado de SFS (Simple

Features Interface Standard for SQL), que padroniza a representação, armazenamento

em SGBD e operações sobre dados geográficos.

2.2.1 ESRI Shapefile

ESRI Shapefile, ou simplesmente shapefile, é um padrão proprietário para

representação de dados geográficos vetoriais. Criado pela ESRI9, é um formato muito

utilizado por diversos SIGs. Segundo a ESRI SHAPEFILE TECHNICAL

DESCRIPTION (1998), um shapefile é um formato vetorial que guarda localizações

geométricas e informação sobre atributos associados.

Segundo FARIA (2006), "as shapefiles lidam com entidades geográficas

singulares. As entidades geográficas suportadas incluem pontos, linhas e áreas (sendo

9 Empresa desenvolvedora de software e serviços de SIG. Sede na Califórnia.

Page 39: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

37

estas representadas por polígonos fechados). A cada entidade está associado um

conjunto de atributos guardados no formato dBASE10".

Um shapefile é composto na realidade por no mínimo três arquivos

obrigatórios com as seguintes extensões:

• .shp: arquivo que guarda as os atributos geométricos.• .shx: arquivo que guarda os índices dos atributos geométricos, ligando-os com

os atributos alfanuméricos.• .dbf: arquivo dBASE que guarda as informações sobre os atributos das

alfanuméricos relacionados com os atributos geométricos.

Além dessas extensões obrigatórias, ainda podem existir arquivos com

outras extensões como:

• .sbn ou .sbx: arquivo que guarda o índice espacial das entidades.• .fbn ou .fbx: arquivo que guarda o índice espacial dos atributos para shapefiles

apenas de leitura.• .ain ou .aih: guarda o índice do atributo dos campos ativos de uma tabela ou

uma tabela de atributos alfanuméricos.• .prj: guarda a informação sobre o sistema de coordenadas.• .shp.xml: metadados da shapefile.

A Figura 2.8 mostra um exemplo de shapefile, composta pelos três arquivos

obrigatórios., observa-se que é necessário todos os arquivos possuírem o mesmo nome,

mudando-se apenas sua extensão.

10 Um tipo de SGBD, cujo os arquivos ".dbf" ainda são muito utilizados por outros aplicativos.

Figura 2.8: Exemplo de shapefile.

Page 40: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

38

As especificações de um shapefile estão descrita no ESRI SHAPEFILE

TECHNICAL DESCRIPTION (1998), o que possibilita que diversos aplicativos, tanto

proprietários como livres, possam ler e escrever esse formato de arquivo.

2.2.2 Padrão SFS

Com o intuito de criar padrões de interoperabilidade entre geo-sistemas, o

Open Geospatial Consortium11 (OGC) criou o padrão SFS (Simple Features Interface

Standard for SQL), que fornece uma interface comum e bem definida para aplicativos

armazenarem e acessarem dados de feições geográficas em SGBD relacional ou

objeto-relacional, de modo que os dados possam ser usados para suporte a outras

aplicações através de um modelo de feição comum, dados armazenados e interfaces de

acesso à informação.

As Simple Features são feições geográficas descritas usando dados

vetoriais como pontos linhas e polígonos. Essa especificação possui atualmente duas

versões, a 1.1.0 e a 1.2.0, e foi dividida em duas partes: “Common Architecture”, e

“SQL Option”.

A primeira define o modelo geométrico que deve ser adotado e os operadores

e relações espaciais. A SFS parte 1 especifica a hierarquia para representação de

geometrias das feições geográficas, como visto na Figura 2.9 e um modelo de classes

para representar as geometrias, como na Figura 2.10.

11 Consórcio internacional com 386 empresas, agências governamentais e universidades que participam de um processo de consenso para desenvolver padrões de interfaces que facilitem a interoperabilidade entre sistemas que utilizem informação geo-espacial.

Page 41: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

39

Figura 2.9: Hierarquia das geometrias das feições geográficas. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

Figura 2.10: Modelo de classe para geometrias. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006)

Page 42: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

40

A seguir é mostrada a descrição de algumas geometrias propostas nessa

especificação.

Point: Definido como um objeto geométrico 0-dimensional, representa um

local único no espaço coordenado. Um ponto tem uma coordenada X e uma coordenada

Y e caso seja solicitado pelo Sistema de Referência Espacial associado a esse ponto,

pode-se ter também os valores da coordenada Z e um valor associado M. A Figura 2.11

mostra o modelo proposto para “Point” de acordo com a SFS.

Curve: Definida como um objeto geométrico 1-dimensional, normalmente

armazenados como uma sequência de pontos. A especificação SFS define apenas uma

subclasse da Curve, LineString, que usa a interpolação linear entre pontos. A Figura

2.12 mostra o modelo de uma Curve.

Figura 2.11: Modelo de “Point”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

Figura 2.12: Modelo de “Curve”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

Page 43: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

41

Surface: Definido como um objeto 2-dimensional. Sua forma simples possui

um limite exterior e zero ou mais limites interiores. A SFS especifica duas subclasses

para esse modelo a classe “Polygon” e a classe “PolyhedralSurface”, de acordo com a

Figura 2.13.

Essa parte da especificação também define os principais relacionamentos

entre entidades geográficas. Abaixo alguns exemplos desses relacionamentos.

Equals: Retorna verdadeiro caso uma geometria “A” seja espacialmente igual

a uma geometria “B”. E pode ser aplicado a qualquer combinação de tipos de

geometrias.

Disjoint: Retorno verdadeiro caso uma geometria “A” esteja espacialmente

disjuntas, ou seja, separadas, de uma geometria “B”. Também pode ser aplicado a

qualquer combinação de tipos de geometrias.

Figura 2.13: Modelo de “Surface”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

Figura 2.14: Exemplo de Disjoint. A geometria “A” é espacialmente separada da geometria “B”.

A B

Page 44: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

42

Touches: Retorna verdadeiro caso uma geometria “A” toque em uma

geometria “B”. Esse relacionamento pode ocorrer em pares de geometrias do tipo

Área/Área, Linha/Linha, Linha/Área, Ponto/Área e Ponto/Linha. A Figura 2.15 mostra

exemplos desse relacionamento.

Crosses: Retorna verdadeiro caso uma geometria A cruze uma geometria B.

Pode se aplicado em pares de geometrias do tipo Linha/Linha e Linha/Área. A Figura2.16 demonstra exemplos desse relacionamento.

Figura 2.15: Exemplo do relacionamento “touches”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006).

Linha/Área Ponto/Área Ponto/Linha

Linha/LinhaÁrea/Área

Figura 2.16: Exemplo do relacionamento “crosses”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006).

Linha/Área Linha/Linha

Page 45: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

43

Contains: Retorna verdadeiro se uma geometria “A” contém uma geometria

“B”. Pode ser aplicado a qualquer combinação de tipos de geometrias. A Figura 2.17 mostra exemplos desse relacionamento.

Overlaps: Retorna verdadeiro se uma geometria “A” sobrepões uma

geometria “B”. Pode ser aplicado a pares de geometrias do tipo Linha/Linha e Área/Área.

A Figura 2.18 apresenta exemplos dessa relação entre geometrias.

O SFS propõe também modelos gramaticais de representação dos dados

Figura 2.17: Exemplo do relacionamento “contains”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006).

Área/Área Área/Ponto

Área/LinhaLinha/Ponto

Figura 2.18: Exemplo do relacionamento “overlaps”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006).

Área/ÁreaLinha/Linha

Page 46: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

44

geográficos, o WKB (Well-known Binary Representation for Geometry), e o WKT

(Well-known Text Representation for Geometry). A seguir, mais detalhes de cada uma

dessas formas de representação dos dados geográficos.

WKB: Provê uma representação portável de objetos geométricos como uma

cadeia contínua de bytes, permitindo uma troca mais simples desses entre o cliente e a

aplicação. No Postgis a informação sobre os atributos geográficos são armazenadas

dessa maneira.

A Figura 2.19 mostra os principais códigos inteiros comuns para os tipos

geométricos.

E na Figura 2.20, tem-se um esquema de como é representado a

informação no formato WKB. A figura especifica que o objeto espacial está

representado no formato NDR12 (B=1), que é do tipo “Polygon” (T=3) e que é formado

por dois anéis (NR=2) cada um com 3 pontos (NP=3).

12 Tipo de representação para números “Unsigned Integer” e “Double”.

Figura 2.19: Códigos Inteiros para tipos geométricos. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).

Page 47: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

45

WKT: Forma textual de representação dos dados das entidades geográficas.

A Tabela 2.3 mostra exemplo dos principais tipos.

Tabela 2.3: Exemplos de WKT.

Tipo de geometria Representação textual Comentário

Point Point (10 10) Um “Point”

LineString LineString ( 10 10, 20 20, 30 40) Uma “LineString” com 3 pontos

Polygon Polygon((10 10, 10 20, 20 20, 20 15, 10 10))

Um “Polygon” com 1 anel externo e zero anéis internos

Multipoint MultiPoint ((10 10), (20 20)) Um “MultiPoint” com 2 pontos

MultiLineString MultiLineString((10 10, 20 20), (15 15, 30 15))

Uma “MultiLineString” com 2 “Linestrings”.

MultiPolygon MultiPolygon(((10 10, 10 20, 20 20, 20 15, 10 10)),((60 60, 70 70, 80 60, 60 60 )))

Uma “MultiPolygon” com 2 polígonos

Figura 2.20: Exemplo de WKB. FONTE: OPEN GEOSPATIAL CONSOSRTIUM (2006).

Page 48: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

46

GeomCollection GeometryCollection(POINT (10 10),POINT (30 30),LINESTRING (15 15, 20 20))

Uma “GeometryCollection”composta por 2 valores do tipo “Point” e um valor do tipo “LineString”

PolyhedralSurface PolyhedralSurface Z(((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)),((0 0 1, 1 0 1, 1 1 1, 0 1 1. 0 0 1)))

Um cubo poliédrico,com um canto na origem e com o canto oposto em (1, 1, 1)

Tin Tin Z (((0 0 0, 0 0 1, 0 1 0, 0 0 0)),((0 0 0, 0 1 0, 1 0 0, 0 0 0)),((0 0 0, 1 0 0, 0 0 1, 0 0 0)),((1 0 0, 0 1 0, 0 0 1, 1 0 0)),)

Um tetraedro (4faces triangulares),com um canto na origem

Point Point Z (10 10 5) Um ponto 3D

Point Point ZM (10 10 5 40) O mesmo ponto 3D com o valor M igual a 40

Point Point M (10 10 40) Um ponto 2D com o valor M igual a 40

FONTE: OPEN GEOSPATIAL CONSORTIUM

Já a segunda parte da SFS, especifica a parte de acesso aos dados,

definindo um esquema SQL para armazenamento, consulta e atualização de entidades

geográficas. Além de definir os conceitos e formatos de tabelas de feição e tabelas de

metadados13.

Nesse capítulo viu-se o paradigma dos quatro mundos, proposto por

CÂMARA (2005), que demonstra os passos e escolhas necessárias para a

transposição da informação geográfica do mundo real para o ambiente computacional.

Foi descrito também nesse capítulo, dois padrões muito utilizados para a representação

computacional da IG, o Shapefile, e o padrão SFS com suas especificações sobe

entidades geométricas, modelos, relacionamentos entre essas entidades e as

representações dessas informações como o WKB e o WKT.

13 Veja mais informações no capítulo 3, subtítulo 3.2.2 Tabelas do Sistema.

Page 49: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

47

3 ARMAZENAMENTO DA INFORMAÇÃO GEOGRÁFICA

Esse capítulo discorre sobre o armazenamento de informações geográficas

em um SGBD, fala sobre o Postgis, que é a extensão espacial do SGBD PostgreSQL e

que implementa o padrão SFS além de exemplificar vários tipos de operações e

consultas sobre dados espaciais.

3.1 Banco de Dados Espaciais

São Sistemas de Gerenciamento de Bancos de Dados (SGBD) com

capacidade para trabalhar com tipos de dados espaciais. Eles basicamente oferecem

armazenamento e recuperação dos dados espaciais e seus atributos além de operações

sobre esses dados.

Atualmente vários SGBDs possuem suporte para o trabalho com dados

espaciais. Entre os SGBDs proprietários cita-se o ORACLE Spatial, Microsoft SQL

Server 2005 com sua extensão espacial MsSqlSpatial e IBM DB2 Spatial Extender, e

Page 50: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

48

entre os SGBDs livres14 pode-se citar o PostgreSQL com sua extensão Postgis e o

MySQL Spatial todos eles em conformidade com o padrão SFS. Este trabalho foca no

Postgis devido ser um SGBD livre robusto e estar de acordo com a especificação SFS

versão 0.9 do OGC (Open Geospatial Consortium) na sua versão 1.4.0.

3.2 Postgis

O Postgis, que é uma extensão do SGBD PostgreSQL, está sob a GNU

General Public License15 e atualmente está na sua versão 1.4.0. Ele adiciona

funcionalidades ao PostgreSQL que permitem o armazenamento e processamento de

dados geográficos, implementando a especificação SFS o que possibilita que diferentes

tipos de softwares, que seguem esse padrão, possam acessar e trabalhar com as

informações armazenadas.

3.2.1 PostgreSQL

O PostgreSQL é um SGBD objeto relacional de código fonte aberto, é

descendente do sistema "Postgres" que por sua vez é descendente de um projeto mais

antigo de SGBD chamado "Ingres" que surgiu em meados de 1970 criado pela equipe

do Professor Michael Stonebreaker na Universidade de Berkeley e foi um dos primeiros

Sistemas de Bancos de Dados Relacional.

O SGBD PostgreSQL fornece suporte para SQL92 e SQL:1999 além de

suporte completo para joins, triggers e stored procedures (em múltiplas linguagens),

views, chaves estrangeiras, integridade transacional e controle de concorrência de

múltiplas versões. Possui a maioria dos tipos de dados do SQL:2008 incluindo

INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL e

TIMESTAMP, além de permitir a adição de novos tipos como ISBN16/ISSN17, tipos para

14 Veja definição de software livre no capítulo 4 subtítulo 4.1 Software Livre.15 Veja capítulo 4 subtítulo 4.1.1 Licenças16 International Standard Book Number – sistema internacional padronizado que identifica

numericamente os livros segundo o título, o autor, o país, a editora, individualizando-os inclusive por edição, IBCT (2009).

17 International Standard Serial Number – é um número de identificação único, internacionalmente reconhecido para publicações seriadas, IBCT (2009).

Page 51: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

49

armazenamento de endereços de redes além dos tipos geométricos e espaciais.

Também suporta o armazenamento de objetos binários grande como sons,

imagens ou vídeos. PostgreSQL funciona com várias linguagens de programação como

C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, a sua própria PL / pgSQL que é

semelhante ao Oracle PL / SQL entre outras, além de possuir uma vasta documentação.

A Tabela 3.1 abaixo mostra os limites máximos suportados pelo PostgreSQL

na sua versão 8.4.

Tabela 3.1: Limites máximos do PostgreSQL 8.4.

Propriedade Limite

Limite máximo do Banco de Dados Ilimitado

Limite máximo de tabela 32 TB

Limite máximo de linha 1,6 TB

Limite máximo de campo 1 GB

Limite máximo de linhar por tabela Ilimitado

Limite máximo de colunas por tabela 250 - 1600*

FONTE: POSTGRESQL (2009).

3.2.2 Tabelas do Sistema

O Postgis contém duas tabelas de sistema que são especificadas pelo

padrão SFS. Uma chamada de "spatial_ref_sys" e outra de "geometry_columns",

mostradas na Figura 3.1.

* dependendo do tipo de dados das colunas.

Page 52: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

50

A primeira "spatial_ref_sys" possui uma lista (cerca de três milhares de

registros) com a maioria dos sistemas de projeções cartográficas18 existentes. Esses

sistemas de projeções serão utilizados para determinar a localização das coordenadas

de uma determinada informação geográfica armazenada na tabela. Essa tabela será

referenciada pela tabela "geometry_columns" na coluna "srid".

A segunda tabela "geometry_columns" armazena informações sobre cada

uma das colunas geométricas do banco espacial. Cada registro nessa tabela do sistema

armazena informações de qual é o nome da tabela da coluna com a geometria, qual o

nome do schema a que essa tabela pertence, o nome da coluna que contém as

informações geográficas e o tipo de dado armazenado na coluna geométrica19, o sistema

de projeção cartográfica adotado para essa tabela além de um identificador único para

cada registro.

3.2.3 Tipos de Dados

Os principais tipos de dados do Postgis são: POINT (ponto), LINESTRING

(linha), POLYGON (polígono), MULTIPOINT (multi-pontos), MULTILINESTRING

18 Veja capítulo 1 subtítulo 1.1.2 Sistemas de Projeções Cartográficas19 Veja subtítulo 3.2.3 Tipos de Dados

Figura 3.1: Tabelas de sistema do Postgis.

Page 53: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

51

(multi-linhas), MULTIPOLYGON (multi-polígonos), GEOMETRYCOLLECTION(coleção

de geometrias).

Uma forma fácil de inserir dados geográficos em uma tabela, é utilizando a

função GeomFromText( Text WKT, SRID), que recebe um texto no formato WKT e o

SRID associado à geometria, e o transforma em uma geometria para inserção no banco

de dados (formato WKB).

A Tabela 3.2 mostra exemplos de inserções em uma tabela geográfica.

Lembre que é necessário que a tabela possua o mesmo tipo de dado que se deseja

inserir, por exemplo, não é permitido inserir linhas em uma tabela que armazene pontos.

Tabela 3.2: Exemplos de comandos de inserção para dados geográficos.

Tipo Comando de inserção

POINT INSERT INTO feicao_point (the_geom) VALUES (GeomFromText('POINT(0 0)', 29194));

LINESTRING INSERT INTO feicao_linestring (the_geom) VALUES (GeomFromText('LINESTRING(0 0,1 1,1 2)', 29194));

POLYGON INSERT INTO feicao_polygon (the_geom) VALUES (GeomFromText('POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))', 29194));

MULTIPOINT INSERT INTO feicao_multipoint (the_geom) VALUES (GeomFromText('MULTIPOINT(0 0,1 2)', 29194));

MULTILINESTRING INSERT INTO feicao_multilinestring (the_geom) VALUES (GeomFromText('MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))', 29194));

MULTIPOLYGON INSERT INTO feicao_multipolygon (the_geom) VALUES (GeomFromText('MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))', 29194));

GEOMETRYCOLLECTION INSERT INTO feicao_geometry_collection (the_geom) VALUES (GeomFromText('GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))', 29194));

3.2.4 Criando Banco de Dados Espaciais

Page 54: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

52

Para a criação de um banco de dados espaciais, basta executar o seguinte

comando no PostgreSQL:

Para a criação de uma tabela espacial no seu novo banco, execute a seguinte

instrução:

Observe que a coluna com a geometria foi adicionada através da função

"AddGeometryColumn" do Postgis. As colunas geométricas devem preferencialmente

ser adicionada à tabela através dessa função, cuja a sintaxe pode ser vista abaixo:

Os seus atributos são:

• <nome_schema>: nome do "schema" a que a tabela pertence.

• <nome_tabela>: nome da tabela que receberá a coluna geométrica.

• <nome_coluna>: Nome da nova coluna de geometria.

• <srid>: SRID ou Spatial Reference System Identifier. Número do sistema de

CREATE DATABASE meu_banco_espacial TEMPLATE=template_postgis

CREATE TABLE minha_feicao ( id INTEGER, nome VARCHAR(20) );SELECT AddGeometryColumn(’’,

’minha_feicao’, ’geometria’, -1, ’LINESTRING’, 2);

AddGeometryColumn(<nome_schema>,<nome_tabela>,<nome_coluna>,<srid>,<tipo_geometria>,<dimensao>

)

Page 55: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

53

coordenadas, referência a tabela do sistema "spatial_ref_sys", quando o valor

não for definido deve-se setar o valor -1.

• <tipo_geometria>: Um dos tipos de geometria do Postgis.

• <dimensao>: O número de dimensões da coluna, que podem ser 2, 3 ou 4 no

Postgis.

Ao ser executada, essa função cria a coluna na tabela passada como

parâmetro e em seguida insere um registro na tabela do sistema "geometry_columns"

com todas as informações da coluna geométrica criada.

3.2.5 Convertendo ESRI Shapefile para SFS

O Postgis possui um aplicativo que permite a conversão de arquivos ESRI

Shapefile para o formato SFS. Em sua instalação padrão, o Postgis trás o aplicativo

"shp2pgsql" que possui essa finalidade. Esse aplicativo fica localizado dentro do sub-

diretório "bin" da pasta de instalação do PostgreSQL.

Preparando os arquivos

Primeiramente deve-se preparar os dados para a importação. Isso significa

que deve-se copiar o shapefile (que é composto por três arquivos) e o arquivo do

aplicativo "shp2pgsql" para um mesmo diretório como na Figura 3.2. Em nosso exemplo

eles estarão no diretório "C:\Temp".

Page 56: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

54

Convertendo Arquivos

Após esse procedimento, deve-se abrir um console e entrar, através de

comandos, dentro do diretório onde foram colocados os arquivos do shapefile e o

programa "shp2pgsql". Em seguida deve-se digitar o seguinte comando, supondo que já

se esteja dentro do diretório:

Onde os parâmetros significam:

• -s: Corresponde a localização do Hemisfério Sul.• 29194: Juntamente com o parâmetro anterior, referencia o SRID do Postgis No

nosso caso, esse valor representa o sistema SAD 69 24S20.• limites_municipais.shp: Nome do arquivo que deseja-se importar.• limites_municipais: Nome da tabela que será criada no Banco de Dados.• limites.sql: arquivo SQL que será criado no diretório onde estão os arquivos.

Importando para o Banco de Dados

Com o arquivo SQL gerado, pode-se agora inserir essas informações no

Banco de Dados Espaciais Postgis. Para isso, no PgAdmin III21, primeiramente

selecione o banco espacial que deseja importar a nova tabela, Figura 3.3 seta 1, em

20 Um dos sistemas de projeções existentes. Muito utilizado no estado do Ceará.21 Interface gráfica para gerenciamento do SGBD PostgreSQL.

C:\Temp>shp2pgsql -s 29194 limites_municipais.shp limites_municipais > limites.sql

Figura 3.2: Preparação dos arquivos para conversão.

Page 57: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

55

seguida clique no botão "Executar consultas SQL", Figura 3.3 seta 2.

Na janela que se abrirá, clique em "abrir arquivo", Figura 3.4 seta 1, e

selecione o arquivo criado, em seguida clique no botão "executar consulta", Figura 3.4 seta 2. Após esse procedimento ser concluído com sucesso, seu banco espacial

possuirá a nova tabela de feição geográfica.

O Postgis também possui uma ferramenta que faz o caminho inverso,

convertendo tabelas de feições em shapefile. Esse procedimento é descrito em

“PostGIS 1.4.0 Manual”.

Figura 3.3: Selecionando banco para receber a nova tabela.

Figura 3.4: Executando importação.

1

2

1 2

Page 58: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

56

3.2.6 Índices

Os índices em um SGBD, tem a função de acelerar o tempo de acesso às

linhas de uma tabela. Para para grandes tabelas com dados espaciais (com cerca de

algumas mil linhas), torna-se imprescindível a utilização de índices para a realização das

buscas sobre os seus atributos espaciais.

O PostgreSQL atualmente oferece suporte para 4 tipos de índices: Hash ,

Árvore B, Árvore R e GiST.

Hash

No PostgreSQL implementam o hash linear. Esse tipo de índice é útil apenas

para operações de igualdade simples. No PostgreSQL o índice hash não tem

apresentado um bom desempenho, sendo desencorajado seu uso, sendo aconselhado

substituí-lo por índice de Árvore B ou índice de Árvore R.

Árvore B

Esse índice é o índice-padrão do PostgreSQL, é assumido quando não se

informa o tipo de indexação ao criar um índice. Esse índice é um método de Árvore B e

é usado para consultas que utilizem os operadores <, <=, =, >=, > além de LIKE, ILIKE

~ e *~. Como as Informações Geográficas não podem ser racionalmente ordenados,

esse tipo de índice não é útil para a indexação, pois é difícil dizer quem é maior entre as

coordenadas (0,0) , (0,1) (1,0).

Árvore R

Utilizado apenas para operações de sobreposição nos tipos de dados

espaciais simples como pontos, linhas e retângulos . De acordo com

SILBERCHARTCZ (2006), Uma árvore R é uma estrutura de árvore balanceada com os

objetos indexados armazenados nos nós folhas, semelhante a árvore B+. Contudo ao

invés de armazenar intervalos de valores, cada nó da árvore é associado o retângulo

envolvente do objeto. A Figura 3.5 mostra um exemplo de retângulo envolvente (em

vermelho) que é o menor retângulo paralelo aos eixos que contém o objeto.

Page 59: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

57

Na Árvore R, os nós folhas possuem o retângulo envolvente de seus objetos,

já os nós internos, possuem o retângulo envolvente que contém as caixas de contorno

do seus nós filhos. Nesse tipo de índice, cada nó armazena o retângulo envolvente dos

seus nós filhos junto com o ponteiro para os nós filhos. Já cada nó folha armazena o

objeto indexado, que opcionalmente poderá armazenar as caixas de contornos do seu

objeto, pois elas auxiliam na verificação de sobreposições exceto quando os objetos

indexados forem retângulos, pois os retângulos envolventes seriam idênticos ao objeto

indexado.

A Figura 3.6 mostra um exemplo de uma árvore R. Na figura, os nós folhas

possuem polígonos dos açudes, com seus respectivos retângulos envolventes em

vermelho, os nós folhas são denominados por letras. E os nós da árvore R possuem os

retângulos envolventes que possuem os seus nós folhas, e são representados na figura

pelos retângulos verdes com numeração arábica. Na figura elas são um pouco maiores

para facilitar a visualização, mas na realidade eles ficariam colados nos limites dos

objetos que contém.

A Árvore R propriamente dita está no lado direito da Figura 3.6 a figura a

esquerda refere-se apenas às coordenadas do retângulo envolvente i dos nós internos

da árvore, denominados de BBi (na cor verde), e dos retângulos envolventes dos

atributos geográficos (na cor vermelha).

Figura 3.5: Exemplo de Retângulo envolvente. FONTE: <http://150.164.29.11/mapserver-intro/img/exercicio01_extent.png>

Page 60: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

58

De acordo com NEUFELD (2009), os índices de Árvore R no PostgreSQL

não são "null safe", logo se ao criar um índice sobre uma coluna de geometria e ela

contiver valores nulos, a indexação falhará. Desde a versão 0.6 as árvores R foram

completamente descartadas do PostgreSQL, sendo substituídas por implementações de

Árvores R sobre GiST.

GiST

GiST (Generalized Search Trees) é uma forma generalizada de indexação,

que reúne uma grande variedade de diferentes algoritmos de indexação e pesquisa. É

um índice baseado em árvore, com método de acesso balanceado, estruturado em

árvore, que pode ser usado para implementar uma família inteira de índices diferentes,

por exemplo, índices de Árvore B e índices de Árvore R.

Esse índice fornece uma interface que permite tanto a criação de tipos de

dados personalizados, bem como métodos de consulta extensíveis com o qual permite-

se busca-los.

O índice GiST procura por dados em "things to one side" (coisas que são

vizinhas), "things which overlap" (coisas que se sobrepõem), "things which are inside"

Figura 3.6: Uma Árvore R. FONTE: Adaptado de informações fornecidas pela Companhia de Gestão dos Recursos Hídricos - COGERH.

BB1 BB2

A B C D E F

Page 61: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

59

(coisas que estão dentro) e podem ser usadas em vários tipos de dados, inclusive

dados geográficos. Ele é usado para acelerar as buscas em todos os tipos de estruturas

de dados irregulares que não são facilmente indexados numa árvore B.

A sintaxe para construir um índice de GiST em uma coluna de geometria é a

seguinte:

Em seguida, é importante forçar PostgreSQL a coletar estatísticas de tabela

que são usadas para otimizar planos de "query":

Segundo NEUFELD (2009), no PostgreSQL, os índices GiST têm duas

vantagens em relação a índices de árvore R. Primeiramente os índices GiST são "null

safe" (segurança nula), ou seja, significa que eles podem indexar colunas que incluem

valores nulos o que não acontece com o índice de árvore R. Em segundo lugar, índices

GiST apoiam o conceito de "lossiness" que é importante quando se possui objetos de

tamanhos maiores que 8K. "Lossiness" permite ao PostgreSQL armazenar apenas a

parte importante de um objeto em um índice - no caso de objetos de geográficos,

apenas o retângulo envolvente. Objetos geográficos maiores que 8K causarão índices

de árvore R para falhar no seu processo de construção.

3.2.7 Operações e consultas sobre a informação geográfica

Segundo CÂMARA (2005), as operações sobre dados espaciais podem ser

definidas da seguinte forma:

Operação Unária Booleana

Esse tipo de operação mapeia geometrias em valores booleanos (verdadeiro

ou falso). Um exemplo de consulta seria saber se uma geometria é convexa22. Por

22 Um polígono é dito NÃO convexo se dados dois pontos do polígono, o segmento formado por esses pontos contiver pontos que estão fora do polígono.

CREATE INDEX [nome_index] ON [nome_tabela]USING GIST ( [coluna_geometrica] );

VACUUM ANALYZE [nome_tabela] ( [nome_coluna] );

Page 62: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

60

exemplo pode-se fazer a pergunta: O contorno de Fortaleza representa um polígono

convexo (Figura 3.7)?

Operação Unária Escalar

Nessa operação, os atributos geométricos são mapeados em valores

escalares. Como exemplo dessa operação tem-se a pergunta: “Qual a área do

município de fortaleza?”

Essa pergunta pode ser respondida através da seguinte consulta que utiliza

função do Postgis chamada AREA(geometria geom), que recebe uma geometria como

parâmetro, que no exemplo é a coluna "the_geom" que contém a informação

geométrica:

Figura 3.7: Operação unária booleana. O município de Fortaleza é convexo?

Município de Fortaleza

Polígono convexo

Polígono não convexo

Page 63: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

61

O valor de retorno dessa função depende da medida adotada no sistema de

coordenadas da geometria, no caso do SAD 69 24s por exemplo, essa medida é metros,

o que faz a função AREA(geometria geom) retornar um valor em metros quadrados.

Operação Unária Espacial

A operação Unária espacial mapeia geometrias em outras geometrias. Nesse

tipo de operação sobre dados espaciais, cada geometria é convertida em uma nova

geometria. Abaixo tem-se alguns exemplos:

Buffer: Também conhecidos por "buffer zones" ou mapas de distância, são

áreas construídas ao redor de objetos mantendo certa distancia, CÂMARA(2005). Em

geometrias do tipo ponto, o buffer é construído apenas criando um circulo de raio r. A

Figura 3.8 mostra o princípio para criação de buffers.

Esse recurso é muito prático por exemplo quando se deseja determinar uma

área de proteção ambiental ao redor de um açude. Supondo que a área de preservação

ambiental seja definida como uma distância de 100 metros a partir da borda de um

CONSULTA: SELECT municipio AS municipio, AREA(the_geom) as m2

FROM limites_municipais WHERE municipio LIKE 'Fortaleza';

RETORNO: municipio m2 Fortaleza | 313240185.82959

Figura 3.8: Princípio básico para a criação de buffer. FONTE CÂMARA (2005)

Page 64: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

62

açude. A reposta à pergunta: "Qual o limite da área de proteção ambiental do açude

Penedo no estado do Ceará?" pode ser obtida através da seguinte consulta.

Ela utiliza a função BUFFER( geometria geom, double valor) do Postgis,

que recebe uma geometria e um valor como parâmetro e retorna uma nova geometria a

partir do valor da distância fornecida. Observe que o valor passado como parâmetro

deve ser compatível com o sistema de coordenadas da feição cartográfica (metros,

hectares, quilômetros).

A Figura 3.9 (b), mostra o resultado obtido através da consulta, juntando-se

as feições do acude, visto na Figura 3.9 (a), pode-se observar claramente a área de

preservação ambiental ao redor do açude, Figura 3.9 (c).

SELECT acude as acude, BUFFER( the_geom, 100 )FROM acudesWHERE acude LIKE 'PENEDO';

Figura 3.9: Exemplo de Buffer Zone ou Mapa de Distância.

(a) Açude Penedo(b) Buffer Zone de 100 metros

(c) Área de Proteção Ambiental

Page 65: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

63

ConvexHull: Nesse outro tipo de operação unária espacial, uma geometria é

convertida em outra geometria que representa seu polígono convexo. Ela pode ser

executada no SGBD através da instrução CONVEXHULL ( geometria geom), a

consulta abaixo por exemplo, mostra a forma de se obter o polígono convexo que

contém o município de Fortaleza.

A Figura 3.10 (b) mostra o resultado da consulta acima, a figura Figura 3.10 (a), mostra o contorno do município de Fortaleza e a Figura 3.10 (c) mostra a

sobreposição das duas imagens. Elas foram colocadas apenas para uma melhor

compreensão do resultado obtido.

Operação Binária Booleana

Essa operação mapeia pares de entidades geométricas em valores

booleanos e pode ser subdividida em:

SELECT CONVEXHULL(the_geom) FROM limites_municipaisWHERE municipio LIKE 'Fortaleza';

Figura 3.10: Exemplo da função ConvexHull.

(a) Geometria de Fortaleza (b) Resultado da consulta(polígono convexo)

(c) sobreposição

Page 66: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

64

Relacionamentos Topológicos: São relacionamentos que não são alterados

por transformações topológicas como: translação, rotação e mudanças de escala, como

operações do tipo “Contains”, “Disjoint”, “Touches”, “Intersects” e “Crosses”.

Como exemplo dessas operações, pode-se ter uma situação onde se deseja

saber: “Quais os municípios do estado do Ceará, são cortados (interceptados) pelo

Canal da Integração?”. A seguinte consulta retornaria a informação requerida:

Observe que a função INTERSECTS(geometria geomA, geometria geomB) recebe duas geometrias e retorna verdadeiro caso a primeira geometria

(geomA) intercepte a segunda geometria (geomB). O resultado da consulta pode ser

observado na Figura 3.11 pelos municípios coloridos. O canal da integração está em

azul.

SELECT m.gid, m.municipio, m.the_geomFROM limites_municipais mINNER JOIN canal_integracao c ON

INTERSECTS(c.the_geom, m.the_geom) IS NOT FALSE

Figura 3.11: Exemplo da função INTERSECT. FONTE: COGERH.

Page 67: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

65

Outra função pertencente a esse grupo é a função DISJOINT (geometria geomA, geometria geomB), que retorna verdadeiro caso a primeira geometria (geomA)

seja espacialmente separada da segunda geometria (geomB). Essa relação pode ser

usada para comparações de vizinhança como o seguinte exemplo: “O município de

Fortaleza é vizinho do município de Maranguape?”. A reposta para essa questão pode

ser obtida a partir da seguinte consulta.

A Figura 3.12 apresenta os contornos do município de fortaleza e do

município de Maranguape. Observe que esses municípios não se tocam em nenhum

ponto e estão espacialmente separados, demonstrando que o retorno da função acima

está correto, pois os municípios de Fortaleza e Maranguape não são vizinhos.

Figura 3.12: Municípios de Fortaleza e Maranguape são espacialmente separados. FONTE: COGERH.

CONSULTA:

SELECT DISJOINT( SELECT the_geom FROM limites_municipais WHERE municipio LIKE 'Fortaleza' , SELECT the_geom FROM limites_municipais WHERE municipio LIKE 'Maranguape'

); RETORNO:

TRUE -- ou seja, estão espacialmente separados

Page 68: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

66

A resposta a pregunta também poderia ser respondida, nesse caso

específico, utilizando a função TOUCHES(geometria geomA, geometria geomB) que retornaria “verdadeiro” caso as geometrias não se tocassem, como no caso de

Fortaleza e Maranguape, mas em casos especiais, de uma geometria estar incluída

(contida) na outra e não se tocarem, como na Figura 3.13, poderia-se ter uma resposta

errônea pois o a função TOUCHES retornaria FALSE (falso), pois as geometrias não se

tocariam, mas elas não poderiam ser consideradas vizinhas pois uma estaria contida na

outra, não estando espacialmente separadas.

Relacionamento Direcional: Esse relacionamento declara uma relação de

direção entre as geometrias. Por exemplo, dizer que Fortaleza esta ao norte de

Pacatuba, Figura 3.14, é um exemplo desse relacionamento.

Figura 3.13: Geometria B contida na geometria A sem tocá-la.

AB

Figura 3.14: Exemplo de relacionamento Binário Booleano Direcional. Fortaleza ao norte de Pacatuba. FONTE: COGERH.

Page 69: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

67

Para esse tipo de consulta são utilizados operadores especiais no Postgis,

vistos na Tabela 3.3, e a consulta abaixo mostra um exemplo de utilização um desses

operadores (“|&>”).

Tabela 3.3: Operadores Binários Booleanos Direcionais.

Operador Exemplo Descrição

&& A && B Retorna “verdadeiro” quando o RE da geometria A SOBREPÕE o RE da geometria B.

&< A &< B Retorna “verdadeiro” quando o RE da geometria A SOBREPÕE ou está à ESQUERDA do RE da geometria B.

&<| A &<| B Retorna “verdadeiro” quando o RE da geometria A SOBREPÕE ou está ABAIXO do RE da geometria B.

&> A &> B Retorna “verdadeiro” quando o RE da geometria A SOBREPÕE ou está à DIREITA do RE da geometria B.

|&> A |&> B Retorna “verdadeiro” quando o RE da geometria A SOBREPÕE ou está ACIMA do RE da geometria B.

<< A << B Retorna “verdadeiro” quando o RE da geometria A está totalmente à ESQUERDA do RE da geometria B.

<<| A <<| B Retorna “verdadeiro” quando o RE da geometria A está totalmente ABAIXO do RE da geometria B.

>> A >> B Retorna “verdadeiro” quando o RE da geometria A está totalmente à DIREITA do RE da geometria B.

|>> A >> B Retorna “verdadeiro” quando o RE da geometria A estiver totalmente ACIMA do RE da geometria B.

@ A @ B Retorna “verdadeiro” quando o RE da geometria A estiver totalmente CONTIDA no RE da geometria B.

~ A ~ B Retorna “verdadeiro” quando o RE da geometria A CONTIVER totalmente o RE da geometria B.

= A = B Retorna “verdadeiro” quando o RE da geometria A for IDÊNTICO ao RE da geometria B.

CONSULTA: SELECT( (SELECT (the_geom) FROM limites_municipais WHERE municipio LIKE 'Fortaleza') |&> (SELECT (the_geom) FROM limites_municipais WHERE municipio LIKE 'Pacatuba') );

RETORNO: TRUE

Page 70: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

68

~= A ~= B Retorna “verdadeiro” quando a geometria A for IDÊNTICA à geometria B.

Legenda: RE = Retângulo envolvente, Figura 3.5.

Relacionamento Métrico: Nesse tipo de relacionamento entre entidades

geográficas, é expressa uma relação métrica entre as entidades. Como exemplo, poder-

se ter um relacionamento que retorne o valor “verdadeiro” caso duas entidades estejam

a menos de trinta metros uma da outra.

Operação Binária Escalar

Nessa operação, mapeia-se pares de geometrias em um valor escalar .Por

exemplo a função DISTANCE(geometria geomA, geometria geomB), que calcula a

distância existente entre as duas geometrias. A consulta abaixo mostra um exemplo de

sua utilização, onde deseja-se saber “Qual a distância em linha reta da sede da

prefeitura de Fortaleza para a sede da prefeitura de Maranguape?”

Operação Binária Espacial

Nessa operação, são mapeadas pares de geometrias em geometria.

Exemplos desse tipo de operação são funções de operação de conjuntos, como

INTERSECTION (interseção), UNION (união) e DIFFERENCE (diferença). Abaixo um

exemplo desse tipo de operação, onde se faz a diferença entre a geometria do mapa de

CONSULTA: SELECT DISTANCE( (SELECT the_geom FROM prefeituras_municipais WHERE municipio LIKE 'Fortaleza')

, (SELECT the_geom FROM prefeituras_municipais WHERE municipio LIKE 'Maranguape') );

RETORNO 38861.26086 -- resultado em metros de dependendo do SRID

Page 71: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

69

distância do açude Penedo, no estado do Ceará, e a geometria do próprio açude, o que

retorna apenas a geometria da área de preservação ambiental do açude. A consulta

utiliza a função DIFFERENCE(geometria geomA, geometria geomB), que faz a

diferença da primeira geometria (geomA) com a segunda geometria (geomB) passadas

como parâmetro.

A consulta anterior utiliza a função BUFFER apenas para calcular o mapa de

distâncias (buffer zone) do açude “São Domingos”, a Figura 3.15 (c) mostra o resultado

da consulta. A Figura 3.15 (a) apresenta o contorno do acude e a Figura 3.15 (b) mostra o mapa de distancia, gerado pela função BUFFER apenas para melhor

compreensão do resultado.

SELECT gid, nome_acude,DIFERENCE (BUFFER(the_geom, 100), the_geom) FROM acudes WHERE nome_acude LIKE 'SÃO DOMINGOS';

Figura 3.15: Exemplo de DIFFERENCE. FONTE: COGERH.

(a) geometria do açude (b) mapa de distância(buffer zone)

(c) Difference aplicado entre (b) e (a).

Page 72: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

70

Operação n-ária Espacial

Nesse tipo de operação, mapeiam-se n-entidades geométricas em

geometrias. A função ConvexHull(geometria[] geom), recebendo mais de uma

geometria como parâmetro pode pertencer a esse tipo de operação espacial, pois

retorna um único polígono convexo que envolva todas as geometrias.

Esse capítulo explanou sobre o SGBD PostgreSQL e suas características, e

também sobre o Postgis que adiciona funcionalidades a esse SGBD para que possa

trabalhar com dados geográficos. Mostrou, a forma de indexação de dados geográficos

e demonstrou a forma de armazenamento dessas informações e suas representações,

ilustrando várias formas de se trabalhar com a informação geográfica, exemplificando as

principais operações sobre esses dados.

Page 73: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

71

4 VISUALIZAÇÃO DE DADOS GEOGRÁFICOS

Esse capítulo expõe o que vem a ser um software livre e também mostra

alguns desses softwares que podem ser utilizadas para o trabalho com a Informação

Geográfica.

4.1 Software Livre

Software livre é um software de computador como qualquer outro. A principal

diferença entre softwares livres e softwares proprietários está no tipo de licença

associada ao software. Para um software ser considerado livre, ele deve atender a

quatro princípios básicos, chamados de liberdades essenciais:

A liberdade de executar o programa, para qualquer propósito (liberdade 0).

A liberdade de estudar como o programa funciona, e alterá-lo para atender suas

necessidades (liberdade 1). Acesso ao código-fonte é uma condição para essa

liberdade.

Page 74: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

72

A liberdade de redistribuir cópias de modo que, você possa ajudar ao seu

próximo (liberdade 2).

A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos (e

versões modificadas em geral) ao público, de modo que toda a comunidade se

beneficie(liberdade 3). Acesso ao código-fonte é uma condição para essa

liberdade.

Outro ponto importante está no conceito que software livre está relacionado a

liberdade e não conceito de preço, pois o usuário tem a liberdade de distribuir cópias e

cobrar por elas se desejar tendo consciência de que pode fazer isso de acordo com a

licença.

Para UCHOA (2004), o conceito de Software livre, está associado a um

grande movimento social, onde a ideia de liberdade do uso do software é pregada como

solução do problema gerado pela limitação do conhecimento tecnológico imposta pelos

sistemas proprietários.

Software livre não é sinônimo de "não comercial", e ele pode e deve ser

utilizado comercialmente. Atualmente um dos maiores incentivadores do uso software

livre no Brasil é o próprio governo. De acordo com o PORTAL DO SOFTWARE LIVRE,

o Governo Federal amparou-se no estudo da Fundação Getúlio Vargas, que foi

encomendado pelo Instituto Nacional de Tecnologia da Informação - ITI, que garantiu

que a Licença Pública Geral - GLP, em sua versão em português 2.0 não fere a

Constituição e também não fere o ordenamento jurídico brasileiro, podendo ser utilizada

com o devido amparo legal.

4.1.1 Licenças

Existem diversos tipos de licenças para software livre, mas a principal é a

GNU GPL General Public License, que também pode ser chamada apenas de GLP, foi

originalmente lançada em Janeiro de 1989 e após revisões, em Junho de 1991 foi

publicada sua segunda versão. Atualmente a GLP está na sua terceira versão, e possui

traduções não oficiais, pois os criadores acreditam que traduções possam incorrer em

erros sobre a licença.

Page 75: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

73

A GNU GLP garante que todos os requisitos necessários para um software

ser considerado livre sejam atendidos, permitindo os quatro princípios de liberdade e

mantendo os direitos do autor, e não permitindo que futuras redistribuições do software

imponham restrições a licença original.

Segundo LICENÇAS DE SOFTWARE LIVRE (2009), essa é uma licença

livre destinada a permitir a cópia de softwares e outros tipos de obras, garantindo o

Copyleft , que é um método legal de tornar um programa em software livre e exigir que

todas as versões modificadas e extendidas do programa também sejam software livre.

Existem ainda outros tipos de licenças como a GNU LGPL (GNU Lesser

General Public License), que não é encorajada pela comunidade de software livre, além

de licenças especificas para documentação, como a GNU FDL (GNU Free

Documentation License).

4.2 Softwares Livres para geoprocessamento

Existem diversas ferramentas para a visualização dos dados geográficos.

Porém esse trabalho foca nas ferramentas livres para essa finalidade.

As ferramentas para edição e visualização de dados geográficos são muitas,

com diversas funcionalidades e para diversas plataformas. Essas ferramentas podem

ser tanto para ambientes computacionais desktop quanto Web e inclusive ambientes

Mobile. Elas permitem a manipulação e visualização das Informações geográficas.

4.2.1 Ambiente Desktop

Quantum GIS

O Quantum GIS é uma ferramenta livre, sob a licença GNU General Public

License, É um software de geoprocessamento amigável e multiplataforma, funcionando

em sistemas operacionais como Windows, Linux e Mac. Atualmente está na sua versão

1.3.0, chamada de “Mimas”.

Page 76: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

74

Esse software suporta dados raster23, vetoriais e de banco de dados. Surgiu

oficialmente em Maio de 2000 com o início da codificação e foi lançada a sua primeira

versão, ainda sem muitas funcionalidades, em Julho de 2002.

Entre suas principais funcionalidades têm-se: O grande suporte a diferentes

tipos de dados como : tabelas do Postgis, Arquivos Shapefile, dados GML, fotografias

aéreas e imagens LANDSAT24; Criação de mapas e explorar interativamente dados

espaciais em uma interface gráfica amigável; Criar, editar e exportar informações

geográficas; Realizar análises espaciais.

Visualizando Shape File

Para a visualização de arquivos shapefiles, no Quantum GIS versão 1.3.0,

deve-se clicar no botão “Adicionar camada vetorial” conforme a Figura 4.1.

Em seguida, na janela que surgir, Figura 4.2, marque a opção “Arquivo” em

“Source Type”, em seguida clique em “Exibir” e selecione o arquivo shapefile que

deseja.

23 Imagens que contêm a descrição de cada pixel. Dados na forma matricial.24 Empreendimento com finalidade de adquirir imagens da Terra a partir do espaço.

Figura 4.1: Adicionando camada vetorial a partir de um shapefile.

Page 77: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

75

Dessa forma as informações do shapefile aparecerão na área de trabalho do

programa, conforme Figura 4.3, que mostra as informações do shapefile

“municipios_brasileiros”.

Figura 4.2: Selecionando o shapefile.

Figura 4.3: Visualização dos dados geográficos no Quantum GIS.

Page 78: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

76

Visualizando Informação Vetorial a partir do Postgis

Para visualizar dados a partir do banco de dados Postgis, deve-se pressionar

o botão “Adicionar camada Postgis”, conforme a Figura 4.4.

Em seguida, na janela que aparecer, Figura 4.5, deve-se escolher a conexão

com o banco de dados Postgis, caso não exista uma conexão já configurada, pressione

o botão “Novo”, e aparecerá a janela da Figura 4.6.

Figura 4.4: Adicionando camada vetorial a partir do Postgis.

Figura 4.5: Escolha ou criação de uma conexão com o Postgis.

Page 79: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

77

Na janela de configuração da conexão com o Postgis, Figura 4.6, deve-se

preencher os seguintes campos:

• Nome: Nome desejado para a conexão.

• Máquina: Endereço IP ou nome da máquina na rede.

• Banco de Dados: Nome do Banco de Dados Geográfico no Postgis.

• Porta: Porta utilizada para a conexão com o Banco de Dados.

• Usuário: Nome de usuário para conexão com o Banco de Dados.

• Senha: Senha do usuário. Observe que há a opção de salvar a senha.

Após o preenchimento, é possível testar a conexão apertando o botão “Testar

conexão”, e depois de testada, basta pressionar o botão “OK”. Após esse procedimento,

a tela da Figura 4.5 será exibida novamente. Então selecione a conexão criada e clique

em “Conectar”.

Figura 4.6: Configuração de conexão com o Postgis.

Page 80: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

78

Após esse procedimento, o Quantum GIS trás uma lista das feições

geográficas existentes no banco geográfico. Deve-se selecionar a feições desejadas e

pressionar o botão “Adicionar”, Figura 4.7.

Após esse procedimento as feições serão exibidas na área de trabalho do

software, como na Figura 4.3. Podendo ser exportada para vários formatos, como

shapefiles, imagens, além da possibilidade de serem impressos, possibilitando a

inclusão de barras de escala, rosa dos ventos e marcas de copyright ©.

Figura 4.7: Feições geográficas existentes no banco de dados com seus respectivos tipos.

Page 81: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

79

4.2.2 Ambiente WEB

i3Geo

Desenvolvido pelo Ministério do Meio Ambiente, encontra-se disponível

gratuitamente no portal do software público. Oferece a opção de disponibilização via web

das informações geográficas, baseado em software livre, utiliza o MapServer como

servidor de mapas e o apache como servidor web. Seu foco está na disponibilização de

dados geográficos, ferramentas para navegação, geração de análises, compartilhamento

e criação de mapas sob demanda.

Interface do software

A interface do i3Geo é composta basicamente por 5 partes, conforme a

Figura 4.8: Menu superior, guias, ferramentas, área de visualização e rodapé.

Figura 4.8: Interface i3Geo.

Page 82: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

80

No menu superior estão as opções de salvar um mapa e geração de

estatísticas. Na parte das Guias tem-se as operações que garantem a organização e

acesso aos dados vistos no mapa. Na área de ferramentas, estão as funcionalidades

de navegação, como zoom, a seleção e identificação de elementos. Já no rodapé ficam

informações de escala, coordenadas geográficas e posição atual do mouse. E por fim a

área de visualização, onde são observados os dados selecionados na guia “Temas”,

observe que para um tema tornar-se visível na área de visualização é necessário que

esteja selecionado.

Adicionando Temas

O i3Geo permite a adição de diferentes tipos de temas, como shapefiles,

Postgis e WMS25. Esse trabalho descreve como adicionar uma camada com

informações do Banco de Dados Geográficos Postgis.

O i3Geo utiliza o MapServer para gerar as imagens da área de visualização.

Este por sua vez utiliza arquivos de configuração chamados “mapfile”, que possuem a

extensão “.map”. Para cada tema no i3Geo é necessário um mapfile. Esses arquivos

ficam armazenados no diretório de instalação dentro de “i3geo\temas”. Abaixo um

exemplo de mapfile para o i3Geo.

25 Um dos padrões da OGC para servir imagens de mapas através da internet.

SYMBOLSET ../ssymbols/simbolos.sym FONTSET "../symbols/fontes.txt" LAYER NAME municipios # ok TYPE Polygon STATUS OFF TEMPLATE "none.htm" CONNECTIONTYPE postgis CONNECTION "user=geodados password=geodados dbname=banco_geografico host=127.0.0.1 port=5432" DATA "the_geom FROM (select * FROM limites_municipais) as lim USING UNIQUE gid USING SRID=29194" METADATA ITENS "cd_legenda" ITENSDESC "Nome" TEMA "Municipios" CLASSE "SIM" ESCALA "5000000" END TRANSPARENCY 80 CLASS Name '' COLOR 255 255 204 OUTLINECOLOR 50 50 50 END # CLASS

END END

Page 83: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

81

A tag CONNECTION define os parâmetros para conexão com o banco de

dados, que são semelhantes a configuração do Quantum GIS, descrita na Figura 4.6 do subtítulo 4.2.1 Ambiente Desktop.

Já a tag DATA, define qual o atributo da consulta, que será executada no

banco para a obtenção das informações, será usada para gerar a imagem para

visualização, nesse caso a coluna “the_geom”. Por fim a tag CLASS define os atributos

como cor, e cor da linha das entidades geográficas.

4.2.3 Ambiente Mobile

gvSIG

O software gvSIG é uma ferramenta livre com uma interface amigável para

trabalha com dados geográficos. Desenvolvido pela Conselleria d'Infraestructures i

Transports (CIT) da comunidade de Valência, foi patrocinado pela União Europeia.

Possui versões traduzidas para vários idiomas como: Espanhol, valenciano, inglês,

basco, galego, tcheco , chinês, francês, alemão, grego, italiano, polonês, português,

português-brasileiro, romeno, russo, sérvio, suaíli e turco. Possui tanto a versão desktop

como a versão mobile.

Sua versão mobile é uma versão reduzida do gvSIG e é adaptada para

trabalhar em dispositivos móveis. Suporta formatos como shapefile e imagens, além de

fazer uso do GPS. Atualmente na sua versão 0.2, suporta os sistemas operacionais

Windows Mobile CE 2003, Windows Mobile 5 e Windows Mobile 6, com requisitos

mínimos de hardware de 320 MHz de velocidade de processamento além de com 64 MB

de memória RAM.

Sua interface gráfica é mostrada na Figura 4.9 abaixo. Ao lado esquerdo, na

posição vertical, tem-se a barra de ferramentas principal Figura 4.9 (1) que é composta

por:

• Ferramentas de projeto.

• Ferramentas de GPS.

• Ferramentas de gestão de camadas.

Page 84: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

82

• Ferramentas de navegação.

• Ferramentas de informação

• Ferramentas de edição.

Já na parte superior na horizontal, observa-se a Barra de ferramentas

secundária Figura 4.9 (2), ela se modifica de acordo com a ferramenta selecionada na

barra de ferramentas principal. No final da barra de ferramentas secundária, há um

pequeno botão Figura 4.9 (3) que abre um menu com informações de cada ferramenta.

Além desses elementos, há a parte de visualização Figura 4.9 (4) e uma barra de status

na parte inferior Figura 4.9 (5).

Visualizando shapefiles

Para se visualizar um shapefile no gvSIG mobile, deve-se selecionar na barra

de ferramentas principal a opção “Ferramenta de gestão de camadas”, Figura 4.10 (a) (1), em seguida na barra de ferramentas secundária, na opção “Adicionar camada

vetorial”, Figura 4.10 (a) (2), em seguida selecione o arquivo que será exibido na área

Figura 4.9: Interface principal do gvSIG mobile. FONTE: CONSELLERIA DE INFRAESTRUCTURAS Y TRANSPORTE (2008).

Page 85: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

83

de trabalho do gvSIG conforme a Figura 4.10 (b).

Nesse quarto capítulo, foi demonstrado o conceito de software livre, quais os

requisitos básicos para um software ser considerado livre, além da principal licença

existente GLP para softwares livres. Em seguida apresentou-se algumas ferramentas

livres para visualização de Informações geográficas em diversos ambientes como o

desktop, web e mobile.

Figura 4.10: Visualizando shapefile no gvSIG mobile. FONTE: CONSELLERIA DE INFRAESTRUCTURAS Y TRANSPORTE (2008).

Adicionar camada vetorial

Adicionar camada raster

Adicionar WMS

Exportar arquivo vetorial

Exportar visualização

Tabela de camadas

(a) menu seleção de camada (b) visualização da camada

1

2

Page 86: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

84

CONCLUSÃO

Os Sistemas de Informação Geográfica (SIG) podem trazer benefícios para

diversas áreas, auxiliando o processo decisório de variadas entidades. Os softwares

proprietários existentes no momento possuem um elevado valor comercial, o que pode

tornar impraticável para algumas empresas adotarem SIG nos seus processos de

tomada de decisão.

A principal contribuição desse trabalho é a enumeração dos passos

necessários para a construção de um Sistema de Informação Geográfica utilizando

ferramentas livres. Expô-se nesse trabalho os passos necessários para a transformação

das informações geográficas do mundo real para o ambiente computacional utilizando o

paradigma dos quatro mundos proposto por CÂMARA (2005), com todas as escolhas

básicas quanto a forma de representar essas informações, focando , nesse trabalho, as

informações na forma vetorial.

Além disso, mostrou-se a forma de armazena-las no computador utilizando

os recursos de Sistemas Gerenciadores de Bancos de Dados (SGBDS) e as possíveis

formas de se trabalhar com essa informação, ilustrando consultas sobre os principais

relacionamentos existentes entre essas informações.

Page 87: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

85

Citou-se também algumas ferramentas livres para a visualização das

informações geográficas em diversos ambientes, como o ambiente desktop, o ambiente

Web e o ambiente mobile.

Como trabalhos futuros, pode-se citar a implantação real em entidades

governamentais ou privadas interessadas na utilização de Sistemas de Informação

Geográfica com software livre, a integração com outros projetos que utilizem Informação

Geográfica, a prestação de consultorias sobre o tema além de ministrar aulas sobre o

assunto.

Page 88: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

REFERÊNCIAS BIBLIOGRÁFICAS

BAUER, Jefferson Rodrigo. Geoprocessamento com software livre. 2008. CELEPAR Informática do Paraná.

CÂMARA, Gilberto. et al. Bancos de Dados Geográficos. Curitiba: Mundo Geo, 2005.

CARVALHO, Marilia de Sá; SOUZA-SANTOS, Reinaldo. Análise de dados espaciais em saúde pública: métodos, problemas, perspectivas. Cad. Saúde Pública. 2005. Rio de Janeiro, 21(2):361-378, mar-abr.

CASTRO, Stevens. Técnicas de Geoprocessamento, Fortaleza: FCTFOR, 2006.

COELHO, André. Sistemas Baseados em conhecimento. 2007. Universidade de Fortaleza-

CONSELLERIA DE INFRAESTRUCTURAS Y TRANSPORTE. Manual Usuario gvSIG Mobile. 2008.

ESRI SHAPEFILE TECHNICAL DESCRIPTION. Julho, 1998. Disponível em: <http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>. Acesso em: 28 nov 2009.FARIA, Nuno André de Sampaio. Suporte à edição cooperativa de Informação Geográfica em ambiente Web. 2006. 99f. Dissertação (Mestrado em Informática)-Universidade do Minho, Braga, 2006.

FURUKAWA, Alfredo Massaki. Geoprocessamento com Software Livre na CELEPAR. 2007. Disponível em: <http://www.google.com.br/url?sa=t&source=web&ct=res&cd=1&ved=0CAcQFjAA&url=http%3A%2F%2Fwww.circuito.pr.gov.br%2Farquivos%2FFile

Page 89: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

%2Fanteriores2008%2Fgeoprocessamento.odp&rct=j&q=Geoprocessamento+com+Software+Livre+na+CELEPAR+Alfredo+Massaki+Furukawa+&ei=_3MVS6foIYuHuAeUy7mfBg&usg=AFQjCNEINf6AQ0NNtSwynqtK7D51c1q8FQ>. Acesso em: 18 out 2009.

IBCT - Instituto Brasileiro de Informação em Ciências e Tecnologia. Perguntas Frequentes. Disponível em: <http://www.ibict.br/secao.php?cat=ISSN/FAQ-ISSN#14>. Acesso em: 28 nov 2009.

IBGE. Noções básicas de cartografia. Rio de Janeiro: IBGE, 1998-

JOHANSSON, Luiz Paulo et al. Solução webmapping para elaboração de projetos de adequação ambiental em propriedades rurais na Bacia do Paraná. Anais XIV Simpósio Brasileiro de Sensoriamento Remoto, Natal, Brasil, 25-30 abril 2009, INPE, p. 3959-3966.

LICENÇAS DE SOFTWARE LIVRE. O Projeto GNU e a Fundação para software Livre (FSF). Disponível em: <http://www.gnu.org/licenses/licenses.pt-br.html#GPL>. Acesso em : 01 dez 2009.

MEDEIROS, Anderson Maciel Lima de. Importando arquivos shapefile para o Postgis 8.1. 2008. Disponível em: <>. Acesso em: 14 out 2009.

NEUFELD , Kevin. et al. PostGIS 1.4.0 Manual. Disponível em: <http://postgis.refractions.net/download/postgis-1.4.0.pdf>. Acesso em : 12 set. 2009.

OPEN GEOSPATIAL CONSORTIUM. OpenGIS® Implementation Specification for Geographic information: Simple feature access - Part 1: Common architecture. v.1.2.0, out 2006.

_____ . OpenGIS® Implementation Specification for Geographic information: Simple feature access - Part 2: SQL option. v.1.2.0, out 2006.

PORTAL DO SOFTWARE LIVRE. A comunidade de Software Livre do Governo Federal. Disponível em: <http://www.softwarelivre.gov.br/comunidade-no-governo>. Acesso em: 30 nov 2009.

POSTGRESQL. About. Disponível em: <http://www.postgresql.org/about/>. Acesso em: 28 nov 2009.

SAMIZAVA, Tiago Matsuo. et al. SIG Aplicado à escolha de áreas potenciais para instalação de aterros sanitários no município de Presidente Prudente - SP. Revista Brasileira de Cartografia No 60/01, Abril 2008. (ISSN 1808-0936).

SILBERSCHATZ, Abraham; KORTH, Henrry F.;SUDARSHAN, S..Sistemas de Bancos de Dados. Tradução de Daniel Vieira. Rio de Janeiro: Editora Campus, 2006.

STEVENS, S. S.. On the Theory of Scales of Measurement. Science, New Series, v. 103, n. 2684, p. 677-680, jun 1946.

TAMBASCIA, Claudia de Andrade et al. Software livre na área de sig: ficção ou realidade?. Disponível em: <http://www.cpqd.com.br/file.upload/09_artigoforum_swlivre_em_sig_sigppt.pdf>.

Page 90: Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre

Acesso em: 17 set 2009.

TEAM, Quantum GIS Development. Quantum GIS User Guide Version 1.1.0 ’Pan’. 2004-2009. Disponível em: <http://download.osgeo.org/qgis/doc/manual/qgis-1.1.0_user_guide_en.pdf>. Acesso em: 17 set 2009.

UCHOA, Helton Nogueira; FERREIRA, Paulo Roberto. Geoprocessamento com software Livre. [S.1.:sn], 2004. Disponível em: <http://www.igc.usp.br/pessoais/guano/downloads/geoprocessamento_software_livre_uchoa-roberto-v1.0.pdf>. Acesso em: 28 out 2009.

VINHAS, Lubia. Um Subsistema extensível para o armazenamento de Geo-Campos em Banco de Dados Geográficos. 2006. 113f. (Tese Doutorado)-Instituto Nacional de Pesquisas Espaciais. INPE-14167-TDI/1084.