FUNDAÇÃO EDSON QUEIROZ           UNIVERSIDADE DE FORTALEZA - UNIFORDISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EMUM AMBIEN...
VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURADISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EMUM AMBIENTE COMPUTACIONAL UTILI...
DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM  AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE LIVRE                  Victo...
Aos familiares de sangue e os de destino.                              Dedicamos
AGRADECIMENTOSAMinha mãepor todo amor e carinho me dado pelo decorrer da vida.A minha família, que é a minha raiz, minha o...
“O homem que remove montanhas começa carregando pedras pequenas.”                          Ditado Chinês
RESUMOEste trabalho objetiva mostrar como trabalhar com Informações Geográficas (IG) em umambiente computacional utilizand...
LISTA DE ABREVIATURASBD – Banco de DadosGPS – Global Positioning SystemIG – Informação GeográficaOGC – Open Geospatial Con...
LISTA DE TABELASTabela 2.1: Tipos de conceitos associados a entidades geográficas.............................28Tabela 2.2...
LISTA DE FIGURASFigura 1.1: Superfícies de projeção. FONTE: IBGE (1998)..........................................19Figura ...
10CONSORTIUM (2006).................................................................................................42Figu...
11Figura 4.4: Adicionando camada vetorial a partir do Postgis..........................................76Figura 4.5: Escol...
SUMÁRIOINTRODUÇÃO........................................................................................................1...
13                                  INTRODUÇÃO            Centralizar as Bases de Dados tem sido um novo paradigma das emp...
14Tecnologia da Informação (TI), resultando na aquisição contínua de sistemasproprietários cada vez mais onerosos.        ...
15           Por fim, o capítulo 4 mostra algumas das ferramentas livres que permitem avisualização, criação de mapas e di...
16                     1 INFORMAÇÃO GEOGRÁFICA           Nesse capítulo, é feita uma breve explicação sobre a cartografia,...
17seguinte forma:                        "A Cartografia apresenta-se como o conjunto de estudos e operações               ...
181.1.2 Sistemas de Projeções Cartográficas              Basicamente, os sistemas de projeções cartográficas tentam repres...
19          PLANAS                         CÔNICAS                         CILÍNDRICAS POLAR – plano tangente ao nó   NORM...
201.2 A informação geográfica ou espacial            Informação geográfica é toda e qualquer informação sobre recursos min...
21Ceará (em amarelo).           Observa-se que há regiões com maior concentração de pedidos que outros eessa forma de visu...
221.3 Sistemas de Informação Geográfica          Os Sistemas de Informações Geográficas ou SIG, são sistemas especiaisque ...
23mesa de trabalho como também estar baseada em um ambiente de navegação dainternet.            Na camada intermediária do...
24processados pelo SGBD, obrigando que seu processamento seja feito através de outrosaplicativos. Além disso, pode haver o...
25         Figura 1.5: Atributos em um mesmo servidor. FONTE: FURUKAWA (2007)            Já na segunda forma, os atributos...
262 REPRESENTAÇÃO COMPUTACIONAL DA INFORMAÇÃO                GEOGRÁFICA           Nesse capítulo discute-se os passos nece...
272.1.1 Universo Ontológico           Ontologia, de acordo com COELHO (2007), é uma disciplina filosófica quelida com a na...
28            Já os conceitos sociais para entidades com variação contínua no espaço,associam-se a convenções sociais, com...
29Teoria das Medidas           Para CÂMARA (2005), “o processo de medida consiste em associarnúmeros ou símbolos a diferen...
30Tabela 2.2: Tipos de medidas de dados geográficos. Escala       Operações           Possíveis          Exemplos         ...
31foram adicionadas apenas para melhorar a legibilidade da figura.      Figura 2.2: Modelo de representação utilizando esp...
32Figura 2.3: Exemplo de representação do espaço absoluto. FONTE: CÂMARA (2005).           Nesse modelo de representação a...
33               (a) Dados Matriciais                    (b) Dados Vetoriais    Figura 2.4: Exemplo de dados geográficos. ...
34                    (a) Pontos          (b) Linhas      (c) Polígonos            Figura 2.5: Tipos de dados geográficos ...
35chamada de plano de informação ou layer [Figura 2.6 (a)], que é a representaçãográfica do objeto no mundo real e uma rep...
362.1.4 Universo de Implementação            Nesse universo, segundo CÂMARA (2005), tomam-se as decisõesconcretas de progr...
37estas representadas por polígonos fechados). A cada entidade está associado umconjunto de atributos guardados no formato...
38            As especificações de um shapefile estão descrita no ESRI SHAPEFILETECHNICAL DESCRIPTION (1998), o que possib...
39Figura 2.9: Hierarquia das geometrias das feições geográficas. FONTE: OPEN GEOSPATIALCONSORTIUM (2006).Figura 2.10: Mode...
40          A seguir é mostrada a descrição de algumas geometrias propostas nessaespecificação.          Point: Definido c...
41          Surface: Definido como um objeto 2-dimensional. Sua forma simples possuium limite exterior e zero ou mais limi...
42          Touches: Retorna verdadeiro caso uma geometria “A” toque em umageometria “B”. Esse relacionamento pode ocorrer...
43          Contains: Retorna verdadeiro se uma geometria “A” contém uma geometria“B”. Pode ser aplicado a qualquer combin...
44geográficos, o WKB (Well-known Binary Representation for Geometry), e o WKT(Well-known Text Representation for Geometry)...
45Figura 2.20: Exemplo de WKB. FONTE: OPEN GEOSPATIAL CONSOSRTIUM (2006).              WKT: Forma textual de representação...
46 GeomCollection          GeometryCollection                                               Uma “GeometryCollection”      ...
47   3 ARMAZENAMENTO DA INFORMAÇÃO GEOGRÁFICA          Esse capítulo discorre sobre o armazenamento de informações geográf...
48entre os SGBDs livres14 pode-se citar o PostgreSQL com sua extensão Postgis e oMySQL Spatial todos eles em conformidade ...
49armazenamento de endereços de redes além dos tipos geométricos e espaciais.            Também suporta o armazenamento de...
50                      Figura 3.1: Tabelas de sistema do Postgis.            A primeira "spatial_ref_sys" possui uma list...
51(multi-linhas), MULTIPOLYGON (multi-polígonos), GEOMETRYCOLLECTION(coleçãode geometrias).           Uma forma fácil de i...
52             Para a criação de um banco de dados espaciais, basta executar o seguintecomando no PostgreSQL:       CREATE...
53       coordenadas, referência a tabela do sistema "spatial_ref_sys", quando o valor       não for definido deve-se seta...
54                           Figura 3.2: Preparação dos arquivos para                           conversão.Convertendo Arqu...
55seguida clique no botão "Executar consultas SQL", Figura 3.3 seta 2.                                             2      ...
563.2.6 Índices            Os índices em um SGBD, tem a função de acelerar o tempo de acesso àslinhas de uma tabela. Para ...
57                             Figura 3.5: Exemplo de Retângulo                             envolvente. FONTE:            ...
58                                                          BB1       BB2                                                 ...
59(coisas que estão dentro) e podem ser usadas em vários tipos de dados, inclusivedados geográficos. Ele é usado para acel...
60exemplo pode-se fazer a pergunta: O contorno de Fortaleza representa um polígonoconvexo (Figura 3.7)?                   ...
61           CONSULTA:           SELECT municipio AS municipio, AREA(the_geom) as m2                FROM limites_municipai...
62açude. A reposta à pergunta: "Qual o limite da área de proteção ambiental do açudePenedo no estado do Ceará?" pode ser o...
63           ConvexHull: Nesse outro tipo de operação unária espacial, uma geometria éconvertida em outra geometria que re...
64           Relacionamentos Topológicos: São relacionamentos que não são alteradospor transformações topológicas como: tr...
65           Outra função pertencente a esse grupo é a função DISJOINT (geometriageomA, geometria geomB), que retorna verd...
66           A resposta a pregunta também poderia ser respondida, nesse casoespecífico, utilizando a função TOUCHES(geomet...
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Disponibilização de Informações Geográficas em um Ambiente Computacional Utilizando Software Livre
Upcoming SlideShare
Loading in …5
×

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

994 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
994
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. FUNDAÇÃO EDSON QUEIROZ UNIVERSIDADE DE FORTALEZA - UNIFORDISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EMUM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE LIVRE VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURA Fortaleza – Ceará 2009
  2. 2. VICTOR HUGO PEREIRA SOARES DE JOINVILLE MOURADISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EMUM 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
  3. 3. DISPONIBILIZAÇÃO DE INFORMAÇÕES GEOGRÁFICAS EM UM AMBIENTE COMPUTACIONAL UTILIZANDO SOFTWARE LIVRE Victor Hugo Pereira Soares de Joinville MouraPARECER: ______________________________DATA: ___/___/____BANCA EXAMINADORA: _______________________________________________ Msc. Raimundo Tales B R Matos - professor orientador _______________________________________________ Dr. José Maria da S Monteiro Filho - professor examinador
  4. 4. Aos familiares de sangue e os de destino. Dedicamos
  5. 5. AGRADECIMENTOSAMinha mãepor 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 apessoa 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.
  6. 6. “O homem que remove montanhas começa carregando pedras pequenas.” Ditado Chinês
  7. 7. RESUMOEste trabalho objetiva mostrar como trabalhar com Informações Geográficas (IG) em umambiente computacional utilizando softwares livres. Explana sobre o que são Sistemasde Informação Geográfica (SIG). Aborda também os passos necessários para arepresentação computacional da IG além de falar sobre o Postgis, extensão do SistemaGerenciador de Banco de Dados (SGBD) PostgreSQL, que permite o armazenamento eutilização da IG utilizando todos os recursos de um SGBD. Por fim mostra ferramentaslivres que permitem a visualização e disponibilização dessas Informações Geográficastanto em um ambiente desktop como em um ambiente web e até mobile.
  8. 8. LISTA DE ABREVIATURASBD – Banco de DadosGPS – Global Positioning SystemIG – Informação GeográficaOGC – Open Geospatial ConsortiumOpenGIS – Open Geodata Interoperability SpecificationSFS – Simple Features implementation Specification for SQLSGBD – Sistemas Gerenciadores de Bancos de DadosSIG – Sistema de Informação GeográficaWKB – Well-known Binary Representation for GeometryWKT – Well-known Text Representation for GeometryWMS – Web Map Service
  9. 9. 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
  10. 10. LISTA DE FIGURASFigura 1.1: Superfícies de projeção. FONTE: IBGE (1998)..........................................19Figura 1.2: Pedidos de Outorga para a utilização de águas subterrâneas no estado doCeará. FONTE: COGERH - Companhia de Gestão dos Recursos Hídricos (2009).....21Figura 1.3: Arquitetura de sistemas de informação geográfica. FONTE: Câmara (2005)..22Figura 1.4: Tipos de Arquitetura. FONTE: CÂMARA (2005).........................................24Figura 1.5: Atributos em um mesmo servidor. FONTE: FURUKAWA (2007)...............25Figura 1.6: Atributos em servidores diferentes. FONTE: FURUKAWA (2007)..............25Figura 2.1: Paradigma dos quatro mundos. Fonte: Adaptado CÂMARA (2005)............26Figura 2.2: Modelo de representação utilizando espaço relativo. FONTE: CÂMARA(2005)...........................................................................................................................31Figura 2.3: Exemplo de representação do espaço absoluto. FONTE: CÂMARA (2005)....32Figura 2.4: Exemplo de dados geográficos. FONTE (a) Google Earth; (b) IBGE...........33Figura 2.5: Tipos de dados geográficos........................................................................34Figura 2.6: Representação dos dados Geográficos. FONTE: Adaptado BAUER (2008)...35Figura 2.7: Exemplo de layer sobrepostos. FONTE: BAUER (2008).............................35Figura 2.8: Exemplo de shapefile..................................................................................37Figura 2.9: Hierarquia das geometrias das feições geográficas. FONTE: OPENGEOSPATIAL CONSORTIUM (2006).........................................................................39Figura 2.10: Modelo de classe para geometrias. FONTE: OPEN GEOSPATIALCONSORTIUM (2006).................................................................................................39Figura 2.11: Modelo de “Point”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006)..40Figura 2.12: Modelo de “Curve”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006)......................................................................................................................................40Figura 2.13: Modelo de “Surface”. FONTE: OPEN GEOSPATIAL CONSORTIUM(2006)...........................................................................................................................41Figura 2.14: Exemplo de Disjoint. A geometria “A” é espacialmente separada dageometria “B”................................................................................................................41Figura 2.15: Exemplo do relacionamento “touches”. FONTE: OPEN GEOPATIAL
  11. 11. 10CONSORTIUM (2006).................................................................................................42Figura 2.16: Exemplo do relacionamento “crosses”. FONTE: OPEN GEOPATIALCONSORTIUM (2006).................................................................................................42Figura 2.17: Exemplo do relacionamento “contains”. FONTE: OPEN GEOPATIALCONSORTIUM (2006).................................................................................................43Figura 2.18: Exemplo do relacionamento “overlaps”. FONTE: OPEN GEOPATIALCONSORTIUM (2006).................................................................................................43Figura 2.19: Códigos Inteiros para tipos geométricos. FONTE: OPEN GEOSPATIALCONSORTIUM (2006).................................................................................................44Figura 2.20: Exemplo de WKB. FONTE: OPEN GEOSPATIAL CONSOSRTIUM(2006)...........................................................................................................................45Figura 3.1: Tabelas de sistema do Postgis...................................................................50Figura 3.2: Preparação dos arquivos para conversão....................................................54Figura 3.3: Selecionando banco para receber a nova tabela..........................................55Figura 3.4: Executando importação...............................................................................56Figura 3.5: Exemplo de Retângulo envolvente. FONTE:<http://150.164.29.11/mapserver-intro/img/exercicio01_extent.png>.............................57Figura 3.6: Uma Árvore R. FONTE: Adaptado de informações fornecidas pelaCompanhia de Gestão dos Recursos Hídricos - COGERH..........................................58Figura 3.7: Operação unária booleana. O município de Fortaleza é convexo?...............60Figura 3.8: Princípio básico para a criação de buffer. FONTE CÂMARA (2005)...........62Figura 3.9: Exemplo de Buffer Zone ou Mapa de Distância...........................................63Figura 3.10: Exemplo da função ConvexHull.................................................................64Figura 3.11: Exemplo da função INTERSECT. FONTE: COGERH..............................65Figura 3.12: Municípios de Fortaleza e Maranguape são espacialmente separados.FONTE: COGERH.......................................................................................................66Figura 3.13: Geometria B contida na geometria A sem tocá-la......................................67Figura 3.14: Exemplo de relacionamento Binário Booleano Direcional. Fortaleza ao nortede Pacatuba. FONTE: COGERH.................................................................................67Figura 3.15: Exemplo de DIFFERENCE. FONTE: COGERH.......................................70Figura 4.1: Adicionando camada vetorial a partir de um shapefile.................................74Figura 4.2: Selecionando o shapefile.............................................................................75Figura 4.3: Visualização dos dados geográficos no Quantum GIS................................75
  12. 12. 11Figura 4.4: Adicionando camada vetorial a partir do Postgis..........................................76Figura 4.5: Escolha ou criação de uma conexão com o Postgis....................................76Figura 4.6: Configuração de conexão com o Postgis.....................................................77Figura 4.7: Feições geográficas existentes no banco de dados com seus respectivostipos..............................................................................................................................78Figura 4.8: Interface i3Geo...........................................................................................79Figura 4.9: Interface principal do gvSIG mobile. FONTE: CONSELLERIA DEINFRAESTRUCTURAS Y TRANSPORTE (2008).......................................................82Figura 4.10: Visualizando shapefile no gvSIG mobile. FONTE: CONSELLERIA DEINFRAESTRUCTURAS Y TRANSPORTE (2008).......................................................83
  13. 13. SUMÁRIOINTRODUÇÃO........................................................................................................131 INFORMAÇÃO GEOGRÁFICA...........................................................................16 1.1 Noções de Cartografia...................................................................................16 1.1.1 Formas de coleta da informação geográfica...........................................17 1.1.2 Sistemas de Projeções Cartográficas.....................................................18 1.2 A informação geográfica ou espacial.............................................................20 1.2.1 Aplicações da informação geográfica......................................................20 1.3 Sistemas de Informação Geográfica.............................................................22 1.3.1 Arquitetura de Integração entre SIG e SGBD..........................................232 REPRESENTAÇÃO COMPUTACIONAL DA INFORMAÇÃO GEOGRÁFICA. . .26 2.1.1 Universo Ontológico...............................................................................27 2.1.2 Universo Formal.....................................................................................28 2.1.3 Universo Estrutural................................................................................33 2.1.4 Universo de Implementação...................................................................36 2.2 Padrões para representação da Informação Geográfica.................................36 2.2.1 ESRI Shapefile.......................................................................................36 2.2.2 Padrão SFS............................................................................................383 ARMAZENAMENTO DA INFORMAÇÃO GEOGRÁFICA...................................47 3.1 Banco de Dados Espaciais............................................................................47 3.2 Postgis..........................................................................................................48 3.2.1 PostgreSQL...........................................................................................48 3.2.2 Tabelas do Sistema...............................................................................50 3.2.3 Tipos de Dados......................................................................................51 3.2.4 Criando Banco de Dados Espaciais.......................................................52 3.2.5 Convertendo ESRI Shapefile para SFS..................................................53 3.2.6 Índices...................................................................................................56 3.2.7 Operações e consultas sobre a informação geográfica..........................604 VISUALIZAÇÃO DE DADOS GEOGRÁFICOS...................................................71 4.1 Software Livre................................................................................................71 4.1.1 Licenças.................................................................................................72 4.2 Softwares Livres para geoprocessamento.....................................................73 4.2.1 Ambiente Desktop..................................................................................73 4.2.2 Ambiente WEB......................................................................................79 4.2.3 Ambiente Mobile.....................................................................................81CONCLUSÃO..........................................................................................................84REFERÊNCIAS BIBLIOGRÁFICAS........................................................................86
  14. 14. 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 otratamento de dados de maneira local” e “informação é poder” passaram a serencarados sob outras perspectivas como "vantagens do tratamento de dadoscentralizados 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 comocompartilha-las? Como acessá-las remotamente dentro de uma organização ou foradela? Para a solução à esses problemas, a internet mostra-se bastante atraente. Deacordo 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 variadostipos e o grau de interatividade com o usuário.” No caso das Informações geográficas, existem diversas ferramentasproprietárias para tal propósito como o ORACLE Spatial, ArcGIS e o ArcIMS porexemplo, mas essas ferramentas ainda possuem um elevado custo. Para UCHOA(2004), a evolução tecnológica tem exigido crescentes investimentos na área de
  15. 15. 14Tecnologia da Informação (TI), resultando na aquisição contínua de sistemasproprietários cada vez mais onerosos. Ainda de acordo com UCHOA (2004), na área de geoprocessamento, oelevado valor de licenças para construção de uma infraestrutura integrada inviabiliza amaioria dos projetos em inúmeras empresas, principalmente as entidades públicas quesão as principais usuárias dos produtos cartográficos e as que mais sofrem com omodelo de negócios das empresas de soluções proprietárias. Mas devido ao envolvimento da comunidade de softwares livres e osurgimento de padrões para as informações geográficas esses problemas sãoresolvidos, 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. Asinformações geográficas pode ser utilizadas desde as áreas da saúde até áreas como aeconomia, monitoramento ambiental, órgãos governamentais e militares entre outros. Este trabalho pretende demonstrar como as informações geográficas podempassar do mundo real para o ambiente computacional e serem compartilhadas com osusuários interessados de forma digital utilizando ferramentas livres. No capítulo 1 é feita uma breve explanação sobre cartografia, que é a ciênciaque cuida de representar as informações geográficas para a confecção de mapas eatlas. Explica o que é a Informação geográfica e introduz o conceito de Sistemas deInformação Geográfica (SIG). Em seguida o capítulo 2 mostra como a informação geográfica podem serrepresentadas computacionalmente, quais são os passos necessários à essa conversãoe quais os padrões existentes para essa representação computacional. Já o capítulo 3 demonstra como armazenar computacionalmente asinformações geográficas. Discute sobre do Sistema de Gerenciamento de Banco deDados ( SGBD) PostgreSQL, que junto com sua extensão espacial Postgis, fornece osuporte para o armazenamento e utilização dos dados espaciais.
  16. 16. 15 Por fim, o capítulo 4 mostra algumas das ferramentas livres que permitem avisualização, criação de mapas e disponibilização das informações na rede e na internet.
  17. 17. 16 1 INFORMAÇÃO GEOGRÁFICA Nesse capítulo, é feita uma breve explicação sobre a cartografia, que é oconjunto de operações científicas, técnicas e artísticas para trabalhar com a informaçãogeográfica. Discorre também sobre o que é a informação geográfica e como ela podeser utilizada por entidades tanto públicas como privadas. Em seguida mostra o que vema ser um Sistema de Informação Geográfica (SIG), quais seus principais componentese 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 nahumanidade. Encontrar uma maneira de substituir o espaço real por um espaçoanálogo é o princípio básico da cartografia. Com a cartografia é possível coletar, documentar e produzir conhecimentosobre a superfície terrestre. A Associação Cartográfica Internacional (InternationalCartographic Association – ICA) estabeleceu em 1966 a definição de cartografia da
  18. 18. 17seguinte 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-seaceito sem maiores contestações. O processo cartográfico é multidisciplinar e envolve diversas áreas doconhecimento 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 basicamentede duas formas: in loco ou através de sensoriamento remoto.In loco A coleta in loco significa que é preciso estar presente fisicamente no local deonde irá se retirar as informações espaciais. Os processos mais utilizados são autilização de equipamentos GPS1 (Global Positioning System) ou a utilização datopografia convencional.Sensoriamento remoto O sensoriamento remoto é a obtenção de informações geográficas sem anecessidade 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çãoconjunta de modernos sensores, equipamentos para processamento e transmissão dedados, aeronaves, espaçonaves e etc., com o objetivo de estudar o ambiente terrestreatravés do registro e da análise das interações entre a radiação eletromagnética e assubstâ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.
  19. 19. 181.1.2 Sistemas de Projeções Cartográficas Basicamente, os sistemas de projeções cartográficas tentam representaruma superfície curva em um plano. Segundo IBGE (1998) não existe uma soluçãoperfeita para esse problema. Para a confecção de uma carta, é necessário um métodosegundo o qual, cada ponto na superfície terrestre corresponda a um ponto na carta evice-versa. A teoria das projeções estuda os diferentes métodos de projeção, além dasleis de interligação entre os pontos de uma superfície (Terra) com a outra (carta). Maspode-se dizer que todas as representações de superfícies curvas em um plano resultamem distorções ou "rasgos". As diferentes técnicas empregadas na representação dasuperfície são aplicadas no sentido de se alcançar resultados que possuam certaspropriedades favoráveis para um propósito específico. Os sistemas de projeções podem ser classificados quanto a superfície deprojeção basicamente em três tipos: Projeções Planas, Projeções Cônicas e ProjeçõesCilíndricas. A Figura 1.1 mostra como as superfícies de projeções podem ser divididas:
  20. 20. 19 PLANAS CÔNICAS CILÍNDRICAS POLAR – plano tangente ao nó NORMAL – eixo do cone EQUATORIAL – eixo do polo. paralelo ao eixo da terra. cilindro paralelo ao eixo da Terra. EQUATORIAL – plano tangente TRANSVERSA – eixo do cone TRANSVERSA – eixo do cilindro ao equador. perpendicular ao eixo da Terra. perpendicular ao eixo da Terra.HORIZONTAL – plano tangente HORIZONTAL – eixo do cone HORIZONTAL – eixo doa um ponto qualquer. cilindro inclinado em relação inclinado em relação ao eixo da ao eixo da Terra. Terra.Figura 1.1: Superfícies de projeção. FONTE: IBGE (1998).
  21. 21. 201.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çãogeográfica definida. Segundo VINHAS (2006) “Dados geograficamente referenciados, ousimplesmente dados geográficos, são aqueles que possuem uma dimensão espacial, ouuma localização, diretamente ligada ao mundo geográfico real como as imagens desatélites de sensoriamento remoto, os dados de inventários cadastrais, os dadosambientais coletados em campo e os modelos numéricos de terreno”. Essa informação geográfica é moldada pode ser trabalhada em bancos dedados especiais, desenvolvidos para suportar esse tipo de dado. Esses sistemas sãodenominados 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 áreaem que a pergunta “Onde?” for importante justifica o uso de Sistemas de InformaçãoGeográfica. Na área da saúde por exemplo, segundo CARVALHO (2005), os casos dedesnutrição podem ser melhor analisados com a utilização de Sistemas de SIG para amelhor tomada decisão de medidas públicas de saúde. Já para SAMIZAVA (2008), na área de meio-ambiente, “ferramentascomputacionais, como softwares SIG, fornecem suporte para discriminar áreaspotenciais 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 recursoshídricos, ao mostrar quantos pontos estão utilizando água subterrânea em cadamunicípio de um estado. A Figura 1.2 mostra um exemplo; A imagem é composta pelafeição (layer3) dos limites municipais do estado do Ceará e com a feição dos pontosonde usuários fizeram pedido para a utilização de águas subterrâneas no estado do2 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.
  22. 22. 21Ceará (em amarelo). Observa-se que há regiões com maior concentração de pedidos que outros eessa forma de visualização das informações auxilia os gestores no processo decisóriode conceder ou negar novos pedidos de utilização de águas subterrâneas no estado.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) Com o exposto, pode-se perceber o quão importante pode ser para entidadesgovernamentais ou privadas a utilização de Sistemas de Informação Geográfica noauxílio ao processo decisório.
  23. 23. 221.3 Sistemas de Informação Geográfica Os Sistemas de Informações Geográficas ou SIG, são sistemas especiaisque 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 principaldiferença de um SIG para um sistema de informação convencional é sua capacidade dearmazenar tanto os atributos descritivos como as geometrias dos diferentes tipos dedados geográficos. De acordo com TAMBASCIA (2005), a arquitetura de um SIG é formada porvários componentes como sistema de armazenamento de dados espaciais, servidoresde mapas e dados além de aplicações cliente e Web para visualização e manipulaçãodos dados. A Figura 1.3 mostra os componentes básicos de um SIG. Figura 1.3: Arquitetura de sistemas de informação geográfica. FONTE: Câmara (2005). No nível mais alto fica a interface com o usuário, essa camada define como osistema será controlado, pode ser baseada em um ambiente "desktop", lembrando uma
  24. 24. 23mesa de trabalho como também estar baseada em um ambiente de navegação dainternet. Na camada intermediária do SIG tem-se mecanismos de processamento dedados espaciais que incluem a entrada e integração de dados, a consulta e análiseespacial e a visualização e plotagem das informações. A entrada de dados possui osmecanismos de conversão de dados. Já a parte de análise incluem-se os algoritmos deaná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 devisualização e plotagem devem oferecer suporte adequado para a apresentação gráficados dados pesquisados. Por fim na camada mais baixa do SIG, há os Bancos de Dados Geográficos 4.De acordo com CÂMARA (2005) "Cada sistema, em função de seus objetivos enecessidades, implementa estes componentes de forma distinta, mas todos ossubsistemas 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 deintegraçõ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ãoarmazenadas separadamente, os atributos alfanuméricos são armazenados em umSGBD 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 nocontrole e manipulação dos atributos espaciais, além da dificuldade em manter aintegridade entre esses atributos os atributos alfanuméricos. Além disso, nessa arquitetura, os elementos espaciais não podem ser4 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
  25. 25. 24processados pelo SGBD, obrigando que seu processamento seja feito através de outrosaplicativos. Além disso, pode haver obstáculos na interoperabilidade, caso o formato dosatributos espaciais seja proprietário. SGBD Arquivos SGBD (a) Arquitetura Dual (b) Arquitetura Integrada Figura 1.4: Tipos de Arquitetura. FONTE: CÂMARA (2005). Já a Arquitetura Integrada, vista na Figura 1.4 (b), consiste em armazenartodos os dados no SGBD. O que possibilita a utilização dos recursos do SGBD para amanipulação dos atributos espaciais com linguagem própria de consulta, além deusufruir todos os benefícios do SGBD como, controle de transações, integridadereferencial, concorrência entre outros. A Arquitetura Integrada ainda pode ser utilizada de duas formas, uma ondetodos 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éricosficam armazenados em um mesmo servidor.
  26. 26. 25 Figura 1.5: Atributos em um mesmo servidor. FONTE: FURUKAWA (2007) Já na segunda forma, os atributos geográficos e alfanuméricos ficamarmazenados em servidores diferentes, como visto na Figura 1.6. Nesse modelo, afeição geográfica é construída através de views7. Esse modelo é útil quando já existiremsistemas para o gerenciamento dos atributos alfanuméricos e se deseja adicionar oucriar novos sistemas com a informação geográfica. Servidor Geo Servidor do Cliente Figura 1.6: Atributos em servidores diferentes. FONTE: FURUKAWA (2007). Nesse primeiro capítulo, foi oferecida uma noção sobre o que é a Cartografiae seus métodos de obtenção das informações geográficas. Foi apresentado o que é ainformação geográfica e sua importância para as mais variaras áreas e definiu-se oconceito de Sistema de Informação Geográfica e discutiu-se sobre as suas principaisarquiteturas 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.
  27. 27. 262 REPRESENTAÇÃO COMPUTACIONAL DA INFORMAÇÃO GEOGRÁFICA Nesse capítulo discute-se os passos necessários para representar os dadosgeográficos do mundo real em informação na forma digital. Mostra como esses dadossão classificados para que possam ser trabalhados computacionalmente e os padrõesexistentes para isso. CÂMARA (2005) propõe o paradigma dos quatro mundos (Figura 2.1), quetratam de dos quatro passos para a a representação do mundo real no ambientecomputacional . Esse paradigma mostra que para a transposição da realidade para oambiente computacional, é necessário uma série complexa de mediações. Universo Universo Universo Universo Ontológico Formal Estrutural Implement. Figura 2.1: Paradigma dos quatro mundos. Fonte: Adaptado CÂMARA (2005)
  28. 28. 272.1.1 Universo Ontológico Ontologia, de acordo com COELHO (2007), é uma disciplina filosófica quelida com a natureza e com a organização da realidade. Para a Informação geográfica, ouniverso ontológico é o passo de criar ontologias, definir os conceitos, as entidades aserem representados no ambiente computacional. De acordo com CÂMARA (2005), nesse passo inicial, são escolhidas asentidades a serem representadas no sistema e os conceitos que as envolvem. Essesconceitos compartilhados e aceitos pela comunidade formam uma "Ontologia deaplicação" . Na área de geoprocessamento, pode-se chama-las de geo-ontologia e possuidois 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 mundoreal. Esse conceito ainda pode ser subdividido em: Conceitos para entidadeindividualizáveis, e conceitos para entidades com variação contínua no espaço. Esses conceitos físicos para entidade individualizáveis estão relacionadoscom entidades que possuem um limite bem definido a partir de diferenciaçõesqualitativas ou descontinuidade da natureza. A existência dessas entidades decorrem danossa necessidade de nomear os elementos do mundo natural, como por exemplo osconceitos de montanhas, serras, vales, rios e lagos. Já os conceitos físicos associados a entidades com variação contínua noespaço, estão associados a fenômenos naturais que não possuem a princípio umafronteira. Exemplos desse tipo são: Temperatura, declividade, altimetria e poluição. Além dos conceitos físicos, existem os conceitos sociais, que representamentidades sociais e institucionais criadas pelo ser humano e podem ser subdivididos emconceitos sociais para entidades individualizáveis e conceitos sociais associados aentidades com variação contínua no espaço. Os conceitos sociais para entidades individualizáveis, descrevem entidadescriadas por ações humanas ou através leis. Elas possuem fronteiras bem definidas epossuem uma identidade única. Sua existência depende geralmente de um registrolegal. Exemplos dessas entidades são: Municípios, lotes, reservas indígenas e países.
  29. 29. 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 dessetipo de conceito são: desenvolvimento humano, riqueza, segregação urbana e exclusãosocial. 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 Limites definidos por leis. mundo real. Ex.: Montanha. Ex.: Reservas indígenas.Entidades com variação Limites variáveis no mundo Limites Variáveis nascontínua no espaço real. Ex.: Poluição. 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 domundo ontológico e as estruturas de dados e algoritmos computacionais, CÂMARA(2005). Pois devido os computadores trabalharem com estruturas matemáticas, apassagem dos conceitos informais das ontologias, para as estruturas de dadospoderiam resultar em erros ou inconsistências. Aqui, além de definir um conjunto de unidades mais lógicas e maisabrangentes possíveis, ainda se define como serão associados valores aos diferentesconceitos, ou seja, como medir o mundo real. Desta maneira nesse universo, toma-seas seguintes decisões: Como medir o espaço geográfico e, qual conceito adotar pararepresentá-lo.
  30. 30. 29Teoria das Medidas Para CÂMARA (2005), “o processo de medida consiste em associarnúmeros ou símbolos a diferentes ocorrências de um mesmo atributo, para que arelaçã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) quepropões quatro escalas de mensuração: nominal, ordinal, intervalo e razão. Nominal: Nessa escala os objetos são divididos em classes distintas e semordem 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 emclasses distintas mas que possuem algum tipo de ordenação. As operações possíveisentre 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 pontozero de referência arbitrário, admitindo valores entre [−∞ ,∞] e uma distânciaproporcional entre os intervalos. Por possuir um zero arbitrário, não permite estimativasde 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 podeser a altimetria, onde se toma por definição, como ponto zero o nível do mar, onde aaltitude 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 zeroarbitrário. Seu zero é escolhido de acordo com alguma condição natural, o que limita suafaixa de intervalos entre [0,∞ ] . O valor zero nessa escala representa a ausênciadaquilo que está sendo medido. Exemplo dessa escala é a taxa de natalidade de umaregião, não sendo permitido valores negativos para essa medida. Essa medida, permitecomparações de proporções como, a taxa de natalidade no estado do Amapá é “y” vezesmaior que a do estado do Acre. A Tabela 2.2, faz um resumo dos tipos de escala de medida proposto porSTVENS (1946):
  31. 31. 30Tabela 2.2: Tipos de medidas de dados geográficos. Escala Operações Possíveis Exemplos básicas estatísticas Nominal Determinação de Número de Tipos de solo, uso do solo, igualdade casos, vegetação comparação Ordinal Determinação de Mediana, Aptidão de uso, Classes de maior ou menor mínimo, máximo, declividade porcentagens Intervalo Determinação da Diferença, Temperatura, altimetria igualdade de soma, ranking, intervalos ou diferenças Razão Determinação da Coeficiente de Renda, população, taxa de óbitos igualdade de variação proporções. FONTE: adaptado de STEVENS (1946)Teoria da representação De acordo com CÂMARA (2005), uma das escolhas que devem ser feitanesse universo é como as entidades serão representadas. As entidades geográficaspodem ser representadas no espaço relativo, ou no espaço absoluto. Espaço Relativo: Nesse modelo de representação, preocupa-se apenascom o posicionamento relativo das entidades geográficas, e é indicado quando deseja-se mapear fluxo e conexões entre as entidades. Esse modelo é melhor representadoutilizando-se grafos, e foge do escopo desse trabalho, que dará ênfase aos atributos noespaço absoluto modelados de forma vetorial que serão vistos a seguir. A Figura 2.2mostra um exemplo de modelagem utilizando espaço relativo, exibindo as relações devizinhanças entre os distritos de São Paulo através de um grafo, note que as fronteiras
  32. 32. 31foram adicionadas apenas para melhorar a legibilidade da figura. Figura 2.2: Modelo de representação utilizando espaço relativo. FONTE: CÂMARA (2005). Espaço absoluto: Nessa forma de representação, cada entidade geográficaé representada no ambiente computacional por sua localização no mundo real, de formaque as coordenadas de suas fronteiras correspondam as fronteiras reais da entidadegeográfica. Esse tipo de representação é útil quando necessita-se saber o valor dedeterminado fenômeno em todos os pontos da região. A Figura 2.3 ilustra um exemplode representação de entidades geográficas utilizando o espaço absoluto, exibindo asfronteiras de cada distrito do município de São Paulo.
  33. 33. 32Figura 2.3: Exemplo de representação do espaço absoluto. FONTE: CÂMARA (2005). Nesse modelo de representação ainda se tem outra escolha a fazer, se osdados 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 (dadosvetoriais), esse trabalho segue a definição de SILBERCHARTCZ (2006), que osdesigna apenas como dados vetoriais e dados matriciais. Dados Matriciais: Nesse modelo as entidades geográficas são representadasna forma matricial, onde cada ponto possui suas informações próprias por exemplo naFigura 2.4 (a), que mostra um trecho da cidade de Fortaleza – CE, cada ponto possuium 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çãode 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.
  34. 34. 33 (a) Dados Matriciais (b) Dados Vetoriais Figura 2.4: Exemplo de dados geográficos. FONTE (a) Google Earth; (b) IBGE. Dados Vetoriais: Aqui a informação geográfica é armazenada de formavetorial, na Figura 2.4 (b) observa-se um conjunto de polígonos, representando osmunicípios do Brasil, onde cada polígono representa vetorialmente a fronteira legal decada município brasileiro. Esse tipo de representação é indicada quando o papel dafronteira é importante para a análise espacial.2.1.3 Universo Estrutural Segundo CÂMARA (2005), nesse universo escolhe-se quais as estruturasde dados serão utilizadas para representar a informação geográfica. As estruturas dedados 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)].
  35. 35. 34 (a) Pontos (b) Linhas (c) Polígonos Figura 2.5: Tipos de dados geográficos Pontos: É um par ordenado (x,y) com coordenadas espaciais. Pode serutilizado para identificar localização ou eventos no espaço geográfico, como por exemplocasos de dengue, localização de crimes, localização de espécimes vegetais, casos decalazar. Linhas: Representam estruturas unidimensionais, e possuem uma variedadede usos. Podem representar ruas, rios (dependendo da escala utilizada), e podemtambé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 queo último nó de uma linha poligonal seja idêntico ao nó da linha seguinte. Note que oslimites do polígono dividem o plano em duas regiões: interior e exterior. Esse tipo deestrutura é 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 decenso ou estatísticas sobre saúde entre outros. De acordo com BAUER (2008), “a informação espacial vetorial é apenasmais um tipo de dado, como os tipos Integer, Boolean e Date. Ela é um tipo especial dedado que pode ser armazenados em SGBDs”. Muitos dos SGBD atuais já suportaarmazenamento de dados espaciais entre eles tem-se o PostgreSQL com sua extensãoPostgis, 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
  36. 36. 35chamada de plano de informação ou layer [Figura 2.6 (a)], que é a representaçãográ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)]. Cod Nome 53 Santa Candida 54 Tingui 55 Atuba 55 Atuba 41 Bacacheri 34 Boa Vista (b) Armazenamento na tabela do SGBD. 48 Bacacheri 36 Bairro Alto (a) Feição cartográficaFigura 2.6: Representação dos dados Geográficos. FONTE: Adapta do BAUER (2008). Os layers, por analogia, podem ser considerados como transparências, quequando sobrepostas formam uma imagem final. A Figura 2.7 mostra um exemplo delayers sobrepostos. Tema: Bairro Tema: Farol do Saber Tema: Ciclovia Figura 2.7: Exemplo de layer sobrepostos. FONTE: BAUER (2008).
  37. 37. 362.1.4 Universo de Implementação Nesse universo, segundo CÂMARA (2005), tomam-se as decisõesconcretas de programação, essas decisões devem levar em conta a natureza dosistema a ser criado. É nessa fase que se tomam as decisões sobre quais os algoritmosserão utilizados para o tratamento de dados geográficos, em qual Sistema Gerenciadorde Banco de Dados (SGBD) essas informações espaciais serão armazenadas, osaspectos de indexação dos dados espaciais, a otimização das consultas sobre essesdados, a linguagem que será utilizada para a programação e as bibliotecas utilizadaspara 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çãogeográ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émdo padrão de representação livre OpenGIS para SQL, chamado de SFS (SimpleFeatures Interface Standard for SQL), que padroniza a representação, armazenamentoem SGBD e operações sobre dados geográficos.2.2.1 ESRI Shapefile ESRI Shapefile, ou simplesmente shapefile, é um padrão proprietário pararepresentação de dados geográficos vetoriais. Criado pela ESRI9, é um formato muitoutilizado por diversos SIGs. Segundo a ESRI SHAPEFILE TECHNICALDESCRIPTION (1998), um shapefile é um formato vetorial que guarda localizaçõesgeométricas e informação sobre atributos associados. Segundo FARIA (2006), "as shapefiles lidam com entidades geográficassingulares. As entidades geográficas suportadas incluem pontos, linhas e áreas (sendo9 Empresa desenvolvedora de software e serviços de SIG. Sede na Califórnia.
  38. 38. 37estas representadas por polígonos fechados). A cada entidade está associado umconjunto de atributos guardados no formato dBASE10". Um shapefile é composto na realidade por no mínimo três arquivosobrigató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 comoutras 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 arquivosobrigatórios., observa-se que é necessário todos os arquivos possuírem o mesmo nome,mudando-se apenas sua extensão. Figura 2.8: Exemplo de shapefile.10 Um tipo de SGBD, cujo os arquivos ".dbf" ainda são muito utilizados por outros aplicativos.
  39. 39. 38 As especificações de um shapefile estão descrita no ESRI SHAPEFILETECHNICAL DESCRIPTION (1998), o que possibilita que diversos aplicativos, tantoproprietá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, oOpen Geospatial Consortium11 (OGC) criou o padrão SFS (Simple Features InterfaceStandard for SQL), que fornece uma interface comum e bem definida para aplicativosarmazenarem e acessarem dados de feições geográficas em SGBD relacional ouobjeto-relacional, de modo que os dados possam ser usados para suporte a outrasaplicações através de um modelo de feição comum, dados armazenados e interfaces deacesso à informação. As Simple Features são feições geográficas descritas usando dadosvetoriais como pontos linhas e polígonos. Essa especificação possui atualmente duasversõ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 operadorese relações espaciais. A SFS parte 1 especifica a hierarquia para representação degeometrias das feições geográficas, como visto na Figura 2.9 e um modelo de classespara 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.
  40. 40. 39Figura 2.9: Hierarquia das geometrias das feições geográficas. FONTE: OPEN GEOSPATIALCONSORTIUM (2006).Figura 2.10: Modelo de classe para geometrias. FONTE: OPEN GEOSPATIAL CONSORTIUM(2006)
  41. 41. 40 A seguir é mostrada a descrição de algumas geometrias propostas nessaespecificação. Point: Definido como um objeto geométrico 0-dimensional, representa umlocal único no espaço coordenado. Um ponto tem uma coordenada X e uma coordenadaY 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.11mostra o modelo proposto para “Point” de acordo com a SFS. Figura 2.11: Modelo de “Point”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006). Curve: Definida como um objeto geométrico 1-dimensional, normalmentearmazenados como uma sequência de pontos. A especificação SFS define apenas umasubclasse da Curve, LineString, que usa a interpolação linear entre pontos. A Figura2.12 mostra o modelo de uma Curve. Figura 2.12: Modelo de “Curve”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006).
  42. 42. 41 Surface: Definido como um objeto 2-dimensional. Sua forma simples possuium limite exterior e zero ou mais limites interiores. A SFS especifica duas subclassespara esse modelo a classe “Polygon” e a classe “PolyhedralSurface”, de acordo com aFigura 2.13.Figura 2.13: Modelo de “Surface”. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006). Essa parte da especificação também define os principais relacionamentosentre entidades geográficas. Abaixo alguns exemplos desses relacionamentos. Equals: Retorna verdadeiro caso uma geometria “A” seja espacialmente iguala uma geometria “B”. E pode ser aplicado a qualquer combinação de tipos degeometrias. Disjoint: Retorno verdadeiro caso uma geometria “A” esteja espacialmentedisjuntas, ou seja, separadas, de uma geometria “B”. Também pode ser aplicado aqualquer combinação de tipos de geometrias. A B Figura 2.14: Exemplo de Disjoint. A geometria “A” é espacialmente separada da geometria “B”.
  43. 43. 42 Touches: Retorna verdadeiro caso uma geometria “A” toque em umageometria “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 mostraexemplos desse relacionamento. Linha/Área Ponto/Área Ponto/Linha Área/Área Linha/Linha Figura 2.15: Exemplo do relacionamento “touches”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006). 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. Linha/Área Linha/LinhaFigura 2.16: Exemplo do relacionamento “crosses”. FONTE: OPEN GEOPATIAL CONSORTIUM(2006).
  44. 44. 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.17mostra exemplos desse relacionamento. Área/Área Área/Ponto Linha/Ponto Área/LinhaFigura 2.17: Exemplo do relacionamento “contains”. FONTE: OPEN GEOPATIAL CONSORTIUM(2006). Overlaps: Retorna verdadeiro se uma geometria “A” sobrepões umageometria “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. Área/Área Linha/Linha Figura 2.18: Exemplo do relacionamento “overlaps”. FONTE: OPEN GEOPATIAL CONSORTIUM (2006). O SFS propõe também modelos gramaticais de representação dos dados
  45. 45. 44geográficos, o WKB (Well-known Binary Representation for Geometry), e o WKT(Well-known Text Representation for Geometry). A seguir, mais detalhes de cada umadessas formas de representação dos dados geográficos. WKB: Provê uma representação portável de objetos geométricos como umacadeia contínua de bytes, permitindo uma troca mais simples desses entre o cliente e aaplicação. No Postgis a informação sobre os atributos geográficos são armazenadasdessa maneira. A Figura 2.19 mostra os principais códigos inteiros comuns para os tiposgeométricos. Figura 2.19: Códigos Inteiros para tipos geométricos. FONTE: OPEN GEOSPATIAL CONSORTIUM (2006). E na Figura 2.20, tem-se um esquema de como é representado ainformaçã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 é formadopor dois anéis (NR=2) cada um com 3 pontos (NP=3).12 Tipo de representação para números “Unsigned Integer” e “Double”.
  46. 46. 45Figura 2.20: Exemplo de WKB. FONTE: OPEN GEOSPATIAL CONSOSRTIUM (2006). 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 Um “Polygon” com 1 anel ((10 10, 10 20, 20 20, 20 15, 10 10)) externo e zero anéis internos Multipoint MultiPoint ((10 10), (20 20)) Um “MultiPoint” com 2 pontosMultiLineString MultiLineString Uma “MultiLineString” com 2 ( “Linestrings”. (10 10, 20 20), (15 15, 30 15) ) MultiPolygon MultiPolygon Uma “MultiPolygon” com 2 ( polígonos ((10 10, 10 20, 20 20, 20 15, 10 10)), ((60 60, 70 70, 80 60, 60 60 )) )
  47. 47. 46 GeomCollection GeometryCollection Uma “GeometryCollection” ( composta por 2 valores do POINT (10 10), tipo “Point” e um valor do POINT (30 30), tipo “LineString” LINESTRING (15 15, 20 20) ) PolyhedralSurface PolyhedralSurface Z Um cubo poliédrico, ( com um canto na origem e ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)), com o canto oposto em (1, 1, ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), 1) ((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)) ) Tin Tin Z ( Um tetraedro (4 ((0 0 0, 0 0 1, 0 1 0, 0 0 0)), faces triangulares), ((0 0 0, 0 1 0, 1 0 0, 0 0 0)), com um canto na origem ((0 0 0, 1 0 0, 0 0 1, 0 0 0)), ((1 0 0, 0 1 0, 0 0 1, 1 0 0)), ) 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 entidadesgeográficas. Além de definir os conceitos e formatos de tabelas de feição e tabelas demetadados13. Nesse capítulo viu-se o paradigma dos quatro mundos, proposto porCÂMARA (2005), que demonstra os passos e escolhas necessárias para atransposiçã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çãocomputacional da IG, o Shapefile, e o padrão SFS com suas especificações sobeentidades geométricas, modelos, relacionamentos entre essas entidades e asrepresentaçõ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.
  48. 48. 47 3 ARMAZENAMENTO DA INFORMAÇÃO GEOGRÁFICA Esse capítulo discorre sobre o armazenamento de informações geográficasem um SGBD, fala sobre o Postgis, que é a extensão espacial do SGBD PostgreSQL eque implementa o padrão SFS além de exemplificar vários tipos de operações econsultas sobre dados espaciais.3.1 Banco de Dados Espaciais São Sistemas de Gerenciamento de Bancos de Dados (SGBD) comcapacidade para trabalhar com tipos de dados espaciais. Eles basicamente oferecemarmazenamento e recuperação dos dados espaciais e seus atributos além de operaçõessobre esses dados. Atualmente vários SGBDs possuem suporte para o trabalho com dadosespaciais. Entre os SGBDs proprietários cita-se o ORACLE Spatial, Microsoft SQLServer 2005 com sua extensão espacial MsSqlSpatial e IBM DB2 Spatial Extender, e
  49. 49. 48entre os SGBDs livres14 pode-se citar o PostgreSQL com sua extensão Postgis e oMySQL Spatial todos eles em conformidade com o padrão SFS. Este trabalho foca noPostgis devido ser um SGBD livre robusto e estar de acordo com a especificação SFSversã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 GNUGeneral Public License15 e atualmente está na sua versão 1.4.0. Ele adicionafuncionalidades ao PostgreSQL que permitem o armazenamento e processamento dedados geográficos, implementando a especificação SFS o que possibilita que diferentestipos de softwares, que seguem esse padrão, possam acessar e trabalhar com asinformaçõ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 maisantigo de SGBD chamado "Ingres" que surgiu em meados de 1970 criado pela equipedo Professor Michael Stonebreaker na Universidade de Berkeley e foi um dos primeirosSistemas de Bancos de Dados Relacional. O SGBD PostgreSQL fornece suporte para SQL92 e SQL:1999 além desuporte completo para joins, triggers e stored procedures (em múltiplas linguagens),views, chaves estrangeiras, integridade transacional e controle de concorrência demúltiplas versões. Possui a maioria dos tipos de dados do SQL:2008 incluindoINTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL eTIMESTAMP, além de permitir a adição de novos tipos como ISBN16/ISSN17, tipos para14 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).
  50. 50. 49armazenamento 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 comoC/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 PostgreSQLna 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 pelopadrã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.
  51. 51. 50 Figura 3.1: Tabelas de sistema do Postgis. A primeira "spatial_ref_sys" possui uma lista (cerca de três milhares deregistros) com a maioria dos sistemas de projeções cartográficas18 existentes. Essessistemas de projeções serão utilizados para determinar a localização das coordenadasde 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 cadauma das colunas geométricas do banco espacial. Cada registro nessa tabela do sistemaarmazena informações de qual é o nome da tabela da coluna com a geometria, qual onome do schema a que essa tabela pertence, o nome da coluna que contém asinformações geográficas e o tipo de dado armazenado na coluna geométrica19, o sistemade projeção cartográfica adotado para essa tabela além de um identificador único paracada 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), MULTILINESTRING18 Veja capítulo 1 subtítulo 1.1.2 Sistemas de Projeções Cartográficas19 Veja subtítulo 3.2.3 Tipos de Dados
  52. 52. 51(multi-linhas), MULTIPOLYGON (multi-polígonos), GEOMETRYCOLLECTION(coleçãode geometrias). Uma forma fácil de inserir dados geográficos em uma tabela, é utilizando afunção GeomFromText( Text WKT, SRID), que recebe um texto no formato WKT e oSRID associado à geometria, e o transforma em uma geometria para inserção no bancode 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 desejainserir, 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
  53. 53. 52 Para a criação de um banco de dados espaciais, basta executar o seguintecomando no PostgreSQL: CREATE DATABASE meu_banco_espacial TEMPLATE=template_postgis Para a criação de uma tabela espacial no seu novo banco, execute a seguinteinstrução: CREATE TABLE minha_feicao ( id INTEGER, nome VARCHAR(20) ); SELECT AddGeometryColumn(’’, ’minha_feicao’, ’geometria’, -1, ’LINESTRING’, 2); Observe que a coluna com a geometria foi adicionada através da função"AddGeometryColumn" do Postgis. As colunas geométricas devem preferencialmenteser adicionada à tabela através dessa função, cuja a sintaxe pode ser vista abaixo: AddGeometryColumn( <nome_schema>, <nome_tabela>, <nome_coluna>, <srid>, <tipo_geometria>, <dimensao> ) 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
  54. 54. 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 comoparâ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 ESRIShapefile 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 significaque deve-se copiar o shapefile (que é composto por três arquivos) e o arquivo doaplicativo "shp2pgsql" para um mesmo diretório como na Figura 3.2. Em nosso exemploeles estarão no diretório "C:Temp".
  55. 55. 54 Figura 3.2: Preparação dos arquivos para conversão.Convertendo Arquivos Após esse procedimento, deve-se abrir um console e entrar, através decomandos, dentro do diretório onde foram colocados os arquivos do shapefile e oprograma "shp2pgsql". Em seguida deve-se digitar o seguinte comando, supondo que jáse esteja dentro do diretório:C:Temp>shp2pgsql -s 29194 limites_municipais.shp limites_municipais >limites.sql 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 noBanco de Dados Espaciais Postgis. Para isso, no PgAdmin III21, primeiramenteselecione o banco espacial que deseja importar a nova tabela, Figura 3.3 seta 1, em20 Um dos sistemas de projeções existentes. Muito utilizado no estado do Ceará.21 Interface gráfica para gerenciamento do SGBD PostgreSQL.
  56. 56. 55seguida clique no botão "Executar consultas SQL", Figura 3.3 seta 2. 2 1 Figura 3.3: Selecionando banco para receber a nova tabela. Na janela que se abrirá, clique em "abrir arquivo", Figura 3.4 seta 1, eselecione o arquivo criado, em seguida clique no botão "executar consulta", Figura 3.4seta 2. Após esse procedimento ser concluído com sucesso, seu banco espacialpossuirá a nova tabela de feição geográfica. 1 2 Figura 3.4: Executando importação. 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”.
  57. 57. 563.2.6 Índices Os índices em um SGBD, tem a função de acelerar o tempo de acesso àslinhas de uma tabela. Para para grandes tabelas com dados espaciais (com cerca dealgumas mil linhas), torna-se imprescindível a utilização de índices para a realização dasbuscas 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 apenaspara operações de igualdade simples. No PostgreSQL o índice hash não temapresentado um bom desempenho, sendo desencorajado seu uso, sendo aconselhadosubstituí-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 seinforma 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 ascoordenadas (0,0) , (0,1) (1,0).Árvore R Utilizado apenas para operações de sobreposição nos tipos de dadosespaciais simples como pontos, linhas e retângulos . De acordo comSILBERCHARTCZ (2006), Uma árvore R é uma estrutura de árvore balanceada com osobjetos indexados armazenados nos nós folhas, semelhante a árvore B+. Contudo aoinvés de armazenar intervalos de valores, cada nó da árvore é associado o retânguloenvolvente do objeto. A Figura 3.5 mostra um exemplo de retângulo envolvente (emvermelho) que é o menor retângulo paralelo aos eixos que contém o objeto.
  58. 58. 57 Figura 3.5: Exemplo de Retângulo envolvente. FONTE: <http://150.164.29.11/mapserver- intro/img/exercicio01_extent.png> 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 contornodo seus nós filhos. Nesse tipo de índice, cada nó armazena o retângulo envolvente dosseus nós filhos junto com o ponteiro para os nós filhos. Já cada nó folha armazena oobjeto indexado, que opcionalmente poderá armazenar as caixas de contornos do seuobjeto, pois elas auxiliam na verificação de sobreposições exceto quando os objetosindexados forem retângulos, pois os retângulos envolventes seriam idênticos ao objetoindexado. A Figura 3.6 mostra um exemplo de uma árvore R. Na figura, os nós folhaspossuem polígonos dos açudes, com seus respectivos retângulos envolventes emvermelho, os nós folhas são denominados por letras. E os nós da árvore R possuem osretângulos envolventes que possuem os seus nós folhas, e são representados na figurapelos retângulos verdes com numeração arábica. Na figura elas são um pouco maiorespara facilitar a visualização, mas na realidade eles ficariam colados nos limites dosobjetos que contém. A Árvore R propriamente dita está no lado direito da Figura 3.6 a figura aesquerda refere-se apenas às coordenadas do retângulo envolvente i dos nós internosda árvore, denominados de BBi (na cor verde), e dos retângulos envolventes dosatributos geográficos (na cor vermelha).
  59. 59. 58 BB1 BB2 A B C D E F Figura 3.6: Uma Árvore R. FONTE: Adaptado de informações fornecidas pela Companhia de Gestão dos Recursos Hídricos - COGERH. De acordo com NEUFELD (2009), os índices de Árvore R no PostgreSQLnão são "null safe", logo se ao criar um índice sobre uma coluna de geometria e elacontiver valores nulos, a indexação falhará. Desde a versão 0.6 as árvores R foramcompletamente 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 dedados 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ãovizinhas), "things which overlap" (coisas que se sobrepõem), "things which are inside"
  60. 60. 59(coisas que estão dentro) e podem ser usadas em vários tipos de dados, inclusivedados geográficos. Ele é usado para acelerar as buscas em todos os tipos de estruturasde 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 é aseguinte: CREATE INDEX [nome_index] ON [nome_tabela] USING GIST ( [coluna_geometrica] ); Em seguida, é importante forçar PostgreSQL a coletar estatísticas de tabelaque são usadas para otimizar planos de "query": VACUUM ANALYZE [nome_tabela] ( [nome_coluna] ); Segundo NEUFELD (2009), no PostgreSQL, os índices GiST têm duasvantagens em relação a índices de árvore R. Primeiramente os índices GiST são "nullsafe" (segurança nula), ou seja, significa que eles podem indexar colunas que incluemvalores nulos o que não acontece com o índice de árvore R. Em segundo lugar, índicesGiST apoiam o conceito de "lossiness" que é importante quando se possui objetos detamanhos maiores que 8K. "Lossiness" permite ao PostgreSQL armazenar apenas aparte 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 índicesde á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 serdefinidas da seguinte forma:Operação Unária Booleana Esse tipo de operação mapeia geometrias em valores booleanos (verdadeiroou falso). Um exemplo de consulta seria saber se uma geometria é convexa22. Por22 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.
  61. 61. 60exemplo pode-se fazer a pergunta: O contorno de Fortaleza representa um polígonoconvexo (Figura 3.7)? Polígono convexo Município de Fortaleza Polígono não convexo Figura 3.7: Operação unária booleana. O município de Fortaleza é convexo?Operação Unária Escalar Nessa operação, os atributos geométricos são mapeados em valoresescalares. Como exemplo dessa operação tem-se a pergunta: “Qual a área domunicípio de fortaleza?” Essa pergunta pode ser respondida através da seguinte consulta que utilizafunção do Postgis chamada AREA(geometria geom), que recebe uma geometria comoparâmetro, que no exemplo é a coluna "the_geom" que contém a informaçãogeométrica:
  62. 62. 61 CONSULTA: SELECT municipio AS municipio, AREA(the_geom) as m2 FROM limites_municipais WHERE municipio LIKE Fortaleza; RETORNO: municipio m2 Fortaleza | 313240185.82959 O valor de retorno dessa função depende da medida adotada no sistema decoordenadas 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. Nessetipo de operação sobre dados espaciais, cada geometria é convertida em uma novageometria. 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). Emgeometrias do tipo ponto, o buffer é construído apenas criando um circulo de raio r. AFigura 3.8 mostra o princípio para criação de buffers. Figura 3.8: Princípio básico para a criação de buffer. FONTE CÂMARA (2005) 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çãoambiental seja definida como uma distância de 100 metros a partir da borda de um
  63. 63. 62açude. A reposta à pergunta: "Qual o limite da área de proteção ambiental do açudePenedo no estado do Ceará?" pode ser obtida através da seguinte consulta. SELECT acude as acude, BUFFER( the_geom, 100 ) FROM acudes WHERE acude LIKE PENEDO; 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 apartir do valor da distância fornecida. Observe que o valor passado como parâmetrodeve 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-seas feições do acude, visto na Figura 3.9 (a), pode-se observar claramente a área depreservação ambiental ao redor do açude, Figura 3.9 (c).(a) Açude Penedo (b) Buffer Zone (c) Área de Proteção Ambiental de 100 metrosFigura 3.9: Exemplo de Buffer Zone ou Mapa de Distância.
  64. 64. 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 serexecutada no SGBD através da instrução CONVEXHULL ( geometria geom), aconsulta abaixo por exemplo, mostra a forma de se obter o polígono convexo quecontém o município de Fortaleza. SELECT CONVEXHULL(the_geom) FROM limites_municipais WHERE municipio LIKE 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 asobreposição das duas imagens. Elas foram colocadas apenas para uma melhorcompreensão do resultado obtido. (a) Geometria de Fortaleza (b) Resultado da consulta (c) sobreposição (polígono convexo) Figura 3.10: Exemplo da função ConvexHull.Operação Binária Booleana Essa operação mapeia pares de entidades geométricas em valoresbooleanos e pode ser subdividida em:
  65. 65. 64 Relacionamentos Topológicos: São relacionamentos que não são alteradospor transformações topológicas como: translação, rotação e mudanças de escala, comooperações do tipo “Contains”, “Disjoint”, “Touches”, “Intersects” e “Crosses”. Como exemplo dessas operações, pode-se ter uma situação onde se desejasaber: “Quais os municípios do estado do Ceará, são cortados (interceptados) peloCanal da Integração?”. A seguinte consulta retornaria a informação requerida: SELECT m.gid, m.municipio, m.the_geom FROM limites_municipais m INNER JOIN canal_integracao c ON INTERSECTS(c.the_geom, m.the_geom) IS NOT FALSE Observe que a função INTERSECTS(geometria geomA, geometriageomB) recebe duas geometrias e retorna verdadeiro caso a primeira geometria(geomA) intercepte a segunda geometria (geomB). O resultado da consulta pode serobservado na Figura 3.11 pelos municípios coloridos. O canal da integração está emazul. Figura 3.11: Exemplo da função INTERSECT. FONTE: COGERH.
  66. 66. 65 Outra função pertencente a esse grupo é a função DISJOINT (geometriageomA, geometria geomB), que retorna verdadeiro caso a primeira geometria (geomA)seja espacialmente separada da segunda geometria (geomB). Essa relação pode serusada para comparações de vizinhança como o seguinte exemplo: “O município deFortaleza é vizinho do município de Maranguape?”. A reposta para essa questão podeser obtida a partir da seguinte consulta. 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 A Figura 3.12 apresenta os contornos do município de fortaleza e domunicípio de Maranguape. Observe que esses municípios não se tocam em nenhumponto e estão espacialmente separados, demonstrando que o retorno da função acimaestá 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.
  67. 67. 66 A resposta a pregunta também poderia ser respondida, nesse casoespecífico, utilizando a função TOUCHES(geometria geomA, geometria geomB)que retornaria “verdadeiro” caso as geometrias não se tocassem, como no caso deFortaleza 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 respostaerrônea pois o a função TOUCHES retornaria FALSE (falso), pois as geometrias não setocariam, mas elas não poderiam ser consideradas vizinhas pois uma estaria contida naoutra, não estando espacialmente separadas. A B Figura 3.13: Geometria B contida na geometria A sem tocá-la. Relacionamento Direcional: Esse relacionamento declara uma relação dedireção entre as geometrias. Por exemplo, dizer que Fortaleza esta ao norte dePacatuba, Figura 3.14, é um exemplo desse relacionamento. Figura 3.14: Exemplo de relacionamento Binário Booleano Direcional. Fortaleza ao norte de Pacatuba. FONTE: COGERH.

×