UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Modelos Conceituais de Dados para Sistemas de Informações Geográficas CIP - Catalogação na Publicação por JUGURTA LISBOA FILHO LISBOA FILHO, Jugurta Modelos Conceituais de Dados para Sistemas de Informações Geográficas / Jugurta Lisboa Filho. - Porto Alegre: CPGCC da UFRGS, 1997. p. 119: il - (EQ-12) EQ-12 CPGCC-UFRGS Exame de Qualificação Trabalho orientado pelo Prof. Dr Cirano Iochpe. 1. Sistemas de Banco de Dados 2. Modelos Conceituais de Dados 3. Sistemas de Informações Geográficas. 4. Sistemas de Geoprocessamento. 5. Dados Georreferenciados. I. Iochpe, Cirano. II. Título. III. Série. Prof. Cirano Iochpe Orientador Porto Alegre, abril de 1997 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Profa. Dra. Wrana Panizzi Pró-Reitor de Pesquisa e Pós-Graduação: Prof. Dr. José Carlos Ferraz Hennemann Diretor do Instituto de Informática: Prof. Dr. Roberto Tom Price Coordenador do CPGCC: Prof. Dr. Flávio R. Wagner Bibliotecária-Chefe do Instituto de Informática: Zita Prates de Oliveira 2 3 3.3.1 Princípios Básicos ..................................................................................................23 3.3.2 Formas de Sensoriamento Remoto .........................................................................25 3.4 Fontes de Dados Geográficos..................................................................................26 3.5 Qualidade dos Dados Geográficos .........................................................................27 Sumário Lista de Figuras ............................................................................ 6 Lista de Tabelas ............................................................................ 7 Resumo .......................................................................................... 8 Abstract ......................................................................................... 9 1 Introdução ................................................................................ 10 1.1 Contextualização da Área de Abrangência ...........................................................10 1.2 Estrutura do Documento.........................................................................................11 PARTE I Sistemas de Informações Geográficas .................... 13 2 Conceitos Básicos..................................................................... 14 2.1 Sistema de Informação Geográfica ........................................................................14 2.2 Breve Histórico do Desenvolvimento de SIG ........................................................15 2.3 Áreas de Aplicação de SIG .....................................................................................16 2.4 Dados Georreferenciados........................................................................................17 2.5 Vocabulário em Banco de Dados Geográfico........................................................18 3 Aspectos Tecnológicos em Geoprocessamento ..................... 20 3.1 Geoprocessamento ...................................................................................................20 3.2 Fundamentos em Cartografia.................................................................................21 3.2.1 Conceito de mapa ...................................................................................................21 3.2.2 Escala .....................................................................................................................22 3.2.3 Sistemas de Coordenadas.......................................................................................22 3.2.4 Projeções Cartográficas.........................................................................................23 3.3 Fundamentos em Sensoriamento Remoto .............................................................23 4 Componentes de SIG............................................................... 28 4.1 Objetos Espaciais.....................................................................................................28 4.1.1 Ponto.......................................................................................................................28 4.1.2 Linha.......................................................................................................................29 4.1.3 Polígono .................................................................................................................29 4.1.4 Representando Fenômenos Geográficos através de Superfícies............................30 4.2 Relacionamentos Espaciais .....................................................................................31 4.2.1 Exemplos de Relacionamentos entre Entidades Geográficas ..............................32 4.2.2 Conceito de Topologia ...........................................................................................33 4.3 Modelos de Dados Geográficos...............................................................................35 4.4 Arquitetura Genérica de SIG .................................................................................36 4.5 Métodos de Aquisição de Dados .............................................................................38 4.5.1 Digitalização ..........................................................................................................38 4.5.2 Leitura Ótica ..........................................................................................................38 4.5.3 Digitação ................................................................................................................38 4.5.4 GPS.........................................................................................................................39 4.5.5 Arquivo Digital .......................................................................................................39 4.6 Estruturas de Armazenamento de Dados Espaciais.............................................39 4.6.1 Estruturas Matriciais..............................................................................................40 4.6.1.1 Técnica Run-Length Encoding ............................................................................41 4.6.1.2 Estruturas Quadtrees ...........................................................................................42 4.6.2 Estruturas Vetoriais................................................................................................43 4.6.2.1 Estrutura de Dados para Armazenar Pontos ........................................................44 4.6.2.2 Estrutura de Dados para Armazenar Linhas ........................................................45 4.6.2.3 Estrutura de Dados para Armazenar Polígonos ...................................................45 4.7 Processamento e Análise de Dados em SIG...........................................................47 4.7.1 Funções de Manutenção de Dados Espaciais ........................................................48 4.7.1.1 Transformações de Formato ................................................................................48 4.7.1.2 Transformações Geométricas ..............................................................................48 4.7.1.3 Transformações entre Projeções Geométricas.....................................................49 4.7.1.4 Casamento de Bordas ..........................................................................................49 4.7.1.5 Edição de Elementos Gráficos.............................................................................49 4.7.1.6 Redução de Coordenadas.....................................................................................49 4.7.2 Manutenção e Análise de Atributos Descritivos.....................................................50 4.7.2.1 Edição de Atributos Descritivos ..........................................................................50 4 4.7.2.2 Consulta a Atributos Descritivos.........................................................................50 4.7.3 Análise Integrada de Dados Espaciais e Descritivos.............................................50 4.7.3.1 Funções de Recuperação, Classificação e Medidas.............................................51 4.7.3.2 Funções de Sobreposição de Camadas ................................................................51 4.7.3.3 Funções de Vizinhança........................................................................................52 4.7.3.4 Funções de Conectividade ...................................................................................53 4.7.4 Formatação de Saída..............................................................................................55 4.8 Temas Atuais de Pesquisa na Área de SIG ...........................................................55 PARTE II Análise de Modelos Conceituais de Dados para Sistemas de Informações Geográficas ...................................... 57 5 Modelos de Dados.................................................................... 58 5.1 Taxonomias de Modelos de Dados .........................................................................59 5.1.1 Modelos de Dados e as Fases do Projeto de Banco de Dados ..............................59 5.1.2 Modelos de Dados numa Escala de Flexibilidade e Expressividade .....................60 5.2 Primitivas de Abstração ..........................................................................................60 5.2.1 Classificação ..........................................................................................................61 5.2.2 Generalização & Especialização ...........................................................................61 5.2.3 Agregação...............................................................................................................63 5.2.4 Associação ..............................................................................................................63 5.3 Principais Modelos Semânticos ..............................................................................64 5.3.1 Modelo E-R.............................................................................................................64 5.3.2 Modelo GSM...........................................................................................................66 5.4 Características dos Modelos Orientados a Objetos..............................................68 5.4.1 OMT - Um Exemplo de Modelo de Objetos............................................................70 6 Modelos de Dados para Aplicações Geográficas.................. 72 6.1 Requisitos Especiais das Aplicações Geográficas .................................................72 6.1.1 Visão de Campo & de Objetos................................................................................73 6.1.2 Relacionamentos Espaciais ....................................................................................74 6.1.3 Temporalidade dos Dados Geográficos .................................................................76 6.1.4 Requisitos de Qualidade.........................................................................................78 6.1.5 Múltiplas Representações.......................................................................................79 6.1.6 Limites Nebulosos (fuzzy) .......................................................................................79 6.2 Níveis de Abstração de Dados Geográficos ...........................................................80 6.3 Modelos Conceituais Específicos para Aplicações Geográficas ..........................82 6.3.1 Modelo GMOD/UAPE............................................................................................83 6.3.2 Modelo MGeo .........................................................................................................86 5 6.3.3 Modelo Clementini .................................................................................................87 6.3.4 Modelo GeoIFO......................................................................................................91 6.3.5 Modelo Modul-R....................................................................................................93 6.3.6 Modelo GeoOOA ....................................................................................................96 6.3.7 Modelo Faiz............................................................................................................99 7 Análise Comparativa de Modelos Conceituais no Contexto de SIG ........................................................................................ 101 7.1 Visão de Campo & de Objetos..............................................................................103 7.2 Relacionamentos Espaciais ...................................................................................103 7.3 Temporalidade dos Dados Geográficos ...............................................................104 7.4 Requisitos de Qualidade........................................................................................104 7.5 Múltiplas Representações .....................................................................................105 7.6 Limites Nebulosos ..................................................................................................105 7.7 Outros Comentários ..............................................................................................105 8 Conclusões .............................................................................. 107 Bibliografia................................................................................ 110 6 7 Lista de Figuras Lista de Tabelas Figura 3.1 - Espectro eletromagnético [LIL 87] .............................................................24 Figura 4.1 - Entidades de uma rede elétrica ...................................................................29 Figura 4.2 - Distribuição espacial de entidades do tipo polígono ..................................30 Figura 4.3 - Processo de construção da topologia [NCG 90] .........................................34 Figura 4.4 - Aspectos tecnológicos de SIG [ANT 91] ...................................................36 Figura 4.5 - Componentes de um SIG [CAM 96] ..........................................................37 Figura 4.6 - Exemplo de representação matricial e vetorial ...........................................39 Figura 4.7 - Técnica run-length encoding [ARO 89] .....................................................42 Figura 4.8 - Exemplo de estrutura quadtree [SAM 89] ..................................................43 Figura 4.9 - Estrutura de dados para rede [NCG 90]......................................................45 Figura 4.10 - Representação em grafos não-direcionados [LAU 92] .............................46 Figura 4.11 - Relacionamento de polígonos adjacentes [NCG 90] ................................47 Figura 4.12 - Exemplo de operação de redução de coordenadas....................................50 Figura 4.13 - Operações de sobreposição de camadas ...................................................52 Figura 4.14 - Exemplo de zonas de buffer......................................................................54 Figura 5.1 - Exemplo de Abstração de Generalização e Especialização........................62 Figura 5.2 - Construtores do modelo E-R ......................................................................65 Figura 5.3 - Dois tipos de hierarquia no modelo EER ...................................................65 Figura 5.4 - Exemplo de esquema conceitual no modelo GSM ....................................66 Figura 5.5 - Projeto de Banco de Dados Espacial [MIL 93] .........................................68 Figura 5.6 - Subconjunto de construtores do modelo de objetos OMT..........................70 Figura 6.1 - Modelos de dados na visão de campo.........................................................74 Figura 6.2 - Exemplo de variação espaço-temporal [WOR 94a] ...................................77 Figura 6.3 - Níveis de especificação de aplicações geográficas .....................................80 Figura 6.4 - O Modelo de Dados GMOD [OLI 97]........................................................84 Figura 6.5 - Hierarquia de classes no modelo MGeo [TIM 94] .....................................86 Figura 6.6 - Estrutura geral de classes [CLE 94]............................................................89 Figura 6.7 - Exemplo da hierarquia de generalização de classes [CLE 94] ...................90 Figura 6.8 - Componentes do modelo GeoIFO [TRY 95]..............................................92 Figura 6.9 - Exemplo de uso do modelo E-R Geográfico [TRY 95] .............................93 Figura 6.10 - Módulos do modelo Modul-R [CAR 93] .................................................94 Figura 6.11 - Tipos de classes em GeoOOA [KÖS 95] .................................................97 Figura 6.12 - Tipos de estruturas todo-parte espacial em GeoOOA...............................97 Figura 6.13 - Exemplo de modelagem de rede elétrica em GeoOOA [KÖS 95] ...........98 Figura 6.14 - Esquema de meta-dados no modelo Faiz (adapt. de [FAI 94])...............100 Tabela 2.1 - Tipos básicos de objetos espaciais [NCG 90] ............................................19 Tabela 3.1 - Características básicas dos satélites............................................................25 Tabela 7.1 - Requisitos de aplicações geográficas X modelos conceituais para SIG...102 8 9 Resumo Abstract Este trabalho constitui-se de duas partes referentes aos exames de qualificação em abrangência e em profundidade, desenvolvidos no curso de doutorado do CPGCC da UFRGS. A primeira parte (exame de qualificação em abrangência) apresenta uma visão geral dos Sistemas de Informações Geográficas (SIG), onde são descritos, inicialmente, alguns conceitos básicos, um breve histórico de seu desenvolvimento e uma visão das principais áreas de aplicação desses sistemas. Em seguida, são descritos os principais aspectos tecnológicos relacionados com a área de Geoprocessamento, onde os SIGs se enquadram. Por último, são detalhados os componentes presentes na maioria dos sistemas incluindo os métodos de aquisição de dados espaciais, estruturas de armazenamento de dados espaciais e funções de processamento e análise de dados espaciais. Na segunda parte (exame de qualificação em profundidade) são descritos e analisados vários modelos conceituais de dados específicos para aplicações geográficas. Inicialmente, é feita uma revisão dos modelos de dados empregados no projeto de sistemas de informação em geral. Em seguida, é apresentado um conjunto de requisitos específicos das aplicações geográficas e descrito diversos modelos conceituais de dados, propostos para atender a essas aplicações. Por último, é feita uma análise comparativa desses modelos com base nos requisitos impostos pelas aplicações geográficas. This work represents the results of the qualifying examination of the doctorate course of CPGCC-UFRGS. Its first part refers to the wide-ranging examination and the second one to the examination in depth. Both exams explore the knowledge area of Geographic Information Systems (GIS). The wide-ranging examination gives an overview of the knowledge area while the examination in depth discusses issues that are related to the modeling of GIS applications. After describing some basic concepts of the area, the first part explores technical issues as digital cartography, and remote sensing. Furthermore, the first part discusses also spatial data retrieval, spatial data structures, and spatial analysis and data processing functions. The second part of the document first reviews several conceptual data models in the context of information systems modeling. Following this introduction, new requirements posed by GIS applications are presented and discussed. Relying on those requirements, a set of newly proposed conceptual data models for GIS applications are introduced and compared. The document is concluded with a discussion of future perspectives in the field of GIS application modeling. PALAVRAS-CHAVE: Sistemas de Banco de Dados, Modelos Conceituais de Dados, Sistemas de Informações Geográficas, Sistemas de Geoprocessamento, Dados Georreferenciados. KEY WORDS: Database Systems, Conceptual Data Models, Geographic Information Systems, Geoprocessing Systems, Georeferenced Data. 10 11 armazenamento mais eficientes e um suporte adequado a transações longas e não isoladas [HAD 96]. 1 Introdução Esta monografia corresponde ao Exame de Qualificação do autor, desenvolvido como requisito parcial para a obtenção do título de Doutor em Ciência da Computação, junto ao Curso de Pós-Graduação em Ciência da Computação (CPGCC) da Universidade Federal do Rio Grande do Sul (UFRGS). A monografia está dividida em duas partes. A primeira possui o subtítulo Sistemas de Informações Geográficas e corresponde ao Exame de Qualificação em Abrangência, onde são apresentados os fundamentos da área em que se está desenvolvendo a pesquisa. A segunda parte, de subtítulo Análise de Modelos Conceituais de Dados para Sistemas de Informações Geográficas, corresponde ao Exame de Qualificação em Profundidade, onde é apresentado o estado-da-arte e é feita uma análise crítica dos modelos conceituais de dados propostos, especificamente, para modelagem de aplicações geográficas no contexto de Sistemas de Informações Geográficas. 1.1 Contextualização da Área de Abrangência A área de Sistemas de Informação pode ser dividida, num primeiro nível, em dois grandes grupos: o grupo dos sistemas de informações convencionais e o grupo dos sistemas de informações não-convencionais. Sistemas de informações convencionais caracterizam-se por permitir o desenvolvimento de aplicações que possam ser naturalmente modeladas com base em modelos de dados tradicionais (hierárquico, em rede e relacional), cujos aspectos dinâmicos podem ser apreendidos pelo paradigma de transação ACID, que possuem interfaces homem-máquina não-cooperativas e que não suportam trabalho em grupo. Os sistemas de informações não-convencionais são voltados para as aplicações que não se enquadram na classificação anterior como, por exemplo: Sistemas de Informações Geográficas (SIG); Sistemas de Apoio a Projeto (CAD); Sistemas de Informação para Automação Industrial; Sistemas de Automação de Escritório (OIS); e Trabalho Cooperativo Apoiado por Computador (CSCW). Estes sistemas se caracterizam, principalmente, pela necessidade de manipular objetos complexos e executar transações não ACID. Isto implica na necessidade de novos modelos de dados, novos tipos de operações sobre os objetos, métodos de acesso e estruturas de Existem diversos ramos da Ciência da Computação que contribuem para o desenvolvimento dos Sistemas de Informações Geográficas, entre eles pode-se citar: Banco de Dados, Computação Gráfica, Inteligência Artificial e Engenharia de Software. Além disso, conceitos originários de outras áreas como Cartografia e Sensoriamento Remoto são incorporados a esses sistemas. Desta forma, muitas vezes a área de Sistemas de Informações Geográficas é tratada como uma disciplina independente [GOO 92a]. 1.2 Estrutura do Documento A Parte I, possui o subtítulo Sistemas de Informações Geográficas e compreende os capítulos 2 a 4. O capítulo 2 apresenta a definição dos principais conceitos relacionados a Sistemas de Informações Geográficas, fornece um pequeno histórico de seu desenvolvimento e relaciona as principais áreas onde esses sistemas são aplicados. No capítulo 3 são descritos os aspectos tecnológicos relacionados com a área de Geoprocessamento, que engloba toda forma de processamento de dados geográficos. São descritos os fundamentos básicos das áreas de Cartografia e Sensoriamento Remoto, são caracterizadas as principais fontes de dados geográficos e, por último, são descritas algumas considerações sobre a qualidade dos dados geográficos. O capítulo 4 descreve os principais componentes pertencentes a um Sistema de Informações Geográficas. É apresentada uma descrição inicial sobre os modelos de dados geográficos. São descritos os tipos de objetos espaciais usados para representar espacialmente os dados geográficos e os tipos de relacionamentos existentes entre esses dados. São apresentados os métodos mais utilizados na aquisição de dados geográficos, diversas estruturas de dados que permitem o armazenamento e a recuperação desses dados e, por último, um conjunto significativo de funções que permitem ao usuário processar e analisar os dados geográficos. A Parte II, de subtítulo Análise de Modelos Conceituais de Dados para Sistemas de Informações Geográficas, compreende os capítulos 5 a 7. No capítulo 5 são descritas as características gerais dos diversos modelos de dados utilizados para se projetar um banco de dados. Na seção 5.1 são apresentadas duas classificações desses modelos de dados. A seção 5.2 descreve algumas primitivas de abstração encontradas na maioria dos modelos de dados semânticos e orientados a objetos. A seção 5.3 faz uma revisão de dois dos principais modelos de dados 12 13 semânticos e a seção 5.4 descreve as principais características dos modelos de dados orientados a objetos. O capítulo 6 faz uma revisão do estado-da-arte em matéria de modelos de dados que são projetados especificamente para aplicações geográficas. Na seção 6.1 são levantados requisitos especiais que são apresentados pelas aplicações geográficas. A seção 6.2 descreve os diferentes níveis de abstração com que os dados geográficos são modelados. Na seção 6.3 são descritos os principais modelos de dados conceituais utilizados no projeto de banco de dados geográficos. No capítulo 7 é feita uma análise comparativa dos modelos descritos na seção 6.3, com base nos requisitos identificados na seção 6.1. As conclusões finais do trabalho são descritas no capítulo 8. PARTE I Sistemas de Informações Geográficas 14 15 Diversas definições de SIG são encontradas na literatura, variando de acordo com as quatro abordagens anteriores. A seguir são listadas algumas dessas definições: “Um SIG á um sistema que utiliza um banco de dados espacial para fornecer respostas a consultas de natureza geográfica” (Goodchild, 1988 Apud [COW 88]). 2 Conceitos Básicos “Um SIG é um poderoso conjunto de ferramentas para coletar, armazenar, recuperar, transformar e exibir dados espaciais do mundo real para um conjunto particular de propósitos” [BUR 86]. 2.1 “Um SIG é um sistema de suporte à decisão que envolve a integração de dados referenciados espacialmente em um ambiente de solução de problemas” [COW 88]. Sistema de Informação Geográfica O termo Sistema de Informação Geográfica1 (SIG) caracteriza os sistemas de informação que possibilitam a realização de operações de análise espacial envolvendo dados georreferenciados, ou seja, dados referenciados geograficamente em relação à superfície terrestre. Uma das principais características de um SIG é sua capacidade de manipular dados gráficos (cartográficos) e não-gráficos (descritivos) de forma integrada, provendo uma forma consistente para análise e consulta. É possível, desta forma, ter acesso às informações descritivas de uma entidade geográfica a partir de sua localização geográfica e vice-versa. Além disso, pode-se fazer conexões entre diferentes entidades com base em relacionamentos espaciais. Denomina-se entidade geográfica, qualquer fenômeno do mundo real que possua atributos associados à sua localização sobre a superfície terrestre num certo instante ou intervalo de tempo [CAM 96]. Segundo Cowen [COW 88], existem quatro abordagens distintas para se definir um SIG: a abordagem orientada a processos; a abordagem da aplicação; a abordagem toolbox (caixa de ferramentas); e a abordagem de banco de dados. A abordagem orientada a processos baseia-se na idéia de que um SIG é constituído de diversos subsistemas integrados, que incluem procedimentos de entrada, armazenamento e recuperação de informações geográficas. A abordagem da aplicação caracteriza o SIG de acordo com o tipo de informação utilizada (ex.: gerenciamento de recursos naturais, planejamento urbano). A abordagem toolbox vem da idéia de que um SIG incorpora um sofisticado conjunto de procedimentos e algoritmos, baseados em computador, para manipular dados espaciais (ex.: produção automática de mapas). Por último, a abordagem de banco de dados define um SIG como um banco de dados não-convencional que permite o armazenamento e a recuperação de informações geográficas. 1 do Inglês, Geographic Information System (GIS) “Um SIG é um conjunto de procedimentos, manuais ou baseados em computador, usados para armazenar e manipular dados referenciados geograficamente” [ARO 89]. “Um SIG é um sistema de informação, baseado em computador, que possibilita a captura, modelagem, manipulação, recuperação, análise e apresentação de dados referenciados geograficamente” [WOR 95]. Existem diversos tipos de sistemas que manipulam dados espaciais, como os sistemas de cartografia automatizada e os sistemas de CAD (Projeto Auxiliado por Computador), porém, os SIGs se diferenciam desses sistemas por dois motivos principais. Primeiro, por sua capacidade de representar os relacionamentos espaciais (ou topológicos) entre as entidades geográficas. Segundo, por permitir a realização de complexas operações de análise espacial com os dados geográficos. 2.2 Breve Histórico do Desenvolvimento de SIG O gerenciamento de informações geográficas teve sua origem na metade do século XVIII, quando, a partir do desenvolvimento da cartografia, foram produzidos os primeiros mapas com precisão [ANT 91]. As pesquisas na área de Geoprocessamento tiveram início na década de 60, variando em terminologia de acordo com a área de aplicação a que se destinavam. Termos como Land Information System (LIS), Automated Mapping/Facilities Management (AM/FM), Computer-Aided Drafting and Design (CADD), Multipurpose Cadastre e outros, foram usados para identificar sistemas, em diferentes áreas da atividade humana, que tinham como característica comum, o tratamento de informações georreferenciadas. Os SIGs começaram a ser pesquisados paralelamente, e de forma independente, em diversos países como EUA, Canadá e Inglaterra. Desde a década de 60, a tecnologia de SIG tem sido utilizada em diferentes setores como agricultura, 16 17 • Atividades Econômicas - planejamento de marketing; pesquisas sócioeconômicas; distribuição de produtos e serviços; transporte de matériaprima. exploração de petróleo, controle de recursos naturais, sócio-econômicos e controle do uso da terra. Os primeiros SIGs eram dirigidos, principalmente, para o processamento de atributos de dados e análises geográficas, mas possuíam capacidades gráficas muito rudimentares. A partir das décadas de 70 e 80, o aumento na capacidade de processamento dos computadores, aliado à redução dos custos de memória e hardware em geral, influenciaram substancialmente o desenvolvimento dos SIGs. Também o desenvolvimento de dispositivos de alta tecnologia, como monitores de vídeo e "plotters" coloridos, contribuiu para disseminar o uso da tecnologia. Os primeiros sistemas comerciais começaram a surgir no início da década de 80, o sistema ARC/INFO da Environment Systems Research Institute (ESRI) foi um dos primeiros. A integração com a tecnologia de gerenciamento de banco de dados foi outro marco importante no desenvolvimento desses sistemas [ESR 91]. 2.3 Áreas de Aplicação de SIG Cresce a cada dia, o número de problemas onde os SIGs são empregados. Tradicionalmente, estes sistemas têm sido utilizados por instituições públicas, empresas de prestação de serviço de utilidade (ex. companhias de água, luz e telefone), na área de segurança militar e em diversos tipos de empresas privadas (ex.: engenharia civil, terraplanagem). A seguir, é apresentada uma relação das diversas áreas de aplicação, divididas em cinco grupos principais, segundo Ramirez [RAM 94]. • Ocupação Humana - redes de infra-estrutura; planejamento e supervisão de limpeza urbana; cadastramento territorial urbano; mapeamento eleitoral; rede hospitalar; rede de ensino; controle epidemiológico; roteamento de veículos; sistema de informações turísticas; controle de tráfego aéreo; sistemas de cartografia náutica; serviços de atendimentos emergenciais. • Uso da Terra - planejamento agropecuário; estocagem e escoamento da produção agrícola; classificação de solos; gerenciamento de bacias hidrográficas; planejamento de barragens; cadastramento de propriedades rurais; levantamento topográfico e planimétrico; mapeamento do uso da terra. • Uso de Recursos Naturais - controle do extrativismo vegetal e mineral; classificação de poços petrolíferos; planejamento de gasodutos e oleodutos; distribuição de energia elétrica; identificação de mananciais; gerenciamento costeiro e marítimo. • Meio Ambiente - controle de queimadas; estudos de modificações climáticas; acompanhamento de emissão e ação de poluentes; gerenciamento florestal de desmatamento e reflorestamento. 2.4 Dados Georreferenciados Quatro aspectos caracterizam um dado georreferenciado: a) a descrição da entidade geográfica que cada dado representa; b) a localização geográfica da entidade que o dado representa; c) o relacionamento entre a entidade geográfica com outras entidades representadas no sistema; e d) o momento ou intervalo de tempo em que a entidade geográfica existe ou é válida. Em um SIG, a descrição da entidade geográfica é obtida através de atributos qualitativos e quantitativos, não-espaciais, como, por exemplo, nome e população de uma cidade. Estes atributos não possuem aspectos gráficos, podendo ser tratados por meio de sistemas de gerência de banco de dados (SGBD) convencionais. Já a localização geográfica é armazenada através de informações sobre sua forma geométrica e a posição da entidade geográfica em relação a um sistema específico de coordenadas geográficas. As relações de vizinhança espacial entre entidades geográficas são representadas por relacionamentos topológicos. Este aspecto requer a existência de modelos e métodos de acesso não-convencionais para sua representação em um banco de dados geográfico. O aspecto temporal descreve as características dos momentos ou períodos em que as entidades geográficas são válidas. Segundo Newell [NEW 92], o aspecto temporal em um SGBD pode incluir diversos tipos de medida de tempo (ex.: instante, intervalo de tempo) e vários tipos de relacionamentos envolvendo o tempo, como noções de antes, depois, durante, etc. Desta forma, é possível obter informações sobre quem é a entidade geográfica, onde está localizada, qual o relacionamento com outras entidades e em que momento ou período de tempo a entidade é válida. Normalmente, dentro de um SIG, estes aspectos são classificados em duas categorias de dados [OOI 90]. São elas: dados convencionais - atributos alfanuméricos usados para armazenar os dados descritivos e temporais das entidades 18 geográficas; e dados espaciais - atributos que descrevem a geometria, a localização geográfica e os relacionamentos com outras entidades geográficas. Além disso, um SIG pode possuir dados pictórios, que armazenam imagens sobre regiões geográficas (ex.: fotografia de uma cidade ou uma imagem de satélite). 2.5 Vocabulário em Banco de Dados Geográfico 19 • Camada (layer) - Os objetos espaciais, em um banco de dados geográfico, podem ser agrupados e dispostos em camadas. Normalmente, uma camada contém um único tipo de entidade ou entidades de tipos relacionados a um tema comum (ex.: uma camada pode representar somente as rodovias de uma região ou pode representar também as ferrovias). Dimensão Tipo Descrição 0D ponto Um objeto com posição no espaço mas sem comprimento Neste trabalho, o termo banco de dados geográfico é utilizado para referenciar o componente responsável pelo armazenamento dos dados em um SIG, que não precisa ser, necessariamente, um SGBD. 1D linha Um objeto tendo comprimento. Composto de 2 ou mais objetos 0D 2D área Um objeto com comprimento e largura. Limitado por, pelo menos, 3 objetos 1D O conjunto de definições apresentadas a seguir foi proposto pelo US National Digital Cartographic Standart e foram extraídas de [NCG 90]. Neste trabalho procurou-se empregar os conceitos de acordo com estas definições. 3D volume Um objeto de comprimento, largura e altura. Limitado por, pelo menos, 4 objetos 2D • Identidade - Elementos da realidade modelados em um banco de dados geográfico têm duas identidades: o elemento na realidade, denominado entidade e o elemento representado no banco de dados, denominado objeto. Uma terceira identidade usada em aplicações cartográficas é o símbolo usado para representar entidades/objetos no mapa. • Entidade - É qualquer fenômeno geográfico da natureza, ou resultante da ação direta do homem, que é de interesse para o domínio da aplicação. • Objeto - É a representação digital de uma entidade, ou parte dela. A representação digital varia de acordo com a escala utilizada. Por exemplo, um aeroporto pode ser representado por um ponto, uma linha ou uma área, dependendo da escala em uso. • Tipo de Entidade - É a descrição de um agrupamento de entidades similares, que podem ser representadas por objetos armazenados de maneira uniforme (ex: o conjunto das estradas de uma região). Fornece uma estrutura conceitual para a descrição de entidades semelhantes. • Tipo de Objeto Espacial - Cada tipo de entidade em um banco de dados geográfico é representado de acordo com um tipo de objeto espacial apropriado. A Tabela 2.1 mostra os tipos básicos dos objetos espaciais definidos pelo US National Digital Cartographic Standart, classificados segundo suas dimensões espaciais. • Classe de Objeto - Descreve um conjunto de objetos que representam um conjunto de entidades de mesmo tipo. Por exemplo, o conjunto de pontos que representam um conjunto de postes de uma rede elétrica ou o conjunto de polígonos, representando lotes urbanos. • Atributo - Descreve as características das entidades normalmente de forma não-espacial. Exemplos são o nome da cidade ou o diâmetro de um duto. • Valor de Atributo - Valor associado ao atributo. (ex.: nome da cidade = 'Recife', diâmetro do duto = 1 ½"). Tabela 2.1 - Tipos básicos de objetos espaciais [NCG 90] 20 21 • Campos que fazem uso substancial dos sistemas automatizados de informações espaciais: arqueologia, engenharia civil, engenharia florestal, ciências agrárias, paisagismo e planejamento urbano. • Campos que fornecem linhas gerais sobre informação: direito e economia. 3 Aspectos Tecnológicos em Geoprocessamento 3.1 Geoprocessamento O termo Geomatics, usado em alguns países (ex.: Canadá), é um termo "guarda-chuva" que engloba toda ciência ou tecnologia relacionada a cadastro, levantamento, mapeamento, sensoriamento remoto e SIG [BEA 95]. Geomatics é definido como “o campo de atividades que, utilizando uma abordagem sistêmica, integra todos os meios empregados na aquisição e gerenciamento de dados espaciais usados em aplicações científicas, administrativas, legais e técnicas, envolvidas no processo de produção e gerenciamento de informação espacial” [GEO 95]. No Brasil, o termo equivalente para Geomatics seria Geoprocessamento, que é uma área de conhecimento que envolve diversas disciplinas como, por exemplo, Cartografia, Sensoriamento Remoto, Geodésia, Fotogrametria, Geologia e Ciência da Computação. Segundo Ramirez [RAM 94], o termo sistema de geoprocessamento engloba todos os sistemas computacionais capazes de processar dados georreferenciados, tais como os sistemas de cartografia automatizada (CAC), sistemas de processamento de imagens, sistemas de gerenciamento de redes de infra-estrutura, sistemas de apoio a projeto (CAD) e, principalmente, os SIGs. No Brasil, os termos sistemas de geoprocessamento e sistemas de informações geográficas têm sido utilizados, de maneira equivocada, como sendo sinônimos. Laurini relaciona um conjunto de disciplinas e campos de estudo, associados com o tratamento da informação geográfica [LAU 92]. São eles: • Disciplinas que desenvolvem conceitos para tratar com o espaço: ciências cognitivas, geografia, lingüística e psicologia. • Campos que desenvolvem ferramentas práticas e instrumentos para obter ou trabalhar com dados espaciais: cartografia, geodésia, fotogrametria e sensoriamento remoto. • Disciplinas que fornecem formalismos e teorias para tratar com espaço e automação: ciência da computação, geometria, inteligência artificial e estatística. 3.2 Fundamentos em Cartografia Esta seção descreve os conceitos básicos da área de cartografia, que estão fortemente relacionados com a tecnologia de geoprocessamento. 3.2.1 Conceito de mapa Segundo Oliveira [OLI 93], a palavra mapa, que é de origem cartaginesa, significava "toalha de mesa". Os antigos comerciantes e navegadores, negociavam suas rotas de viagem desenhando diretamente sobre toalhas (mappas), dando origem ao termo. Tradicionalmente, os mapas têm sido a principal fonte de dados para os SIGs. Um mapa é uma representação, em escala e sobre uma superfície plana, de uma seleção de características sobre ou em relação à superfície da terra [NCG 90]. Mapas podem ser usados para diferentes propósitos, sendo que os mais comuns são: para exibição e armazenamento de dados (ex.: uma folha de mapa pode conter milhares de informações que são recuperadas visualmente); como índices espaciais (ex.: cada área delimitada em um mapa pode estar associada a um conjunto de informações em um manual separado); como ferramenta de análise de dados (ex.: comparar e localizar áreas de terras improdutivas); ou mesmo como objeto decorativo (ex.: mapas turísticos). A confecção de um mapa requer, entre outras coisas, a seleção das características a serem incluídas no mapa, a classificação dessas características em grupos, sua simplificação para representação, a ampliação de certas características para melhor representa-las no mapa, e a escolha de símbolos para representar as diferentes classes de características [ARO 89]. Existem diversos tipos de mapas. Os mapas topográficos têm sido tradicionalmente elaborados com o objetivo de atender a uma infinidade de propósitos, enquanto que os mapas temáticos são elaborados com objetivos mais específicos, por conter informações sobre um único assunto, por exemplo, para representar o relevo, a vegetação ou a hidrografia de uma determinada região [BUR 86]. 22 3.2.2 Escala A escala de um mapa é a razão entre as distâncias representadas no mapa e suas correspondentes distâncias no mundo real. Por exemplo, em um mapa de escala 1:50.000, 1cm no mapa corresponde a 50.000cm (ou 500m) na superfície terrestre. Uma escala grande, como a de 1:10.000 (1cm no mapa corresponde a 100m), é suficiente para representar o traçado de ruas em uma cidade. Porém, é insuficiente caso a aplicação necessite manipular informações a nível de lotes urbanos. Já em uma escala pequena, tipo 1:250.000 (1cm no mapa corresponde a 2,5Km), somente grandes fenômenos geográficos podem ser representados como, por exemplo, tipos de solos, limites municipais e rodovias. Os termos grande ou pequena, atribuído a uma escala, são definições não muito precisas, podendo variar de acordo com o ambiente da aplicação [OLI 93]. Por exemplo, uma escala 1:20.000 pode ser considerada pequena para uma aplicação de planejamento urbano ou grande em uma aplicação de gerenciamento ambiental. 3.2.3 Sistemas de Coordenadas Os sistemas de coordenadas permitem definir a localização de qualquer elemento sobre a superfície terrestre. Eles estão divididos em dois grandes grupos: sistemas de coordenadas geográficas (ou terrestres) e sistemas de coordenadas planas (ou cartesianas) [CAM 96]. Todo mapa é confeccionado com base em um sistema de coordenadas. Nos sistemas de coordenadas geográficas, cada ponto é definido através do par de coordenadas referente à interseção de um meridiano com um paralelo. Os meridianos são círculos da esfera terrestre que passam pelos Pólos Norte e Sul, enquanto que os paralelos são círculos da esfera terrestre cujos planos são perpendiculares ao eixo dos Pólos Norte-Sul. Os meridianos são medidos em longitude a partir do meridiano de Greenwich, escolhido arbitrariamente como sendo o meridiano de origem, com valores variando de 0º de longitude (na origem) até +180º de longitude a leste e -180º de longitude a oeste. O paralelo do Equador divide a Terra nos hemisférios norte e sul, definindo as medidas de latitude como sendo 0º no paralelo do Equador, +90º no Pólo Norte e -90º no Pólo Sul. Nos sistemas de coordenadas geográficas as localizações são, portanto, definidas a partir das coordenadas de latitude (distância em graus do ponto até o paralelo do Equador) e longitude (distância em graus do ponto até o meridiano de Greenwich). Os sistemas de coordenadas planas são baseados em um par de eixos perpendiculares, onde a interseção dos eixos representa a origem para a localização de 23 qualquer ponto sobre o plano. Nestes sistemas, as coordenadas dos pontos são representadas por um par de valores (x,y) representando a projeção do ponto sobre cada um dos eixos. Normalmente, o eixo horizontal fica associado à medida de longitude enquanto que o eixo vertical fica associado à medida de latitude, o que permite conversões entre os sistemas de coordenadas, a partir de transformações matemáticas. 3.2.4 Projeções Cartográficas A superfície curva da terra é representada em mapas, que normalmente são confeccionados sobre uma folha de papel, ou seja, sobre uma superfície plana, o que, inevitavelmente, provoca distorções entre a realidade e sua representação. Projeção é o método matemático através do qual a superfície curva da terra é representada sobre uma superfície plana. Existem diferentes tipos de projeções utilizadas na confecção de mapas. Estas projeções atendem a objetivos distintos, podendo preservar a área (projeção equivalente) das características representadas, a forma das características (projeção conformal) ou mesmo a distância (projeção eqüidistante) entre pontos no mapa [NCG 90]. Algumas das projeções mais empregadas são: projeção cônica de Lambert, projeção UTM (“Universal Transverse Mercator”) e projeção plana. No Brasil existe um mapeamento sistemático realizado pelo Serviço de Cartografia do Exército, feito na projeção UTM, nas escalas de 1:250.000, 1:100.000 e 1:50.000 [CAM 96]. 3.3 Fundamentos em Sensoriamento Remoto Segundo Lillesand, sensoriamento remoto é definido como “a ciência e a arte de se obter informações sobre objetos, áreas ou fenômenos, através da análise dos dados adquiridos por um dispositivo que não esteja em contato com o objeto, área ou fenômeno sob investigação” [LIL 87]. A área de sensoriamento remoto trata os aspectos ligados à captura, armazenamento, análise e interpretação de dados obtidos através de sensores remotos. Por ser uma área intimamente relacionada com a área de SIG, esta seção descreve alguns fundamentos que permitem uma melhor visão dos mecanismos de obtenção de dados para as aplicações geográficas. 3.3.1 Princípios Básicos O processo de obtenção de dados através do sensoriamento remoto utiliza sensores para se obter dados, de forma remota, que podem ser analisados para gerar 24 25 informações sobre as áreas observadas [LIL 87]. Existem diversas formas de captura de dados através de sensores remotos como, por exemplo, através da distribuição de ondas acústicas. Porém, no contexto de SIG, apenas as técnicas empregadas pelos sensores de energia eletromagnética são importantes. Estes sensores normalmente são operados a partir de veículos aeroespaciais. (Figura 3.1) apresentam baixa interferência atmosférica, possibilitando uma boa oportunidade para medir as interações com a superfície terrestre. A maioria das imagens produzidas via sensoriamento remoto para aplicações relacionadas com SIG são obtidas nestes intervalos [LIL 87]. Os materiais que estão sobre a superfície terrestre refletem a energia eletromagnética proveniente de fontes naturais (ex.: sol) ou de fontes artificiais (ex.: lâmpadas), que é captada por dispositivos sensores. Os sensores eletromagnéticos podem ser divididos em dois grandes grupos: passivos e ativos. Sensores passivos medem a energia existente no ambiente, enquanto que os sensores ativos geram sua própria fonte de energia. O exemplo mais comum de sensor passivo é a fotografia. Câmaras fotográficas captam e registram a reflexão da luz solar a partir dos materiais fotografados. Existem sensores passivos que captam outros tipos de energia, como os sensores de microondas. Um exemplo de sensor ativo é a câmara fotográfica acoplada a um flash, porém, em aplicações ambientais o melhor exemplo é o radar. O sistema de radar emite energia na região de microondas do espectro eletromagnético (Figura 3.1) e capta a energia refletida pelos materiais que estão sobre a superfície terrestre [EAS 95]. 0.4 0.5 0.6 0.7 (µm) ver ver ultravioleta(u.v.) azul de me lho 10 raios cósmicos -5 10 -4 10 (1mm) -3 10 raio X -2 10 -1 10 u.v. 2 1 10 10 i.v. termal i.v. médio i.v. próximo 3 10 Antes de serem utilizadas, as fotografias aéreas necessitam passar pelo processo de ortorretificação, para corrigir as distorções decorrentes do relevo da área fotografada [WOL 83]. O cálculo de medidas acuradas e a confecção de mapas a partir de fotografias aéreas são atribuições da área de Fotogrametria. Outro método de sensoriamento remoto, de grande importância no processo de captura de captura de dados para SIG, é a obtenção de imagens digitais a partir de sensores transportados por satélites colocados em órbitas terrestres. Segundo Câmara [CAM 96], existem diversas propriedades básicas para um sensor eletromagnético. As principais são: • resolução espacial - área da superfície terrestre observada pelo sensor. sist. radar visível -6 Um dos métodos pioneiros de sensoriamento remoto é a obtenção de fotografias aéreas tiradas de aviões transportando câmaras fotográficas especialmente instaladas para este fim [AMA 90]. Fotografias aéreas podem ser utilizadas de duas formas: como imagens de fundo sobre as quais são apresentadas outras informações; ou como fonte de dados, auxiliando a entrada de dados via digitalização (ver seção 3.4). • resolução espectral - número de bandas do espectro eletromagnético que são captadas pelo sensor. infravermelho (i.v.) comprimento de onda (µm) 3.3.2 Formas de Sensoriamento Remoto • resolução temporal - intervalo de tempo entre duas tomadas de imagens. (1m) 4 10 5 6 10 10 7 10 8 10 9 10 A Tabela 3.1, adaptada de [CAM 96], mostra as características de alguns satélites cujos dados são recebidos no Brasil. microonda tv e rádio Figura 3.1 - Espectro eletromagnético [LIL 87] Segundo Amaral [AMA 90], os materiais apresentam comportamentos distintos ao longo do espectro eletromagnético para diferentes atributos (emissividade, reflectância, absortância, transmissividade, luminescência, etc). Desta forma, sensores operando em diferentes intervalos espectrais (sensores multi-espectrais) são capazes de discriminar determinados objetos ou fenômenos sobre/sob a superfície terrestre. O espectro eletromagnético é muito amplo e nem todos os comprimentos de onda são adequados para fins de sensoriamento remoto. Por exemplo, os intervalos de comprimento de ondas verde, vermelho (visíveis) e também o infravermelho SATÉLITE LANDSAT-TM RESOLUÇÃO ESPECTRAL 7 RESOLUÇÃO ESPACIAL 30m RESOLUÇÃO TEMPORAL 16 dias SPOT-PAN 1 10m 26 dias METEOSAT 4 8000m 30 minutos ERS 1 25m 25 dias TIROS/NOAA 5 1100m 6 horas Tabela 3.1 - Características básicas dos satélites É importante ressaltar que os dados capturados pelos sensores remotos são dados brutos e, portanto, necessitam ser trabalhados antes de serem utilizados em aplicações de SIG. Por exemplo, uma imagem de satélite retratando a cobertura 26 27 vegetal de uma área pode ser resultado de diversas operações envolvendo dados capturados em mais de uma banda espectral. Até hoje, os mapas têm sido as principais fontes de dados para SIG, e o levantamento de campo, o principal processo de coleta de dados. Porém, em um futuro próximo, a aerofotogrametria e o sensoriamento remoto deverão ser cada vez mais utilizados como tecnologia de coleta de dados geo-espaciais [ANT 91]. Os sistemas de processamento de imagens são softwares desenvolvidos para resolver problemas específicos de tratamento de imagens obtidas remotamente, sendo que alguns SIGs possuem módulos acoplados que permitem ao usuário realizar um conjunto, normalmente limitado, de operações envolvendo imagens de satélite. 3.4 Fontes de Dados Geográficos Devido às características das aplicações de Geoprocessamento, a obtenção dos dados é feita, em sua maioria, a partir de fontes brutas de dados, ou seja, as aplicações tratam com entidades ou objetos físicos que estão distribuídos geograficamente, como rios, montanhas, ruas e lotes. Isto torna o processo de obtenção de dados uma das tarefas mais difíceis e importantes no desenvolvimento destes sistemas. Um SIG pode ser alimentado por informações de diversas fontes, empregando tecnologias como digitalização de mapas, aerofotogrametria, sensoriamento remoto, levantamento de campo [ROD 90]. A obtenção de dados em aplicações de Geoprocessamento é um processo bem mais complexo quando comparado com a maioria das aplicações convencionais [ARO 89]. Isto se deve ao fato da entrada de dados não se limitar a simples operações de inserção. As dificuldades surgem por duas razões: primeiro, por se tratar de informações gráficas, o que naturalmente já é uma tarefa mais complexa do que a entrada de dados alfanuméricos, embora os SIG também manipulem dados alfanuméricos. A segunda razão, e principal, é devido a natureza das fontes de dados dessas aplicações. Os dados manipulados em um SIG, dizem respeito a entidades ou fenômenos geográficos que estão distribuídos sobre a superfície da terra (ou acima e abaixo dela), podendo pertencer a sistemas naturais ou criados pelo homem, tais como tipos de solos, vegetação, cidades, propriedades rurais ou urbanas, redes de telefonia, escolas, hospitais, fluxo de veículos, aspectos climáticos, etc. Podem ser também objetos resultantes de projetos envolvendo entidades que ainda não existem como, por exemplo, o planejamento de uma barragem para a construção de uma usina hidroelétrica [RAM 94]. Os processos de coleta de dados são baseados em tecnologias do tipo fotogrametria, sensoriamento remoto e levantamento de campo, ou seja, os mesmos que vêm sendo empregados há muito tempo em diversas outras áreas. Com isto, os produtos resultantes desses processos de coleta de dados é que são as verdadeiras fontes de dados dos SIGs [ROD 90]. Os SIGs possuem dispositivos de interface que permitem que esses dados sejam transferidos para um meio de armazenamento digital. A transferência dos dados do meio externo (fontes brutas) para o meio interno (representação digital) é apenas um passo no processo de aquisição dos dados. Muitas operações posteriores são realizadas como, por exemplo, a associação entre os objetos espaciais e atributos descritivos, operações para corrigir e padronizar os dados com relação a projeções, escalas e sistemas de coordenadas [PAR 94]. 3.5 Qualidade dos Dados Geográficos Dados com erros podem surgir nos SIGs, mas precisam ser identificados e tratados. Os erros podem ser introduzidos no banco de dados de diversas formas: serem decorrentes de erros nas fontes originais, serem adicionados durante os processos de obtenção e armazenamento, serem gerados durante a exibição ou impressão dos dados, ou surgirem a partir de resultados equivocados em operações de análise dos dados [BUR 86]. Acurácia pode ser definida como a estimativa dos valores serem verdadeiros, ou como a probabilidade de uma predição estar correta. Sempre existe, em algum grau, um erro associado a cada informação espacial presente no SIG. O objetivo quando se trata de identificar erros nem sempre é o de eliminá-los, mas sim de gerenciá-los [ARO 89]. Embora, todos os dados espaciais possuam algum erro, eles geralmente são representados computacionalmente com alta precisão. Precisão é definida como o número de casas decimais ou dígitos significativos em uma medida. Se um objeto espacial possui atributos de posicionamento com vários dígitos significativos não implica que esta informação esteja acurada [NCG 90]. Segundo Faiz [FAI 94], erros são inerentes aos dados espaciais, mas o importante é que o usuário esteja consciente da natureza e da importância do erro. A acurácia dos dados é crucial para que os usuários confiem no sistema. Dados com erros significativos podem afetar o resultado de análises por diversos anos antes de serem descobertos [GRU 92]. A qualidade dos dados geográficos pode ser medida a partir da análise dos seguintes componentes [ASP 96]: acurácia posicional, acurácia dos atributos, consistência lógica, completeza de informações, fator tempo e histórico do processo de obtenção dos dados. Estes componentes foram definidos pelo DCDSTF - US National Committee Digital Cartographic Data Standards Task Force e foram incluídos no padrão americano para intercâmbio de dados espaciais (DCDSTF,1988 Apud [CHR 91]). 28 29 pequenas (ex.: 1:1.000.000), os pontos podem representar a localização de cidades no mapa. 4.1.2 Linha 4 Componentes de SIG Os SIGs precisam armazenar grandes quantidades de dados e torná-los disponíveis para operações de consulta e análise. Os Sistemas Gerenciadores de Banco de Dados (SBGD) são ferramentas fundamentais para os SIGs, embora alguns ainda utilizem sistemas de arquivos para fazer o gerenciamento dos dados. As entidades que são representadas por objetos do tipo linha são aquelas que possuem uma distribuição espacial linear (na escala em uso) como, por exemplo, as ruas, rodovias, estradas de ferro, cabos telefônicos e rios. As linhas também são usadas, juntamente com os pontos, para representar estruturas em rede (Figura 4.1), que são usadas em aplicações de controle de utilidades públicas (ex.: luz, telefone, gás e água), em redes viárias (ex.: malha rodoviária e ferroviária), em redes naturais (ex.: hidrográfica), etc. Com o objetivo de encontrar soluções adequadas para o problema do gerenciamento de dados georreferenciados, muitas pesquisas têm sido realizadas por parte da comunidade de banco de dados, sob os temas de banco de dados espaciais e geográficos [SCH 91], [BAY 92], [HER 92], [FRA 92], [GUN 93], [MED 94]. Atualmente, a arquitetura mais empregada na construção dos SIGs é a que utiliza um sistema dual, onde o SIG é composto de um SGBD relacional, responsável pela gerência dos atributos descritivos, acoplado a um componente de software responsável pelo gerenciamento dos atributos espaciais [CAM 96]. LEGENDA transformador usina consumidor torre Neste capítulo são apresentados os principais componentes presentes em um SIG. Inicialmente, são descritos os tipos de objetos espaciais que possibilitam a representação das entidades em um banco de dados geográfico, bem como seus relacionamentos. São apresentados conceitos básicos dos modelos de dados geográficos e uma arquitetura genérica de SIG. 4.1 poste linha de transmissão Figura 4.1 - Entidades de uma rede elétrica Objetos Espaciais Um objeto espacial é a representação, no banco de dados geográfico, de uma entidade do mundo real. A seguir é descrito como os objetos primitivos do tipo ponto, linha, polígono e superfície, são usados para representar as diferentes entidades da realidade geográfica. Os atributos das entidades pertencentes a uma rede podem estar relacionados aos nós ou às ligações. Como exemplo de atributos de ligações, pode-se citar: sentido do tráfego em uma rua, distância entre duas cidades, diâmetro de uma tubulação, ou voltagem da rede elétrica. Como atributos associados aos nós, pode-se citar: existência de semáforo em um cruzamento, tipo de válvula em um nó de rede de água, tipo do transformador de voltagem em uma rede elétrica, etc. 4.1.1 Ponto 4.1.3 Polígono As entidades representadas por objetos do tipo ponto, são aquelas que não possuem dimensões significativas, de acordo com a escala em uso. Entidades como postes elétricos, hidrantes, nascentes de rios, pontos de ônibus, normalmente são representadas pontualmente em mapas de escalas grandes (ex.: 1:5.000). Porém, em mapas de escalas um pouco menores (ex.: 1:20.000), os pontos já são usados para representar a localização de escolas, hospitais, prédios públicos, etc. Em escalas bem Entidades das quais se deseja uma representação bidimensional no SIG são representadas no banco de dados por objetos do tipo polígono. Os limites das entidades podem ter sido definidos originalmente pelos próprios fenômenos, como os limites de um lago, ou podem ter sido criados pelo homem, como os limites de um município ou uma área de proteção ambiental. 30 31 Quanto à distribuição no espaço, as entidades podem ser representadas de três formas distintas: Segundo Burrough [BUR 86], a variação dos valores da elevação sobre uma área pode ser modelada de diversas maneiras. Modelos de elevação digital, ou modelos numéricos de terreno (MNT) podem ser representados tanto por superfícies definidas matematicamente (ex.: séries de Fourier) ou através de imagens de pontos/linhas. • Polígonos isolados com possibilidade de sobreposição - Como exemplo tem-se um mapa contendo as áreas utilizadas para cultivo de cana-de-açúcar nas últimas quatro décadas (Figura 4.2a). • Polígonos adjacentes com topologia - Neste caso cada posição no mapa deve pertencer a exatamente uma única entidade, ou estar na divisa entre as entidades. Um exemplo pode ser um mapa de propriedades rurais (Figura 4.2b). • Polígonos complexos - Uma entidade pode possuir regiões vazias ("buracos") ou mesmo outras entidades completamente inseridas dentro da sua área (Figura 4.2c). Alguns sistemas permitem que uma entidade possa ser representada por um objeto composto por mais de uma polígono, porém com um único conjunto de atributos descritivos, como é o caso do ARCINFO [NCG 90]. A representação dos objetos do tipo polígono, segundo as diferentes visões quanto à distribuição no espaço, depende do modelo de dados suportado pelo sistema. 126 125 1970 1980 1960 1990 129 127 130 (a) 128 131 Uma das representações baseadas em imagens de pontos é a matriz de altitude, onde os dados são definidos em intervalos regulares de pontos. Esta abordagem tem a desvantagem de introduzir dados redundantes, quando a área observada possui comportamento estável, e pode haver insuficiência de informações em regiões muito acidentadas. Outra abordagem, também baseada em imagens de pontos, é o modelo de Grade Triangular ou TIN (Triangulated Irregular Network), onde os pontos são coletados mais densamente em áreas com maior variação acidental e mais esporadicamente nas outras áreas. Os pontos são conectados, formando faces triangulares onde os valores coletados ficam associados aos vértices dos triângulos. Outro tipo de modelo de terreno muito utilizado, é formado por um conjunto de linhas de contorno (linhas isométricas), que representam pontos de mesma elevação. Cada linha possui um valor Z correspondente à cota representada pela linha. Dentro de um SIG, os dados referentes à elevação podem ser convertidos de um modelo para outro, podendo ocorrer perdas de informações, reduzindo os detalhes da superfície topográfica [ARO 89]. Projeções tridimensionais de superfícies contínuas podem ser usadas para permitir uma melhor visualização do relevo da área observada. (b) 4.2 B A C D Relacionamentos Espaciais D E (c) Figura 4.2 - Distribuição espacial de entidades do tipo polígono 4.1.4 Representando Fenômenos Geográficos através de Superfícies Alguns fenômenos da natureza, como elevação de terreno, pressão atmosférica, temperatura, densidade populacional, entre outros, são caracterizados por possuírem variação contínua no espaço. Os objetos em um banco de dados geográfico representam entidades do mundo real através do armazenamento de seus atributos (espaciais e descritivos) e dos relacionamentos existentes entre estas entidades. A grande vantagem de um SIG está em possibilitar operações de análise espacial sobre os dados armazenados. Para tanto faz-se necessária a manutenção dos diferentes tipos de relacionamentos envolvendo os objetos espaciais. Existe uma grande variedade de possíveis relacionamentos entre entidades distribuídas geograficamente sobre a superfície terrestre. Alguns podem ser mantidos através de estruturas de dados dos SIGs como, por exemplo, os relacionamentos de conectividade (entre segmentos e nós de uma rede) e de adjacência (entre polígonos), enquanto que outros são calculados durante a execução das operações de análise espacial como, por exemplo, o relacionamento de continência entre um ponto e uma polígono. 32 Entidades da realidade podem se relacionar de diversas formas. Uma entidade pode estar relacionada com outras entidades do mesmo tipo (ex.: dois bairros vizinhos em uma cidade), ou pode estar relacionada com entidades de tipos distintos (ex.: bairros localizados num raio de 10 Km de um centro de atendimento emergencial). Os relacionamentos entre entidades são representados no banco de dados geográfico por relacionamentos entre objetos. Segundo Peuquet [PEU 84], existem três tipos de relacionamentos entre objetos espaciais, são eles: 1) Relacionamentos de objetos complexos - Relacionamentos usados para a construção de objetos compostos por outros objetos mais simples. Por exemplo, os polígonos são formados por um conjunto de linhas, enquanto que uma linha é composta de um conjunto de pares ordenados de coordenadas que são os pontos. 2) Relacionamentos implícitos - Relacionamentos que podem ser calculados a partir das coordenadas espaciais dos objetos. Exemplos são: se duas linhas se cruzam; se um ponto está dentro de uma área; ou se duas áreas estão sobrepostas. 3) Relacionamentos explícitos - Relacionamentos que precisam ser fornecidos no momento da entrada dos dados. O sistema deve prover estruturas de dados capazes de manter estas informações. Por exemplo, duas linhas podem se cruzar, mas as rodovias representadas por elas podem não estar conectadas devido à existência de uma passagem elevada (um viaduto). 4.2.1 Exemplos de Relacionamentos entre Entidades Geográficas Em [NCG 90], são listados alguns exemplos de relacionamentos que podem ocorrer entre entidades geográficas, e consultas que poderiam ser solucionadas através do armazenamento destes relacionamentos: a) Relacionamentos entre pontos • "vizinhança" - liste todos os postos de gasolina (representados por pontos) existentes num raio de 20 Km de um quartel de bombeiros. • "o mais próximo" - identifique o posto da policia rodoviária federal mais próximo do local de um acidente. b) Relacionamentos entre ponto-linha • "termina em" - identifique o tipo de válvula existente nas extremidades de um trecho de oleoduto. • "o mais próximo" - identifique a rodovia mais próxima ao local da queda de um avião. 33 c) Relacionamentos entre ponto-polígono • "está contido" - identifique as escolas estaduais que se localizam em um determinado bairro. • "visibilidade" - calcule o número de agências bancárias que podem ser alcançadas por uma torre de transmissão de microondas. d) Relacionamentos entre linhas • "cruza" - verifique se duas rodovias se cruzam em algum ponto. • "flui para/desemboca" - identifique quais os rios que desembocam no Rio São Francisco. e) Relacionamentos entre linha-área • "cruza" - identifique todas as linhas de ônibus que passam por um determinado bairro. • "limites/fronteira" - quais os estados, cujo rio Paraná faz parte da divisa. f) Relacionamentos entre áreas • "sobrepõe" - verifique quais as áreas de incidência de dengue que se sobrepõem a áreas sem infra-estrutura de água e esgoto. • "mais próximo" - encontrar o lago mais próximo da área do incêndio florestal. • "é adjacente" - identificar os bairros adjacentes ao bairro Sant'Anna. 4.2.2 Conceito de Topologia Quando um mapa de uma região que está sobre a superfície curva da Terra, é projetado sobre uma superfície plana (ex.: folha de papel), algumas propriedades são alteradas (ex.: ângulo e distância), enquanto outras permanecem inalteradas (ex.: adjacência e pertinência). Estas propriedades que não se alteram quando o mapa sofre uma transformação são conhecidas como propriedades topológicas [KEM 92]. O termo topologia é atribuído aos relacionamentos espaciais mantidos nos bancos de dados geográficos. Um banco de dados espacial é dito topológico se ele armazena a topologia dos objetos. Por outro lado, um banco de dados é dito cartográfico se os objetos são vistos e manipulados somente de forma independente [GOO 90]. Bancos de dados cartográficos são usados em muitos pacotes de confecção de mapas, onde as operações de análise são menos importantes do que as funções que auxiliam na elaboração de mapas como posicionamento de rótulos, bibliotecas de símbolos cartográficos, etc. 34 35 Um banco de dados cartográfico pode ser convertido em um banco de dados topológico através do cálculo e identificação dos relacionamentos entre objetos. Este processo é conhecido como Processo de Construção da Topologia (Building Topology) [LAU 92]. O processo de construção da topologia é usado também, na fase de identificação dos objetos em um mapa a partir de linhas digitalizadas. Este processo é feito empregando-se o conceito de Restrição Planar (Planar Enforcement), que consiste na aplicação de duas regras sobre os objetos usados para descrever a variação espacial. As regras de Restrições Planar são as seguintes: • Regra 1: • Regra 2: Dois objetos do tipo área não podem se sobrepor. Cada posição no mapa pertence a uma única área, ou a um limite entre áreas adjacentes. De forma bastante genérica, o processo de construção da topologia começa com um conjunto de segmentos de linhas não relacionados (Figura 4.3a). Cada interseção de linhas ou nodo terminal é identificado (Figura 4.3b). Em seguida, cada segmento de linha existente entre dois nós consecutivos (arestas) é identificado (numerado na Figura 4.3c). Finalmente, cada polígono resultante recebe um identificador (uma letra na Figura 4.3c), inclusive o polígono externo que pode receber um identificador diferenciado. (a) (b) 10 1 14 5 E 2 A 6 3 4 C 13 B 15 12 16 D 18 17 7 8 11 4.3 Modelos de Dados Geográficos Segundo Burrough [BUR 95], os SIGs e seus modelos de dados geográficos devem refletir a maneira como as pessoas vêem o mundo. Um dos princípios filosóficos da percepção humana dos fenômenos geográficos é que a realidade é composta de entidades exatas e de superfícies contínuas. Para Goodchild [GOO 92], a realidade geográfica pode ser observada segundo duas visões: de campo e de objetos. Na visão de campo, a realidade é modelada por variáveis que possuem uma distribuição contínua no espaço. Toda posição no espaço geográfico pode ser caracterizada através de um conjunto de atributos como, por exemplo, temperatura, tipo de solo e relevo, medidos para um conjunto de coordenadas geométricas no espaço Euclidiano. Entidades independentes no mundo real podem ser modeladas mas não existirem no banco de dados de forma independente [GOO 93]. Por exemplo, uma região com um determinado tipo de solo só existe em função da escala e da classificação de solos utilizada. Na visão de objetos a realidade consiste de entidades individuais, bem definidas e identificáveis. Cada entidade tem suas propriedades e ocupa um determinado lugar no espaço. A realidade é modelada como um grande espaço onde entidades estão distribuídas sem que necessariamente todas as posições do espaço estejam ocupadas. Além disso, duas ou mais entidades podem estar situadas sobre uma mesma posição geográfica. Na visão de objetos, as entidades geográficas são representadas espacialmente por objetos geométricos (ou objetos espaciais) do tipo ponto, linha e polígono. Na realidade, segundo Worboys [WOR 95], uma entidade geográfica possui quatro categorias de dimensão ao longo das quais os atributos são medidos: espacial, gráfica, temporal e textual/numérica. Por exemplo, um objeto cidade poderia ter os seguintes atributos: um polígono representando os limites municipais (objeto espacial); um polígono e um ponto representando sua forma cartográfica em diferentes escalas (objetos gráficos); data de emancipação do município e data em que os dados da cidade foram incluídos no sistema (objetos temporais); e atributos descritivos como nome e população (objetos textuais/numéricos). 19 9 (c) Figura 4.3 - Processo de construção da topologia [NCG 90] É importante ressaltar a diferença entre os conceitos de objeto espacial, objeto gráfico e objeto georreferenciado. Um objeto georreferenciado representa, no sistema, uma entidade geográfica existente na realidade (ex.: objeto estrada). Um objeto espacial armazena a forma geométrica da entidade geográfica (ex.: as coordenadas de uma linha correspondendo ao traçado da estrada). Por outro lado, um objeto gráfico é 36 37 uma forma de apresentação de um objeto espacial (ex.: uma linha dupla representando que a entidade é uma estrada de duas vias). Segundo Câmara [CAM 96], de uma forma abrangente, um SIG apresenta os seguintes componentes: interface com usuário; entrada e integração de dados; funções de processamento; visualização e plotagem; e armazenamento e recuperação de dados. Portanto, um objeto georreferenciado possui uma localização espacial que pode ser representada por um ou mais objetos espaciais, dependendo da escala utilizada. Como será mostrado na seção 6.3, muitos modelos propõem, de forma equivocada, a modelagem de objetos geográficos como especializações dos objetos espaciais, herdando suas propriedades. Porém, como pode ser visto, um objeto estrada não deve herdar as propriedades de um objeto linha, pois uma estrada não é uma linha, mas sim, um objeto complexo que possui diversos atributos dos quais um ou mais são objetos espaciais. O projeto de um banco de dados geográfico é realizado em diversas etapas, com base em modelos que utilizam diferentes níveis de abstração. Os modelos de dados empregados no projeto de aplicações geográficas estão descritos detalhadamente na Parte II. 4.4 Estes componentes estão organizados segundo a hierarquia de módulos da Figura 4.5, onde a interface com usuário permite a este operar e controlar todo o sistema. Existem três tipos de interfaces que são utilizadas nos SIGs: linguagem de comandos, menus hierárquicos e sistemas de janelas. Estes tipos de interfaces acompanham a evolução das técnicas empregadas em sistemas de informações em geral. Interface Entrada e Integr. Dados Funções de Processamento Visualização e Plotagem Arquitetura Genérica de SIG Segundo Antenucci [ANT 91], os SIGs constituem-se na integração de três aspectos distintos da tecnologia computacional (Figura 4.4): sistemas de gerenciamento de banco de dados (dados gráficos e não gráficos); procedimentos para obtenção, manipulação, exibição e impressão de dados com representação gráfica; e algoritmos e técnicas para análise de dados espaciais. Armazenamento e Recuperação BD Geográfico Figura 4.5 - Componentes de um SIG [CAM 96] Gerenciamento de Banco de Dados O componente responsável pela entrada e integração de dados possibilita a captura dos dados sobre as entidades geográficas através de diversas formas disponíveis (ex.: leitura ótica, digitalização de mapas ou aquisição via meio magnético). Os métodos de aquisição de dados disponíveis são descritos na seção 4.5. SIG Capacidades Gráficas Ferramentas para Análise Espacial Figura 4.4 - Aspectos tecnológicos de SIG [ANT 91] Os SIGs disponíveis atualmente apresentam funcionalidades bastante distintas, dependendo do tipo de aplicação em que são utilizados [MAG 91]. Alguns produtos são comercializados em módulos separados, de acordo com as necessidades específicas dos clientes, como o sistema MGE da INTERGRAPH. Módulos para processamento de imagens de satélite, para operações com modelos numéricos de terreno (MNT) ou para gerenciamento de redes de infra-estrutura, podem, ou não, estar disponíveis no sistema. Porém, existe um conjunto de componentes que são comuns à maioria dos sistemas. O componente responsável pelo armazenamento e recuperação de dados geográficos provê as estruturas de dados que possibilitam a compactação de imagens, armazenamento de relacionamentos espaciais (topologia), acesso aos dados através de índices espaciais, etc. Alguns SIGs foram construídos com base em sistemas de arquivos internos (ex.: Idrisi), porém, existe uma forte tendência na utilização de SGBDs estendidos para realizar o gerenciamento dos dados [FRA 88]. Aspectos de banco de dados geográficos estão descritos na seção 4.6. O conjunto das funções de processamento é o componente que mais se diferencia de sistema para sistema, porém, existe um grande número de funções que são comuns a esses sistemas. Aspectos funcionais de SIG são tratados na seção 4.7. 38 A maioria dos dados gerados por uma aplicação de SIG são apresentados na forma de mapas. Desta maneira, um SIG deve prover funções que são equivalentes àquelas dos sistemas de cartografia automatizada, como colocação automática de rótulos, descrição de legendas e escalas gráficas, entre outras. 4.5 Métodos de Aquisição de Dados Os métodos mais utilizados na aquisição de dados são: a digitalização manual; a digitalização automática feita através de leitura ótica por meio de dispositivos de varredura tipo "scanner"; a digitação via teclado; e a leitura de dados provenientes de outras fontes de armazenamento secundário (ex. fitas magnéticas, discos óticos, teleprocessamento) [ARO 89]. Estes métodos permitem a transferência dos dados obtidos através dos mecanismos de captura como levantamento de campo, sensoriamento remoto e imagens de satélites, para a base de dados dos SIGs. 39 4.5.3 Digitação A digitação via teclado é usada para a inserção dos atributos não-gráficos. Informações provenientes de levantamento de campo normalmente são inseridas no banco de dados via teclado. 4.5.4 GPS Outro meio de aquisição de dados que tem sido bastante usado atualmente é o emprego do GPS ("Global Positioning Systems"), um sistema de posicionamento geodésico, baseado em uma rede de satélites. Este sistema possibilita a realização de levantamentos de campo com alto grau de acurácia e com o registro dos dados podendo ser realizado diretamente em meio digital. 4.5.5 Arquivo Digital 4.5.1 Digitalização A digitalização é o método no qual uma folha de papel contendo um mapa é colocada sobre uma mesa digitalizadora e, através de um dispositivo de apontamento (ex. caneta ótica), um operador vai assinalando diversos pontos que são calculados e interpretados como pares de coordenadas (x, y). Normalmente, no início do processo de digitalização, três ou mais pontos de coordenadas conhecidas são cadastrados no sistema para serem utilizados como pontos de referência no cálculo das coordenadas dos pontos digitalizados [PAR 94]. A eficiência desse processo depende da qualidade do software de digitalização e da experiência do operador. Além da digitalização de pontos, outras tarefas também são realizadas, como o ajuste de nós, construção da topologia e identificação de objetos. Digitalização é uma tarefa cansativa, normalmente consome muito tempo e pode apresentar com freqüência erros. Por isso, os softwares de digitalização fornecem mecanismos que auxiliam o operador a identificar e corrigir os possíveis erros introduzidos. 4.5.2 Leitura Ótica O método de leitura ótica, através de dispositivos de varredura ("scanner"), permite a criação de imagens digitais a partir da movimentação de um detetor eletrônico sobre um mapa. É um processo bem mais rápido que a digitalização, mas não é adequado a todas as situações. Para ser lido por um "scanner", um mapa deve apresentar algumas características que vão permitir a geração de imagens de boa qualidade. Por exemplo, alguns textos podem ser lidos acidentalmente como se fossem entidades, linhas de contorno podem ser quebradas por textos ou símbolos do mapa [NCG 90]. Segundo Aronoff [ARO 89], o custo inicial de construção da base de dados é, normalmente, um dos principais componentes do custo total de implantação de um SIG. Para diminuir este custo, a tendência atual tem sido o compartilhamento de dados geo-espaciais disponíveis em meio digital. Diversos padrões de armazenamento de dados têm sido adotados para possibilitar a troca de informações espaciais como, por exemplo, o padrão americano SDTS (Spatial Data Transfer Specification), o padrão inglês NTF (National Transfer Format) e o padrão canadense SAIF (Spatial Archive and Interchange Format) [WOR 95]. 4.6 Estruturas de Armazenamento de Dados Espaciais Dados espaciais podem ser estruturados de diversas formas, porém, existem duas abordagens que são amplamente utilizadas na estruturação dos componentes espaciais associados às informações geográficas: a estrutura matricial (“raster”) e a estrutura vetorial (Figura 4.6). 40 41 1 Igreja Sto Antonio 1 1 1 1 Praça da Matriz Dependendo do tipo de atributo observado e da potencialidade do sistema, as células podem conter diferentes tipos de valores (ex.: inteiro, decimal, caractere). Muitos sistemas só permitem o tipo inteiro, enquanto outros restringem um único tipo de valor por camada [PAR 94]. 1 2 2 2 2 2 2 2 2 2 Lago Azul Mapa Analógico 1 1 1 1 1 1 1 1 1 4 4 4 4 1 1 4 4 4 4 1 1 4 4 4 4 1 1 4 4 4 4 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Formato Matricial Formato Vetorial 2 Figura 4.6 - Exemplo de representação matricial e vetorial Na estrutura matricial, a área em questão é dividida em uma grade regular de células de formato, normalmente, retangular. A posição da célula é definida pela linha e pela coluna onde está localizada na grade. Cada célula armazena um valor que corresponde ao tipo de entidade que é encontrada naquela posição. Uma área geográfica pode ser representada através de diversas camadas, onde as células de uma camada armazenam os valores associados a uma única variável ou tema (ex.: tipo de solo ou vegetação) [MAG 92]. As camadas ficam totalmente preenchidas, uma vez que cada célula corresponde a uma porção do espaço sendo representado. Na estrutura vetorial, cada entidade do mundo real contida no espaço, sendo retratado, é representada, no banco de dados por um objeto com identificação própria e representação espacial do tipo ponto, linha ou polígono. A posição de cada objeto é definida por sua localização no espaço, de acordo com um sistema de coordenadas previamente especificado. Objetos vetoriais não preenchem todo o espaço, ou seja, nem todas as posições do espaço necessitam estar referenciadas na base de dados. Enquanto que a representação vetorial é capaz de armazenar informações sobre entidades que podem ser identificadas univocamente no mundo real, a representação raster armazena informações sobre o conjunto de todos os pontos de uma determinada região do espaço. 4.6.1 Estruturas Matriciais Ao contrário da estrutura vetorial, onde cada entidade do mundo real está associada a um objeto espacial, na estrutura matricial as entidades estão associadas a grupos de células de mesmo valor. O valor armazenado em uma célula representa a característica mais marcante da variável em toda a área relativa à célula. 2 A resolução de uma imagem matricial corresponde à dimensão linear mínima da menor unidade do espaço geográfico (célula) sendo considerado. A maioria dos sistemas utilizam células retangulares ou quadradas, embora existam modelos que utilizem hexágonos ou triângulos [LAU 92]. Quanto menor a dimensão das células, maior a resolução da imagem matricial e, consequentemente, maior a quantidade de memória necessária para armazená-la. A orientação de uma imagem matricial corresponde ao ângulo entre o norte verdadeiro e a direção definida pelas colunas da imagem. Normalmente, a localização geográfica verdadeira de um ou mais vértices da imagem deve ser conhecida. Na estrutura matricial, cada célula de uma camada armazena um único valor que corresponde a uma área específica (na/sobre a/sob a) superfície terrestre. O total de valores que representam, em estrutura matricial, uma determinada característica de uma região da face da terra (ex.: índice pluviométrico) pode ser calculado, multiplicando-se o número de linhas da matriz, pelo número de suas colunas. Assim, geralmente são gerados grandes volumes de dados e, por isso, torna-se necessário o emprego de técnicas de compactação de dados. Como as entidades específicas do mundo real, localizadas na região sendo retratada são representadas, na estrutura matricial, por um agrupamento de células, todas contendo um mesmo valor, um número considerável de valores redundantes ocorre em toda a extensão da imagem. Esta característica é muito explorada nos métodos de compactação empregados nos SIGs. Em [BUR 86], são descritas quatro técnicas de compactação que podem ser empregadas no armazenamento de imagens no formato matricial. São elas: 1) Códigos de cadeia (Chain codes) - Os limites de cada região são armazenados através de uma estrutura que contém uma célula de origem e uma seqüência de vetores unitários. Esses vetores unitários são aplicados nas direções cardinais (leste, oeste, norte e sul), de cada região, percorridos no sentido horário. 2) Códigos em seqüência (Run-length codes) - Armazena, para cada linha, o número de ocorrências de células de mesmo valor e o valor correspondente. 3) Códigos de bloco (Block codes) - São armazenadas, para cada quadrado máximo, que pode ser formado por um conjunto de células de mesmo valor, as coordenadas da célula inferior esquerda do quadrado, a quantidade de células (tamanho) do lado do quadrado e o valor do atributo. 4) Árvores quaternárias (Quadtree) - Utiliza uma estrutura hierárquica espacial. Existe uma grande variação de tipos de estruturas quadtree, um exemplo é apresentado na seção 4.6.1.2. Para simplificar a figura, no formato matricial as células com valor zero foram deixadas em branco. 42 43 A seguir são apresentados exemplos de duas das técnicas de compressão de dados citadas acima. O termo quadtree é usado para descrever uma família de estruturas de dados hierárquicas, todas baseadas no princípio de decomposição recursiva do espaço [SAM 89]. Elas são diferenciadas com base nos seguintes fatores: 4.6.1.1 Técnica Run-Length Encoding Segundo Aronoff [ARO 89], existem diversas variações desta técnica e duas delas são mostradas na Figura 4.7. Na técnica Run-Length Encoding (B), as células adjacentes, em uma mesma linha, que apresentam um mesmo valor, são tratadas como um grupo. Ao invés do valor ser armazenado repetitivamente, ele é armazenado uma única vez e a quantidade de vezes que o valor ocorre é também armazenada, juntamente com o identificador da linha. Uma variação desta técnica, conhecida como Value Point Encoding (C), armazena somente os valores de cada grupo de células e a posição final dos grupos, com relação à origem (canto superior esquerdo) da imagem. O grau de compressão obtido através desses métodos depende da complexidade da imagem. A. Raster Completo (100 valores) B. Método Run-Length Encoding (54 valores) VALOR COMP LINHA 0123456789 0 1 2 3 4 5 6 7 8 9 ΑΑΑΑΑΑΑΑΑΑ ΑΑΑΑΑΑΑΑΑΑ ΑΑΑΑΒΒΒΒΒΒ ΑΑΑΒΒΒΒΒΒΒ ∆∆∆∆ΒΒΒΒΒΒ ∆∆∆∆∆ΒΒΒΒΒ ∆∆∆∆∆ΧΧΧΧΧ ∆∆∆∆∆ΧΧΧΧΧ ∆∆∆∆∆ΧΧΧΧΧ ∆∆∆∆∆ΧΧΧΧΧ 4.6.1.2 Estruturas Quadtrees Α Α Α Β Α Β ∆ Β ∆ Β ∆ Χ ∆ Χ ∆ Χ ∆ Χ 10 10 4 6 3 7 4 6 5 5 5 5 5 5 5 5 5 5 0 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1) Tipo de dado que está sendo representado (pontos, retângulos, regiões, curvas, superfícies ou volumes); 2) Processo de decomposição empregado, que pode aplicar divisões em partes iguais ou não; 3) Resolução da imagem, isto é, o número de vezes que a decomposição é aplicada, que pode ser fixo ou variável. A Figura 4.8 mostra a decomposição de uma imagem usando a estrutura Region-quadtree, que é uma variação de quadtree para representação de regiões, onde uma região (a), representada na matriz binária (b) é decomposta em blocos (c), gerando a árvore correspondente. Em uma region-quadtree, a imagem é dividida sempre em partes iguais, porém, o número de vezes em que a imagem é dividida é variável, ou seja, depende dos valores armazenados pela imagem. C. Método Value Point Encoding (32 valores) VALOR PONTO Α Β Α Β ∆ Β ∆ Β ∆ Χ ∆ Χ ∆ Χ ∆ Χ 23 29 32 39 43 49 54 59 64 69 74 79 84 89 94 99 2 3 4 5 13 14 1 7 8 9 10 6 15 16 12 11 19 17 a b 18 c A Nível 3 NW NE SE SW 1 Nível 1 2 3 4 E C B Nível 2 5 D 6 11 12 F 13 14 19 15 16 17 18 Figura 4.7 - Técnica run-length encoding [ARO 89] Nível 0 7 8 9 10 Figura 4.8 - Exemplo de estrutura quadtree [SAM 89] 44 Neste método, a raiz da árvore corresponde à imagem completa, ou seja, um array de 2n x 2n valores de células. Cada nó da árvore pode ser um nó folha ou possuir quatro ramos descendentes, compreendendo aos quatro quadrantes: nordeste (NE), noroeste (NW), sudoeste (SW) e sudeste (SE). Nós folhas correspondem aos quadrantes que não necessitam ser redivididos por possuírem somente células de mesmo valor. A forma de decomposição espacial deste modelo possibilita a representação de imagens em qualquer grau de resolução desejado [TIM 94a]. Estruturas quadtrees são utilizadas, também, como árvores de busca, possibilitando uma melhor eficiência na execução de diversas operações espaciais. 45 SIGs. Outros tipos de relacionamentos entre objetos espaciais como, por exemplo, se uma linha "cruza" uma área ou se um ponto "está dentro" de uma área, são calculados, em tempo de execução, a partir das coordenadas desses objetos. A seguir, são descritas algumas estruturas de dados vetoriais empregadas nos SIGs, de acordo com os tipos de objetos armazenados. 4.6.2.1 Estrutura de Dados para Armazenar Pontos 4.6.2 Estruturas Vetoriais A estrutura vetorial tem como primitiva principal o Ponto, porém, os sistemas utilizam três construtores básicos: ponto, linha e polígono. As coordenadas (x,y) de um ponto representam a localização, em um sistema de coordenadas específico, de entidades que não possuem dimensões espaciais na escala de representação escolhida. A linha, formada por uma cadeia de segmentos de linha reta, ou mais especificamente, por uma lista de coordenadas de pontos, é usada para representar as entidades da realidade que possuem dimensão linear. O polígono representa as entidades com extensões bidimensionais, através da definição do contorno da área da entidade. O polígono é formado por uma cadeia fechada de segmentos de linha, podendo ou não possuir outros polígonos embutidos em seu interior. Segundo Laurini [LAU 92], existem diversas técnicas de armazenamento de objetos espaciais baseadas na estrutura vetorial. Essas técnicas podem ser classificadas de acordo com o tipo de objeto armazenado, ou seja, ponto, linha ou polígono. Características da aplicação também são importantes como, por exemplo, em um sistema de roteamento de veículos, uma característica fundamental é a conectividade entre as arestas que representam a rede viária, para possibilitar operações de análise de melhor caminho. Outra classificação leva em consideração se os relacionamentos topológicos são, ou não, armazenados. Aronoff [ARO 89] divide os diversos modelos vetoriais em dois grupos: Modelos de Dados Spaghetti e Modelos de Dados Topológicos. • Modelos de Dados Spaghetti - Utilizam estruturas de dados que armazenam os polígonos/linhas como seqüências de coordenadas de pontos. Nestes modelos, os limites entre duas áreas adjacentes são armazenados duas vezes, uma para cada polígono. Estes modelos são utilizados em pacotes de cartografia automatizada, onde as informações sobre os relacionamentos entre as entidades não são importantes [NCG 90]. • Modelos de Dados Topológicos - Exigem estruturas de dados que possibilitem o armazenamento de alguns tipos de relacionamentos, sendo que a ênfase principal é dada nos relacionamentos de conectividade entre linhas de uma rede e nos relacionamentos de vizinhança entre áreas (representadas por polígonos adjacentes). São empregados na maioria dos A princípio, as coordenadas (x,y) de posicionamento das entidades com representação pontual podem ser adicionadas como dois atributos extras na tabela de atributos descritivos das entidades. Porém, um objeto espacial do tipo ponto pode ter diversos outros atributos associados a sua representação gráfica, para impressão/exibição em dispositivos de saída. Pode-se citar, por exemplo, o tipo de símbolo que deve ser exibido, a fonte dos caracteres alfanuméricos e o tamanho e a orientação do texto que pode ser exibido próximo ao símbolo. Uma alternativa, também utilizada, é manter as informações espaciais em uma tabela e utilizar identificadores de objetos para recuperar os demais atributos nãoespaciais em uma tabela do banco de dados textual [BUR 86]. 4.6.2.2 Estrutura de Dados para Armazenar Linhas As estruturas de armazenamento que visam manter os relacionamentos entre objetos lineares são direcionadas a solucionar problemas em áreas de aplicação que são baseadas em estruturas de rede como, por exemplo, redes de transporte, redes hidrográficas, de distribuição de produtos e redes de infra-estrutura. As redes consistem de dois tipos de objetos espaciais: linhas (ligações, arestas ou arcos) e pontos (nós, interseções ou junções) [NCG 90]. A Figura 4.9 mostra uma rede composta de 4 nós e 5 arcos (a) e uma estrutura de dados simples (b) que possibilita a navegação entre os diversos nós da rede. Para melhorar a eficiência do algoritmo de navegação, pode ser acrescentada uma nova tabela (c), contendo, para cada nó, a relação dos arcos adjacentes (números positivos, se os arcos atingem o nó, e negativo para os arcos que partem do nó). 46 B 1 A 5 2 1 2 3 4 5 D 4 (a) C Nó de Origem Arco 3 47 Β Χ ∆ Χ Α Nó de Destino Α Β Β ∆ Χ Nó Αρχοσ Α 1 −5 Β 3 2 −1 Χ −4 −2 5 ∆ 4 −3 (c) (b) Figura 4.10 - Representação em grafos não-direcionados [LAU 92] A Figura 4.11 mostra uma estrutura de dados, onde a primeira tabela contém os atributos dos polígonos, a segunda os atributos dos arcos e a terceira contém as coordenadas dos pontos que formam a geometria dos arcos. Este método, utilizado no sistema ARC-INFO [ESR 91], tem a desvantagem de não possibilitar a representação de entidades compostas de mais de um polígono como, por exemplo, um arquipélago que é uma entidade que precisa ser representada como um conjunto de polígonos. Figura 4.9 - Estrutura de dados para rede [NCG 90] Uma estrutura de dados para o armazenamento de redes representadas por grafos não-direcionados é mostrada na Figura 4.10. Neste exemplo, descrito em [LAU 92], são empregadas três tabelas que contém, respectivamente, informações sobre os relacionamentos entre arco-arcos, arco-nós e nó-arcos, possibilitando a navegação pela rede em qualquer sentido. 4.6.2.3 Estrutura de Dados para Armazenar Polígonos O relacionamento de vizinhança entre entidades bidimensionais (áreas) é representado através de estruturas de dados que armazenam informações sobre polígonos adjacentes. A estratégia mais utilizada é baseada no armazenamento de atributos dos arcos, acrescidos de dois apontadores extras, referentes aos polígonos localizados à esquerda e à direita do arco, percorrido no sentido nó-origem-nó-destino. Este tipo de estrutura possibilita a execução de operações de consulta de maneira bastante eficiente, por não necessita realizar operações com base nas coordenadas dos objetos. Por exemplo, todos os polígonos adjacentes ao polígono B podem ser encontrados a partir da Tabela de Atributos dos Arcos. Cada par de apontadores (polígono à direita, polígono à esquerda), contendo o polígono B indica um polígono adjacente a ele, por ter um arco em comum. Desta forma, os arcos 3, 4 e 5 identificam os polígonos adjacentes ao polígono B. Existem muitas variações de estruturas de dados desenvolvidas para o armazenamento da topologia de objetos espaciais. Um exemplo de estrutura mais elaborada é a utilizada pelo sistema CanSIS - Canadian Soil Information System, desenvolvida pelo Departamento de Agricultura do Canadá, que utiliza entre outras coisas, uma estrutura para armazenar informações sobre objetos. Um objeto pode conter uma lista de polígonos associada a um único conjunto de atributos permitindo, por exemplo, um tratamento adequado à representação de um arquipélago [NCG 90]. χ B G 2 2 1 C 1 A 6 A β 3 3 6 Arco 1 2 3 4 5 6 7 Conecta aos nós Α,Χ Β,Χ Χ,∆ Ε,∆ ∆,Φ Γ,Φ Φ,Η D 1 2 3 4 5 6 7 δ 4 F Arco 5 B 5 7 H Tab. Atributos de Polígonos Ι∆ Ατριβ1 Ατριβ2 Ατριβ3 C Conecta aos arcos 2,3 1,3 1,2,4,5 3,5 3,4,6,7 5,7 5,6 4 α E Nó Arcos Adj. Α 1 Β 2 Χ 1,2,3 ∆ 3,4,5 . . . D Tab. Atributos de Arcos Αρχο ∆ιρ Εσθ Ορι ∆εσ 1 2 3 4 5 6 Α ∆ Α Χ Α Β ∆ Β Β Χ ∆ Χ α χ β α β δ χ β α δ δ χ Α Β Χ ∆ (εξτεριορ) Tab. Geometria de Arcos 1 (ξ1,ψ1),(ξ2,ψ2),... 2 (ξ1,ψ1),(ξ2,ψ2),... 3 (ξ1,ψ1),(ξ2,ψ2),... ετχ 48 Figura 4.11 - Relacionamento de polígonos adjacentes [NCG 90] 4.7 Processamento e Análise de Dados em SIG Segundo Alves [ALV 90], um SIG deve fornecer operações para a recuperação de informações baseadas em critérios de natureza espacial e não-espacial. As linguagens de consulta de SGBDs convencionais foram projetadas para recuperar informações segundo critérios não-espaciais. O SIG deve ser capaz de manipular dados espaciais e recuperar informações com base em relacionamentos direcionais como “acima de” e “perto de” e em relacionamentos topológicos como “próximo a”, “dentro de” e “ao lado de” [CAM 95]. 49 4.7.1.1 Transformações de Formato Os dados obtidos a partir das diversas fontes de dados nem sempre estão no formato adequado para o armazenamento nos SIGs. Arquivos de dados externos precisam ser convertidos para as estruturas de dados internas dos sistemas. Para os dados representados no modelo matricial, por exemplo, pode ser necessário adicionar informações como descrição (nome), origem, tamanho, entre outras coisas. Enquanto que para os dados a serem mantidos na forma vetorial, pode ser necessário construir a topologia, identificar e associar os objetos espaciais com os dados descritivos no banco de dados alfanumérico, etc. Existem diferentes funções de manipulação e análise de dados disponíveis nos sistemas atuais. Além disso, novas funções podem ser adicionadas ao conjunto das já existentes. Porém, não existe um padrão para os nomes dessas funções, sendo comum a existência de funções com comportamento idêntico porém com nomes diferentes [NCG 90]. 4.7.1.2 Transformações Geométricas Diversas classificações das funções para SIG são encontradas na literatura [BUR 86], [ARO 89], [EGE 92] e [RAP 92], mas nenhuma é aceita como padrão. A classificação apresentada nesta seção teve como base o trabalho de [ARO 89] que apresenta uma taxonomia do conjunto de funções freqüentemente encontradas na maioria dos SIGs, mas que não se refere a nenhum software em especial. O procedimento de registro de camadas é utilizado para registrar diferentes camadas de dados sobre um sistema de coordenadas comum ou em relação a uma camada de dados usada como padrão (mestre). Duas abordagens podem ser utilizadas para registrar camadas: Na abordagem utilizada por Aronoff [ARO 89], as funções estão agrupadas em quatro categorias principais, listadas abaixo e que estão descritas, sucintamente, nas seções seguintes. • Registro por Posição Absoluta - cada camada é registrada separadamente, com base em um mesmo sistema de coordenadas geográficas (ex.: UTM e latitude/longitude). • Manutenção de Dados Espaciais; • Manutenção e Análise de Atributos Descritivos; • Análise Integrada de Dados Espaciais e Descritivos; e • Formatação de Saída. 4.7.1 Funções de Manutenção de Dados Espaciais Neste grupo são descritas as funções utilizadas na fase de pré-processamento dos dados espaciais, ou seja, funções usadas na preparação ou reorganização dos dados para que possam ser utilizados em operações de análise e consulta. São funções utilizadas para definir ou ajustar as coordenadas terrestres em um mapa, ou entre as camadas de dados em um SIG, para possibilitar a realização de operações de sobreposição (overlay) de camadas. • Registro por Posição Relativa - cada camada é registrada em relação a uma camada mestre; O ajuste de posições relativas é feito, escolhendo-se entidades geográficas que possam ser identificadas precisamente nas duas camadas (ex.: uma ponte indicando uma interseção de uma estrada com um rio) e igualando suas coordenadas. Ajustados alguns pontos de referência, as demais coordenadas são calculadas matematicamente. 4.7.1.3 Transformações entre Projeções Geométricas As camadas de dados que são processadas conjuntamente em um SIG, devem possuir o mesmo sistema de projeção. Os SIGs normalmente suportam mais de um tipo de projeção, fornecendo operações para transformar as projeções dos mapas. 4.7.1.4 Casamento de Bordas Quando a área de estudo está distribuída em mais de uma folha de mapa, ou quando o tamanho do mapa é maior que a área útil da mesa digitalizadora (ou do 50 51 scanner), pode-se gerar diversos mapas digitais (denominados coberturas no sistema ARC/INFO [ESR 91]) para representar uma única camada de dados. Em muitos SIG, durante a execução de operações de análise que envolvam mais de uma cobertura, essa divisão é transparente ao usuário. Porém, alguns ajustes precisam ser feitos durante a fase de preparação (pré processamento) dos dados. Esses ajustes são feitos por meio de operações que realizam a união de bordas entre coberturas adjacentes, onde os objetos que ultrapassam os limites de uma cobertura têm suas coordenadas limites ajustadas em todas as coberturas onde aparecem. envolvendo áreas de polígonos pode ser resolvida por métodos tradicionais de consulta a bancos de dados convencionais. 4.7.1.5 Edição de Elementos Gráficos São funções usadas para adicionar, eliminar e modificar posições geográficas dos objetos no mapa. Por exemplo, quando a aresta que separa dois polígonos é digitalizada duas vezes, ou quando uma camada é gerada a partir da sobreposição de outras duas camadas, podem surgir pequenas fatias de áreas sobrepostas ou fatias de áreas sem informações. Nestes casos os ajustes e acertos precisam ser realizados manualmente. 4.7.2.1 Edição de Atributos Descritivos São funções que possibilitam alterações nos dados descritivos sem que os dados espaciais sejam afetados. Como exemplo podemos citar: a atualização do número de habitantes de uma cidade ou de um bairro, a inclusão do número de habitantes de um novo bairro e a exclusão dos dados referentes a um vilarejo que tenha ficado submerso em uma represa de uma usina hidroelétrica. 4.7.2.2 Consulta a Atributos Descritivos Se o SIG está integrado a um SGBD, então essas operações são executadas pela própria linguagem de consulta do SGBD (ex.: SQL). Quando não estão, os sistemas fornecem funções que possibilitam o acesso aos dados através de programas de emissão de relatórios. 4.7.1.6 Redução de Coordenadas 4.7.3 Análise Integrada de Dados Espaciais e Descritivos Devido aos processos manuais de digitalização, algumas vezes são gerados mais pontos que o necessário para armazenar as coordenadas das linhas dos objetos espaciais. As funções de redução de coordenadas têm como objetivo diminuir a quantidade de pares de coordenadas pertencentes às linhas, reduzindo assim, a quantidade total de dados armazenados em cada camada. A Figura 4.12 exemplifica esta operação. Segundo Burrough [BUR 86], a potencialidade de um SIG está na capacidade do sistema de realizar operações de análise espacial, envolvendo atributos espaciais e descritivos. Isto também é um dos principais fatores que distinguem um SIG dos demais sistemas de geoprocessamento. O conjunto de funções que se enquadram nesta categoria é muito amplo, estando subdividido em quatro subgrupos: Recuperação, Classificação e Medidas; Sobreposição; Vizinhança; e Conectividade. 4.7.3.1 Funções de Recuperação, Classificação e Medidas Figura 4.12 - Exemplo de operação de redução de coordenadas 4.7.2 Manutenção e Análise de Atributos Descritivos Na maioria dos SIGs, a manipulação dos atributos descritivos (não-gráficos) é realizada através de linguagens de manipulação/consulta de dados disponíveis nos SGBDs. Diversas operações de análise podem ser resolvidas sem consulta aos atributos espaciais. Nos sistemas vetoriais, por exemplo, as informações sobre a área e o perímetro dos polígonos podem ser armazenadas junto aos demais atributos descritivos associados a esses polígonos. Nestes casos, uma operação de análise • Recuperação de Dados - São funções que envolvem busca seletiva, manipulação e geração de resultados, sem alterar os valores armazenados no banco de dados. Um exemplo seria a geração de um mapa urbano mostrando a localização das residências com valor nominal acima de R$200.000,00. • Classificação - O procedimento de classificação é utilizado para agrupar entidades espaciais de acordo com algum padrão. Um exemplo seria, gerar um mapa urbano, onde as residências estão classificadas de acordo com a faixa do valor do Imposto Territorial Urbano (IPTU). O procedimento de classificação sobre uma camada de dados, normalmente denominado recoding, cria uma nova camada de dados onde os valores das células correspondem ao valor da classificação. 52 • Funções de Medidas - São executadas sobre os objetos espaciais (pontos, linhas, polígonos e conjunto de células) e incluem funções como distância entre dois pontos, comprimento de linhas, perímetro de áreas, etc. Normalmente, cálculos de área, perímetro e centróide (ponto central de um polígono) são realizados durante o processo de criação de polígonos, ficando disponíveis para consultas posteriores. Em operações de Modelos Numéricos de Terreno, medidas tridimensionais também são executadas como, por exemplo, o cálculo do volume de terra a ser removido em um trecho da estrada que esteja sendo projetado. 53 2 3 2 1 1 1 S S S N N N 3 1 3 S S S 'E' 10 10 20 N S N 10 10 20 N S S 30 30 30 N N S 12 12 21 N S N 13 33 11 31 21 33 N N N N N S 4.7.3.2 Funções de Sobreposição de Camadas Um dos tipos de operação mais utilizados na análise espacial é o de sobreposição de camadas (ou overlay), que relaciona informações de duas ou mais camadas de dados. Essas funções podem executar operações aritméticas (ex.: soma, subtração, divisão) ou lógicas (ex.: 'e', 'ou', 'ou exclusivo'), entre os valores das células localizadas em coordenadas idênticas nas diversas camadas envolvidas (Figura 4.13). A implementação dessas operações, é feita de maneira diferente nos modelos de representação matricial e vetorial. No modelo matricial essas operações são implementadas de forma mais simples que no modelo vetorial e muitas vezes são executadas de forma mais eficiente. Isto ocorre, devido à regularidade do tamanho das células em uma imagem matricial e à simplicidade de suas estruturas de armazenamento. Imagens compactadas por estruturas de dados do tipo quadtree (veja seção 4.6.1.2), aumentam a complexidade de implementação dessas operações, mas podem diminuir, de forma significativa, o tempo de resposta dessas operações [PEU 84]. Alguns sistemas convertem as imagens do formato vetorial para o formato matricial para a execução de operações de sobreposição e pode converter a imagem resultante para o armazenamento no formato vetorial, como é o caso do ARC-INFO [ESR 91]. Figura 4.13 - Operações de sobreposição de camadas 4.7.3.3 Funções de Vizinhança São funções que avaliam as características de uma área circunvizinha em relação a uma localização específica. As funções de vizinhança são executadas com base em três parâmetros básicos: 1) Uma ou mais localizações alvo; 2) Uma definição da área circunvizinha (normalmente na forma de um quadrado, retângulo ou círculo); e 3) Uma função a ser executada sobre os objetos pertencentes à área definida. Existem diversos tipos de funções que realizam operações de vizinhança, são eles: funções de busca; identificação de linhas-em-polígonos e pontos-em-polígonos; funções topológicas; funções de interpolação; e funções de geração de linhas de contorno. • Funções de Busca - São usadas para localizar/calcular elementos que satisfaçam a uma determinada condição dentro da região especificada. Por exemplo, calcular o número de escolas (ou alunos) em um raio de 5 Km de um centro esportivo. A região especificada, ou região de interesse, pode não ser regular, podendo ser gerada por outras funções disponíveis como, por exemplo, o polígono referente a um bairro ou a um município. • Linhas-em-Polígonos e Pontos-em-Polígonos - Em imagens vetoriais, essas operações podem ser resolvidas como uma função de busca especializada, enquanto que em imagens matriciais, essas operações equivalem a operações de sobreposição. Essas operações podem ser usadas na solução de problemas do tipo: identificar as linhas de ônibus que "cruzam" ou 54 55 "atendem" a um determinado bairro; verificar quais as propriedades rurais por onde passa uma linha de transmissão de energia; ou identificar as propriedades que possuem nascentes de água potável. mais características comuns, podendo ser tratados como uma unidade. Um exemplo seria “Localizar as áreas contíguas de 100 Km2, apresentando tipo de solo A ou C”. • Funções Topográficas - O termo topografia diz respeito às formas de relevo de uma região. Mapas topográficos são construídos a partir da obtenção dos valores de altitude em cada localização dentro de uma área. Funções topográficas são usadas para calcular valores que descrevem a topografia em uma localização geográfica ou região circunvizinha. Exemplos de funções topográficas são: declive, aspecto, gradiente e ângulo azimutal. • Funções de Proximidade - As funções que permitem análise de proximidade estão associadas à geração de zonas de buffer. Uma zona de buffer é uma área de extensão regular, que é gerada ao redor dos objetos espaciais, como mostra a Figura 4.14. Essas funções são úteis em diversos tipos de análise espacial como, por exemplo, “definir uma área de segurança em volta de uma usina termelétrica. • Funções de Interpolação - Interpolação é o método matemático no qual valores não definidos em uma localização podem ser calculados com base em estimativas feitas a partir de valores conhecidos em localizações vizinhas. Funções matemáticas como regressão polinomial, Séries de Fourier, médias ponderadas, entre outras, são aplicadas de acordo com a variável que está sendo analisada. A qualidade dos valores calculados depende, entre outros fatores, da escolha do melhor modelo matemático que retrate a realidade em questão. • Geração de Contorno - Mapas de linhas de contorno são usados para representar superfícies, onde cada linha é formada por pontos de mesmo valor (curvas isométricas). Funções de geração de linhas de contorno são usadas para construir os mapas topográficos a partir de um conjunto de pontos conhecidos. Segundo Aronoff [ARO 89], funções de interpolação podem ser usadas para estimar valores desconhecidos durante a geração de linhas de contorno. 4.7.3.4 Funções de Conectividade A principal característica das funções de conectividade é que elas executam operações que acumulam valores ao longo da área analisada, ou seja, a cada trecho analisado/percorrido, valores de atributos são considerados segundo critérios quantitativos (ex. distância total percorrida) ou qualitativos (ex. não podem ser áreas de preservação ecológica). As funções de conectividade estão baseadas em três tipos de argumentos: 1) Especificação do tipo de conexão existente entre os objetos espaciais; 2) Conjunto de regras que especificam os tipos de movimentos possíveis; 3) Unidade de medida. Exemplos de funções pertencentes à categoria de conectividade estão descritos a seguir: • Medidas de Contiguidade - São funções que avaliam características de objetos espaciais que estão conectados. Uma área contígua, por exemplo, compreende um conjunto de objetos bidimensionais, que possuam uma ou 500m de uma reserva florestal 200m do leito do rio um raio de 5 Km de um depósito de gás Figura 4.14 - Exemplo de zonas de buffer • Funções de Rede - Estruturas de rede podem ser usadas para resolver problemas em uma grande variedade de aplicações. Os principais tipos de problemas abordados podem ser agrupados em: otimização de rota; alocação de recursos; e prognósticos de carga da rede. Algumas aplicações de rede possuem propriedades únicas que requerem funções especiais de análise. Quanto mais sofisticadas as funções e as representações da rede, menor o conjunto de aplicações que se adequam ao modelo. • Funções de Intervisibilidade - São funções que permitem a identificação de áreas que podem ser visíveis a partir de localizações específicas. Podem ser usadas, por exemplo, em aplicações militares na definição e cálculo do alcance de radares, em aplicações de telecomunicações e na definição do posicionamento de antenas de transmissão de imagens. Funções de intervisibilidade utilizam dados digitais de terreno para definir a topografia da área circunvizinha. 56 4.7.4 Formatação de Saída Os resultados das operações de análise espacial podem ser gerados na forma de relatórios, gráficos ou, mais comumente, na forma de mapas. Diversas funções podem ser usadas para melhorar a aparência dos mapas resultantes dessas operações como, por exemplo, anotações em mapas, posicionamento de texto, símbolos, iluminação e visões em perspectivas. A seguir, estão listadas algumas dessas funções. • Anotações em Mapas - Permitem adicionar aos mapas informações como título, legendas, barra de escala, orientação norte-sul, etc. Podem ser colocados fora dos limites do mapa ou cobrindo alguma parte deste. • Posicionamento de Rótulos - Textos de rótulos normalmente são colocados junto aos símbolos gráficos que representam as entidades no mapa. Existem técnicas e padrões cartográficos para a escolha do posicionamento de rótulos. A maioria dos SIG possuem ferramentas que efetuam o posicionamento de forma automática ou manual. Além disso, os rótulos podem variar em tamanho e orientação. • Padrões de Textura e Estilos de Linhas - Os textos podem variar em tipo de fonte, tamanho, cor e estilo (ex.: negrito, itálico, sublinhado). A escolha dos tipos de letra devem obedecer convenções cartográficas, assim como os estilos de linhas, que podem variar em espessura, cor e forma (ex. tracejada, pontilhada). • Símbolos Gráficos - Os símbolos gráficos são usados para representar classes de entidades em um mapa. Alguns símbolos mais comuns são: símbolos de cidades (ex.: um ponto com tamanho variando de acordo com o número de habitantes), pontes, aeroportos, hospitais, museus, escolas, etc. Alguns sistemas utilizam o conceito de bibliotecas de símbolos, que podem ser adquiridas de acordo com a área de aplicação específica. 4.8 Temas Atuais de Pesquisa na Área de SIG As pesquisas na área dos SIGs têm sido desenvolvidas de forma multidisciplinar por pesquisadores de diversas áreas como geografia, cartografia, sensoriamento remoto, geologia, ciência da computação, etc. No contexto da área de ciência da computação existem diversos tópicos atuais de pesquisa. Como exemplo, pode-se citar: • Modelos de dados e análise de requisitos - buscam uma forma de especificação que seja segura e completa, para os requisitos apresentados no domínio das aplicações geográficas. Diversas propostas de modelos de dados têm sido apresentadas como, por exemplo, modelos que permitem a representação espaço-temporal de entidades geográficas, que possibilitem o tratamento de limites nebulosos (fuzzy), entre outros. 57 • Métodos de acesso espacial - novas estruturas de dados para armazenamento e recuperação de dados espaciais têm sido desenvolvidas com o objetivo de aumentar a eficiência dos sistemas atuais, em termos de capacidade de armazenamento e tempo de resposta. • Interface homem-máquina e linguagens de consulta - os sistemas de interface com usuário têm evoluído para possibilitar uma maior facilidade de uso por parte dos usuários. Pesquisas em linguagens para banco de dados geográficos e métodos de visualização têm contribuído para a melhoria das interfaces de uso dos SIGs [OLI 97]. • Qualidade e confiabilidade dos dados - um dos problemas principais com os dados espaciais é o controle da propagação de erros através de operações espaciais. Métodos para representação de informações sobre a qualidade dos dados espaciais (meta-dados de qualidade) têm sido pesquisados [FAI 96]. • Orientação a objetos - a tecnologia dos sistemas de banco de dados relacionais apresenta diversas limitações com relação ao armazenamento e recuperação de dados espaciais. Conceitos provenientes do paradigma da orientação a objetos têm sido utilizados na implementação de novos SIGs [COY 96]. • Intercâmbio de dados espaciais - o custo de aquisição de dados geográficos é um dos maiores problemas encontrados por instituições usuárias de SIG. A definição de formatos padronizados para intercâmbio de dados espaciais tem sido adotada em alguns países, como EUA, Canadá e Inglaterra. A criação de Centros de Dados Geográficos tem sido uma saída para possibilitar o uso cooperativo de dados geográficos por instituições governamentais ou privadas [CAM 96]. 58 59 5 Modelos de Dados Ullman [ULL 82] define um modelo de dados como uma descrição geral de um conjunto específico de entidades e os relacionamentos existentes entre estes conjuntos de entidades. Uma entidade pode ser qualquer coisa que seja distinguível (ex.: um conceito, um evento, um objeto). Um conjunto de entidades agrupa entidades que possuem características em comum (ex.: Rios, Cidades e Pessoas). Características de entidades são descritas por meio de atributos que possuem valores específicos de um determinado domínio (ex.: nome e população de cidades). PARTE II Análise de Modelos Conceituais de Dados para Sistemas de Informações Geográficas Para Brodie [BRO 84], um modelo de dados é uma coleção de conceitos bem definidos matematicamente, que nos auxilia a pensar e expressar as propriedades estáticas e dinâmicas das aplicações. Numa visão mais específica de banco de dados, um modelo de dados consiste de três componentes: uma coleção de tipos de objetos, uma coleção de operadores e uma coleção de regras de integridade (Codd, 1981 Apud [PEU 84]). A característica básica de um modelo de dados, como o próprio termo explicita, é que ele é uma abstração da realidade [PEU 84]. A distância existente entre a maneira na qual as entidades existem na realidade e a maneira como estas entidades são representadas internamente nos computadores levaram ao surgimento de modelos de dados em diferentes níveis de abstração. Um modelo de dados fornece uma base formal (notacional e semântica) para ferramentas e técnicas usadas para suportar a modelagem de dados [BRO 84]. Modelagem de dados é o processo de abstração onde somente os elementos essenciais da realidade observada são enfatizados, descartando-se os elementos não essenciais [BED 89]. A seção 5.1 apresenta duas classificações dos tipos de modelos de dados existentes. A seção 5.2 descreve os principais conceitos de abstração utilizados nos modelos de dados para abstrair a realidade. Na seção 5.3 são descritos dois dos principais modelos semânticos e a seção 5.4 descreve as características dos modelos orientados a objetos. A descrição sucinta destes modelos tem por objetivo facilitar a descrição dos modelos apresentados no capítulo 6, uma vez que aqueles são, na sua grande maioria, extensões desses modelos já consagrados. 60 5.1 Taxonomias de Modelos de Dados Segundo Navathe [NAV 92], os modelos de dados podem ser classificados segundo duas dimensões. A primeira dimensão classifica os modelos de dados em função da etapa de desenvolvimento do projeto do banco de dados em que o modelo é utilizado. A segunda dimensão classifica os modelos de dados quanto a sua força expressiva. As subseções seguintes detalham a classificação de modelos de dados nestas duas dimensões. 61 5.1.2 Modelos de Dados numa Escala de Flexibilidade e Expressividade O termo flexibilidade refere-se, neste contexto, à facilidade com a qual o modelo pode tratar com aplicações complexas, enquanto que expressividade refere-se à habilidade de gerar diferentes abstrações em uma aplicação [NAV 92]. Sobre estes aspectos, Brodie [BRO 84] classifica os modelos de dados em quatro gerações distintas. São elas: • Modelos Primitivos (ou de Arquivos) - as entidades são representadas em registros que estão agrupados em arquivos. Os registros podem ser lidos diretamente ou através de estruturas de índices e listas invertidas. As operações são realizadas a partir das primitivas de leitura e escrita de registros em arquivos. 5.1.1 Modelos de Dados e as Fases do Projeto de Banco de Dados O processo de desenvolvimento de um banco de dados está intimamente relacionado com o ciclo de vida do desenvolvimento de software onde, a cada etapa, novas informações e detalhes são acrescidos ao projeto do software [PRE 87]. No projeto de banco de dados as informações que comporão o banco de dados são especificadas utilizando-se modelos de dados em diferentes níveis de abstração, iniciando por modelos de alto nível de abstração e refinando-se o modelo até que sejam incorporados detalhes específicos, relacionado ao armazenamento dos dados. Uma divisão do projeto de banco de dados em três etapas é descrita em [ELM 94], onde são empregados diferentes tipos de modelos, de acordo com as fases de projeto: conceitual, lógico e físico. • Modelos de Dados Clássicos - compreendem os modelos hierárquico, em rede e relacional. Nos modelos hierárquico e em rede, as entidades são representadas em segmentos ou registros que são organizados como nodos, respectivamente, em estruturas de árvore ou grafo. Operações de consulta são realizadas de forma navegacional através dos registros e ligações. O modelo relacional [COD 79] é baseado no conceito matemático de relação, que pode representar tanto conjuntos de entidades como conjuntos de relacionamentos. As operações são fundamentadas na álgebra e no cálculo relacionais. • Modelo Conceitual - é elaborado na fase de projeto conceitual, onde são utilizados modelos semânticos que empregam construtores de abstração de alto nível para descrever os requisitos de dados das aplicações (ex.: modelo E-R [CHE 76]). Estes modelos normalmente utilizam linguagens bastante simples para facilitar a comunicação e o entendimento entre usuários e projetistas. São identificadas e definidas quais as entidades que serão representadas no banco de dados, suas estruturas (atributos) e os relacionamentos existentes entre elas. Nestes modelos não são considerados aspectos sobre o sistema de computação (software/hardware) que será utilizado. • Modelo Lógico - descreve o esquema do banco de dados com base no tipo de modelo de SGBD que será utilizado. O modelo lógico independe do software a ser usado, mas é dependente de um modelo de dados. São gerados a partir da aplicação de regras de transformação (mapeamento) dos construtores de abstração utilizados no modelo conceitual em elementos de representação de dados de um dos modelos clássicos (relacional, hierárquico ou em rede). • Modelo Físico - descreve aspectos de implementação física do banco de dados como, por exemplo, estruturas de armazenamento, caminhos de acesso, particionamento e agrupamento. Estão diretamente relacionados a um SGBD específico e permitem, ao projetista, planejar aspectos ligados à eficiência do sistema de banco de dados. • Modelos de Dados Semânticos - foram desenvolvidos, inicialmente, para facilitar o projeto de esquemas de banco de dados [HUL 87]. A idéia fundamental desses modelos é possibilitar a elaboração de esquemas de dados semanticamente mais próximos de como as entidades existem na realidade. Utilizam construtores de abstração de alto nível como classificação, generalização, agregação e associação (descritos na Seção 5.2). As características dos modelos semânticos são o enfoque principal deste capítulo. • Modelos Semânticos de Propósito Especial - estão sendo desenvolvidos para atender as demandas das áreas de aplicações ditas não-convencionais, como por exemplo, Automação de Escritório, VLSI, CAD/CAM e SIG. No capítulo 7 são descritas as principais propostas de modelos de dados voltados para aplicações geográficas. 5.2 Primitivas de Abstração Um banco da dados pode ser visto como um modelo abstrato de uma porção da realidade, uma vez que seus dados representam um subconjunto de entidades pertencentes a esta realidade. Abstrair uma porção da realidade para projetar um banco de dados implica em selecionar quais entidades são significativas (dentro do objetivo pretendido), como elas podem ser estruturadas e como elas se relacionam umas com as outras. 62 63 Modelos de dados conceituais são construídos com base em um conjunto de construtores básicos de abstração. As subseções seguintes descrevem os principais construtores, encontrados na maioria dos modelos semânticos e orientados a objetos. Neste tipo de abstração é estabelecido um relacionamento do tipo “é_um” entre duas classes A e B, significando que o conjunto das instâncias da classes A (denominada subclasse) é um subconjunto das instâncias da classes B (denominada superclasse). 5.2.1 Classificação Classificação é o processo de abstração no qual objetos que representam entidades semelhantes são agrupados em uma única classe. Assim, uma classe descreve as propriedades que são comuns a um conjunto de objetos. Estas propriedades podem ser estáticas (estruturais) ou dinâmicas (comportamentais). A maioria dos modelos semânticos representam apenas as características estáticas das entidades [BRO 84]. Propriedades dinâmicas são representadas, principalmente, pelos modelos orientados a objetos (Seção 5.4). Como exemplificado pela Figura 5.1, a abstração de generalização pode ser aplicada recursivamente, dando origem a uma estrutura hierárquica de classes, normalmente conhecida como hierarquia de generalização/especialização ou hierarquia é-um. Numa hierarquia de classes, os atributos descritos em uma superclasse são herdados por todas as suas subclasses. Herança é uma propriedade semântica implícita aos construtores de generalização/especialização, que possibilita a elaboração de modelos de dados mais claros e impede a introdução de erros clássicos, por reduzir a quantidade de descrições redundantes [MAT 89]. Na classificação, um relacionamento do tipo “é_instância_de” entre um objeto e sua classe significa que o objeto é uma instância dessa classe. Todas as instâncias de uma classe possuem as mesmas propriedades estáticas, que são definidas como atributos da classe. Classificação é uma das formas de abstração mais importantes e melhor entendidas. Permite a construção de modelos de dados, não com base nos dados propriamente ditos, mas sim levando-se em consideração os tipos dos dados que serão manipulados pelo sistema de gerenciamento de banco de dados [MAT 92]. PESSOA Nome Dat_Nasc Sexo Endereço é_um ALUNO Matrícula Curso Ano_Ingresso PROFESSOR Titulação Cargo 5.2.2 Generalização & Especialização Os conceitos de generalização e especialização estão fortemente relacionados ao conceito de classificação. Da mesma forma com que objetos contendo propriedades semelhantes são descritos através de classes, um conjunto de classes que descrevem objetos semelhantes pode ser generalizado em uma nova classe de mais alto nível. Generalização é o processo de definir classes mais genéricas a partir de classes com características semelhantes. Especialização é o processo inverso da generalização, onde classes mais específicas são detalhadas a partir de classes genéricas, adicionando-se novas propriedades na forma de atributos. Por exemplo, em um ambiente acadêmico (Figura 5.1), as classes Professor (descreve os atributos comuns a todas as instâncias de professor) e Aluno (descreve os atributos dos alunos) podem ser generalizadas em uma nova classe Pessoa, a qual conterá as propriedades comuns às classes Professor e Aluno (ex.: nome, data_nascimento, sexo e endereço). Por sua vez, a classe Aluno pode ser especializada nas classes Aluno_Graduação e Aluno_Pós-Graduação, cada uma contendo suas propriedades específicas. é_um AL_GRAD Atua_IC AL_PÓS-GRAD Prof_Orient Linha_Pesq Possui_Bolsa Figura 5.1 - Exemplo de Abstração de Generalização e Especialização Alguns modelos suportam o conceito de herança múltipla, decorrentes de uma hierarquia de classes estruturada como rede, ao invés de árvore. Herança múltipla ocorre quando uma subclasse possui mais de uma superclasse, herdando as propriedades de cada superclasse. Por exemplo, para definir no exemplo acadêmico, alunos de pós-graduação que também são professores, uma classe denominada Professor_Assistente pode ser incluída como subclasse das classes Professor e Aluno_Pós-Graduação. Neste caso, a classe Professor_Assistente herda todos os atributos das classes Professor, Aluno_Pós-Graduação e, por transitividade, os atributos da classe Pessoa. 64 Um tipo de problema que surge quando o modelo suporta a herança múltipla é o problema do conflito de nomes, que pode surgir a partir da herança dos atributos provenientes de mais de uma superclasse. Existem diversas soluções para o problema de conflito de nomes como, por exemplo, adoção de regras que consideram a ordem em que as superclasses foram definidas; escolha explícita de qual atributo será herdado; ou eliminação forçada do conflito. Estas soluções estão relacionadas com as implementações em linguagens de programação orientadas a objetos. Maiores detalhes podem ser obtidos em [LIS 92]. 5.2.3 Agregação Segundo Navathe [NAV 92], o conceito de agregação é usado em duas situações distintas. Em um nível mais simples, um objeto é definido como uma agregação dos atributos que o descrevem, ou seja, um objeto é composto de um conjunto de objetos atômicos. Por outro lado, o construtor de agregação permite representar relacionamentos do tipo “é_parte_de”, onde um objeto complexo é definido como uma agregação de suas partes (ou objetos componentes). Quando um objeto agregado é componente de um outro objeto agregado, é gerada uma hierarquia de agregação. Como na hierarquia de classes, uma hierarquia de agregação pode ter uma estrutura em forma de árvore ou de rede (caso em que um objeto é componente de mais de um objeto agregado). Porém, é importante observar que as duas hierarquias são completamente diferentes. Em uma hierarquia de classes, o relacionamento entre duas classes (subclasse-superclasse) diz respeito a um mesmo objeto, enquanto que em uma hierarquia de agregação o relacionamento é entre objetos que podem pertencer à mesma classe ou a classes diferentes. Uma agregação representa a idéia de que uma entidade consiste de outras entidades. Desta forma, uma entidade composta tem sua existência dependente da existência de suas partes. Segundo Mattos [MAT 92], um sistema que implemente o conceito de agregação deve fornecer operações que envolvam, tanto o objeto agregado, como seus objetos componentes. Exemplos de operações com objetos agregados são: • Determinar os componentes de um objeto. • Localizar os agregados dos quais um objeto é um componente. • Criar, em uma única operação, um objeto agregado juntamente com todos os seus componentes. • Remover todas as partes de um objeto agregado, quando ele é eliminado do banco de dados. 65 5.2.4 Associação Associação é o tipo de abstração no qual um relacionamento entre objetos semelhantes é considerado como um objeto conjunto [BRO 84]. Neste caso, um relacionamento do tipo “é_membro_de” é estabelecido entre um objeto membro e um objeto conjunto. Tanto a associação quanto a agregação permitem a representação de objetos compostos, porém, suas semânticas são substancialmente diferentes. Enquanto um objeto agregado tem sua existência dependente da existência de seus componentes, a associação (que é baseada na teoria de conjuntos) permite, por exemplo, a existência de conjuntos vazios. 5.3 Principais Modelos Semânticos Para facilitar o entendimento dos modelos de dados descritos no capítulo 6, nesta seção são descritos, resumidamente, dois modelos de dados semânticos de grande aceitação. 5.3.1 Modelo E-R O modelo Entidade-Relacionamento (E-R), proposto por Chen [CHE 76], foi um dos primeiros modelos semânticos a surgirem na literatura. Devido a sua simplicidade de representação e facilidade de aprendizado, tem sido o modelo de maior sucesso como ferramenta de comunicação entre o projetista de banco de dados e o usuário final durante as fases de análise de requisitos e projeto conceitual [BAT 92]. Originalmente, Chen propôs três classes de objetos (construtores semânticos): entidade (formalmente, um conjunto de entidades); relacionamento (formalmente, um conjunto de relacionamentos) e atributos. Entidades são os principais elementos da realidade sobre os quais as informações serão coletadas (ex.: uma rua, um mapa, um parque ou uma floresta). Se uma entidade tem sua existência dependente de uma outra entidade, então ela é classificada como entidade fraca. Atributos são usados para detalhar as entidades, associando a elas propriedades descritivas (ex.: nome, cor, peso e valor). Existem dois tipos de atributos: identificadores, que distinguem univocamente as entidades; e descritores, que descrevem as características da entidade. Relacionamentos representam associações que ocorrem na realidade entre elementos pertencentes a um ou mais conjuntos de entidades. Os relacionamentos 66 67 possuem significado semântico que é descrito por sua cardinalidade, a qual indica o número de vezes em que uma entidade pode participar de um relacionamento. Normalmente, o relacionamento é definido como uma cardinalidade do tipo “umpara-um”, “um-para-muitos” ou “muitos-para-muitos”. Hierarquia de Subconjuntos Pessoa Estudante Hierarquia de Generalização Empregado cargo Atleta Os diagramas que representam graficamente os construtores do modelo E-R são mostrados na Figura 5.2. Engenheiro Técnico Figura 5.3 - Dois tipos de hierarquia no modelo EER Entidade Relacionamento Atributo descritor identificador fraca Figura 5.2 - Construtores do modelo E-R Segundo Elmasri e Navathe [ELM 94], os conceitos originais do modelo E-R são suficientes para representar diversos esquemas de banco de dados para aplicações convencionais (ex.: aplicações comerciais). Aplicações em áreas como CAD/CAM, Inteligência Artificial, Multimídia, Sistemas de Informações Geográficas, CASE, entre outras, possuem requisitos mais complexos que as aplicações convencionais. Para suprir esses requisitos, de forma mais natural, são necessários outros construtores de modelagem semântica. 5.3.2 Modelo GSM Hull [HUL 87] apresenta um estudo comparativo dos principais modelos semânticos, onde foi definido o modelo GSM (Generic Semantic Model). O modelo GSM foi elaborado para servir de base na comparação dos diversos modelos analisados, partindo do modelo IFO [ABI 87] e utilizando as características de três modelos proeminentes: E-R (Entidade-Relacionamento), FDM (Functional Data Model) e SDM (Semantic Data Model). No modelo GSM, os principais componentes semânticos são representados explicitamente como objetos, atributos e relacionamentos entre objetos, construtores de objetos complexos, relacionamentos do tipo “é_um” e componentes derivados. A Figura 5.4 mostra um esquema conceitual onde os construtores do modelo GSM são exemplificados. MNome possui Diversas extensões ao modelo E-R têm sido propostas na literatura, dando origem aos modelos denominados ERR - Entidade Relacionamento Estendido [ELM 85], [TEO 86], [TAN 91]. A idéia fundamental dessas extensões é enriquecer o modelo para suportar todos os conceitos de abstração [NAV 92]. Uma das principais extensões propostas foi a inclusão dos conceitos de subclasse/superclasse, a partir de abstrações do tipo generalização e agregação [SMI 77]. Segundo Teorey [TEO 86], existem dois tipos de hierarquia de subclasse/superclasse: hierarquia de subconjuntos e hierarquia de generalização (Figura 5.3). Numa hierarquia de subconjuntos existe a possibilidade de sobreposição de componentes de duas ou mais subclasses, enquanto na hierarquia de generalização as subclasses são exclusivas. A diferença entre esses dois tipos de hierarquia se reflete nas operações de atualização e em relação às restrições de integridade. MNome tem-nome tem-nome abastece Sede Mancha Urbana tem-nome BHNome Bacia Hidrográf. possui Município Recurso Hídrico localiza-se lança possui Fonte Poluidora tem-nome SBNome Sub-Bacia Rio Lago tem-nome FPNome Tipo Abstrato Agregação Atributo Simples Subtipo Agrupamento Tipo Alfanumérico IS-A relacionamento Multivalorado Figura 5.4 - Exemplo de esquema conceitual no modelo GSM 68 69 Os principais componentes do modelo GSM são representados da seguinte equação Segmento forma: nome Mapa • A abstração de classificação, que é baseada no conceito de Tipos Abstratos de Dados, é representada por triângulos. membros minimo retangulo envolvente Geometria • Generalização e especialização são representadas por um arco orientado simbolizando um relacionamento “é_um”. • Um tipo derivado (subclasse) é representado por um círculo, para indicar que sua estrutura está definida em outro lugar. # Camada (layer) membros Cadeia coord código nome início fim Nodo Geografia polígono esquerdo y x • A abstração de agregação é representada explicitamente através de um círculo contendo uma cruz. Cadeia Rede Cadeia Área categoria Rio número terminais • A abstração de associação, denominada agrupamento (grouping) no modelo GSM, também possui um símbolo próprio que é um círculo contendo um asterisco. O símbolo ’#’ indica que os elementos do grupo devem estar ordenados. Cadeia Completa Tipo Abstrato Estrada polígono direito Agregação Cidade nome Atributos: Simples Subtipo • Atributos podem ser mono ou multivalorados. Agrupamento Multivalorados Alfanumérico Apesar do modelo GSM ter sido desenvolvido para servir apenas como uma ferramenta para a análise comparativa de outros modelos, ele próprio tem sido utilizado no projeto de esquemas conceituais [SCH 93] e [MIL 93]. O modelo de dados utilizado em [MIL 93] baseou-se no Padrão Americano para Transferência de Dados Espaciais (SDTS - Spatial Data Transfer Standard). A partir dos elementos espaciais especificados no SDTS, foi definido um conjunto básico de classes de objetos espaciais. No subesquema mostrado na Figura 5.5 existem diversos objetos geométricos relacionados dentro de uma hierarquia de generalização e especialização, onde a classe Geometria contém os atributos comuns a todos os objetos geométricos. A figura também mostra os possíveis relacionamentos topológicos existentes entre os diversos objetos espaciais (ex.: uma instância de Cadeia_Rede começa e termina em instâncias de Nodo). geometria e topologia membros Ponto • Atributos do tipo atômico são representados por retângulos de bordas ovais (ex.: nome e número). Um exemplo destes usos do modelo GSM no projeto de aplicações geográficas é mostrado pela Figura 5.5, que descreve uma experiência de desenvolvimento de um banco de dados geográfico implementado sob o SGBDOO ONTOS, um dos primeiros sistemas de banco de dados orientados a objetos disponíveis comercialmente. Arco # String IS-A relacionamento # ordenado Figura 5.5 - Projeto de Banco de Dados Espacial [MIL 93] 5.4 Características dos Modelos Orientados a Objetos Os modelos orientados a objetos têm sido apontados como sendo mais adequados para modelagem de dados em aplicações não convencionais, devido a sua maior capacidade de representação semântica da realidade [WOR 94]. Até hoje não existe um consenso sobre quais são as principais características de um modelo orientado a objetos. Existe, no entanto, um conjunto mínimo de requisitos que são esperados de um SGBDOO, ou seja, de um sistema que integre as capacidades de SGBD (persistência, transações, controle de concorrência, linguagem de consulta, etc) e os conceitos do paradigma da orientação a objetos (identidade de objetos, herança, encapsulamento, etc) [ATK 90]. Os principais conceitos presentes em modelos orientados a objetos são: As entidades geográficas da aplicação são modeladas como subclasses da classe genérica Geografia, onde cada instância possui associação com um determinado objeto espacial (Geometria), o qual representa sua forma e localização. A organização do banco de dados é feita segundo uma visão hierárquica lógica, onde cada instância da classe Mapa é composta de um conjunto de instâncias da classe Camada, cada uma contendo um conjunto de objetos geográficos (Geografia). • Objetos - Cada entidade da realidade é representada por um objeto no sistema. Um objeto possui um estado, definido pelos seus atributos e um comportamento, descrito por um conjunto de operações (ou métodos). • Identidade de Objetos - Nos modelos orientados a objetos a existência de um objeto independe de seus valores. No momento da criação do objeto, lhe 70 é atribuído um código identificador (também conhecido por “Oid” ou “surrogate”), que irá identificá-lo univocamente em todo o sistema, permanecendo inalterado durante toda a sua existência. • Classe - Objetos similares podem ser agrupados em classes para que possam compartilhar de uma mesma definição estrutural e comportamental. Todo objeto é instância de uma determinada classe. Uma das principais diferenças entre os modelos orientados a objetos e os modelos semânticos está justamente na capacidade dos modelos orientados a objetos representarem o comportamento dinâmico dos objetos, o que é feito através da definição do conjunto de operações que podem ser executadas sobre os objetos. Uma classe contém a definição das propriedades que são comuns a todas as suas instâncias. Isto inclui a definição da estrutura estática (variáveis de instância/atributos) e do comportamento (conjunto de operações/métodos) dos objetos. • Hierarquia de Classes e Herança - Nos modelos orientados a objetos as classes estão organizadas de forma hierárquica, onde classes genéricas (superclasses) são especializadas em subclasses, que herdam as propriedades (atributos e métodos) de suas superclasses. O mecanismo de herança possibilita uma abordagem evolutiva no desenvolvimento de sistemas de informações, através do suporte à reusabilidade. • Objetos Complexos - São objetos cuja parte estrutural não é composta somente de atributos cujos domínios sejam tipos de dados atômicos, podendo ser construídos a partir de outros objetos complexos, utilizando construtores como tupla, conjunto e lista. Objetos complexos permitem a representação de relacionamentos do tipo “é_parte_de” de forma bastante simples. • Encapsulamento - Um objeto encapsula seus atributos, cujos valores só são acessíveis através de seus métodos. A implementação dos métodos é mantida separadamente da definição da classe, onde apenas a interface dos métodos necessita ser conhecida para que ele possa ser utilizado. O conceito de encapsulamento é útil durante as fases de análise e projeto conceitual, pois permite que o projetista não se prenda a detalhes de implementação. • Polimorfismo - Permite que nomes idênticos possam ser atribuídos a atributos e métodos de classes distintas. Segundo Günther [GUN 94], os conceitos do paradigma da orientação a objetos têm sido empregados de forma eficiente no gerenciamento de dados espaciais. Por exemplo, o conceito de identidade de objetos pode ser usado para implementar objetos compostos ou subobjetos compartilhados, facilitando operações de mudança de representação (ex.: diferentes escalas). Se um mesmo objeto pode ter diferentes representações gráficas, polimorfismo é outro conceito importante. Por exemplo, para se calcular o comprimento de um objeto linear, utiliza-se a operação length, independentemente se o objeto está armazenado no formato matricial ou vetorial. 71 Como descrito na seção 2.4, uma entidade geográfica pode possuir diferentes categorias de informação: espacial (forma e localização), gráfica (símbolos cartográficos), temporal e textual/numérica. Para Worboys [WOR 94], as abordagens de modelagem devem permitir que estas categorias estejam unificadas e objetos complexos resolvem facilmente este tipo de problema. Coyle [COY 96] faz um levantamento detalhado da utilização de modelos orientados a objetos na implementação de SIGs. 5.4.1 OMT - Um Exemplo de Modelo de Objetos A metodologia de projeto orientado a objetos OMT (Object Modeling Technique) [RUM 91], tem sido amplamente utilizada no desenvolvimento de sistemas baseados no paradigma da orientação a objetos. O modelo OMT utiliza uma notação gráfica, independente de qualquer linguagem de programação, que é baseada nos conceitos da orientação a objetos (Figura 5.6). Esta notação é usada nas fases de análise de requisitos e projeto da aplicação, sem a necessidade de mapeamento entre os modelos, como o que ocorre no projeto de banco de dados relacional, reduzindo o problema de impedância entre linguagens. 72 Classe 73 Generalização (herança) Agregação Superclasse Classe Agregada Nome Classe losango na interseção das linhas da associação. As associações, como os relacionamentos no modelo E-R, podem ter seus próprios atributos. Além disso, uma associação pode ter suas próprias operações. Nome Classe atributo atributo : tipo_dado ..... Subclasse-1 operação operação (list_arg) ..... Subclasse-2 Parte1-Classe Parte2-Classe Multiplicidade de Associações: Associação Classe exatamente 1 Classe muitos (zero ou mais) Classe opcional (0 ou 1) Nome associação Classe-1 Classe-2 1+ 1-2,4 Associação Ternária Nome associação Classe-1 Classe um ou mais Classe numericamente especificado Atributo de ligação Classe-2 Nome associação Classe-1 Classe-2 Classe-3 Instância de Objeto (Nome classe) (Nome classe) nome_atrib = valor atributo_ligação ......... Relacionamento de instâncias (Nome classe) Nome classe Figura 5.6 - Subconjunto de construtores do modelo de objetos OMT As classes são representadas de forma simplificada, através de retângulos contendo o nome da classe, ou de forma completa, através de retângulos divididos em três partes contendo: o nome da classe, a lista de atributos e a lista de operações (métodos). Generalização de classes é representada por meio de um triângulo com a base voltada para a(s) subclasse(s), enquanto que a agregação é representada por um losango junto à classe agregada. Associações3 entre classes são representadas por linhas que unem as classes envolvidas, o nome da associação deve ser colocado sobre/sob a associação. Associações envolvendo mais de duas classes são representadas através de um 3 No modelo OMT o termo Associação é usado como sinônimo de relacionamento e não no sentido de conjunto, como descrito na seção 5.2. No modelo, as instâncias de objetos também podem ser representadas, para ilustrar o modelo de dados gerado. Instâncias são representadas por retângulos de bordas abauladas, contendo o nome de sua respectiva classe e valores de atributos. Uma instância é ligada à sua classe através de uma flecha na direção da classe. O modelo possui outros construtores gráficos que são utilizados com menor freqüência e foram omitidos desta apresentação. Uma descrição completa do modelo OMT pode ser obtida em [RUM 91]. 74 75 entidades no espaço, suas formas geométricas e seus relacionamentos com outras entidades. 6 Modelos de Dados para Aplicações Geográficas Por razões históricas, as aplicações de SIG têm sido projetadas, principalmente, por usuários de diferentes áreas não ligadas à Computação. Esses usuários muitas vezes desconhecem técnicas modernas de desenvolvimento de software e suas ferramentas, desconsiderando questões como portabilidade, manutenibilidade, reusabilidade, etc. Todo sistema de informação, inclusive geográfico, possui um ciclo de vida que pode variar em número de etapas, mas que inclui os seguintes estágios: análise de requisitos, projeto, implementação e manutenção. Normalmente, quanto maior os investimentos nos estágios iniciais do ciclo de vida (análise de requisitos e projeto), maior a qualidade dos produtos gerados e menor o custo nos estágios finais (implementação e manutenção) [PRE 87]. Segundo Roman [ROM 90], um dos componentes mais importantes de qualquer especificação de requisitos é a modelagem de dados. No entanto, as técnicas tradicionais de modelagem de dados e suas ferramentas (como as descritas no capítulo anterior), não fornecem meios adequados para representar as informações geográficas. Para Roman, a dificuldade está no fato de que muitas informações geográficas precisam ser qualificadas com respeito à localização onde são válidas, o tempo de observação e sua acurácia. A seção 6.1 descreve um conjunto específico de requisitos, apresentados por aplicações geográficas, que dificulta seu projeto com base em modelo de dados de propósito geral. Uma abordagem multi-nível de especificação de aplicações geográficas é descrita na seção 6.2. A seção 6.3 apresenta o estado-da-arte em matéria de modelos de dados conceituais específicos para atender a esses novos requisitos. 6.1 Requisitos Especiais das Aplicações Geográficas Devido às características espaço-temporais dos dados por elas manipulados, as aplicações geográficas impõem alguns requisitos especiais aos SIGs, sendo que nem todos são suportados adequadamente pelos SIGs existentes atualmente. Entre estes requisitos, o principal é o que diz respeito à característica espacial das entidades geográficas. Este requisito é resolvido em todos os SIGs, com maior ou menor elegância, a partir do armazenamento e recuperação da localização das No entanto, a realidade geográfica é muito complexa e, em muitos casos, apenas o suporte aos requisitos espaciais não é suficiente como, por exemplo, em situações em que os aspectos temporais são relevantes ou quando as entidades geográficas não possuem limites bem definidos. A lista, a seguir, relaciona um conjunto de requisitos especiais de projeto, apresentados pelas aplicações geográficas, identificados a partir de um estudo bibliográfico e da experiência do autor no projeto conceitual de aplicações geográficas reais na área de controle ambiental [LIS 96], [LIS 96a] e [LIS 97]. Esses requisitos estão descritos nas subseções seguintes. • Visão de campo & de objetos; • Relacionamentos espaciais; • Temporalidade dos dados geográficos; • Requisitos de qualidade; • Múltiplas representações; • Limites nebulosos (fuzzy). 6.1.1 Visão de Campo & de Objetos Como descrito na seção 4.3, a realidade geográfica pode ser observada segundo duas visões: de campo e de objetos. Na visão de campo, uma superfície contínua pode ser representada, por exemplo, através de funções matemáticas, conjuntos de isolinhas discretas ou aproximadas por uma discretização regular. Goodchild [GOO 91] relaciona seis modelos diferentes de representação dos fenômenos geográficos, segundo a visão de campo, que estão atualmente disponíveis nos SIGs (Figura 6.1). São eles: a) Amostragem Irregular de Pontos - o banco de dados contém um conjunto de tuplas <x,y,z> representando valores coletados em um conjunto finito de localizações irregularmente espaçadas. (ex.: estações de medição de temperatura) b) Linhas de Contorno - o banco de dados contém um conjunto de linhas, cada uma com um valor z associado. (ex.: curvas de nível) c) Polígonos - A área é particionada em um conjunto de regiões, onde a cada região está associado um valor que é único em todas as suas posições. (ex.: tipos de solos). d) Amostragem Regular de Pontos - Como no item (a), porém, com pontos distribuídos regularmente. (ex.: Modelos Numéricos de Terreno) e) Grade de Células - A área é dividida em uma grade regular de células, onde o valor da cada célula corresponde ao valor da variável para todas as posições dentro da célula. (ex.: imagens de satélites) 76 77 f) Rede Triangular - a área é particionada em triângulos irregulares. O valor da variável é definido em cada vértice do triângulo e varia linearmente sobre o triângulo. (ex.: TIN - Triangulated Irregular Network) a) Amostragem Irregular de Pontos d) Amostragem Regular de Pontos célula b) Linhas de Contorno c) Polígonos 6.1.2 Relacionamentos Espaciais Sistemas de bancos de dados são constituídos de dois grandes grupos de dados: dados que descrevem as entidades que são relevantes em um domínio de aplicação; e dados que descrevem os relacionamentos entre as entidades, que são considerados relevantes neste mesmo domínio. Uma das tarefas mais importantes quando se está modelando os dados de uma aplicação é a identificação de quais os relacionamentos (dentro de uma infinidade de relacionamentos possíveis), que deverão ser mantidos no banco de dados. Por exemplo, em uma aplicação na área financeira, o relacionamento entre um cliente e o funcionário que o atendeu no momento da abertura de uma conta-corrente, pode não ser representado no banco de dados. Este tipo de escolha é um problema específico da definição dos requisitos da aplicação. e)Grade de Células f) Rede Triangular Figura 6.1 - Modelos de dados na visão de campo Cada um desses modelos pode ser armazenado em um banco de dados geográfico como um conjunto de pontos, linhas, polígonos ou células. Esses modelos, geralmente são confundidos, equivocadamente, com as estruturas de armazenamento de dados espaciais matricial e vetorial (seção 4.6). Cada modelo pode ser mapeado em uma ou outra estrutura, sendo que alguns modelos se adequam melhor à estrutura matricial e outros à estrutura vetorial. Por exemplo, os modelos Amostragem Regular de Pontos e Grade Regular de Células são mapeados naturalmente para uma estrutura matricial, enquanto que os demais modelos são normalmente armazenados numa estrutura vetorial [GOO 91]. Durante muito tempo, a comunidade de geoprocessamento discutiu o problema da dicotomia entre as estruturas matricial e vetorial [COU 92]. Atualmente, já é consenso que os dois grupos de estruturas são igualmente importantes, sendo que cada um é mais ou menos adequado, dependendo do tipo de aplicação em que é empregado [WOR 95]. Os sistemas mais sofisticados utilizam as duas estruturas e fornecem mecanismos para conversão entre elas. Por outro lado, a dicotomia entre campos e objetos está relacionada com a forma com que se observa os fenômenos geográficos que ocorrem na realidade e como esses fenômenos podem ser representados (ou abstraídos). Portanto, este problema está diretamente relacionado com os modelos de dados a nível conceitual e lógico, como será visto na seção 6.2. No domínio das aplicações geográficas, este problema é bem mais complexo, uma vez que o número de relacionamentos possíveis de serem mantidos no banco de dados é ainda maior devido à existência dos relacionamentos espaciais entre as entidades geográficas. Segundo Clementini [CLE 94], em um contexto geográfico as entidades estão cercadas por outras entidades, o que torna o estudo dos relacionamentos espaciais entre entidades uma questão altamente relevante na modelagem de dados geográficos. Diversos tipos de relacionamentos espaciais são citados na literatura [EGE 89], [LAU 92] e [KEM 92]. São eles: • Relacionamentos métricos - incluem os possíveis relacionamentos entre os atributos espaciais (geométricos) das entidades. Um exemplo é o relacionamento de distância entre coordenadas geográficas, que permite a execução de operações com base no conceito de proximidade (ver Seção 4.3). • Relacionamentos topológicos - referem-se aos relacionamentos que não dependem exclusivamente das coordenadas dos objetos. Exemplos incluem os relacionamentos de adjacência entre áreas (usado para representar lotes urbanos) ou os relacionamentos de conectividade entre linhas (usado para representar trechos de uma rede de telefonia). • Relacionamentos estruturais - ocorrem em situações em que o componente espacial de um objeto é composto de outros objetos espaciais (objetos complexos). Por exemplo, um arquipélago é composto de um conjunto de ilhas, um rio pode estar dividido em diversos trechos de rio, ou ainda, que o polígono representando os limites de um país é formado pela união dos polígonos que representam seus estados. Conforme descrito no capítulo 4, alguns SIGs fornecem estruturas especiais para o armazenamento explícito de alguns tipos de relacionamentos (normalmente são mantidos somente os relacionamentos de adjacência e conectividade), deixando os 78 79 demais para serem calculados a partir das coordenadas espaciais dos objetos, durante a execução das operações de consulta. • Quais as áreas que passaram da categoria de área rural para área urbana em um determinado período de tempo? Um modelo de dados conceitual para SIG deve fornecer meios para que o projetista represente todo o universo de relacionamentos que deverá ser mantido no banco de dados geográfico. Isto inclui tanto os relacionamentos convencionais como os relacionamentos espaciais. Todas essas questões dependem da inclusão de informações temporais relacionadas aos fenômenos geográficos e da extensão das linguagens de consulta disponíveis para que estas suportem cláusulas de condição associadas a aspectos temporais [WOR 95]. Pesquisas na área de banco de dados temporais têm sido relatadas em [GUE 90], [SOO 91] e [CLI 95]. Especificamente, na área que trata dos sistemas de informações que integram dados referenciados espacialmente e temporalmente, uma lista recente de artigos é apresentada em [AL-T 94]. A Figura 6.2, adaptada de [WOR 94a], exemplifica uma situação onde informações espaçotemporais são fundamentais. Um fato importante que merece ser lembrado é que a inclusão dos atributos espaciais implica, geralmente, na inclusão de informações redundantes no banco de dados. Por exemplo, se uma entidade município está logicamente relacionada com uma entidade estado (ex.: município pertence a estado) e as duas entidades possuem atributos espaciais representando seus limites, então este relacionamento explícito poderia ser calculado a partir de uma operação geométrica envolvendo dois polígonos. Porém, por questões de eficiência do sistema, normalmente este tipo de redundância é aceitável. rua rua 3 1 2 4 4 Segundo Hadzilacos [HAD 96], a necessidade dos dados geográficos estarem qualificados com base no tempo, não se deve ao fato dos dados serem freqüentemente modificados, mas sim, pela necessidade de se registrar estados passados, de forma a possibilitar o estudo da evolução dos fenômenos geográficos. Para possibilitar uma análise de dados com base na evolução dos fenômenos geográficos é necessária a utilização de sistemas de bancos de dados temporais. A utilização de um modelo espaço-temporal aumenta a potencialidade das operações de análise através de um SIG. Langran [LAN 89] e Peuquet [PEU 93] descrevem uma série de consultas que podem ser resolvidas por um banco de dados espaço-temporal como, por exemplo: • Onde uma determinada entidade estava localizada há dois anos atrás? • Como esta área se modificou ao longo dos últimos cinco anos? • Esta entidade já teve seus limites alterados alguma vez? • Estas duas áreas já foram sobrepostas em algum momento? 4 1920 rua rua 1 5 4 1 5 1908 6.1.3 Temporalidade dos Dados Geográficos A maioria dos SIGs disponíveis atualmente consideram as entidades como se o mundo existisse somente no presente. Informações geográficas são incluídas e alteradas ao longo do tempo, mas o histórico dessas transformações não é mantido no banco de dados. Segundo Peuquet [PEU 93], estas limitações dos SIGs vêm recebendo uma atenção crescente, devido à necessidade de um melhor entendimento dos processos geográficos e dos inter-relacionamentos de causa e efeito entre as atividades humanas e o meio ambiente. rua 1 5 escola 1958 1 5 4 escola 1964 escola 1938 rua 5 1 4 6 escola 1994 Figura 6.2 - Exemplo de variação espaço-temporal [WOR 94a] A figura mostra as transformações ocorridas sobre as propriedades dos lotes de uma área fictícia, no período de 1908 a 1994. Os seguintes fatos provocaram as mudanças documentadas: • 1908 - Primeiro registro da área no banco de dados espaço-temporal. Os lotes 1 e 2 possuíam construções residenciais. • 1920 - O proprietário do lote 2 comprou o lote 3 e fez a junção dos dois lotes, que foi registrado como lote 5. • 1938 - Uma escola foi construída no lote 4, que teve sua área ampliada a partir da desapropriação de parte do lote 5. • 1958 - Um incêndio destruiu a residência do lote 5, que foi adquirido pelo proprietário do lote 1. • 1964 - Uma nova rua foi construída para facilitar o acesso à escola. O proprietário do lote 5 ampliou sua residência. • 1094 - Parte do lote 5 foi vendida e registrada como lote 6, onde também foi construída nova residência. A outra parte do lote 5 foi incorporada ao lote 1. 80 81 Segundo Laurini [LAU 92], em um sistema de informação o fator tempo necessita ser medido ao longo de pelo menos duas dimensões: tempo de transação e tempo de validade. Segundo Burrough [BUR 92], nenhum SIG disponível até o momento fornece ao usuário, informações sobre limites de confiança dos dados resultantes de processos de análise com dados espaciais. Faiz [FAI 94] propõe uma abordagem baseada na utilização de meta-dados de qualidade, que são mantidos de forma integrada no banco de dados geográfico. • Dimensão tempo de transação - retrata o momento em que as transações ocorrem no banco de dados. É também chamado de tempo do banco de dados ou tempo do sistema. • Dimensão tempo válido - retrata o momento em que um evento ocorre na realidade, alterando o fenômeno associado. É também chamado de tempo do evento ou tempo do mundo real. Além disso, para cada dimensão temporal é possível distinguir diversos tipos estruturais de medida de tempo: discreto ou contínuo; linear ou cíclico; instante, intervalo ou períodos de tempo. Diversos modelos integrando os aspectos espaçotemporais em banco de dados geográficos têm sido propostos na literatura [NEW 92], [WOR 94a], [PEU 95] e [OLI 97]. Porém, a nível de modelagem conceitual dos aspectos temporais pouca coisa foi feita até o momento, um exemplo é descrito em [CAR 93]. 6.1.4 Requisitos de Qualidade Conforme descrito na seção 3.5, toda informação espacial armazenada em um SIG possui um certo erro a ela associado. Estes erros precisam ser conhecidos para que possam ser considerados pelos usuários das informações extraídas dos SIGs. Por exemplo, a acurácia posicional de fenômenos geográficos pode variar em ordens de grandeza, começando pelas medidas em centímetros necessárias na análise do movimento da crosta terrestre, até centenas de metros medida adequada para muitas aplicações ambientais [GOO 96]. Para modelagem climática, uma acurácia posicional de dezenas ou centenas de quilômetros pode ainda ser adequada. Outra característica específica das aplicações de SIG é a grande utilização de dados importados de outros sistemas. Desta forma, é fundamental que, juntamente com os dados importados, também sejam conhecidas as informações sobre a qualidade dos mesmos. O padrão americano para troca de dados espaciais requer um relatório de qualidade [CHR 91]. Este relatório fornece uma base para que o usuário faça seu próprio julgamento sobre o dado importado. Além de conhecer os erros associados com os dados armazenados no banco de dados geográfico, os usuários devem considerar que estes erros se propagam de diferentes formas, dependendo das operações de análise em que são utilizados. Segundo Aspirall [ASP 96], a descrição da qualidade dos dados em um formato que possa ser utilizado para análise da propagação de erros e o gerenciamento de erros em modelagem de dados é uma importante área de pesquisa em aberto. Aspectos sobre a qualidade dos dados geográficos devem ser tratados já a nível conceitual. Porém, para serem representados adequadamente em um banco de dados, o modelo de dados deve fornecer mecanismos de abstração de alto nível que possibilite a modelagem dos aspectos relacionados com a qualidade dos dados em um SIG [WOR 95]. 6.1.5 Múltiplas Representações Uma das características das aplicações geográficas é a existência de múltiplas representações de um mesmo fenômeno geográfico [CAM 96]. Esta necessidade surge em resposta à complexidade da realidade a ser representada. Uma mesma entidade geográfica pode ser representada em diferentes escalas ou projeções, inclusive por diferentes objetos espaciais (ex.: uma cidade pode ser representada por um ponto em uma escala menor e por um polígono em uma escala maior). Além disso, devido à grande extensão de algumas regiões geográficas representadas nos SIGs, muitas vezes se faz necessário dividi-las em diversas regiões menores. Assim, mesmo estando todas as representações de uma região em uma mesma escala, um mesmo objeto geográfico pode estar sendo representado em mais de uma dessas regiões. Por exemplo, o Rio São Francisco, apesar de ser uma entidade geográfica única, pode estar representado por vários objetos espaciais em mapas de diferentes estados brasileiros. Segundo Câmara [CAM 96], o gerenciamento de múltiplas representações em um SIG deve ser considerado nos níveis de modelagem e de estruturas de dados. Problemas decorrentes da existência de múltiplas representações em um SIG são: redundância de dados; inconsistências do banco de dados; e multiplicidade de comportamento de um mesmo fenômeno geográfico. 6.1.6 Limites Nebulosos (fuzzy) A complexidade de alguns fenômenos geográficos, aliada às limitações dos modelos de representação utilizados nos SIGs, pode levar a soluções inadequadas em determinados casos. Por exemplo, uma imagem de satélite com resolução espacial de 30 m (veja Tabela 3.1) tem um único valor medido para uma área de 30 m2. Se esta imagem representa a cobertura do solo de uma área rural, uma área limite entre uma região de floresta e uma região de pastagens seria melhor representada por um valor intermediário entre os valores correspondentes às regiões de floresta e pastagens. 82 Mesmo na visão de objetos, nem sempre as entidades geográficas possuem um limite tão bem definido. Por exemplo, um lago pode ter sua área bastante modificada entre uma estação de seca e uma estação de chuvas. Muitos riachos chegam até mesmo a desaparecer durante períodos de seca. Pesquisas com base em lógica nebulosa, ou lógica difusa (lógica fuzzy), têm sido conduzidas com o objetivo de melhor representar estes fenômenos [ROM 90] e [ALT 94]. Ao contrário das lógicas de dois valores (lógica booleana), onde o valor verdade de um predicado só pode ser zero ou um, ou seja, verdadeiro ou falso, a lógica nebulosa permite que uma fórmula tenha valores no intervalo fechado [0,1]. 83 Mundo Real CONSTRUÇÃO VEGETAÇÃO Nível Conceitual HIDROGRAFIA Nível de Representação Utilizar a teoria baseada em lógica nebulosa para objetos e operações espaciais leva a definição de conceitos como região nebulosa, limite nebuloso, interior nebuloso e área nebulosa. Segundo Altman [ALT 94], uma região nebulosa é um conjunto de concentrações em uma posição sobre uma grade regular. Uma concentração em uma posição é um valor entre zero e um, que indica o grau de certeza de que uma posição pertence a uma determinada região. Nível de Implementação Figura 6.3 - Níveis de especificação de aplicações geográficas Embora a questão de limites nebulosos seja citada na literatura como uma característica dos dados geográficos [BUR 95] e [HAD 96], nenhum dos modelos estudados leva em consideração este problema. • Nível do mundo real - inclui os fenômenos geográficos como eles realmente existem, com todos os aspectos que podem, ou não, ser percebidos por indivíduos. Exemplos são os rios, a vegetação, as cidades e suas ruas. 6.2 • Nível conceitual - oferece um conjunto de conceitos para modelar, formalmente, entidades geográficas em um alto nível de abstração. São definidas classes genéricas que possibilitam a especificação dos campos e objetos geográficos que são relevantes para a aplicação específica. Níveis de Abstração de Dados Geográficos Como descrito no capítulo 6, modelos de dados são representações da realidade que podem variar de acordo com o nível de abstração empregado. Por convenção, alto nível de abstração está relacionado a modelos que utilizam linguagens mais próximas do usuário humano, enquanto que modelos de baixo nível de abstração disponibilizam linguagens mais próximas da máquina (computador). Existe uma distância muito grande entre a forma com a qual os usuários descrevem seus sistemas (ex.: linguagem natural) e a forma como os computadores executam esses sistemas (ex.: linguagem de máquina). Para preencher este vazio, alguns níveis intermediários de representação da realidade são criados. Segundo Peuquet [PEU 84], não há um acordo geral sobre quantos níveis de abstração são necessários, sendo que essas diferenças variam de acordo com o contexto das aplicações. Câmara [CAM 96], distingue quatro níveis de especificação de aplicações geográficas (Figura 6.3). São eles: • Nível de representação - relaciona as classes de campos e objetos, identificadas no nível conceitual, com classes de representação espacial disponíveis nos SIGs. Podem variar de acordo com escalas, projeções, ou mesmo, conforme a perspectiva de cada usuário. • Nível de implementação (ou interno) - inclui estruturas de armazenamento para implementar cada tipo de representação. Existe um grande número de estruturas disponíveis, mas sua utilização depende diretamente do software de SIG que está sendo empregado. Usando esta abordagem multi-nível, o projetista cria um modelo conceitual a partir da observação dos fenômenos existentes no mundo real. No nível conceitual, a realidade é modelada como um conjunto de classes que estão divididas em convencionais e georreferenciadas (ou geo-classes). As primeiras não possuem atributos espaciais (ex.: proprietários de lotes urbanos), enquanto que toda geo-classe está relacionada com alguma região na superfície terrestre, segundo uma visão de campo ou de objetos. A associação entre cada geo-classe com um ou mais modelos de representação é feita no nível de representação, a partir do detalhamento do modelo gerado no nível conceitual. Por último, a escolha das estruturas de armazenamento a serem utilizadas 84 85 (ex.: estruturas quadtree ou vetoriais com topologia) é feita no nível de implementação. Unicamp e o INPE (Instituto Nacional de Pesquisas Espaciais) e foi utilizado na implementação do SIG Spring [CAM 94]. O modelo MGeo (seção 6.3.2) é resultado de uma dissertação de mestrado e foi desenvolvido na UFPE. Através desta divisão em níveis, ficam mais evidentes as diferenças entre as visões de campo e objetos, por um lado, e de estruturas matriciais e vetoriais, por outro. Enquanto a dicotomia entre visão de campo e objeto é uma questão a ser considerada nos níveis conceitual e de representação, a dicotomia entre estruturas matriciais e vetoriais é uma questão inerente ao nível de implementação. Comparando estes níveis de especificação com as etapas de projeto de banco de dados (conceitual, lógico e físico), descritas na seção 5.1.1, pode-se observar os seguintes pontos: 1) O nível conceitual descrito por Câmara equivale à fase do projeto conceitual de banco de dados, acrescida de conceitos específicos de aplicações geográficas como a diferenciação entre campos e objetos geográficos. 2) O nível de representação não possui correspondente na metodologia tradicional de projeto de banco de dados, uma vez que nas aplicações convencionais o problema de múltiplas representações normalmente não existe [CAM 95]. Contudo, apesar de omitidas na hierarquia proposta por Câmara, as classes de objetos convencionais devem ser mapeadas em um modelo de dados lógico (ex.: modelo relacional). Esta atividade ocorreria, paralelamente, no nível de representação. Existem diversos outros trabalhos que propõem extensões aos modelos de dados existentes, com estes mesmos propósitos ([OOS 89], [EGE 92a], [MIL 93], [BON 93], [SUB 93], [NAT 94], [WOR 94a], [BAT 94], [BAT 94a], [BON 95], [SHE 95] e [CRO 96]). Eles foram omitidos desta comparação devido à similaridade destes trabalhos com os aqui descritos. 3) De forma análoga ao item 2, o nível de implementação descrito por Câmara refere-se apenas aos aspectos de implementação das representações das geoclasses. 6.3.1 Modelo GMOD/UAPE 4) Câmara não prevê modelagem interna da base de dados. Oliveira [OLI 97] descreve a arquitetura do UAPE (geo-User Analysis and Project Environment), um ambiente de desenvolvimento de aplicações geográficas que integra modelagem de dados e processos, com base em tecnologias de engenharia de software e de banco de dados. A comparação acima leva a compreensão de que cada etapa do projeto de banco de dados geográfico é mais complexa, quando comparada com as respectivas etapas do projeto de banco de dados convencional. Deve-se ressaltar, que o nível de representação descrito por Câmara é uma etapa extra no projeto de banco de dados geográfico, correspondendo à fase de projeto lógico dos dados espaciais. E que a fase de projeto lógico dos dados descritivos continua existindo. 6.3 O modelo Clementini (seção 6.3.3), desenvolvido na Universidade de L’Aquila, Itália, apresenta um formalismo para modelagem orientada a objetos de aplicações geográficas. O modelo GeoIFO (seção 6.3.4), desenvolvido na Universidade de Patras, Grécia, apresenta uma solução genérica para modelagem de dados geográficos sob as visões de campo e de objetos. O modelo Modul-R (seção 6.3.5), desenvolvido na Universidade Laval, Canadá, estende o modelo E-R [CHE 76], adicionando construtores para representação espacial e temporal. O modelo GeoOOA (seção 6.3.6), desenvolvido na Universidade de Hagen, Alemanha, estende a metodologia de análise orientada a objetos OOA [COA 91] para representar graficamente os aspectos espaciais e topológicos de aplicações geográficas. O modelo Faiz (seção 6.3.7), desenvolvido na Universidade Paris XI, França, enfoca os aspectos de qualidade dos dados geográficos. Modelos Conceituais Específicos para Aplicações Geográficas Nesta seção são descritos os principais modelos conceituais propostos para atender aos requisitos apresentados pelas aplicações geográficas. Os modelos aqui descritos fornecem uma visão global de como e quais os requisitos descritos na seção 6.1 estão sendo suportados. Inicialmente, são descritos dois modelos desenvolvidos em universidades e centros de pesquisa brasileiros. O Modelo GMOD/UAPE (seção 6.3.1) é resultado de um projeto de pesquisa envolvendo diversas instituições nacionais, entre elas a O objetivo do ambiente UAPE é fornecer suporte para dois tipos de atividade do usuário de SIG: projeto de aplicações e de banco de dados; e análise e manipulação de dados geográficos. O ambiente combina uma metodologia de projeto de aplicações com um modelo de dados semântico de alto nível, denominado GMOD, que é próprio para aplicações geográficas. UAPE possui uma arquitetura aberta e foi projetado para ser usado acoplado a diferentes SIGs, funcionando como um módulo de interface entre o usuário final e o SIG. O modelo GMOD é uma extensão do modelo geográfico orientado a objetos descrito em [CAM 94], ao qual foram adicionados aspectos de modelagem da dimensão temporal e dos relacionamentos entre entidades geográficas. GMOD baseiase na hierarquia de abstração, descrita na seção 6.2, fornecendo construtores para os níveis conceitual e de representação. 86 87 O modelo possui três construtores básicos: classe, como nos modelos orientados a objetos; relacionamento, possibilita conectar as classes de diversas maneiras; e restrição, que permite a definição de regras de consistência impostas sobre classes, relacionamentos ou suas instâncias. Quando a dimensão temporal é relevante, uma classe ou um relacionamento pode ser definida como temporal. Segundo Câmara [CAM 96], instâncias de Geo-Campo possuem, além dos atributos convencionais, os seguintes atributos espaciais: Nos modelos orientados a objetos, o esquema do banco de dados corresponde à definição das classes, organizadas conforme uma hierarquia de generalização e especialização. O modelo GMOD fornece uma hierarquia de classes pré-definidas (Figura 6.4), que são especializadas de acordo com a necessidade das aplicações a serem modeladas e do SIG em que a aplicação será implementada. Na Figura 6.4, as classes sombreadas são utilizadas para dar suporte à metodologia de projeto do ambiente UAPE. As classes dentro do retângulo tracejado formam a base do nível conceitual do modelo GMOD e são descritas a seguir. Uma aplicação geográfica possui dois tipos de classes: classes que representam entidades associadas a alguma localização geográfica (Geo-Classe); e classes que não possuem referência espacial, mas estão, de alguma forma, relacionadas com as primeiras (Classes Convencionais). Um exemplo das últimas é a classe de proprietários de lotes, já citada na seção anterior. O modelo GMOD define duas hierarquias, uma que inclui as Classes Convencionais e outra que inclui as classes de entidades georreferenciadas (Geo-Classe). Toda instância de Geo-Classe possui um atributo espacial que é instância da classe Geo-Região, que descreve regiões da superfície terrestre segundo uma escala e uma projeção. As Geo-Classes são especializadas nas classes Geo-Campo e GeoObjeto, as quais descrevem instâncias de entidades ou fenômenos geográficos observados segundo as visões de campo e objetos, respectivamente. Documento Projeto Relacionamentos: Especialização Área do Projeto Agregação Causal Associação Camada de Informação Classe Convencional Geo-Classe Geo-Objeto v Versão • Contradomínio - descreve o conjunto de valores V que podem estar associados a cada localização dentro da região R; e • Mapeamento - descreve uma função f: R → V, modelando um campo geográfico sobre R que toma valores em V. Da mesma forma, instâncias de Geo-Objeto possuem, além dos atributos convencionais, um atributo de localização, que pode ser calculado ou armazenado explicitamente como instância de Geo-Região. No modelo GMOD existem três tipos de geo-objetos: elementar, complexo e fraco. Um geo-objeto elementar possui sua localização explicitamente armazenada. Geo-objetos complexos são construídos a partir de outros geo-objetos (componentes) e um geo-objeto fraco tem sua existência dependente de um outro (único) geo-objeto complexo. Por exemplo, uma rede de abastecimento de água pode ser definida como um geo-objeto complexo, composto de geo-objetos elementares (ou fracos) representando canos, hidrantes, válvulas, etc. A localização da rede, neste caso, é calculada a partir da localização de seus componentes. Portanto, no nível conceitual o modelo GMOD possibilita a identificação de três tipos de classes de entidade: Convencionais, Geo-Campos e Geo-Objetos, que são definidas e relacionadas gerando um esquema conceitual geográfico. No nível de representação, novas classes são introduzidas com o objetivo de descrever como as Geo-Classes serão representadas. O modelo GMOD possui duas hierarquias de classes de representação, cujas raízes são as classes RepObjeto e RepCampo. A classe RepObjeto é especializada em classes cujas instâncias possuem atributos onde os valores são objetos geométricos simples (ex.: pontos, linhas e regiões com e sem buracos). A classe RepCampo é especializada em subclasses correspondentes aos modelos de representação descritos em [GOO 92] (Seção 6.1.1), recebendo denominações como Grid, TriNet, Contour, PlanarSubdivision e PointSample. GMOD possui ainda, uma classe denominada Representa, que permite associar instâncias de Geo-Classe com suas representações, na forma de um relacionamento muitos para muitos, ou seja, uma instância de Geo-Classe pode ter várias representações e vice-versa. Geo-Região Geo-Campo • Localização - descreve uma geo-região R, chamada de localização da instância; Tempo Figura 6.4 - O Modelo de Dados GMOD [OLI 97] Segundo Oliveira [OLI 97], a modelagem do tempo é fortemente dependente da visão do usuário e, portanto, um modelo de dados não deve forçar o usuário a adotar uma forma específica para evolução do tempo. 88 No modelo GMOD, Geo-Classes e classes Convencionais podem ser definidas como sendo temporais (permite o gerenciamento da evolução dos fenômenos geográficos), através da definição de uma associação com a classe Tempo. A classe Tempo é raiz de uma outra hierarquia de classes, onde suas subclasses distinguem os tipos de características do tempo (ex.: discreto ou contínuo, variação linear ou intervalar, etc). Uma classe temporal de geo-objetos complexos permite a variação no tempo, tanto do geo-objeto complexo como de seus componentes. 89 Modelo de Represent. BD-GEO possui Represent. Gráfica acoplar Baseada em Objetos Quanto aos relacionamentos, além dos quatro tipos descritos na seção 5.2 (classificação, generalização, agregação e associação), são definidos dois novos tipos especiais: de versão e causal. Relacionamentos de versão são usados para associar diferentes versões de uma mesma entidade. Podem ser usados, por exemplo, para relacionar diferentes representações espaciais de uma mesma entidade geográfica, ou para associar objetos que registram a evolução temporal dos fenômenos geográficos. Plano de Simbologia Plano Geométrico Símbolo Objeto Espacial Baseada em Campos Plano de Informação ser composto pertencer Objeto não Espacial Ponto Região Aberta representar Com Extensão Texto Um relacionamento causal estabelece uma ligação de causa-efeito entre dois fenômenos modelados. Por exemplo, áreas de erosão estão diretamente relacionadas ao tipo de solo e à declividade do terreno. O modelo GMOD cobre a maioria dos requisitos das aplicações geográficas listados na seção 6.1, não sendo tratados apenas os aspectos de qualidade e de limites nebulosos. A dimensão temporal, no entanto, está descrita muito superficialmente, não permitindo uma melhor avaliação. Tema Fechada Linha Mista Segmento Linha Orientada Segmento Orientado 6.3.2 Modelo MGeo Um modelo conceitual orientado a objetos para aplicações geográficas (MGeo) é proposto em [TIM 94]. Utilizando a representação gráfica do modelo de objetos OMT, foi desenvolvida uma hierarquia de classes (Figura 6.5), capaz de representar um grande conjunto de requisitos normalmente presentes em aplicações geográficas. Nó Contorno Contorno Orientado Figura 6.5 - Hierarquia de classes no modelo MGeo [TIM 94] O modelo permite a concepção de um banco de dados geográfico a partir de uma visão “Top-down”, onde uma instância da classe BD-GEO é criada para agregar todas as informações de um determinado projeto. Uma instância de BD-GEO pode conter uma ou várias instâncias da classe Modelo-de-Representação. Cada instância de Modelo-de-Representação está associada a uma determinada área geográfica, tendo como atributos as coordenadas limites da área, projeção e escala utilizadas e um conjunto de instâncias da classe Tema. Instâncias dessa classe admitem operações de mudança de projeção e escala. Para uma mesma área geográfica podem existir vários mapas temáticos, os quais são modelados em instâncias da classe Tema. Um Modelo de Representação corresponde, portanto, a um conjunto de Temas. Cada Tema pode ser representado graficamente através da abordagem de campos (representação matricial) ou da abordagem baseada em objetos (representação vetorial). Neste artigo, os termos campo e objetos foram tratados como sinônimos de representação matricial e vetorial, respectivamente. 90 91 Como pode ser verificado na Figura 6.5, a representação gráfica baseada em objetos é bem detalhada, no entanto, a representação baseada em campos necessita de maiores estudos. modelo conceitual, enquanto que outros tipos de relacionamentos devem ser descritos através de operações (métodos). Um projeto de esquema de banco de dados geográfico, utilizando o modelo MGeo, consiste em definir novas classes e inseri-las como subclasses das classes prédefinidas na hierarquia. São projetados também, diagramas de instâncias dessas classes, com detalhamento complementar da modelagem dos objetos não-espaciais, pertencentes ao Plano de Informação associado a cada Tema. Uma descrição completa das estruturas e operações de cada classe pré-definida do modelo MGeo pode ser encontrada em [TIM 94a], bem como um exemplo de uma aplicação utilizando o modelo. Dos requisitos listados na seção 6.1, o modelo MGeo aborda, apenas parcialmente, os itens visão de campo e de objetos e relacionamentos espaciais. O requisito sobre generalização cartográfica também é coberto, porém, sua aplicabilidade não é demonstrada. Além disso, o modelo tem a desvantagem de não adotar uma hierarquia de níveis de abstração, como o descrito na seção 6.2. 6.3.3 Modelo Clementini Clementini e Felici [CLE 94] propõem um modelo de dados conceitual orientado a objetos, projetado para organizar e representar elementos espaciais básicos e seus relacionamentos bem como as operações de interesse para o gerenciamento dos dados geográficos. Características do modelo: • Organiza o conhecimento sobre a aplicação geográfica em termos dos conceitos básicos do paradigma da orientação a objetos (classes, instâncias e métodos); • Baseia-se em três primitivas conceituais de abstração (classificação, generalização e agregação) e em uma primitiva de abstração espacial (posição); • Permite a modelagem do comportamento dinâmico dos objetos, através da especificação das operações (métodos) que são executadas sobre os objetos do sistema. Segundo Clementini, num contexto geográfico as entidades estão cercadas por outras entidades. Desta forma, o estudo dos relacionamentos espaciais entre entidades é muito relevante numa modelagem de informações espaciais. A localização das entidades no espaço geográfico é outro ponto importante. Neste modelo, o processo de associar as entidades a sua localização espacial é representado, diretamente, no Primitivas de abstração são os mecanismos conceituais capazes de individualizar fatos e relacionamentos entre entidades da realidade geográfica (seção 5.2). Através de propriedades formais, os fatos são modelados em termos de grafos acíclicos direcionados. Além disso, segundo Clementini [CLE 92], essas propriedades fornecem um mecanismo dedutivo para inferir conhecimento. O modelo é representado através de um formalismo, onde fatos são registrados através de ternos <O1,r,O2>, que significa que um objeto O1 possui um relacionamento com um objeto O2. Os elementos geográficos são representados por objetos de dois tipos: Classe e Instância. Fatos do tipo <C1,r,C2> fornecem uma descrição da intenção dos dados, enquanto que fatos do tipo <I1,r,I2> fornecem uma descrição da extensão dos dados. As primitivas de abstração são representadas através dos seguintes tipos de relacionamentos: • <I, is_an_instance_of, C> é um fato de classificação • <C1, is_a_subclass_of, C2> é um fato de generalização • <O1, is_a_part_of, O2> é um fato de agregação (Oi pode ser Ci ou Ii) • <O1, is_in, O2> é um fato de localização (Oi pode ser Ci ou Ii) Transitividade e herança constituem mecanismos para deduzir novos fatos a partir de fatos conhecidos. Por exemplo, se o objeto Guaíba é uma instância da classe Rio e Rio é uma subclasse da classe Via-Transporte, então o objeto Guaíba é instância da classe Via-Transporte. O modelo conceitual engloba, além da descrição da estrutura estática dos objetos, uma descrição do comportamento dinâmico desses objetos através da especificação das operações que podem ser executadas sobre os objetos. O modelo distingue as operações aplicáveis às instâncias, das operações aplicáveis às classes. As operações que são aplicadas às instâncias (correspondentes a entidades geográficas) podem ser divididas em três categorias: • operações geométricas (ex.: limite e centróide de uma área, interseção, união e diferença); • operações topológicas (ex.: sobreposição e cruzamento); e inclusão, adjacência, conectividade, • operações métricas (ex.: comprimento, superfície e perímetro de uma área, distância). 92 93 Como exemplos de operações aplicadas às classes (correspondentes aos tipos de entidades geográficas) pode-se citar: No modelo CLEMENTINI, é apresentado um formalismo para especificar aplicações geográficas através de um modelo construído segundo os conceitos do paradigma da orientação a objetos. O modelo apresenta algumas deficiências como, por exemplo, não prevê o registro de fatos que especifiquem outros relacionamentos importantes como, por exemplo, o de adjacência, ficando restrito a representação de relacionamentos de pertinência (relacionamento is_in). • inclusão/exclusão de instâncias; • cálculo do número de instâncias da classe; e • adicionar/remover um fato. Nos sistemas de banco de dados orientados a objetos, o esquema dos dados corresponde a uma rede hierárquica de classes e seus relacionamentos. No modelo Clementini são definidas duas categorias de classes, as classes standard, cujas instâncias pertencem a tipos pré-definidos (ex.: Integer, Real, String, Set, List, Text e Picture) e as classes application-dependent, cujas instâncias representam entidades geográficas (ex.: Cidade, Rio e Rua). Com isso, projetar um esquema de banco de dados orientado a objetos corresponde a definir a estrutura das classes applicationdependent, a partir da hierarquia de classes standard. O modelo Clementini utiliza uma linguagem de comandos que é semelhante a uma linguagem de programação orientada a objetos, não fornecendo uma representação gráfica para a elaboração do esquema de dados. A Figura 6.6 apresenta a estrutura para especificação de classes, segundo o modelo Clementini. Uma classe é composta de duas partes: interface, onde são especificadas as características externas da classe; e implementação, onde são encapsulados os métodos. Na parte de interface, além da declaração da estrutura (variáveis) e do comportamento (métodos) da classe, são declarados os fatos correspondentes às abstrações de generalização (is_a_subclass_of) e localização (is_in). class <class name> interface links <is_a_subclass_of> <is_in> class variables /* lista de constantes comuns a todas as instâncias */ instance variables /* lista de componentes da classe */ class methods /* lista de métodos aplicáveis a classe */ instance methods /* lista de métodos aplicáveis a todas as instâncias da classe */ implementation /* código dos métodos da classe */ endclass Figura 6.6 - Estrutura geral de classes [CLE 94] Um conjunto de classes pré-definidas deve ser fornecido junto com o SGBDOO/SIG, onde uma classe especial Object é a raiz de toda a hierarquia, como acontece na linguagem de programação orientada a objetos Smalltalk [GOL 82]. A Figura 6.7 mostra um subconjunto de classes sob as quais podem ser criadas as subclasses application-dependent. O trabalho é voltado, principalmente, para modelagem de aplicações que serão mapeadas em SIGs vetoriais, uma vez que não prevê nenhum tratamento especial para modelagem da realidade geográfica segundo a visão de campo. Portanto, a originalidade do modelo Clementini está na criação de uma primitiva de abstração espacial, que possibilita a representação direta do conhecimento sobre a localização geográfica das entidades da realidade. Object Geometric_Element Point Line Geographic_Line Via Férrea Estrada Rio Area Geographic_Area Unidade Administrativa Município Estado País Continente Lago Figura 6.7 - Exemplo da hierarquia de generalização de classes [CLE 94] Definir objetos geográficos como especialização de objetos geométricos, como mostrado na Figura 6.7, não é uma boa alternativa de modelagem. Por exemplo, se um objeto da classe Rio, que é uma especialização da classe Line, tiver que ser representado em uma escala maior como um polígono, essa modificação implicaria em alteração da identidade deste objeto. 94 6.3.4 Modelo GeoIFO Tryfona e Hadzilacos [TRY 95] propõem uma extensão do modelo IFO [ABI 87], denominada GeoIFO, onde um conjunto mínimo de novos construtores semânticos é introduzido para representar esquemas conceituais de bancos de dados geográficos. Segundo Tryfona [TRY 95], os conceitos de posição de objetos e atributos variando no espaço, que se adequam naturalmente aos modelos semânticos e orientados a objetos, possibilitam integrar as abordagens baseada em campos e baseada em objetos, usadas na modelagem de aplicações geográficas. Objetos do mundo real estão ligados ao espaço através de sua posição. A posição de um objeto inclui sua localização (centróide), forma, tamanho e orientação. Em modelos semânticos, a posição de um objeto pode ser modelada como um tipo especial de atributo, assim, posição seria uma função que retornaria para cada objeto geográfico uma parte do espaço. Alguns fenômenos do mundo real estão relacionados diretamente ao espaço e não pertencem a nenhum objeto particular, como é o caso de temperatura, relevo e índice pluviométrico. Atributos variando no espaço são propriedades do espaço. Por exemplo, em um sistema cadastral, o grau de declividade do terreno pode ser modelado como um atributo do lote. Porém, as dimensões do lote podem ser modificadas, influenciando no grau de declividade. Características do modelo GeoIFO: 95 O modelo GeoIFO, ao contrário dos outros modelos descritos anteriormente, prevê uma representação da realidade vista sob a visão de campo através da definição de atributos variando no espaço. A integração de visões de campo e de objeto é um recurso interessante a nível do modelo conceitual. Porém, num nível lógico, muitas vezes essa integração será feita, dinamicamente, através de operações de análise espacial (ex.: sobreposição das camadas temáticas Lotes_Urbanos e Relevo). O modelo GeoIFO fornece uma representação semântica para o projeto de esquemas a nível conceitual. Uma linguagem com sintaxe definida formalmente é descrita em [HAD 91] e [HAD 96]. Esta linguagem equivale a uma DDL (Data Definition Language) e foi elaborada para permitir o mapeamento de um esquema semântico usando GeoIFO em um esquema lógico genérico para banco de dados geográficos. Como foi visto no capítulo 4, os dados espaciais em um SIG são, normalmente, organizados por regiões, onde cada região possui diversas camadas (layers), cada uma representando uma variável geográfica (ou um conjunto de variáveis fortemente associadas). Segundo Hadzilacos [HAD 91], o conceito de camadas, embora esteja diretamente relacionado com os aspectos de implementação de SIG, deve ser incluído no conjunto de “ferramentas” usadas para o projeto lógico de aplicações geográficas. A seleção de quais informações deverão fazer parte de uma camada é um problema eminentemente do projeto lógico. Esta seleção corresponde às atividades desenvolvidas no nível de representação proposto por Câmara (descrito na seção 6.2). orientação POSIÇÃO tamanho tipo-solo-montanha • Entidades geográficas são representadas por classes de objetos geográficos, que possuem o atributo especial (está_localizado_em), que é uma função total da classe geográfica para POSIÇÃO, ou uma de suas especializações denominadas de tipos geométricos (Figura 6.8-a). • Atributos variando no espaço são modelados como funções do espaço (ESPAÇO) para os domínios dos atributos. A Figura 6.8-b mostra um exemplo onde as visões de campo e de objetos estão integradas. • Dois novos construtores semânticos são introduzidos: agregação espacial e agrupamento espacial. Estes construtores permitem a representação de entidades contendo atributos espaciais (agregação espacial) ou mesmo definir entidades complexas, tendo uma representação espacial como sendo um agrupamento de entidades espaciais menores (Figura 6.8-c e d). TIPO-SOLOS localização • O tipo abstrato especial POSIÇÃO é usado para representar as posições dos objetos no espaço (Figura 6.8-a). • Um segundo tipo abstrato (ESPAÇO) é usado para representar o espaço, que contém todas as posições dos objetos. tipo-de-solo ESPAÇO FORMA está-localizado-em MONTANHA 0-dimensional 1-dimensional 2-dimensional (a) Posição de Objetos 2-Dimensional <TOTAL> (b) Integração de posição de objeto e atributo variando no espaço PAÍS PAÍS s s id-país ESTADO MAR (c) Agrupamento espacial TERRA (d) Agregação espacial 96 97 Figura 6.8 - Componentes do modelo GeoIFO [TRY 95] 6.3.5 Modelo Modul-R Para [HAD 96], uma camada lógica é um conceito que pode ser usado para representar conjuntos de entidades geográficas. Camadas lógicas não necessariamente possuem um relacionamento um-para-um com camadas físicas, as quais são determinadas levando-se em consideração aspectos de armazenamento e eficiência do sistema. Por exemplo, uma camada lógica denominada Recursos_Hídricos pode incluir lagos, rios e nascentes e ser mapeada em três camadas físicas distintas. Caron e Bédard [CAR 93] descrevem uma extensão do modelo E-R para aplicações geográficas urbanas, denominado Formalismo Modul-R (Modul, de estrutura modular e R de modelagem integrada da realidade). O modelo Modul-R tem como objetivo estender o modelo E-R para tratar os seguintes requisitos: referência espacial, referência temporal, complexidade de banco de dados e dicotomia entre dados e processos. O modelo GeoIFO é um dos modelos que atende ao maior número dos requisitos listados na seção 6.1. Somente os requisitos de temporalidade e qualidade não são tratados. Porém, os requisitos de generalização cartográfica e limites nebulosos são apenas citados, mas não fica claro sua aplicabilidade. Modul-R é baseado em uma estrutura modular na forma de pirâmide4 (Figura 6.10), onde o projetista do banco de dados escolhe, de acordo com o contexto de cada aplicação, um conjunto de componentes semânticos que comporão uma linguagem integrada. Segundo Tryfona [TRY 95], os conceitos de posição de objetos e atributos variando no espaço podem ser adaptados a outros modelos semânticos ou orientados a objetos. Um exemplo de utilização desses conceitos com base no modelo E-R é mostrado na Figura 6.9 capital Estado é localiz. em 2-Dimensional Referêncial (AgSe) (ReTe) (ReEs) Ação (AcPr) (AcAt) Simplificação (SiAb) (SiGe) Entidade-Relacionamento (E-R) Figura 6.10 - Módulos do modelo Modul-R [CAR 93] membro espacial de Município Agregação (AgEs) é localiz. em tipo-solo-município 2-Dimensional O modelo E-R forma a base da pirâmide e quatro novos módulos são adicionados. São eles: 1) Módulo Referencial (Re) - permite que entidades e relacionamentos sejam referenciados no espaço e no tempo. Possui dois submódulos: Referência Espacial (ReEs) e Referência Temporal (ReTe). declive-município 2) Módulo Agregação (Ag) - permite enriquecer o modelo facilitando sua expressão com base na tecnologia de orientação a objetos. Inclui os submódulos Agregação Semântica (AgSe) e Agregação Espacial (AgEs). dom-tipo-solo Tipo-Solo Declive dom-declive Espaço 3) Módulo Ação (Ac) - permite criar uma conexão entre a modelagem dos dados e dos processos, através de uma ligação entre elementos do modelo de dados conceitual e elementos de um diagrama de fluxo de dados (DFD) [GAN 79]. Compreende os submódulos Atividades (AcAt) e Processos (AcPr). Figura 6.9 - Exemplo de uso do modelo E-R Geográfico [TRY 95] 4 A representação em pirâmide significa que se um módulo superior é incluído, os módulos situados abaixo deste também são necessários. 98 4) Módulo Simplificação (Si) - permite a simplificação de esquemas complexos através dos submódulos Abstração (SiAb) e Generalização (SiGe). 99 espacial é, portanto, independente de agregação semântica, caso em que a entidade Rede-de-Água seria definida tendo como componentes as entidades Hidrante e Cano. Submódulo Abstração (SiAb) O módulo E-R fornece os componentes básicos do modelo, conforme propostos originalmente por [CHE 76], ou seja, entidades, relacionamentos, atributos e cardinalidades, mas utiliza uma notação gráfica própria. As principais características de cada submódulo estão brevemente descritas a seguir. Submódulo Referência Espacial (ReES) O modelo Modul-R foi originalmente proposto para ser usado em aplicações geográficas urbanas. Segundo Caron [CAR 93] e Bédard [BED 89], em uma aplicação urbana, aproximadamente 70-80% das entidades possuem uma posição geográfica e uma forma geométrica que devem ser armazenadas no banco de dados. Além disso, pensando em um modelo de dados conceitual como uma forma de representar “quais” dados serão armazenados no banco de dados, os autores defendem a idéia de que os relacionamentos existentes entre entidades geográficas e entidades geométricas devem fazer parte do modelo conceitual. Para evitar um grande aumento no número de entidades e relacionamentos nos esquemas, o que os tornariam altamente complexos e de difícil leitura, são adicionados pictogramas5 às entidades que possuem referência espacial. Uma descrição completa deste módulo é encontrada em [BED 89]. Submódulo Referência Temporal (ReTe) Compreende três técnicas para modelagem de grandes aplicações: agrupamento temático; cinco níveis de detalhes; e visões. Agrupamento temático de entidades implica na divisão do esquema conceitual de acordo com grupos de entidades afins. O uso dos cinco níveis de detalhe significa que um mesmo esquema conceitual pode ser visto a partir de diferentes níveis de detalhamento. São eles: • Nível I (ou Sumário) - apresenta uma visão geral dos temas presentes no esquema. • Nível II (ou Global) - indica quais entidades pertencem a cada tema. • Nível III (ou Temático) - representa cada tema individualmente com suas entidades e relacionamentos. • Nível IV (ou Detalhado) - inclui todas as restrições de integridade, como cardinalidades e outras. • Nível V (ou Dicionário) - fornece uma descrição completa de todas as entidades, atributos e relacionamentos. Diferentes visões do modelo (nos cinco níveis) podem ser definidas, por exemplo, para permitir a manipulação separada dos esquemas de diferentes áreas administrativas. Todas estas técnicas só são possíveis através do uso de uma boa ferramenta CASE. Permite especificar quais entidades e relacionamentos deverão ter sua evolução temporal gerenciada, o que é feito a partir do registro da data em que estes dados são alterados. O modelo permite a inclusão de pictogramas de referência temporal6 tanto a nível de atributos quanto a nível de entidades/relacionamentos. Submódulo de Generalização (SiGe) Submódulo de Agregação Espacial (AgEs) Como o modelo Modul-R foi projetado para aplicações urbanas, não existe uma forma explícita de modelagem dos fenômenos que são “vistos” sob a visão de campo. O modelo fornece suporte para a modelagem dos relacionamentos espaciais e dos aspectos temporais, não sendo tratados os requisitos de qualidade, de múltiplas representações e de limites nebulosos. Permite agregar diferentes tipos de entidades geométricas para uma mesma entidade geográfica. Por exemplo, uma entidade Rede-de-Água pode ser representada por pontos (simbolizando hidrantes) e linhas (simbolizando canos), mas sem que necessariamente, as entidades Hidrante e Cano tenham que existir. Agregação Permite a simplificação do esquema conceitual a partir da criação de super/sub entidades e do uso do conceito de herança. 6.3.6 Modelo GeoOOA 5 Pequenos símbolos gráficos identificando o tipo de objeto geométrico (ex.: ponto, linha e polígono) através do qual a entidade é representada cartograficamente. 6 Um pequeno símbolo de um relógio. Kösters [KÖS 95] descreve o modelo GeoOOA, uma extensão do modelo usado na metodologia de análise orientada a objetos de Coad/Yourdon [COA 91], para análise de requisitos de aplicações em SIG. As extensões incluídas no modelo GeoOOA permitem a representação dos seguintes contextos semânticos: 100 101 • Distingue entre classes de entidades com e sem representação espacial; • Destaca o tipo de objeto espacial (ex.: ponto, linha e região) associado à classe geográfica (equivalente aos pictogramas do modelo Modul-R, seção 6.3.5); • Distingue os relacionamentos espaciais (ex.: relacionamentos básicos (ex.: proprietário possui lote). topológicos) dos Bairro C ZC-1 Bairro B ZC-2 ZC-3 classe ponto classe linha classe polígono Limite Zona de Coleta ESTRUTURAS TODO-PARTE Bairro classe convencional Limite de Bairros ZC-4 As primitivas do modelo GeoOOA suportam abstrações do tipo classe espacial, estrutura todo-parte espacial e estruturas de rede. Não são considerados os aspectos temporais nem as representações cartográficas. O modelo GeoOOA distingue as classes convencionais, que são desenhadas como retângulos abaulados, das classes georreferenciadas (geo-Class), que são desenhadas como retângulos contendo um símbolo gráfico no canto superior direito, para representar o tipo de objeto espacial associado à entidade (Figura 6.11). Bairro A Centro Bairro D cobertura Zona de Coleta de Lixo Bairro pertinência Município partição Posto de Saúde Bairro classe raster Figura 6.12 - Tipos de estruturas todo-parte espacial em GeoOOA Figura 6.11 - Tipos de classes em GeoOOA [KÖS 95] Primitivas de agregação espacial, denominadas estruturas todo-parte espacial, são adicionadas ao modelo. A Figura 6.12 exemplifica os três tipos de estruturas todoparte espacial existentes. São elas: • cobertura - o todo e suas partes possuem a mesma representação geométrica e a geometria do todo é coberta pelas geometrias de suas partes; • pertinência - a geometria do todo contém as geometrias de suas partes; e • partição - um caso especial de pertinência com duas restrições adicionais: o todo e suas partes possuem a mesma representação geométrica; a geometria das partes formam uma divisão da geometria do todo. Aplicações de gerenciamento de redes (ex.: redes viárias, de distribuição de água, luz, telefone) apresentam características próprias, devido à necessidade de representação dos relacionamentos topológicos (conectividade) existentes entre os elementos da rede. As entidades geográficas pertencentes a uma rede podem ser modeladas de três formas: como classes nós, classes ligação e como classes que representam a rede como um todo. Segundo Kösters [KÖS 95], um modelo conceitual de uma aplicação de rede deve ser capaz de representar as seguintes informações: • Se uma determinada classe pertence a uma rede; • Se uma classe pertencente a uma rede é uma classe nó ou uma classe ligação; • Se uma classe conecta diferentes estruturas de rede. O modelo GeoOOA possui um conjunto de construtores (primitivas de abstração) que são específicos para classes que descrevem entidades geográficas participantes de uma estrutura de rede. São eles: símbolo de rede; símbolo de ligação; e símbolo de nó. A Figura 6.13 exemplifica um esquema de dados, no modelo GeoOOA, que mostra as classes participantes de uma rede de eletricidade, como a mostrada na Figura 4.1. 102 Linha Transmissão Símbolo de Rede 1 0,n Alta voltagem 1,n 103 1,10 1,n 0,1 O modelo baseia-se na construção de uma “camada de qualidade”, onde meta-dados de qualidade podem ser atribuídos aos objetos do banco de dados geográfico em diferentes níveis hierárquicos. Dependendo da disponibilidade dos dados de qualidade, os meta-dados podem ser definidos, tanto para objetos básicos (ex.: ponto, linha e polígono), como para objetos complexos (ex.: uma malha viária, um modelo de terreno ou um mapa urbano). Torre Casa de Força 0,n Símbolo de Ligação Cabo Suspenso Transformador 0,n Consumidor Poste 1 1,4 0,1 1,n Baixa voltagem Símbolo de Nódo 0,n 1 Cabo Subterrâneo A Figura 6.14 exemplifica o modelo Faiz, onde são associados meta-dados a diferentes níveis de objetos. No caso da camada de transportes, a qualidade de uma auto-estrada será definida com base na qualidade de suas partes. A definição da função que calcula a qualidade de um objeto complexo é feita pelo usuário. Por exemplo, a função de cálculo da qualidade de uma auto-estrada pode ser definida de forma ponderada como: qual.( auto-estrada ) = [ ( qual.( part_1 ) * lenght( part_1 ) ) + ( qual.( part_2 ) * lenght( part_2 ) ) + ......] / lenght( auto-estrada ) Figura 6.13 - Exemplo de modelagem de rede elétrica em GeoOOA [KÖS 95] Segundo Kösters, restrições de integridade do tipo quais nós podem estar conectados entre si, ou se dois nós podem, ou não, estarem conectados por intermédio de um determinado tipo de ligação, devem ser descritas de forma textual em um dicionário de dados. Em [FAI 96] encontra-se uma descrição completa das estruturas de armazenamento dos meta-dados de qualidade e algumas técnicas propostas de visualização dos dados de qualidade com base em símbolos, sinais gráficos ou mapas de qualidade. md B. D. Por um lado, uma maior quantidade de construtores semânticos permitem criar esquemas conceituais mais próximos da realidade. Por outro, o uso de muitos construtores dificulta o aprendizado do modelo e, por conseqüência, o entendimento dos esquemas gerados, tanto por parte dos usuários como por parte dos projetistas. A utilização de pictogramas gráficos, tanto na representação de relacionamentos com objetos espaciais como na representação de elementos de uma rede, aumenta o poder de expressão semântica do modelo GeoOOA. No entanto, o nível de detalhamento proposto para representar, por exemplo, estruturas todo-parte, pode prejudicar a clareza dos esquemas gerados. md md Faiz e Boursier [FAI 94] descrevem uma abordagem multi-nível orientada a objetos para modelagem e armazenamento da qualidade dos dados geográficos. Na realidade, o modelo Faiz não é um modelo de dados conceitual para aplicações geográficas, mas sim uma abordagem proposta para permitir que o banco de dados geográfico armazene informações sobre a qualidade dos dados mantidos no banco de dados. A inclusão desta abordagem junto aos demais modelos descritos nesta seção se deve ao fato da mesma se propor a atender ao requisito de qualidade descrito na seção 6.1. md Auto-estradas md B.D. - Banco de Dados md - Meta-dados Auto-estrada 1 md 6.3.7 Modelo Faiz md Camada Transporte Seção 1 md Seção 2 md Seção 8 Figura 6.14 - Esquema de meta-dados no modelo Faiz (adapt. de [FAI 94]) 104 105 de estruturas de armazenamento (matricial e vetorial) e de consultas em banco de dados geográfico. 7 Análise Comparativa de Modelos Conceituais no Contexto de SIG Como colocado na seção 6.1, as aplicações geográficas impõem alguns requisitos especiais que não são supridos por modelos de dados conceituais disponíveis atualmente. Muitas pesquisas estão sendo conduzidas com o objetivo de se encontrar um modelo de dados que permita representar estes requisitos. Porém, nenhum dos modelos propostos até o momento permitiu representar, de forma completa e adequada, todos esses requisitos. Este capítulo apresenta uma análise comparativa dos modelos de dados, descritos na seção 6.3, com base nos requisitos especiais, impostos pelas aplicações geográficas, apresentados na seção 6.1. Dentre os trabalhos anteriores que realizaram comparações entre modelos de dados, nenhum abordou, especificamente, os aspectos relacionados a modelos conceituais para aplicações geográficas. Por exemplo, [BRO 84] descreve os problemas básicos de modelagem de dados no contexto de banco de dados em geral. Discute problemas de terminologias e conceitos usados em modelos de dados e apresenta uma taxonomia de modelos de dados com base em quatro gerações (descritas na seção 5.1.2): modelos primitivos, modelos clássicos, modelos semânticos; e modelos de propósito especial. Peuquet [PEU 84] apresenta uma comparação de modelos de dados espaciais, porém, o enfoque da comparação está nas estruturas de dados (matriciais e vetoriais) que suportam os diversos modelos de representação de dados espaciais como, por exemplo, modelos spaguetti, modelos topológicos, grade regular, quadtrees e modelos híbridos. Outro trabalho de comparação de modelos de dados é encontrado em [HUL 87], onde é descrito um estudo em profundidade sobre os modelos semânticos de dados e é feita uma comparação entre os modelos semânticos mais proeminentes da época. São discutidos também, os diversos construtores de abstração semântica de dados usados no contexto de sistemas de informação em geral. Boursier [BOU 93] compara as vantagens e as limitações das tecnologias dos sistemas de bancos de dados relacionais, extensíveis e orientados a objetos, em função Em um trabalho mais recente, Coyle [COY 96] apresenta uma discussão sobre as principais experiências de implementação de software de SIG, utilizando modelos de dados orientados a objetos. São relacionadas as principais vantagens e deficiências dos modelos de dados orientados a objetos em vários projetos de SIG. Também são relacionados vários requisitos de gerenciamento e manipulação de dados que devem estar disponíveis nos SIGs como, por exemplo, a existência de estruturas de dados matriciais e vetoriais, suporte a objetos complexos, extensibilidade e capacidade de consultas. A comparação apresentada neste trabalho difere, portanto, de todos as propostas existentes na literatura, uma vez que são aqui analisados diversos modelos conceituais, que têm como objetivo facilitar a representação, em alto nível de abstração, dos requisitos especiais que são impostos pelas aplicações geográficas. As comparações citadas anteriormente, de modelos voltados a aplicações geográficas, abordaram somente os aspectos referentes a modelos de dados em um nível mais baixo de abstração, considerando-se, principalmente, as estruturas de armazenamento para dados espaciais. Como descrito na seção 6.1, a lista de requisitos especiais usados na comparação foi identificada a partir de um estudo bibliográfico e da experiência do autor no projeto conceitual de banco de dados para aplicações geográficas [LIS 96], [LIS 96a] e [LIS 97]. Para efeito de comparação dos modelos, os dois primeiros requisitos (Visão de Campo & de Objetos e Relacionamentos Espaciais) foram abertos em requisitos mais específicos, uma vez que os modelos analisados atendem, somente em parte, estes requisitos. A Tabela 7.1 apresenta o resultado desta comparação e as subseções seguintes discutem, detalhadamente, cada requisito analisado. MODELOS REQUISITOS ESPECIAIS 1. Visão de Campo & de Objetos Representação na visão de campo Representação na visão de objetos 2. Relacionamentos Espaciais Topológicos (adjacência) Topológicos (conectividade) Estruturais (pertinência) 3. Temporalidade dos Dados Geográficos 4. Requisitos de Qualidade 5. Múltiplas Representações 6. Limites Nebulosos (fuzzy) GMOD/ MGeo Clemen- GeoIFO ModulUAPE tini R Geo OOA Faiz x x x x x x x x x - x x x - x x - x - x - x x - x x - x - 106 107 Tabela 7.1 - Requisitos de aplicações geográficas X modelos conceituais para SIG deixando para uma fase posterior, a decisão de se utilizar, ou não, estruturas de dados com topologia. 7.1 Visão de Campo & de Objetos Todos os modelos de dados analisados são fundamentados em algum modelo de dados semântico ou orientado a objetos como, por exemplo, os modelos E-R [CHE 76], IFO [ABI 87], OMT [RUM 91] e OOA [COA 91]. Desta forma, a representação de entidades geográficas, sob a visão de objetos, pode ser feita diretamente a partir da associação entre uma entidade geográfica e um tipo de entidade, classe de objeto ou tipo abstrato de dados. Por outro lado, nem todos os modelos permitem representar, adequadamente, as variáveis que se enquadram na visão de campo. O modelo GMOD/UAPE possui uma sub-hierarquia de classes, cuja raiz é a classe Geo-Campo, sob a qual são modeladas as variáveis geográficas com distribuição contínua no espaço. O modelo MGeo, apesar de incluir a classe Baseado-em-Campo, a qual é subclasse de RepresentaçãoGráfica, não fornece nenhum mecanismo adicional para a modelagem dos fenômenos geográficos sob a visão de campo. O modelo GeoIFO permite representar, de forma integrada, classes de entidades geográficas que são modeladas sob a visão de objetos e atributos variando no espaço que representam os fenômenos geográficos sob a visão de campo. Os demais modelos não fornecem construtores específicos para a modelagem dos dados sob a visão de campo. 7.2 Relacionamentos Espaciais Conforme descrito na seção 6.1.2, os relacionamentos espaciais estão divididos em três categorias: métricos, topológicos e estruturais. Os relacionamentos métricos são baseados nas coordenadas espaciais que são utilizadas durante a execução de operações de análise espacial. Esses relacionamentos não são mantidos, explicitamente, no banco de dados e, consequentemente, não são representados a nível conceitual. Na Tabela 7.1, os relacionamentos topológicos de adjacência e de conectividade foram listados separadamente para permitir uma comparação mais detalhada dos modelos de dados. Os relacionamentos topológicos de adjacência são mantidos através de estruturas de dados voltadas para dados vetoriais. Nenhum dos modelos analisados fornece mecanismos especiais para a modelagem conceitual destes relacionamentos, Relacionamentos topológicos de conectividade são fundamentais em aplicações baseadas em estruturas de rede (ou grafos). Restrições sobre que tipo de entidade pode, ou não, estar conectada a outros tipos de entidades precisam ser consideradas a nível de projeto conceitual. Dos modelos analisados, apenas o modelo GeoOOA fornece construtores específicos para a representação desses relacionamentos. Nos outros modelos, esses relacionamentos seriam modelados como relacionamentos convencionais, dificultando a compreensão do esquema gerado. Os relacionamentos estruturais, algumas vezes considerados relacionamentos topológicos de pertinência, podem ser modelados através de construtores de agregação, disponíveis nos modelos semânticos e orientados a objetos, ou mesmo como simples relacionamentos como os empregados no modelo E-R. O modelo GeoOOA acrescenta ao modelo OOA construtores específicos para representação de relacionamentos estruturais espaciais que são extensões da estrutura Todo-Parte para objetos espaciais. 7.3 Temporalidade dos Dados Geográficos Segundo Worboys [WOR 95], temporalidade é um aspecto inerente da informação geográfica. Apenas os modelos GMOD/UAPE e Modul-R fornecem mecanismos para modelagem dos aspectos temporais. No modelo GMOD/UAPE, tanto uma classe geográfica (Geo-Classe) quanto uma classe convencional pode ser definida como sendo temporal. Isto significa que um objeto de uma classe temporal possui uma ligação com uma instância da classe Tempo, ou seja, um objeto que armazena a característica temporal da entidade geográfica. O modelo Modul-R possui um submódulo de referência temporal, onde atributos pertencentes a uma entidade geográfica podem ser assinalados através de pictogramas gráficos, como sendo atributos cuja evolução temporal deverá ser mantida no banco de dados geográfico. A modelagem e o armazenamento de dados temporais em um SIG são válidos com a existência de uma linguagem de consulta que possibilite a recuperação destes dados com base nos aspectos espaciais e/ou temporais dos dados geográficos. 7.4 Requisitos de Qualidade Freqüentemente, aplicações de SIG são usadas para dar suporte a importantes processos de tomada de decisões. Segundo Peuquet [PEU 84], erros associados aos 108 dados geográficos se propagam de forma multiplicativa durante a execução de operações de sobreposição de camadas em uma análise espacial. Para que o usuário possa tomar decisões com segurança, ele necessita ter conhecimento sobre o grau de confiabilidade dos dados gerados pelas aplicações de SIG. Para isto, informações sobre a qualidade dos dados precisam também estar armazenadas no banco de dado. Dos modelos analisados, apenas o modelo Faiz apresenta uma abordagem que permite a representação de dados de qualidade nos SIGs, o que é feito através do armazenamento de meta-dados de qualidade. 7.5 Múltiplas Representações A forma mais comum de representação dos dados em um SIG é através de mapas. Uma entidade geográfica é representada em um mapa por meio de símbolos cartográficos, cuja distribuição espacial é definida por objetos gráficos de diferentes cores, estilos e espessuras. Uma mesma entidade geográfica pode estar representada em diferentes mapas, podendo ter diferentes formas espaciais de acordo com a escala e projeção utilizadas. Como um mapa pode representar diversas entidades geográficas e uma entidade geográfica pode possuir múltiplas representações, o objeto gráfico que representa a entidade em um determinado mapa é, portanto, um atributo do relacionamento existente entre a entidade geográfica e o mapa, mas não um atributo da entidade geográfica. Os modelos GMOD/UAPE e MGeo propõem que a modelagem dos objetos gráficos seja feita como atributo do relacionamento entre a entidade geográfica e o mapa de representação. No entanto, no modelo GMOD/UAPE estes relacionamentos só são introduzidos no esquema de dados no nível de representação (ver seção 6.2) e não no nível conceitual. No modelo MGeo estes objetos gráficos são agrupados em um plano de simbologia, onde cada objeto gráfico está relacionado com um objeto espacial pertencente ao plano geométrico. 7.6 Limites Nebulosos Como mostra a Tabela 7.1, nenhum dos modelos analisados fornece mecanismos específicos para modelagem de entidades ou fenômenos geográficos que possuam limites que não são ou não estão bem definidos. 109 7.7 Outros Comentários Como foi mostrado no capítulo 2, as entidades geográficas possuem duas categorias de dados (descritivos e espaciais). Nos diversos modelos analisados, os atributos descritivos são modelados de maneira convencional (ex.: tipo alfanumérico). Já os atributos espaciais são modelados de duas formas: através de um relacionamento entre o objeto geográfico e o objeto espacial (que armazena sua forma geométrica e sua localização); e através de generalização de classes, definindo-se as classes que descrevem as entidades geográficas como subclasses em uma hierarquia de classes de objetos espaciais, herdando suas propriedades. Os modelos Modul-R e GeoOOA estendem os formalismos gráficos (criando pictogramas gráficos) dos modelos E-R e OOA, respectivamente, para representar os relacionamentos entre classes de entidades geográficas e classes de objetos espaciais, sem que isto provoque o aumento do número de elementos nos esquemas resultantes. No modelo GeoIFO estes relacionamentos são representados de forma explícita, gerando esquemas com grande número de relacionamentos, o que dificulta sua compreensão. No modelo Clementini, classes representando entidades geográficas são generalizadas a partir de uma hierarquia de classes de objetos espaciais. Desta forma, um objeto rio é modelado como uma generalização de um objeto linha e um objeto lago é modelado como uma generalização de um objeto polígono. Este tipo de modelagem não é muito apropriada, pois uma entidade fica restrita a um único tipo de representação (objeto espacial), ou múltipla herança deve ser empregada de forma não adequada. 110 8 Conclusões A Parte I deste trabalho, apresentou uma visão geral da área de Geoprocessamento, tendo como enfoque principal os Sistemas de Informações Geográficas (SIGs). Foram descritos os principais componentes participantes de um SIG como métodos de aquisição de dados georreferenciados, mecanismos de armazenamento de dados espaciais e a funcionalidade apresentada pelos principais SIGs existentes. Ainda na Parte I, foi apresentada uma descrição das principais áreas de aplicação de SIG, um breve histórico do desenvolvimento destes sistemas e os conceitos básicos das duas áreas que estão fortemente interrelacionadas com o desenvolvimento de aplicações em SIG: Cartografia e Sensoriamento Remoto. A Parte II abordou os diversos aspectos relacionados com modelos de dados conceituais voltados para aplicações geográficas. Inicialmente, foram identificados e descritos seis requisitos específicos das aplicações geográficas e que não são representados, adequadamente, pelos modelos de dados conceituais usados em projeto de banco de dados em geral. Os requisitos analisados foram: dicotomia entre as visões de campo e de objetos; relacionamentos espaciais; temporalidade dos dados geográficos; requisitos de qualidade; múltiplas representações; e limites nebulosos. A seguir, apresentou-se alguns dos mais significativos modelos de dados específicos para projeto de aplicações geográficas encontrados na literatura. Por último, fez-se uma análise comparativa desses modelos com base nos requisitos especiais apresentados pelas aplicações geográficas. Este trabalho tem como contribuição principal, o levantamento destes requisitos especiais que são impostos pelas aplicações geográficas e a análise de como e quais desses requisitos estão sendo abordados pelos diversos modelos de dados propostos na literatura. Com base nas análises e comparações realizadas, chega-se às seguintes conclusões: • A natureza dos fenômenos geográficos induz os projetistas de aplicações geográficas a separarem as entidades da realidade que são “vistas”, segundo a visão de objetos (ex.: rios, estradas, lotes, construções, elementos de uma rede de água), dos fenômenos que são “vistos” como variando continuamente no espaço (ex.: temperatura, tipo de solo, vegetação e 111 relevo). Como todos os modelos analisados foram propostos com base nos modelos semânticos e orientados a objetos, todos eles permitem que entidades geográficas sejam identificadas e modeladas, naturalmente, como objetos em um banco de dados geográfico. Porém, fenômenos que variam continuamente sobre o espaço são melhor representados como funções matemáticas, cujo domínio corresponde a uma (abstração da) região geográfica e cujo contradomínio é o conjunto dos possíveis valores que definem o fenômeno observado. Um modelo de dados deve facilitar a identificação tanto das entidades geográficas como dos fenômenos geográficos que possuem distribuição contínua sobre o espaço. Neste item, os modelos GMOD/UAPE e GeoIFO apresentam boas soluções, pois permitem a representação, de forma integrada, dos dados sobre as duas visões. • A grande vantagem de um SIG, sobre os demais sistemas que manipulam dados georreferenciados, está em sua capacidade de realizar complexas operações de análise espacial. Para enriquecer os tipos de análise em um SIG é fundamental que o banco de dados geográfico armazene o maior número possível de relacionamentos. As aplicações geográficas manipulam dados sobre entidades que estão relacionadas espacialmente entre si. Alguns tipos de relacionamentos espaciais precisam ser modelados a nível conceitual por apresentarem características que pertencem ao domínio da aplicação. Entre estes tipos de relacionamentos, pode-se citar: os relacionamentos topológicos (de conectividade e de adjacência) e os relacionamentos estruturais. Além disso, outros relacionamentos envolvendo entidades não-espaciais também precisam ser modelados no mesmo esquema de dados. Em termos de relacionamentos, o modelo GeoOOA é o mais rico semanticamente, pois permite a representação explícita de diversos tipos de relacionamentos espaciais. • Os aspectos temporais dos dados geográficos são fundamentais em muitas aplicações geográficas. Porém, devido a limitações decorrentes dos sistemas disponíveis atualmente, estes aspectos têm sido negligenciados. Pesquisas sobre modelos de dados espaço-temporais como em [PEU 93], [LAN 93], [WOR 94a] e [ALT 94] têm sido conduzidas em paralelo às pesquisas na área de banco de dados temporais [CLI 95]. Apenas os modelos GMOD/UAPE e Modul-R tratam os aspectos da temporalidade dos dados geográficos. O modelo Modul-R propõe a simples marcação dos atributos ou entidades (como um todo), que deverão ter um controle do fator tempo. Já o modelo GMOD/UAPE faz referência a um mecanismo de controle do tempo que é mais completo. • Quanto à qualidade dos dados armazenados nos SIGs, maiores estudos são necessários, principalmente no tocante à propagação de erros durante operações de análise espacial e ao cálculo do grau de confiabilidade dos resultados dessas operações. Com exceção do modelo Faiz, que propõe um modelo baseado em meta-dados de qualidade, nenhum dos outros modelos trata os aspectos de qualidade. 112 • As diferentes abordagens empregadas na modelagem de múltiplas representações de dados em aplicações de SIG indica que maiores estudos são necessários, a fim de se alcançar uma maior padronização na forma de se modelar este requisito. Dentre as alternativas propostas, a que melhor representa a realidade é a abordagem empregada no modelo GMOD/UAPE onde, em uma segunda fase (nível de representação), as entidades e os campos geográficos identificados no nível conceitual são relacionados com as possíveis formas de representação desses dados, o que é feito ainda de forma independente do SIG a ser utilizado. • O requisito de representação de entidades ou fenômenos geográficos com limites nebulosos tem sido citado como um problema importante no contexto de projeto de aplicações geográficas ([BUR 95] e [HAD 96]). No entanto, nenhum dos modelos estudados abordou este problema. Alguns fenômenos que se enquadram neste requisito como, por exemplo, variações climáticas e índices pluviométricos são descritos através de modelos matemáticos próprios, estando fora do escopo deste trabalho. A partir desta análise, pode-se concluir que o problema de representação dos requisitos específicos das aplicações geográficas ainda necessita de maiores estudos. Uma integração das soluções propostas pelos diversos trabalhos descritos na seção 6.3 poderá dar origem a um modelo que permita construir esquemas de dados que reflitam mais adequadamente a realidade em um contexto geográfico. De todos os modelos analisados, o modelo GMOD/UAPE demonstrou ser o mais completo, no entanto, maiores estudos ainda são necessários a fim de cobrir os aspectos de qualidade, relacionamentos topológicos, temporalidade e limites nebulosos. 113 Bibliografia [ABI 87] ABITEBOUL, S.; HULL, R. IFO: A formal semantic database model. ACM Transactions on Database Systems, New York, v.12, n.4, p.525-565, 1987. [AL-T 94] AL-TAHA, K. K. Bibliography on spatiotemporal databases. International Journal of Geographical Information Systems, London, v.8, n.1, p.95-103, 1994. [ALT 94] ALTMAN, D. Fuzzy set theoretic approaches for handling imprecision in spatial analysis. International Journal of Geographical Information Systems, London, v.8, n.3, p.271-289, 1994. [ALV 90] ALVES, D. S. Sistemas de Informação Geográfica. In: SIMPÓSIO BRASILEIRO DE GEOPROCESSAMENTO, 1., 1990, São Paulo. Anais... São Paulo:USP, 1990. [AMA 90] AMARAL, G. Princípios de Sensoriamento Remoto. In: SIMPÓSIO BRASILEIRO DE GEOPROCESSAMENTO, 1., 1990, São Paulo. Anais... São Paulo:USP, 1990. [ANT 91] ANTENUCCI, J.C. et al. Geographic Information Systems: A guide to the technology. New York: Van Nostrand Reinhold, 1991. [ARO 89] ARONOF, S. Geographic Information Systems: a management perspective. Canada: WDL Publications, 1989. [ASP 96] ASPINALL, R. J.; PEARSON, D. M. Data quality and spatial analysis: analytical use of GIS for ecological modeling. In: GOODCHILD, M.F. et al. (Eds.). GIS and Environmental Modeling: Progress and Research Issues. Fort Collins, CO: GIS World Books, 1996. [BAT 92] BATINI, C.; CERI, S.; NAVATHE, S. B. Conceptual Database Design: An Entity Relationship Approach. Redwood, CA: Benjamin Cummings, 1992. [BAT 94] BATTY, M.; XIE, Y. Research article: Modelling inside GIS: Part 1 Model structures, exploratory spatial data analysis and aggregation. International Journal of Geographical Information Systems, London, v. 8, n.3, p.291-307, 1994. 114 [BAT 94a] BATTY, M.; XIE, Y. Research article: Modelling inside GIS: Part 2 Selecting and calibrating urban models using ARC-INFO. International Journal of Geographical Information Systems, London, v.8, n.3, p.451-470, 1994. 115 [CAM 94] CÂMARA, G. et al. A model to cultivate objects and manipulate fields. In: ACM WORKSHOP ON ADVANCES IN GIS, 2, 1994. Proceedings... [S.l.:s.n.], 1994. [CAM 95] CÂMARA, G. Modelos, Linguagens e Arquiteturas para Banco de Dados Geográficos. São José dos Campos, SP: INPE, 1995. Tese de Doutorado. [BAY 92] BATTY, P. Exploiting relational database technology in a GIS. Computers and Geosciences, London, v.18, n.4, p.453-462, 1992. [BED 89] BÉDARD, Y.; PAQUETTE, F. Extending entity/relationship formalism for spatial information systems. In: AUTOCARTO, 9., 1989. Proceedings... [S.l.:s.n.], 1989. p.818-828. [CAM 96] CÂMARA, G. et al. Anatomia de Sistemas de Informação Geográfica. Campinas: Instituto de Computação, UNICAMP, 1996. (X Escola de Computação). [BEA 95] BEAULIEU, D. Geomatics in Canada. Geomatica, Canada, v.49, n.1, p.124-128, 1995. [CAR 93] [BON 93] BONFATTI, F. et al. Object-oriented support to the design of geographical information systems. In: EUROPEAN CONFERENCE AND EXHIBITION ON GEOGRAPHICAL INFORMATION SYSTEMS, 4., 1993, Genoa, Italy. Proceedings... Genoa, Italy: [s.n.], 1993. CARON,C.; BÉDARD, Y. Extending the individual formalism for a more complete modeling of urban spatially referenced data. Computers, Environment and Urban Systems, [S.l.], v.17, p.337346, 1993. [CHE 76] CHEN, P.P.S. The entity-relationship model: Towards a unified view of data. ACM Trans. Database System, New York, n.1, 1976. [CHR 91] CHRISMAN, N.R. The error component in spatial data. In: MAGUIRE, D.J.; GOODCHILD, M.F.; RHIND, D. (Eds.). Geographical Information Systems: Principles and Applications. Longman Scientific & Technical, 1991. [CLE 92] CLEMENTINI, E.; FELICE, P. D. Towards an interaction level for object-oriented geographic database systems. In: ACM CSC’92, 1992. Proceedings... [S.l.:s.n.], 1992. [CLE 94] CLEMENTINI, E.; FELICE, P.D. Object-oriented modeling of geographic data. Journal of the American Society for Information Science, [S.l], v.45, n.9, p.694-704, 1994. [CLI 95] CLIFFORD, J.; TUZHILIN, A. (Eds.). Recent Advances in Temporal Databases. [S.l.]:Springer Verlag, 1995. [COA 91] COAD, P.; YOURDON, E. Object-Oriented Analysis. 2.ed. New Jersey: Prentice-Hall, 1991. [COD 79] CODD, E. F. Extending the database relational model to capture more meaning. ACM Trans. Database Systems, New York, v.4, n.4, p.397-434, 1979. [COU 92] COUCLELIS, H. People manipulate objects (but cultivate fields): beyond the raster-vector debate in GIS. In Theories and methods of spatial-temporal reasoning in geographic space. Berlin: Springer Verlag, 1992. p.65-77. (Lecture Notes in Computer Science). [BON 95] [BOU 93] BONFATTI, F.; DALLARI, A.; MANARI, P.D. Capturing more knowledge for the design of geological information systems. In: ACM-GIS’95 INTERNATIONAL WORKSHOP ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 1995, Baltimore. Proceedings... Baltimore: [s.n.], 1995. BOURSIER, P.; FAIZ, S. A comparative study of relational, extensible and object-oriented approaches for modelling and querying geographic databases. In: EUROPEAN CONFERENCE AND EXHIBITION ON GEOGRAPHICAL INFORMATION SYSTEMS, 4., 1993, Genoa, Italy. Proceedings... Genoa, Italy: [s.n.], 1993. [BRO 84] BRODIE, M. L. On the development of data models. In: BRODIE, M.L.; MYLOPOULOS, J.; SCHMIDT, J.W. (Eds.). On Conceptual Modeling. New York: Springer-Verlag, 1984. p.19-48. [BUR 86] BURROUGH, P.A. Principles of Geographical Information Systems for Land Resources Assessment. Oxford: Clarendon Press, 1986. [BUR 92] BURROUGH, P.A. Development of intelligent geographical information systems. International Journal of Geographical Information Systems, London, v.6, n.1, p.1-11, 1992. [BUR 95] BURROUGH, P.A.; FRANK, A.U. Concepts and paradigms in spatial information: are current geographical information systems truly generic? International Journal of Geographical Information Systems, London, v.9, n.2, p.101-116, 1995. 116 117 [COW 88] COWEN, D. J. GIS versus CAD versus DBMS: what are the differences? Photogrammetric Engineering and remote sensing, [S.l.], v.4, n11, p.1551-1555, 1988. [FRA 88] FRANK, A. U. Requirements for a databases management system for a GIS. Photogrammetric Engineering and remote sensing, [S.l], v.54, n.11, p.1557-1564, 1988. [COY 96] COYLE, M. et al. Experiences with object data models in geographic information systems. To appear in Communications of ACM, 1996. http://www.cs.umn.edu/research/ shashi-group/ [FRA 92] FRANK, A. U. Spatial concepts, geometric data models, and geometric data structures. Computers and Geosciences, London, v.18, n.4, p.409-417, 1992. [CRO 96] CROSBIE, P. Object-oriented design of GIS: a new approach to environmental modeling. In: GOODCHILD, M.F. et al. (Eds.). GIS and Environmental Modeling: Progress and Research Issues. Fort Collins, CO: GIS World Books, 1996. [GAN 79] GANE, C.; SARSON, T. Structured systems analysis: tools and techniques. New York: Prentice-Hall, 1979. [GEO 95] Geomatica. Canada: Canadian Institute of Geomatics, v.49, n.1, contracapa, 1995. [GOL 82] GOLDBERG, A.; ROBSON, D. Smalltalk-80: The language and its implementation. Reading, MA: Addison-Wesley, 1982. [GOO 90] GOODCHILD, M. F. Geographical data modeling. In: FRANK, A. U.; GOODCHILD, M.F. (Eds.). Two Perspectives on Geographical Data Modelling. Santa Barbara, CA: National Center for Geographic Information & Analysis/NCGIA, 1990. (Technical Paper 90-11) [GOO 91] GOODCHILD, M. F. Integrating GIS and environmental modeling at global scales. In: GIS/LIS '91. Proceedings... Atlanta, GE, 1991. [EAS 95] [EGE 89] [EGE 92] EASTMAN, J.R. Idrisi for windows user’s guide. Worcester, MA: Clark University, 1995. EGENHOFER, M. J.; FRANK, J.; JACKSON, J. A topological data model for spatial databases. In: SYMP. DESIGN AND IMPLEMENTATION OF LARGE SPATIAL DATABASES, 1989. Proceedings... [S.l.]:Spring-Verlag, 1989. p.271-286. EGENHOFER, M. J. Why not SQL! International Journal of Geographical Information Systems, London, v.6, n.2, p.71-85, 1992. [EGE 92a] EGENHOFER, M. J.; FRANK, A. U. Object-oriented modeling for GIS. Journal of the Urban and Regional Information Systems Association, [S.l.], v.4, n.2, 1992. [ELM 85] ELMASRI, R.; WEELDREYER, J.; HEUNER, A. The category concept: an extension to the entity-relationship model. International Journal on Data and Knowledge Engineering, [S.l.], v.1, n.1, p.75116, 1985. [GOO 91a] GOODCHILD, M. F. Spatial analysis with GIS: problems and prospects In: GIS/LIS '91. Proceedings... Atlanta, GE, 1991. [GOO 92] GOODCHILD, M. F., Geographical data modeling. Computers & Geosciences, London, v.18, n.4, p.401-408, 1992. [GOO 92a] GOODCHILD, M. F. Geographical information science. International Journal of Geographical Information Systems, London, v.6, n.1, p.31-45, 1992. [ELM 94] ELMASRI, R.; NAVATHE, S.B. Fundamentals of Database Systems, 2.ed. Menlo Park, CA: Addison-Wesley, 1994. [GOO 93] [ESR 91] ENVIRONMENTAL SYSTEMS RESEARCH INSTITUTE. Understanding GIS: The ARC/INFO Method. Redlands, CA: Environmental Systems Research Institute, 1991. GOODCHILD, M. F. The state of GIS for environmental problemsolving. In: GOODCHILD, M.F. et al. (Eds.). Environmental Modeling with GIS. Oxford University Press, 1993. [GOO 96] GOODCHILD, M. F. The spatial data infrastructure of environmental modeling. In: GOODCHILD, M. F. et al. (Eds.). GIS and Environmental Modeling: Progress and Research Issues. Fort Collins, CO: GIS World Books, 1996. [GRU 92] GRUPE, F. H. Geographic Information Systems: A Case Study. In: Data Base Management. Boston: AUERBACH, 1992. [GUE 90] GUENTHER, O.; BUCHMANN, A. Research issues in spatial databases. SIGMOD Record, New York, n.19, p.61-68, 1990. [FAI 94] FAIZ, S.; BOURSIER, P. Modelling and visualizing the quality of geographic information: an object-oriented approach. In: EGIS, 1994. Proceedings... [S.l.:s.n.], 1994. [FAI 96] FAIZ, S. Modelisation, Exploitation et Visualisation de l’Information Qualité dans les Bases de Données Geographiques. Orsay: Université de Paris-Sud, 1996. PhD thesis. 118 119 [GUN 93] GÜNTHER, O.; RIEKERT, W. The design of GODOT: an objectoriented geographic information system. Data Engineering, [S.l.], v.16, n.3, 1993. [LIS 92] LISBOA F., J. MANO - Linguagem de Manipulação de Objetos do ProtoGEO e seu Processador. Rio de Janeiro: COPPE/UFRJ, 1992. Dissertação de Mestrado [GUN 94] GÜNTHER O.; LAMBERTS, J. Object-oriented techniques for the management of geographic and environmental data. The Computer Journal, [S.l.], v.37, n.1, 1994. [LIS 96] [HAD 91] HADZILACOS, T.; TRYFONA, N. A conceptual schema for geographic databases. Patras, Greece: CTI, 1991. (Technical Report CTI-91.03.7). LISBOA F., J.; IOCHPE, C. Adaptando o modelo de objetos OMT para modelagem conceitual de aplicações de SIG. In: SEGEO - SEMANA ESTADUAL DE GEOPROCESSAMENTO DO ESTADO DO RIO DE JANEIRO, 1., 1996, Rio de Janeiro. Anais... Rio de Janeiro: Escola de Engenharia, 1996. [LIS 96a] HADZILACOS, T.; TRYFONA, N. Logical data modelling for geographical applications. International Journal of Geographical Information Systems, London, v.10, n.2, p.179-203, 1996. LISBOA F., J.; IOCHPE, C. Análise Comparativa dos Modelos de Dados Conceituais para Sistemas de Informações Geográficas. Porto Alegre: CPGCC da UFRGS, 1996. RP-266-96. [LIS 97] LISBOA F., J.; GARAFFA, I. M.; IOCHPE, C. Metodologia para modelagem conceitual de dados de SIG interinstitucional. Aceito para publicação nos anais do GIS BRASIL 97, Curitiba-PR, maio 1997. [MAG 91] MAGUIRE, D.J.; DANGERMOND, J. The functionality of GIS. In: MAGUIRE, D.J.; GOODCHILD, M.F.; RHIND, D. (Eds.). Geographical Information Systems: Principles and Applications. [S.l.]:Longman Scientific & Technical, 1991. [HAD 96] [HER 92] HERRING, J. R. TIGRIS: A Data Model for an Object-oriented Geographic Information System. Computers and Geosciences, London, v.18, n.4, p.443-451, 1992. [HUL 87] HULL, R.; KING, R. Semantic database modeling: survey, applications, and research issues. ACM Computing Surveys, New York, v.19, n.3, p.201-260, 1987. [KEM 94] KEMP, K. K. Environmental Modeling with GIS: A strategy for Dealing with Spatial Continuity. Santa Barbara: University of California, 1992. PhD thesis. [MAG 91] MAGUIRE, D.J.; GOODCHILD, M.F.; RHIND, D. Geographical Information Systems: Principles and Applications. [s.l.]: Longman Scientific & Technical, 1991. 2 v. [KÖS 95] KÖSTERS, G.; PAGEL, B.; SIX, H. Object-oriented requirements engineering for GIS-applications. In: ACM-GIS INTERNATIONAL WORKSHOP ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 1995, Baltimore. Proceedings... Baltimore: [s.n.], 1995. [MAG 92] MAGUIRE, David J. The raster GIS design model - a profile of ERDAS. Computers and Geosciences, London, v.18, n.4, p.463-470, 1992. [MAT 89] MATTOS, N. M. An approach to knowledge base management: requirements, knowledge representation, and design issues. Kaiserslautern: Univ. Kaiserslautern, 1989. Ph.D Thesis. LANGRAN, G. A review of temporal database research and its use in GIS applications. International Journal of Geographical Information Systems, London, v.3, n.3, p.215-232, 1989. [MAT 92] MATTOS, N. M.; MAYER-WEGENER, K.; MITSCHANG, B. Grand tour of concepts for object-orientation from a database point of view. Data & Knowledge Engineering, [S.l.], n.9, p.321-352, 1993. LANGRAN, G. Issues of implementing spatiotemporal system. International Journal of Geographical Information Systems, London, v.7, n.4, p.305-314, 1993. [MED 94] MEDEIROS, C. B.; PIRES, F. Databases for GIS, ACM SIGMOD Record, New York, v.23, n.1, 1994. [MIL 93] MILNE, P.; MILTON, S.; SMITH, J. L. Geographical object-oriented databases - a case study. International Journal of Geographical Information Systems, London, v.7, n.1, p.39-55, 1993. [MOR 92] MOREHOUSE, S. The ARC/INFO geographic information system. Computers and Geosciences, London, v.18, n.4, p.435-441, 1992. [LAN 89] [LAN 93] [LAU 92] LAURINI, R.; THOMPSON, D. Fundamentals of Spatial Information Systems. San Diego: Academic Press, 1992. [LIL 87] LILLESAND, T.; KIEFER, R.W. Remote Sensing and Image Interpretation. 2.ed. New York: John Wiley & Sons, 1987. 120 [NAT 94] NATIVI, S. A conceptual modelling for the GIS developing. In: EGIS, 1994. Proceedings... [S.l.:s.n.], 1994. [NAV 92] [NCG 90] [NEW 92] [OLI 93] [OLI 97] [RAM 94] RAMIREZ, M. R. Sistemas Gerenciadores de Bancos de Dados para Geoprocessamento. Rio de Janeiro: COPPE/UFRJ, 1994. Dissertação de Mestrado. NAVATHE, S. B. Evolution of Data Modeling for Databases. Communications of the ACM, New York, v.35, n.9, p.112-123, 1992. [RAP 92] RAPER, J. F.; MAGUIRE, D. J. Design Models and Functionality in GIS. Computers and Geosciences, London, v.18, n.4, p.387-400, 1992. NATIONAL CENTER FOR GEOGRAPHIC INFORMATION AND ANALYSIS, NCGIA Core Curriculum. GOODCHILD, M.F.; KEMP, K.K. (Eds.). Santa Barbara: University of California, 1990. [ROD 90] RODRIGUES, M. Introdução ao Geoprocessamento. In: SIMPÓSIO BRASILEIRO DE GEOPROCESSAMENTO, 1., 1990, São Paulo. Anais... São Paulo:USP, 1990. NEWELL, R. et al. Temporal GIS - modelling the evolution of spatial data in time. Computers & Geosciences, London, v18, n.4, p.427434, 1992. [ROM 90] ROMAN, G-C. Formal Specification of Geographic Data Processing Requirements. IEEE Trans. on Knowledge and Data Engineering, New York, v.2, n.4, p.370-380, 1990. [RUM 91] RUMBAUGH, J. et al. Object-Oriented Modeling and Design. New Jersey: Prentice-Hall, 1991. [SAM 89] SAMET, H. The Design and Analysis of Spatial Data Structures. Reading, MA: Addison-Wesley, 1989. [SCH 91] SCHOLL, M.; VOISARD, A. Object oriented database systems for geographic applications: an experience with O2. In: Building an Object-Oriented Database System: The Story of O2. California: Morgan Kaufmann, 1991. [SCH 93] SCHNASE, J.L. et al. Semantic Data Modeling of Hypermedia. ACM Transactions on Information Systems, [S.l.], v.11, n.1, p.27-50, 1993. [SHE 95] SHEKHAR, S. et al. Experiences with data models in geographic information systems. Minnesota: University of Minnesota, Computer Science Department, 1995. (Technical Report TR95-10) [SMI 77] SMITH, J.; SMITH, D. Database abstractions: aggregation and generalization. ACM Transactions Database Systems, New York, v.2, n.2, p-105-133, 1977. [SOO 91] SOO, M. D. Bibliography on temporal databases. SIGMOD Record, New York, n.20, p.14-23, 1991. [SUB 93] SUBRAMANIAN, R.; ADAM, N. R. The design and implementation of an expert object-oriented geographic information system. In: CIKM INFORMATION AND KNOWLEDGEMENT, 2., 1993, Washington. Proceeding... Washington: [s.n.], 1993. OLIVEIRA, C. Curso de Cartografia Moderna. 2 ed. Rio de Janeiro: IBGE, 1993. OLIVEIRA, J.L.; PIRES, F.; MEDEIROS, C.B. UAPÉ - An environment for integrated modelling and analysis of geographic information. To appear in Cartographica, 1997. [OOI 90] OOI, B.C. Efficient Query Processing in Geographic Information Systems. Berlin: Spring-Verlag, 1990. (Lecture Notes in Computer Science, v. 471). [OOS 89] OOSTEROM, P. V.; BOS, J. V. D. An Object-oriented approach to the design of geographic information systems. Comput. & Graphics, [S.l.], v.13, n.4, p.409-418, 1989. [PAR 94] PAREDES, E. A. Sistema de Informação Geográfica - Princípios e Aplicações: Geoprocessamento. São Paulo: Ed. Érica, 1994. [PEU 84] PEUQUET, D. J. A conceptual framework and comparison of spatial data models. Cartographica, [S.l.], n.21, p66-113, 1984. [PEU 93] PEUQUET, D. J. What, where and when - a conceptual basis for design of spatiotemporal GIS databases. In: ACM/ISCA WORKSHOP ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 1993. Proceedings... [S.l.:s.n.], 1993. [PEU 95] [PRE 87] 121 PEUQUET, D. J. An event-based spatiotemporal data model (ESTDM) for temporal analysis of geographical data. International Journal of Geographical Information Systems, London, v.9, n.1, p.7-24, 1995. PRESSMAN, R.S. Software Engineering: a practitioner’s approach. 2.ed. New York: McGraw-Hill, 1988. 122 [TAN 91] TANAKA, A. et al. A. ER-R an enhanced ER model with situationaction rules to capture application semantics. In: INTERNATIONAL CONFERENCE ON ENTITY-RELATIONSHIP APPROACH, 1991, San Mateo, CA. Proceeding... San Mateo, CA:[s.n.], 1991. [TEO 86] TEOREY, Toby J. A logical design methodology for relational databases using the extended entity-relationship model. Computing Surveys, London, v.18, n.2, p.197-222, 1986. [TIM 94] TIMES, V. C.; SALGADO, A. C. Uma Modelagem Orientada a Objetos para Aplicações Geográficas. In: SIMPÓSIO BRASILEIRO DE BANCO DE DADOS, 9., 1992, São Carlos-SP. Anais... São CarlosSP, 1994. [TIM 94a] TIMES, V. C. MGeo: Um Modelo Orientado a Objetos para Aplicações Geográficas. Recife-PE: UFPE, 1994. Dissertação de Mestrado. [TRY 95] TRYFONA, N.; HADZILACOS, T. Geographic applications development: models and tools for the conceptual level. In: ACMGIS INTERNATIONAL WORKSHOP ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 1995, Baltimore. Proceedings... Baltimore: [s.n.], 1995. [ULL 82] ULLMAN, J. D. Principles of Database Systems. 2. ed. Rockville: Computer Science Press, 1982. [WOL 83] WOLF, P. Elements of Photogrammetry. New York: McGraw-Hill, 1983. [WOR 90] WORBOYS, M. et al. Object-oriented Data Modeling for Spatial Databases. International Journal of Geographical Information Systems, London, v.4, n.4, p.369-384, 1990. [WOR 94] WORBOYS, M. F. Review Article: Object-oriented approaches to georeferenced information. International Journal of Geographical Information Systems, London, v.8, n.4, p.385-399, 1994. [WOR 94a] WORBOYS, M. F. A unified model for spatial and temporal information. The Computer Journal, [S.l.], v.37, n.1, 1994. [WOR 95] WORBOYS, M.F. GIS: A Computing Perspective. London: Taylor and Francis, 1995.