Upload
victor-hugo-moura
View
769
Download
9
Embed Size (px)
Citation preview
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
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
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
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
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.
“O homem que remove montanhas começa carregando pedras pequenas.”
Ditado Chinês
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.
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
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
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
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
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
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
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
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.
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.
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
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.
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:
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.
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.
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)
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).
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
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
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
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
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.
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.
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):
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
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).
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).
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
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
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
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.
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.
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.
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)
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).
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
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
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
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).
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).
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.
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
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).
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.
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.
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
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>
)
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".
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.
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
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.
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>
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
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] );
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
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)
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
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
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.
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
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.
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
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
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).
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.
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.
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.
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”.
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.
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.
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.
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.
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.
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.
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
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.
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).
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
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.
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.
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
%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>.
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.