MINISTÉRIO DA CIÊNCIA E TECNOLOGIA INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS INPE-7266-TDI/708 INTEROPERABILIDADE EM GEOPROCESSAMENTO: CONVERSÃO ENTRE MODELOS CONCEITUAIS DE SISTEMAS DE INFORMAÇÃO GEOGRÁFICA E COMPARAÇÃO COM O PADRÃO OPEN GIS Rogério Thomé Dissertação de Mestrado em Computação Aplicada, orientada pelo Dr. Gilberto Câmara Neto, aprovada em 29 de setembro de 1998. INPE São José dos Campos 1999 681.3 : 621.376.5 THOMÉ, R. Interoperabilidade em geoprocessamento: conversão entre modelos conceituais de sistemas de informação geográfica e comparação com o padrão OPEN GIS / R. Thomé. – São José dos Campos: INPE, 1998. 196p. - (INPE-7266-TDI/708). 1.Sistemas de informação geográfica (SIG). 2.Interoperabilidade. 3.Geoprocessamento. 4.Sistemas de informação geográfica abertos (OPEN GIS). 5.ArcInfo. 6.Modular GIS environment (MGE). 7.Sistema de processamento de informações georreferenciadas (SPRING). 8.Representação do conhecimento. 9. Modelos. I.Título. Aprovado pela Banca Examinadora em cumprimento a requisito exigido para a obtenção do Título de Mestre em Computação Aplicada. Candidato: Rogério Thomé São José dos Campos, 29 de setembro de 1998. “ A vida na Terra teria surgido há 3,5 bilhões de anos. Se esse período for comparado a um único ano, o primeiro réptil só teria aparecido na metade de dezembro. Isso dá uma idéia do tempo que a vida, que surgiu no mar, demorou para diversificar-se e evoluir. O problema agora é o homem industrializado: mesmo tendo chegado apenas nos últimos 2 segundos desse ano imaginário, ele ameaça a impressionante arquitetura da natureza.” Caminhos da Terra, p. 64, dezembro de 1996. À minha esposa e companheira Adriana, Ao meu filho, luz e vida Ruan, Aos meus pais Carmen e Oswaldo. AGRADECIMENTOS Agradeço a Deus por me ter concedido a oportunidade desta vida, por me ter dado este corpo perfeito e saudável para que pudesse desenvolver-me e contribuir de alguma forma para a nossa humanidade. Agradeço a minha esposa Adriana pela força, paciência e dedicação. Aos meus pais Oswaldo e Carmen pelo incentivo e compreensão. A Erli e ao Cursino pelo auxílio e paciência incessantes. Ao meu orientador Dr. Gilberto Câmara, pela confiança e por todo o conhecimento transferido. A todas as pessoas do DPI/INPE que contribuíram para a realização deste trabalho. Ao Dr. Tatuo pela colaboração neste trabalho. As empresas Imagem e Intersat, pela oportunidade de transformar muitos conceitos em realidade prática. A empresa Geoambiente por nos proporcionar um ambiente fértil para contribuir ainda mais na área de geoprocessamento. RESUMO O objetivo deste trabalho é analisar o problema da interoperabilidade em Geoprocessamento, tomando por base a tecnologia atual de Sistemas de Informação Geográfica (SIG). A partir de uma análise dos modelos conceituais de diferentes SIGs, e da especificação do padrão OPEN GIS, o trabalho apresenta uma conversão entre estes modelos conceituais e uma análise dos problemas de sua tradução para os conceitos OPEN GIS. Para materializar as idéias apresentadas, desenvolveu-se o protótipo de uma ferramenta de tradução entre estes modelos conceituais. INTEROPERABILITY IN GEOGRAPHIC INFORMATION SYSTEMS: CONVERSION AMONG GEOGRAPHIC INFORMATION SYSTEMS CONCEPTUAL MODELS AND A COMPARISON WITH THE OPEN GIS STANDARD ABSTRACT This work discusses the problem of interoperability in Geographic Information Systems (GIS), trying to identify the potential pratical barriers which limit the complete interchange of geographical information. The semantic models of three differents GIS are described and compared with each other and with the OPEN GIS concepts. These comparisons allow an assessment of the problems and limitations of the semantic translation on the GIS domain. To illustrate the ideas established, a prototype for GIS semantic model conversion has been developed. SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS Pág. CAPÍTULO 1 - INTRODUÇÃO ......................................................................... 25 1.1 - Motivação ................................................................................................. 26 1.2 - Objetivo do Trabalho ................................................................................ 27 1.3 - Breve Revisão da Literatura ..................................................................... 28 1.4 - Metodologia de Trabalho.......................................................................... 31 1.5 - Contribuição do trabalho .......................................................................... 32 1.6 - Estrutura da dissertação........................................................................... 33 CAPÍTULO 2 - GEOPROCESSAMENTO ........................................................ 35 2.1 - Histórico ................................................................................................... 35 2.2 - Sistemas de Informação Geográfica - SIG............................................... 39 2.2.1 - Definição ............................................................................................... 39 2.2.2 - Arquitetura de SIG................................................................................. 40 2.2.3 - Modelagem de Dados Geográficos ....................................................... 43 2.2.4 - Banco de Dados Geográfico ................................................................. 46 2.2.4.1 - Arquitetura dual ................................................................................. 46 2.2.4.2 - Arquitetura Baseada em Campos Longos.......................................... 48 2.2.4.3 - Arquitetura Baseada em Mecanismos de Extensão........................... 49 2.2.5 - Topologia em SIG ................................................................................. 50 2.2.5.1 - Estrutura de Dados Arco-Nó .............................................................. 52 2.2.5.2 - Conectividade..................................................................................... 53 2.2.5.3 - Definição de Área............................................................................... 55 2.2.5.4 - Contiguidade ...................................................................................... 56 CAPÍTULO 3 - MODELAGEM ORIENTADA POR OBJETOS......................... 57 3.1 - Introdução a Modelagem de Dados ......................................................... 57 3.2 - Abstração de Dados ................................................................................. 60 3.3 - Técnica de Modelagem de Objetos.......................................................... 60 3.3.1 - Objeto, Atributo e Operações ................................................................ 61 3.3.2 - Classes.................................................................................................. 62 3.3.3 - Associações, Ligação e Multiplicidade .................................................. 63 3.3.4 - Atributo de Ligação ............................................................................... 64 3.3.5 - Agregação ............................................................................................. 65 3.3.6 - Generalização, Especialização e Herança ............................................ 66 3.3.7 - Polimorfismo.......................................................................................... 68 3.4 - Persistência de Objetos em Ambientes Relacionais ............................... 69 3.4.1 - Mapeamento de Classes....................................................................... 69 3.4.2 - Mapeamento de Associações Muitos para Muitos ............................... 70 3.4.3 - Mapeamento de Associações Um para Muitos ..................................... 71 3.4.4 - Mapeamento de Associações Um para Um .......................................... 74 3.4.5 - Mapeamento de Generalizações........................................................... 75 CAPÍTULO 4 - MODELAGEM DE DADOS EM SISTEMAS DE INFORMAÇÃO GEOGRÁFICA ......................................................................... 81 4.1 - MGE ......................................................................................................... 81 4.1.1 - Conceitos e Fundamentos .................................................................... 81 4.1.2 - Arquitetura do Sistema .......................................................................... 81 4.1.3 - Projeto ................................................................................................... 83 4.1.3.1 - Esquema ............................................................................................ 84 4.1.3.2 - Categorias e Classes de Feições....................................................... 84 4.1.3.3 - Representação da Informação Gráfica .............................................. 84 4.1.3.4 - Representação da Informação Não-Gráfica....................................... 86 4.1.4 - Modelagem de Dados MGE .................................................................. 87 4.1.5 - Topologia no MGE ............................................................................... 90 4.2 - ARC/INFO ................................................................................................ 93 4.2.1 - Conceitos e Fundamentos .................................................................... 93 4.2.2 - Modelo de Dados Vetorial ..................................................................... 94 4.2.2.1 - Topologia no Arc/Info ......................................................................... 95 4.2.2.2 - Regiões .............................................................................................. 96 4.2.2.3 - Rotas .................................................................................................. 97 4.2.2.4 - Representação das Informações Descritivas ..................................... 97 4.2.3 - Coverage............................................................................................. 100 4.2.4 - Outras Representações....................................................................... 100 4.3 - SPRING.................................................................................................. 101 4.3.1 - Apresentação ...................................................................................... 101 4.3.2 - Arquitetura do Sistema ........................................................................ 103 4.3.3 - Modelo Conceitual do SPRING ........................................................... 105 4.3.4 - Topologia no SPRING ......................................................................... 110 4.4 - O Padrão OPEN GIS.............................................................................. 110 4.4.1 - Conceito .............................................................................................. 110 4.4.2 - O Conceito de Comunidade de Informação Geo-espacial .................. 112 4.4.3 - Feição e conceitos associados............................................................ 113 4.4.3.1 - Noção Geral de Informação Geo-espacial ....................................... 114 4.4.3.2 - Especificação Abstrata de Feições .................................................. 117 4.4.3.3 - Tipos de Feições .............................................................................. 117 4.4.3.4 - Atributos de Feições......................................................................... 117 4.4.3.5 - Identidade das Feições .................................................................... 118 4.4.3.6 - Persistência de Feições ................................................................... 118 4.4.3.7 - Instância de Feições ........................................................................ 118 4.4.3.8 - Coleção de Feições.......................................................................... 118 4.4.4 - Feição com Geometria ........................................................................ 119 4.4.4.1 - Geometria......................................................................................... 120 4.4.5 - Coverage............................................................................................. 121 4.4.5.1 - Propriedades .................................................................................... 122 4.5 - Comparação entre os SIGs e o padrão OGIS........................................ 124 4.5.1 - MGE e OGIS ....................................................................................... 124 4.5.1.1 - Feição com Geometria ..................................................................... 124 4.5.1.2 - Coverage.......................................................................................... 125 4.5.2 - Arc/Info e OGIS ................................................................................... 125 4.5.2.1 - Feição com geometria ...................................................................... 125 4.5.2.2 - Coverage.......................................................................................... 125 4.5.3 - SPRING e OGIS.................................................................................. 126 4.5.3.1 - Feição com geometria ...................................................................... 126 4.5.3.2 - Coverage.......................................................................................... 127 4.5.3.3 - Uma breve conclusão....................................................................... 127 CAPÍTULO 5 - INTEROPERABILIDADE SEMÂNTICA ENTRE SIGS .......... 129 5.1 - Introdução .............................................................................................. 129 5.2 - Metodologia de Desenvolvimento do GeoTMS ..................................... 130 5.3 - Especificação Informal do Sistema ........................................................ 131 5.3.1 - Propósito do GeoTMS ......................................................................... 131 5.3.2 - Modelo Descritivo do GeoTMS............................................................ 131 5.3.3 - Diagrama de Contexto do Sistema...................................................... 131 5.3.4 - Resumo dos Requisitos do Sistema.................................................... 132 5.4 - Especificação Formal do Sistema .......................................................... 134 5.4.1 - Visão Funcional ................................................................................... 134 5.4.2 - Visão Estática...................................................................................... 137 5.4.2.1 - Objetos Gráficos............................................................................... 137 5.4.2.2 - Regras Conceituais .......................................................................... 138 5.4.2.2.1 - O Padrão OGIS ............................................................................. 138 5.4.2.2.2 - MGE .............................................................................................. 139 5.4.2.2.3 - ARC/INFO ..................................................................................... 139 5.4.2.2.4 - SPRING......................................................................................... 141 5.4.2.3 - Tabelas de Conversão ..................................................................... 142 5.4.2.3.1 - Considerações Iniciais................................................................... 143 5.4.2.3.2 - MGE para OGIS ............................................................................ 144 5.4.2.3.3 - ARC/INFO para OGIS ................................................................... 147 5.4.2.3.4 - SPRING para OGIS....................................................................... 149 5.4.2.3.5 - MGE para SPRING e vice e versa ................................................ 152 5.4.2.3.6 - MGE para ARC/INFO e vice e versa ............................................. 153 5.4.2.3.7 - ARC/INFO para SPRING e vice e versa ....................................... 154 5.4.2.4 - Modelo.............................................................................................. 159 5.4.2 - Visão de Dinâmica .............................................................................. 159 5.5 - Projeto do GeoTMS................................................................................ 160 5.5.1 - Diagrama de Estrutura do Módulos..................................................... 161 5.5.2 - Modelo Relacional ............................................................................... 161 5.5.2.1 - Objetos Gráficos............................................................................... 161 5.5.2.2 - Regras Conceituais .......................................................................... 163 5.5.2.3 - Tabela de Conversão ....................................................................... 163 5.5.2.3 - Modelos............................................................................................ 164 5.6 - Implementação....................................................................................... 165 CAPÍTULO 6 - CONCLUSÃO ........................................................................ 173 6.1 - Diferenças Conceituais entre os SIGs do mercado................................ 174 6.2 - Alcance e Limitações do padrão OPEN GIS .......................................... 175 6.3 - Interoperabilidade na Prática.................................................................. 177 6.4 - Estudos Futuros ..................................................................................... 178 REFERÊNCIAS BIBLIOGRÁFICAS............................................................... 181 APÊNDICE A - QUESTIONÁRIO DADO AO USUÁRIO E AO DESENVOLVEDOR .............................................................. 187 APÊNDICE B - TABULAÇÃO DAS RESPOSTAS: QUESTIONÁRIO DADO AO USUÁRIO E AO DESENVOLVEDOR.................. 189 LISTA DE FIGURAS Pág. 1.1 - Utilização de um Esquema Conceitual Global para Facilitar Comunicação a de Informações entre Modelos de Dados Específicos ............................. 31 2.1 - Exemplo de Geoprocessamento .............................................................. 38 2.2 - Módulo de Entrada de Dados de um SIG................................................. 41 2.3 - Módulo de Armazenagem de Dados e Gerenciamento de Banco de Dados Geográficos.............................................................. 42 2.4 - Questões a Serem Respondidas por um SIG .......................................... 42 2.5 - Módulo de Saída de um SIG .................................................................... 43 2.6 - Representação de Fenômenos Geográficos............................................ 44 2.7 - Arquitetura Dual para Banco de Dados Geográficos ............................... 47 2.8 - Ilustração da Representação Computacional da Estrutura de Arco-Nó ... 53 2.9 - IIustração do Conceito de Conectividade de Topologia Arco-Nó ............. 54 2.10 - Ilustração da Representação Computacional da Estrutura PolígonoArco ........................................................................................................ 55 2.11 - Ilustração da Topologia Direita-Esquerda .............................................. 56 3.1 - As Três Visões de um Sistema ................................................................ 59 3.2 - Notação Gráfica TMO .............................................................................. 63 3.3 - Exemplos de Associação e Multiplicidade................................................ 64 3.4 - Exemplos de Atributo de Ligação............................................................. 65 3.5 - Conceito de Agregação Aplicado a um Exemplo de Projeto de Casa...... 65 3.6 - Exemplo de Especialização e Herança .................................................... 66 3.7 - Exemplo de Herança Múltipla: a Classe “Veículo Anfíbio” Possui Duas s s SuperClasses .......................................................................................... 68 3.8 - Novo Modelo Ajustado para Evitar a Herança Múltipla ............................ 68 3.9 - Mapeamento de Classes em Tabelas ...................................................... 70 3.10 - Mapeamento de Associações “Muitos para Muitos” para Tabelas......... 71 3.11 - Mapeamento de Associações “Um para Muitos” do Caso 1 .................. 72 3.12 - Mapeamento de Associações “Muitos para Muitos” do Caso 2 ............. 73 3.13 - Primeira Alternativa para Mapear Associações “Um para um” em p p p Tabelas - Caso 1 .................................................................................... 75 3.14 - Segunda Alternativa para Mapear Associações “Um para Um” em p p p Tabelas - Caso 2 ................................................................................... 76 3.15 - Exemplo de Generalização-Especialização: Ponto, Nó e Vértice .......... 77 3.16 - Mapeamento de Generalização Especialização em Tabelas de a a a aa Generalização e em Tabelas de Especialização - Caso 1 ..................... 77 3.17 - Mapeamento de Generalização-Especialização em Tabelas de n n nn Generalização e em Tabelas de Especialização - Caso 2 ..................... 78 3.18 - Mapeamento de Generalização-Especialização em Tabelas de a a a a a Generalização ........................................................................................ 79 4.1 - Arquitetura do Sistema MGE.................................................................... 83 4.2 - A Representação de Fenômenos Geográficos no MGE: Classe de Feição a e Categoria .............................................................................................. 85 4.3 - Organização Hierárquica de Dados Geográficos no MGE ....................... 87 4.4 - Exemplo de Organização de Dados no MGE........................................... 89 4.5 - Modelo de Dados Implementados no MGE para Arquivo de Mapas........ 90 4.6 - Ilustração do Conceito de Índice Geográfico............................................ 91 4.7 - Modelo de Dados do MGE que Reflete o Conceito de Arquivo de Índice a a Geográfico ................................................................................................ 92 4.8 - Exemplo de Análise Espacial no MGE ..................................................... 93 4.9 - Ilustração da Representação Computacional de Dados Vetoriais no a a a ARC/INFO ............................................................................................... 95 4.10 - Ilustração do Conceito de Região .......................................................... 96 4.11 - ILustração do Conceito de Rota ............................................................. 97 4.12 - Ilustração da Representação das Informações Descritivas.................... 99 4.13 - Exemplo de uma Coverage: Propriedade ............................................ 102 4.14 - Modelo Orientado por Objetos do SPRING.......................................... 106 4.15 - Os Nove Níveis de Abstração Definidos pelo OGIS............................. 115 4.16 - Feição OGIS e seus Subtipos .............................................................. 116 4.17 - Uma Forma de Representação de Feições Geográficas ..................... 120 4.18 - Subtipos de Coverage .......................................................................... 123 4.19 - Modelo Semântico que se Aproxima da Especialização OPEN GIS.... 124 5.1 - Diagrama de Contexto do Sistema......................................................... 133 5.2 - Visão Funcional: Diagrama de Fluxo de Dados do Sistema GeoTMS ... 135 5.3 - Visão Estática: Modelagem dos Objetos Gráficos ................................. 137 5.4 - Visão Estática: Modelagem dos Tipos de Regras Conceituais .............. 138 5.5 - Visão Estática: Modelagem das Regras Conceituais OGIS ................... 139 5.6 - Visão Estática: Modelagem das Regras Conceituais MGE.................... 140 5.7 - Visão Estática: Modelagem das Regras Conceituais ARC/INFO ........... 141 5.8 - Visão Estática: Modelagem das Regras Conceituais SPRING .............. 142 5.9 - Visão Estática: Classe Modelos Onde São Armazenadas as Ocorrências d de Modelos Conceituais Desenvolvidos pelo Usuário do Sistema ......... 159 5.10 - Visão Dinâmica: Diagrama de Transição de Estados .......................... 160 5.11 - Diagrama de Estrutura dos Módulos .................................................... 162 5.12 - Ambiente Padrão do GeoTMS ............................................................. 166 5.13 - Menu Arquivo e Suas Opções.............................................................. 166 5.14 - Menu “Exibir” e Suas Opções............................................................... 167 5.15 - Tipo de Relacionamentos Disponíveis pelo GeoTMS .......................... 167 5.16 - Menu “Consistência”, Opção para Verificar Consistência do Modelo s s s Conceitual do Usuário.......................................................................... 167 5.17 - Opção Para a Tradução do Modelo Conceitual do Usuário ................. 168 5.18 - Interface de Seleção de SIG ................................................................ 168 5.19 - Classes de Dados do MGE Disponibilizadas ao Usuário do Sistema para s Elaborar o Modelo Conceitual.............................................................. 169 5.20 - Classes de dados do ARC/INFO disponibilizadas ao usuário do sistema d para elaborar o modelo conceitual ...................................................... 169 5.21 - Classes de dados do SPRING disponibilizadas ao usuário do sistema a a para elaborar o modelo conceitual ...................................................... 170 5.22 - Exemplo de modelo conceitual elaborado pelo usuário no SIG MGE.. 171 5.23 - Exemplo de tradução do modelo conceitual do MGE para o OGIS ..... 171 5.24 - Exemplo de tradução do modelo conceitual do MGE para o SIG s s s ARC/INFO............................................................................................ 172 5.25 - Exemplo de tradução do modelo conceitual do MGE para o SIG a SPRING............................................................................................... 172 A.1 - Questionário dado ao usuário ................................................................ 187 A.2 - Questionário dado ao desenvolvedor .................................................... 188 B.1- Esboço do Modelo Conceitual Apresentado aos Desenvolvedores para a a Validação e Ajustes ............................................................................... 195 B.2- Esboço do Modelo de Dados Que Foi Apresentado aos Desenvolvedores a Para Validação e Ajustes ....................................................................... 196 LISTA DE TABELAS Pág. 4.1 - Quadro Comparativo Entre os Três SIGs e os Conceitos Feição Com d Geometria e Coverage do OGIS ............................................................ 128 5.1 - Resumo dos Requisitos a Serem Atendidos pelo GeoTMS ................... 133 5.2 - Tabela de Conversão ............................................................................. 143 5.3 - Tabela de Conversão de MGE para OGIS............................................. 145 5.4 - Tabela de Conversão de ARC/INFO para OGIS .................................... 147 5.5 - Tabela de Conversão do SPRING para OGIS ....................................... 149 5.6 - Tabela de Conversão do MGE para SPRING e Vice-Versa................... 152 5.7 - Tabela de Conversão do MGE para o ARC/INFO e Vice-Versa ............ 153 5.8 - Tabela de tradução de ARC/INFO para SPRING e Vice-Versa ............. 155 5.9 - Objetos Gráficos..................................................................................... 162 5.10 - Regras Conceituais .............................................................................. 163 5.11 - Tabela de Conversão ........................................................................... 164 5.12 - Modelos................................................................................................ 164 B.1 - Formação dos Usuários Entrevistados .................................................. 189 B.2 - Tempo de Contato com Sistemas Informatizados ................................. 189 B.3 - Tempo de Contato com o SPRING....................................................... 189 B.4 - Aplicação do Sistema ............................................................................ 190 B.5 - Solução de Problemas ........................................................................... 190 B.6 - Ponto Frágil no Sistema......................................................................... 190 B.7 - Eficiência do Sistema............................................................................. 190 B.8 - Pontos Fortes no Sistema...................................................................... 191 B.9 - Outros Sistemas Conhecidos pelos Entrevistados ................................ 191 B.10 - Formação dos Entrevistados ............................................................... 191 B.11 - Responsabilidade dos Entrevistados ................................................... 192 B.12 - Utilização de Metodologia de Engenharia de Software........................ 192 B.13 - Geração de Disponibilidade de Modelos ............................................. 192 B.14 - Validação de Modelo Existente............................................................ 193 B.15 - Conhecimento da Estrutura de Base de Dados................................... 193 B.16 - Validação da Estrutura de Base de Dados Existente .......................... 193 B.17 - Eficácia do Sistema em Relação ao Tempo de Resposta ................... 193 B.18 - Eficiência do Sistema em Relação ao Tempo de Resposta ................ 194 B.19 - Destaque dos Pontos que Merecem Maior Atenção............................ 194 CAPÍTULO 1 INTRODUÇÃO A atuação do homem no meio ambiente, ao longo da história, fornece provas de suas ações em nome do progresso. Esta evolução tem seu lado positivo, pois abre novos horizontes, novas possibilidades e descobertas, e o lado negativo, pois pode causar desequilíbrios econômicos, ecológicos e sociais. Desta forma, o próprio homem, fazendo uso do seu principal atributo, a inteligência, vem criando mecanismos para controlar, sanar e prevenir tais desequilíbrios. Neste sentido emerge uma área de estudos e aplicações, denominada “Geoprocessamento”. Geoprocessamento, pelo significado do próprio nome (Geo = Terra, Processar = Executar, Realizar, Mudar), processa informações sobre a superfície terrestre através de ferramentas computacionais ou não. Estes processos auxiliam o homem na monitoração, administração e planejamento do espaço geográfico em que vive. Os sistemas computacionais com estes propósitos são conhecidos como Sistemas de Informação Geográfica (SIG). Pelas razões apontadas acima nos sentimos conscientes e motivados a contribuir nesta área, com este trabalho de dissertação de mestrado. A elaboração de tal trabalho é resultado de nossa formação associada à experiência adquirida no Instituto Nacional de Pesquisas Espaciais (INPE) em cursos, pesquisas, trabalhos e conversas com pessoas de conhecimento de áreas como engenharia de software, processamento sensoriamento remoto e geoprocessamento entre outros. 25 de imagens, 1.1 - Motivação Na prática atual a concepção e a implementação de projetos na área de Geoprocessamento segue regras conceituais vinculadas à ferramenta computacional selecionada. Entendemos por regras conceituais a semântica do funcionamento de cada SIG, e a maneira como os dados devem estar organizados, levando em consideração o tipo de cada dado, para o adequado tratamento pelo SIG adotado. Tendo em vista a diversidade dos modelos conceituais dos SIGs, muitas organizações, por deter apenas o conhecimento de um sistema, acabam por utilizar, para efeitos de modelagem, a terminologia específica deste sistema. Este tipo de prática é comum no mercado e acaba por impor barreiras de comunicação entre os diferentes produtores de informação georeferenciada. Esta situação é fonte de muitos problemas, incluindo: • a conversão de dados entre organizações que utilizam SIGs distintos torna - se extremamente trabalhosa e • organizações receptoras de tecnologias ficam condicionadas ao uso de um único sistema e à adoção de uma terminologia que pode desrespeitar seus próprios aspectos culturais e técnicos. Neste cenário, é cada vez maior o interesse por soluções que permitam o acesso amplo a diferentes bancos de dados geográficos. Entre as soluções possíveis, a proposta do consórcio OPEN GIS merece especial destaque. O OPEN GIS (ou OGIS) é um padrão de interoperabilidade entre SIGs, baseado em conceitos de orientação por objetos, que estabelece mecanismos padronizados para acesso a informações geográficas. 26 No entanto, a implantação do modelo OGIS não poderá ser imediata. Como existem enormes bases de dados geográficas armazenadas em formatos proprietários, prevê-se um processo de migração paulatino pelas diferentes instituições que detêm repositórios de dados geográficos. Neste sentido, consideramos importante estabelecer uma correspondência entre os conceitos utilizados na modelagem de dados de diferentes sistemas e o padrão OGIS. Como se verá no decorrer deste trabalho, há uma grande diferença entre as terminologias adotadas por estes sistemas, o que dificulta sobremaneira a difusão da informação geográfica. 1.2 - Objetivo do Trabalho O estudo realizado analisará três dos principais SIGs disponíveis no Brasil (ARC/INFO-ESRI, MGE-INTERGRAPH e SPRING-INPE), discutindo em detalhe o modelo conceitual de cada um, e procurando estabelecer uma correspondência entre estes conceitos e o padrão OGIS. Como se verá, a tradução entre os diferentes sistemas, e destes para o padrão OGIS não é direta, e possui algumas ambigüidades e indefinições que este trabalho procura abordar. Em função da análise realizada, será desenvolvida uma ferramenta computacional (GeoTMS), como protótipo, que pretende auxiliar na tradução entre os modelos semânticos de diferentes sistemas e na migração de bancos de dados existentes para o padrão OGIS. Além de sua relevância para o problema geral da interoperabilidade, esta ferramenta terá grande valor prático. 27 1.3 - Breve Revisão da Literatura Este trabalho insere-se na área científica de geoprocessamento. Por tratar-se de uma área relativamente recente e em consolidação, o contexto é dinâmico, logo sujeito a discussões e questionamentos entre as diversas visões. A padronização deste universo é um processo em desenvolvimento. Os trabalhos semelhantes na literatura abrangem características teóricas e práticas separadamente, constituindo relatos de experiências específicas. A seguir, tem-se uma descrição de trabalhos considerados relevantes para o propósito desta dissertação, constituindo uma base preliminar de estudos para situar este trabalho. A interoperabilidade constitui a capacidade de compartilhar e trocar informações e processos entre ambientes computacionais heterogêneos, autônomos e distribuídos (Yuan, 1998). No entanto, a exequibilidade deste conceito na área de geoprocessamento é complexa pois existem incompatibilidades de representação, de estrutura e de semântica, que impedem esta prática. Segundo Yuan (1998), existem três aspectos a serem abordados que são necessários para a interoperabilidade: sintático, semântico e software. O aspecto sintático esforça-se por padronizar a codificação e a interpretação da informação geográfica oriunda de diferentes formatos. Isto permite que um sistema compreenda o significado de dados provenientes de outros sistemas. Trata-se dos padrões de transferência de dados tais como SDTS, DXF, MIF, SAIF, etc.. Apesar do aspecto sintático caminhar no sentido de facilitar a transformação de dados de diferentes sistemas, ocorrem limitações, provenientes do aspecto semântico, que barram este desenvolvimento. A representação conceitual da informação geográfica que cada sistema possui é denominada de aspecto 28 semântico. Estas limitações decorrem da considerável distância existente entre as comunidades de diferentes culturas e história, que acabam por conceitualizar e interpretar distintamente a realidade geográfica. No aspecto de software ou operacional, espera-se uma inclinação das organizações produtoras de software no sentido de atender aos requisitos de interoperacionalidade. Hoje existe uma proposta, em construção, de especificação destes requisitos, que é o OPEN GIS. Esta proposta exige que os softwares migrem seus ambientes para este padrão. Atualmente não existem sistemas que atendam por completo as especificações do OPEN GIS. O que ocorre comumente são funcionalidades de importação e exportação de formatos intercambiáveis que exploram o aspecto sintático. Podemos citar o software GeoMedia como um exemplo de produto que caminha no sentido da interoperação completa. Para mais detalhes sobre este software pode-se consultar Intergraph (1998). Yuan (1998) sugere a construção de um modelo conceitual genérico para SIG, que seria usado para definir elementos responsáveis pelo compartilhamento da informação espacial entre os SIGs específicos existentes. Os aspectos sintáticos e software serão consideradas em fases futuras pois a compatibilidade semântica é fundamental para interoperabilidade. Segundo Garhegan (1998), o significado semântico dos dados espacias não é o mesmo nos modelos dos diferentes SIGs existentes. Como decorrência disto, a transformação de dados espaciais de um sistema para outro pode acarretar inconsistências lógicas caso seja enfocada somente a sua geometria. Gahegan (1998) propõe uma notação para descrever as diferenças semânticas entre os diversos SIGs e auxiliar o processo de interoprabilidade. Além da diferença semântica intrínseca ao modelo do sistema, existem outras desenvolvidas pelo próprio usuário do sistema na interpretação de um fenômeno geográfico para fins de modelagem. Para ilustrar, podemos citar o 29 exemplo de usuários que podem modelar “solos” utilizando um mesmo SIG, de maneiras diferentes. Estas diferenças são decorrentes do atendimento de propósitos diferentes. No entanto na ocorrência da migração de dados entre os sistemas deve-se ter cuidado com estas barreiras semânticas. Voisard (1998) propõe a construção de um GIS genérico e aberto, em atendimento aos requisitos de interoperabilidade. Esta construção baseia-se na decomposição do mundo real em quatro níveis de abstração: aplicação, serviços abstratos, serviços concretos e sistemas. No nível de aplicação serão atendidos os requisitos do usuário final. No nível de serviços abstratos serão abordados aspectos de alto nível do sistema e estabelecimento de uma plataforma lógica de integração de dados. Já o nível de serviços concretos terá a responsabilidade de especificar a distribuição dos dados e operações. Por fim o nível de sistema se compromete por executar serviços de sistemas específicos. Gooldchild et al (1998) afirma que o compartilhamento de dados, o treinamento de usuário e o compartilhamento de procedimentos de utilização são aspectos complexos de serem praticados entre diferentes sistemas. Isto é reflexo da independência existente durante a construção dos sistemas de informações geográficas, ocorrendo pouco intercâmbio de teoria e terminologia. Segundo o autor, o termo “interoperabilidade” sugere um mundo ideal no qual esses problemas irão desaparecer ou, pelo menos, diminuir significativamente, resultado de uma mudança fundamental nos projetos, abordagens e filosofia. 1.4 - Metodologia de Trabalho Uma abordagem para solucionar o problema da interoperabilidade é o estabelecimento de um modelo conceitual que possa servir de referência para 30 a tradução sistemas distintos (Yuan, 1998). Os conceitos semânticos de cada sistema a ser analisado seriam traduzidos para o modelo conceitual geral, o que tornaria mais fácil sua expressão em um outro sistema, como ilustrado pela Figura 1.1. SISTEMA A SISTEMA B ESQUEMA CONCEITUAL GLOBAL ESQUEMA CONCEITUAL GLOBAL SOFTWARE ESPECÍFICO MODELO DE DADOS A1 MODELO DE DADOS A2 MODELO DE DADOS A3 SOFTWARE ESPECÍFICO MODELO DE DADOS B1 MODELO DE DADOS B2 MODELO DE DADOS B3 Fig. 1.1 - Utilização de um esquema conceitual global para facilitar comunicação de informações entre modelos de dados específicos. FONTE : adaptada de Yuan (1998). O desenvolvimento metodológico deste trabalho segue esta proposta. Com base para um modelo conceitual de caráter geral, adotamos a abordagem mais aceita pela comunidade, que estabelece a distinção da informação geográfica em campos (variáveis contínuas) e objetos (elementos discretos), como proposto em Goodchild (1992), Worboys (1995) e Câmara (1995). Este modelo está descrito em maior detalhe no Capítulo 2 do trabalho e está sendo adotado, com alguns ajustes, pelo consórcio OPENGIS. 31 1.5 - Contribuição do trabalho Este trabalho contribui para a área de geoprocessamento sob as perspectivas teóricas e práticas. Na perspectiva teórica podemos citar: 1) A investigação e o esclarecimento de conceitos provenientes da especificação padrão OPENGIS, referência para a modelagem de SIGs abertos e interoperáveis. 2) A realização de um estudo de aderência e tradução de três SIGs de mercado (ARC/INFO, MGE e SPRING) para o padrão OGIS, sob a visão semântica. 3) A tradução semântica entre os SIGs anteriormente citados. 4) Análise e justificativas das compatibilidades e incompatibilidades semânticas decorrentes do processo de tradução realizados nos dois itens anteriores. O grau de automação e interferência do usuário nas traduções é determinado por estas análises. Na perspectiva prática podemos citar as seguintes contribuições: • fornecimento de uma noção do grau de aplicabilidade prática da idéia de interoperabilidade semântica e • desenvolvimento de uma ferramenta computacional, como protótipo, para auxiliar a interoperabilidade semântica entre os SIGs citados e entre estes e o padrão OGIS. As traduções semâticas apresentadas neste trabalho são um reflexo de um estudo e posterior análise das terminologias que definem a semântica dos 32 SIGs citados e do padrão OGIS. Dado a grande distância existente entre estas terminologias, colocamos esta tradução como uma opção, não excluindo a existência de outras possíveis traduções. 1.6 - Estrutura da Dissertação Esta dissertação divide-se em sete capítulos. No primeiro Capítulo é realizado uma introdução ao trabalho. No segundo Capítulo será apresentado um histórico sobre geoprocessamento. Serão levantadas definições e características de Sistemas de Informações Geográficas - SIGs. As diferentes arquiteturas de banco de dados geográficos para a construção de SIGs também serão abordadas. No terceiro Capítulo será apresentada a técnica de modelagem de objetos (TMO) e algumas diretrizes para mapear o modelo de objetos em um ambiente relacional. Este capítulo fornece um alicerce conceitual que será utilizado para o adequado entendimento sobre os conceitos apresentados nos SIGs estudados no Capítulo 4, e o desenvolvimento prático apresentado no Capítulo 5. O Capítulo 4 será composto pela investigação de três SIGs de mercado: MGE, ARC/INFO e SPRING. Os conceitos e modelos semânticos de cada sistema serão apresentados. Uma investigação sobre o padrão OPENGIS também será abrangida por este capítulo. Por fim, um estudo e análise de aderência entre os sistemas e o padrão OPENGIS será mostrado. No quinto Capítulo serão desenvolvidas as atividade de especificação informal, formal e projeto para a construção da ferramenta GeoTMS (Tradutor de Modelos Semânticos de Geoinformação). Neste Capítulo serão apresentadas e 33 justificadas as traduções entre os modelos conceituais dos SIGs e o padrão OPENGIS e entre os SIGs. A conclusão é assunto para o sexto e último Capítulo. A contribuição do trabalho de forma específica assim como as perspectivas futuras de utilização e evolução do trabalho serão apresentadas. 34 CAPÍTULO 2 GEOPROCESSAMENTO Este capítulo tem por objetivo descrever o nosso entendimento sobre a área de geoprocessamento levando em consideração os aspectos históricos que resultaram na tecnologia dos dias atuais, e a descrição da ferramenta computacional utilizada para se fazer geoprocessamento: o Sistema de Informação Geográfica (SIG). No escopo desta descrição serão abordados os componentes internos do SIG, as diferentes arquiteturas para armazenamento de dados geográficos, e a apresentação da forma que um importante conceito é implementado pelos SIGs: a topologia. É reservado um espaço para a apresentação de modelagem de dados geográficos e a sua forma de implementação em um SIG. 2.1 - Histórico O instinto de sobrevivência determina no homem, dentre outra coisas, o desenvolvimento natural do senso de localização. Conhecer o seu espaço e saber se locomover sobre ele é um requisito para sua proteção e evolução. Neste sentido, surgiu o seu primeiro instrumento de auxílio: o mapa. Segundo a definição de Aurélio (1977) o mapa visa representar uma determinada área geográfica, em superfície plana e em escala menor. Os primeiros mapas, segundo Robinson (1953) surgiram há cerca de 5.000 anos. Sem projeção ou escala, foram utilizados como esboço por milênios. Porém, na Grécia antiga (160-120 A.C.) é que foram lançados os primeiros fundamentos da ciência cartográfica (Bakker, 1965). Mais tarde, o comércio e a navegação impulsionaram o seu desenvolvimento necessidade de se guiar em oceanos. 35 devido à natural No século XVII, a academia de ciências de Paris influencia a cartografia francesa. O desenvolvimento das ciências, em particular, matemática, geodesia e astronomia, possibilitaram à cartografia uma maior solidez científica. A criação de mapas passou a ter refino matemático. Surgiu a cartografia como uma disciplina científica. Desta forma a Terra passou a ser estudada como ciência, no sentido de se definir a melhor forma geométrica para sua representação. Atualmente, “geóide” é a forma adotada para este fim. A representação da Terra em diferentes superfícies geométricas determinam as diversas projeções existentes. Assim, dependendo do propósito de utilização, um mapa pode ser gerado considerando características como escala, preservação de direção, de área, de distância entre outras. Com o advento da tecnologia digital os mapas, antes analógicos, passaram a ser produzidos em forma digital. Os sistemas computacionais responsáveis inicialmente por este processo são chamados de Computer Aidded Design (CAD). Estes sistemas apenas reproduzem, na forma digital, o desenho original. Neste sentido, um CAD constitui-se de um conjunto de ferramentas para entrada de dados gráficos, edição e geração de desenhos através de dispositivos de saída. Manipulações avançadas como, por exemplo, mudanças de projeções, associação com banco de dados estão fora do escopo destes tipos de sistemas. Os sistemas computacionais evoluíram, cada qual especializando-se em áreas determinadas. A tradução do conhecimento humano em sistemas informatizados constitui uma realidade. Como conseqüência desta evolução surgiram os Sistemas de Informação Geográfica ou simplesmente SIGs. A representação de uma realidade geográfica ou fenômeno geográfico, inicialmente realizada através de mapas, tornou-se mais poderosa com esta 36 tecnologia. As manipulações, armazenamento, geração de novos mapas, são processos automatizados pelos SIGs. Operações como mudanças de projeções, associações e manipulações com banco de dados, análise espacial em áreas geográficas de estudo, geração de novos mapas como uma decorrência de simulações são alguns exemplos de facilidades oferecidos por um SIG. Visando mostrar o avanço nesta área, apresentaremos um exemplo de geoprocessamento, especificamente de análise espacial, mostrando que problemas graves que afetam o homem podem ser solucionados pelo uso desta tecnologia. Em 1854 a cidade de Londres vivia uma grave epidemia de cólera. Famílias inteiras foram mortas e suas residências lacradas. Desconhecia-se a forma de disseminação e contágio da doença. No entanto, um médico, de nome Jonh Snow, realizou o seguinte procedimento: sobre o mapa das ruas e residências da cidade, marcou com “x” os poços de água e com “ponto” as residências onde haviam ocorridos mortes como decorrência da doença. Com estas duas classes de informações espacializadas no mapa, o doutor John, realizando o que hoje é denominado de análise espacial, verificou que havia muitos “pontos” (casos de cólera) próximo a um “x” (poço) da “Broad Street”. Portanto, decidiu lacrar o referido poço. Como conseqüência, constatou-se a diminuição dos casos de cólera e evidenciou-se a associação do cólera com a água. A Figura 2.1 reflete o raciocínio da época. 37 Fig. 2.1 - Exemplo de Geoprocessamento: mapa de Londres com casos de cólera (pontos) poços de água (cruzes). Fonte: Tufte (1983) Este exemplo ilustra a ação de fazer geoprocessamento, neste caso particular, sem uso de uma ferramenta computacional. Outra análise derivada deste exemplo está no poder de se ter dados espacializados como suporte à tomada de decisão. Caso estes dados fossem apresentados em forma de simples listagens das localizações de poços e casos de cólera, certamente o grau de dificuldade para tomar uma decisão seria maior. 38 2.2 - Sistema de Informação Geográfica - SIG 2.2.1 - Definição O termo Sistema de Informação Geográfica (SIG) é aplicado para sistemas que realizam o tratamento computacional de dados geográficos. Devido à sua ampla gama de aplicações, que inclui temas como agricultura, florestas, cartografia, cadastro urbano e redes de concessionária (água, energia e telefonia), há pelo menos três formas de se utilizar um SIG: • como ferramenta para produção de mapas; • como suporte para análise espacial de fenômenos e • como um banco de dados geográficos, com funções de armazenamento e recuperação de informação espacial (Câmara, 1995). Pela abrangência expressa na definição acima, concluímos que estes tipos de sistema lidam com informações multi-disciplinares, onde a heterogeneidade e complexidade dos diversos temas é comum. Desta forma, os SIGs tem uma característica básica de integração de informações, tornando-se uma ferramenta que procura agregar dados artificialmente separados pelo homem, de forma a manipulá-los e apresentá-los de outras maneiras, proporcionando uma nova visão ao usuário. Notamos uma outra característica, a de suporte à decisão. Pela possibilidade de apresentar as informações existentes de uma outra maneira, através de manipulações e análise, provê ao usuário um suporte à tomada de decisão para melhor planejar o espaço em estudo, por exemplo. Por se tratar de uma área recente, existem muitas definições sobre SIG. Cada pesquisador expressa uma visão própria, que tendem a um mesmo ponto: 39 • integrar, em um banco de dados único, informações espaciais provenientes de diferentes áreas e • oferecer mecanismos para combinar as várias informações, através de algoritmos de manipulação e análise; e para consultar, recuperar, visualizar e plotar1 o conteúdo da base de dados geográficos. 2.2.2 - Arquitetura de SIG Intencionamos com este item realizar uma “radiografia” de um SIG, explicando as características dos principais módulos que o compõem. Basicamente um SIG divide-se nos seguintes módulos (Burrough, 1986): a) interface com o usuário; b) entrada de dados e verificação; c) armazenagem de dados e gerenciamento do banco de dados geográfico; d) funções para a manipulação e análise dos dados e e) saída de dados: visualização e plotagem1. Como já mencionado, por se tratar de um sistema que lida com uma ampla variedade de informações, o módulo de entrada de dados deve ser de tal robustez de modo a não restringir o formato do dado a ser tratado. Um SIG ________________________ 1 Termo acolhido pelo meio técnico, significando o processo de impressão por uma máquina chamada “Plotter” 40 deve tratar dados provenientes de sensores, de mapas analógicos, de arquivos digitais, e por meio de interação direta. A Figura 2.2 ilustra este módulo: Mapas Analógicos Digitalização Observações Sensores Arquivos Digitais Interação Direta Varredura Ótica Meio Magnético Entrada de Dados Fig. 2.2 - Módulo de entrada de dados de um SIG. O módulo de armazenagem de dados e gerenciamento do banco de dados geográfico é considerado o coração do SIG. Após passar por ajustes, os dados são armazenados de modo a preservar a topologia, a localização geográfica de acordo com a projeção geométrica adotada, e atributos descritivos dos objetos geográficos. À frente trataremos a questão de banco de dados geográfico com mais detalhes, por agora esclarecemos que este banco é gerenciado por um programa denominado sistema gerenciador de banco de dados (SGBD). Sobre este banco de dados serão executadas consultas específicas, recuperação de dados, atualizações de dados transformados, e suporte aos mecanismos de análise de informações espaciais, característica principal de um SIG. A Figura 2.3 ilustra este módulo. O módulo sobre funções e manipulações dos dados é o componente que distingue o SIG da cartografia automatizada. É um módulo provedor de mecanismos de questionamento aos dados armazenados, de forma a analisálos, manipulá-los, e apresentá-los de uma maneira diferente da original. Podemos indicar algumas perguntas comuns que podem ser respondidas por um SIG na Figura 2.4. 41 Entrada de Dados Análise Espacial Recuperação de Dados Sistema Gerenciador de Banco de Dados BANCO DE DADOS GEOGRÁFICOS Topologia + Localização + Atributos Fig. 2.3 - Módulo de armazenagem de dados e gerenciamento de banco de dados geográficos. • Onde está localizada a cidade A ? • Qual é a população da cidade B ? • Houve um crescimento urbano nesta região nos últimos 2 anos ? • Quais são os hospitais localizados a um raio de 5 km da minha casa ? • Qual o melhor caminho para ir do ponto A ao ponto B desta cidade passando por C ? • O que acontece na região se elevarmos em 2 metros o nível da represa? • Qual a taxa de desmatamento na Amazônia entre 1995 e 1998 ? Fig. 2.4 - Questões a serem respondidas por um SIG. Quando sistemas deixam de oferecer estes tipos de mecanismos de análise, tornam-se apenas ferramentas para transformar mapas de formato analógico em formato digital, ou seja, uma automatização da área cartográfica. O último módulo trata a saída de dados através da visualização de mapas, tabelas de banco de dados, figuras, etc.. Esta saída pode ser expressa por 42 uma plotter, impressora, tela da estação de trabalho, ou por meio magnético. A Figura 2.5 ilustra a idéia. Visualização e Relatório Tela de Estação de Trabalho Figuras Impressora Plotter Tabelas Meio Magnético Mapas Fig. 2.5 - Módulo de saída de um SIG. 2.2.3 - Modelagem de Dados Geográficos Para se construir um Sistema de Informação Geográfica torna-se necessário criar um modelo que represente os fenômenos geográficos. Segundo Worboys (1995) e Câmara (1995) tal modelo representa estes fenômenos como dois grandes tipos de dados: objeto geográfico e campos. A Figura 2.6 ilustra a idéia. Na recente proposta de padronização de modelo de dados geográficos OGC (1998A), estes conceitos podem ser aproximados por “Feature with Geometry” e “Coverage” respectivamente. Uma investigação detalhada sobre este assunto será apresentada no capítulo 5 deste trabalho. Os objetos geográficos são individualizáveis e possuem identificação com elementos do mundo real. São compostos de duas partes. Uma parte define a representação geométrica do objeto geográfico (ponto, linha, polígono), que é apresentada graficamente na tela do computador e a outra que define sua descrição alfanumérica, como por exemplo seu nome, tamanho, área, perímetro, etc. 43 FENÔMENOS GEOGRÁFICOS Representados por OBJETOS GEOGRÁFICOS CAMPOS Fig. 2.6 - Representação de Fenômenos Geográficos. Por exemplo, uma determinada reserva indígena é um objeto geográfico, cuja representação geométrica é definida por um polígono, e sua descrição alfanumérica é dada pela localização geográfica de referência (12o00’ Latitude Sul, 53o30’ Longitude Oeste), pelo nome da reserva (Xingu), pela área (4300 hectares), pelo número de índios em 1995 (1568 índios) e tantos outros elementos descritivos quanto necessários. Vale ressaltar a unicidade deste objeto reserva indígena do Xingu. Campos são variações espaciais contínuas que representam grandezas distribuídas espacialmente no mundo real. Cada localização no espaço está associada a um conjunto de valores da variável espacial representada. Como exemplo de “campos” podemos tomar um mapa temático de tipos de solo. Solo é a variável espacial a ser representada e o conjunto valores associado a esta variável pode ser latossolo roxo, litossolo, cambisolo, etc.. Cada valor associado também é denominado por “tema”. Numa representação vetorial as ocorrências do tema latossolo roxo são representadas por inúmeros polígonos que, em conjunto com outros temas, preenchem por completo o espaço para o qual se pretende mapear o solo. 44 O outro exemplo são os dados provenientes de sensores remotos. Estes dados são materializados em imagens digitais onde cada pixel (menor unidade de uma imagem) reflete a resposta do solo medida por um sensor numa faixa do espectro eletromagnético. Desta forma, torna-se possível, por algoritmos de classificação, determinar faixas de variações de valores de cada pixel conforme a variável espacial de interesse, e extrair informações da imagem. A representação vetorial armazena os dados espaciais através de elementos geométricos como pontos, linhas, região e nós. A implementação computacional destes elementos exige técnicas e algoritmos de indexação em árvores como B-Tree, R-Tree, V-Tree (Câmara, 1995). O formato matricial2 representa fenômenos geográficos através de uma grade de células. Cada célula da grade é referenciada por uma linha e coluna, e contém um dado que representa o valor do fenômeno que está sendo mapeado. Por tratarem de grandes volumes de dados, estes formatos exigem técnicas que permitam otimizar o seu armazenamento. Vários algoritmos são propostos para compactar dados matricial, para maiores detalhes ver Burrough (1986). As descrições dos dados não espaciais, ou também denominados de atributos, relacionados aos objetos geográficos são armazenadas em um banco de dados relacional. ________________________ 2 Proveniente do inglês “raster”, também denominado varredura. 45 2.2.4 - Banco de Dados Geográfico O banco de dados geográfico é o componente do SIG responsável por armazenar os objetos geográficos e campos pertinentes a uma aplicação. Existem três arquiteturas básicas para se implementar um banco de dados geográfico (Câmara, 1995): • arquitetura dual; • arquitetura baseada em campos longos e • arquitetura baseada em mecanismos de extensão. Descreveremos cada uma delas a seguir: 2.2.4.1- Arquitetura Dual A arquitetura dual refere-se a uma estratégia de implementação onde utiliza-se um sistema gerenciador de banco de dados relacional (SGBDR) para armazenar os atributos descritivos dos objetos geográficos, e arquivos convencionais para guardar as representações geométricas destes objetos. Um identificador comum liga os componentes geométrico e descritivo do objeto geográfico. Para recuperar um objeto, os dois subsistemas devem ser pesquisados e a resposta é uma composição de resultados (Câmara, 1995). Como exemplos de SIGs que utilizam este tipo de arquitetura podemos citar MGE, Arc Info e Spring. A Figura 2.7 mostra um diagrama que ilustra desta definição. Existem alguns problemas relacionados a esta abordagem. O primeiro está associado ao controle da integridade em uma estratégia dual. Como um objeto geográfico possui componentes nos dois subsistemas, se ocorrer uma exclusão de um dos componentes, por motivo que não seja adequado, o outro 46 componente não será atualizado (excluído), e ocorrerá a inconsistência do objeto e consequentemente do banco de dados geográfico. SIG Entrada de Dados Análise Espacial Saída de Dados BANCO DE DADOS GEOGRÁFICOS Id nome área classe ccclasse classe descr desdescrprop Arquivos SGBDR Fig. 2.7 - Arquitetura dual para banco de dados geográfico. Com relação a consultas, também existe a dualidade, no sentido de ocorrer nos dois subsistemas separadamente. A parte da representação geométrica do objeto geográfico é consultada de forma independente pelo seu subsistema, assim como a parte descritiva do mesmo objeto é consultado pelo SGBDR. Após ambas as operações, os resultados são tratados e unidos por uma camada de nível superior de implementação e o resultado é apresentado. Um trabalho interessante utilizando esta é arquitetura foi desenvolvida por Thomé et al (1996). 47 2.2.4.2 - Arquitetura Baseada em Campos Longos A arquitetura baseada em campos longos difere da anterior por armazenar a representação geométrica dos objetos geográficos no campo longo do SGBDR. Um campo longo consiste de uma cadeia binária de grande capacidade de armazenamento, onde pode-se depositar informação gráfica, numérica ou pictórica. Nesta abordagem, tanto a parte descritiva quanto a parte da representação geométrica do objeto geográfico estarão contidas no mesmo subsistema. Ao armazenar todas as partes do objeto geográfico em um único SGBDR, evita-se problemas de controle de integridade, controle de concorrência em um ambiente multi-usuário e gerência de transações típicos de um ambiente dual (Câmara, 1995). Entretanto, esta abordagem deve prover uma camada de implementação para interpretar a massa de dados armazenada no campo longo, capturando a semântica da representação geométrica do objeto geográfico. Como exemplo desta arquitetura podemos citar o Spatial Database Engine (SDE) desenvolvido pela Environmental System Research Institute (Esri). Trata-se de um sistema gerenciador de banco de dados geográfico (espacial) que capacita SGBD Relacionais a armazenar dados espaciais e dados não espaciais. A construção deste sistema levou em consideração o processo de padronização em elaboração pelo consórcio OpenGIS. O SDE é compatível com os produtos da ESRI como ArcInfo, ArcView, ArcExplorer, etc.. (Esri, 1998). Outro exemplo é o Spatial Data Option (SDO) da Oracle que é capaz de armazenar e gerenciar dados geográficos como pontos, linhas e polígonos no banco de dados relacional. Esta implementação busca seguir o padrão que vem sendo estabelecido pelo consórcio OpenGIS. Empresas líderes no 48 segmento de SIG tais como Advanced Visual Systems, Bentley, ESRI, Formida, Intergraph, MapInfo, MCI's SHL Vision Solutions, Sedona GeoServices Inc., SmallWorld and TIMC Ltda, buscam incluir esta opção como forma de armazenamento e gerenciamento de dados geográficos. (Oracle, 1998) 2.2.4.3 - Arquitetura Baseada em Mecanismos de Extensão Uma terceira estratégia de implementação baseia-se em sistemas gerenciadores de banco de dados extensíveis (SGBD Extensíveis). Por esta abordagem, os sistemas forneceriam mecanismos para definir um objeto geográfico como sendo a extensão do seu próprio ambiente. Tanto a parte descritiva quanto a geométrica, além das funções próprias de manipulação destas partes, seriam definidos dentro do SGBD Extensível, compondo um objeto geográfico. Por estes mecanismos captura-se a semântica do objeto (Câmara, 1995). Nesta estratégia enquadram-se os sistemas gerenciadores de banco de dados orientados por objetos (SGBDOO). Essa nova geração de SGBDs está sendo pesquisada no sentido de possibilitar a integração com SIGs. Existem questões a serem avaliadas nesses SGBDs como por exemplo, o seu desempenho ao lidar com grandes volumes de dados, flexibilidade para a definição de novos métodos de acesso e armazenamento, e outros, quando tratamos de aplicações em geoprocessamento. Embora existam questões técnicas, conforme citadas anteriormente, este tipo de abordagem aumenta muito a funcionalidade e possivelmente o desempenho final da aplicação (Milne, 1993). Um exemplo da implementação desta arquitetura é o GODOT (FAW, 1998). Trata-se de um protótipo de SIG implementado em C++ que utiliza o SGBDOO ObjectStore em plataforma UNIX. Para este desenvolvimento argumenta-se que para tratar estruturas complexas como dados espaciais e não espaciais os 49 sistemas gerenciadores de banco de dados padrão apresentam certas limitações e necessitam de uma solução especial. Já os SGDOO emergentes no mercado nos últimos anos superam estas limitações. GOTHIC ADE (LASER, 1998) é outro exemplo de SIG no sentido de ser um ambiente de desenvolvimento de aplicações orientado por objetos para construir sistemas de informação que processam dados geográficos. O SBDOO tem a função de armazenar e gerenciar os dados espaciais e não espaciais. Gothic ADE está disponível para plataforma UNIX nos seguintes tipos de hardwares Hewlett-Packard, Digital, Sun e IBM workstations. Outro SIG desta categoria é o GEO2. Baseado no SGBDOO O2 (02, 1998), este sistema implementa um objeto geográfico como um objeto derivado de uma classe sob o paradigma orientado por objetos encapsulando a parte espacial e não espacial (FLEXIMAGE, 1998). Está disponível em plataforma UNIX e futuramente em Windows NT. 2.2.5 - Topologia em SIG As definições apresentadas a seguir refletem uma visão de topologia aplicada nos Sistemas de Informação Geográfica. Portanto estas definições não possuem o rigor presente em uma visão matemática. Trata-se de buscar expor a forma como os SIGs estão implementando o conceito de topologia. Pontos, linhas e polígonos são representações vetoriais utilizadas normalmente para representar fenômenos geográficos ou feições geográficas em mapas. Relacionamentos espaciais entre estes fenômenos geográficos, como por exemplo proximidade e vizinhança, são obtidos através da análise e observação dos mapas pelo intérprete. 50 Entretando, uma vez que as feições do mapa foram digitalizadas e estão representados por pontos, linhas e polígonos no computador, esta relação espacial deverá ser definida explicitamente para que se possa proceder as operações de análise espacial dos dados. Em mapas digitais, uma forma de descrever os relacionamentos espaciais é através da topologia. A topologia é definida como a parte da matemática que estuda as propriedades geométricas que não variam mediante uma deformação. Formas e coordenadas dos objetos são menos importantes que os elementos do modelo topológico como conectividade, contiguidade, definição de área, etc. Em síntese, a topologia define o relacionamento espacial das feições geográficas. A criação e o armazenamento dos relacionamentos topológicos tem diversas vantagens. Os dados espaciais são armazenados eficientemente de tal forma que um grande volume de dados pode ser processado rapidamente. A topologia facilita o processamento de funções analíticas como a modelagem do fluxo através das linhas conectadas de uma rede, combinação de polígonos adjacentes com características similares, identificação de feições adjacentes e sobreposição de feições geográficas. A estrutura arco-nó, detalhada no próximo item, suporta os três mais importantes conceitos topológicos. São eles: 1) Conectividade: Os arcos são conectados entre si pelos nós. 2) Definição de Área: Os arcos conectados em torno de uma área definem um polígono. 3) Contiguidade: Os arcos têm direção e lados direito e esquerdo. 51 Cada um destes conceitos será abordado em detalhes após a apresentação da estrutura arco-nó. Ressalta-se que este estudo se refere a representação vetorial da topologia em SIG. Existem ainda a representação matricial que não fará parte deste estudo. 2.2.5.1 - Estrutura de Dados Arco-Nó A estrutura arco-nó armazenamento de é arcos uma de representação polígonos. Por computacional esta para estrutura, o arcos compartilhados por polígonos vizinhos são armazenados uma única vez, evitando redundância e incrementando eficiência. A estrutura arco-nó armazena e referencia dados de tal forma que cada dois nós, contendo ou não vértices entre eles, formam arcos e os arcos formam polígonos. Um nó é definido por no mínimo dois pontos finais de arcos. Um arco é um segmento de linha entre dois nós. Um arco é composto por dois nós e uma série de pontos ordenados que definem sua forma. Estes pontos são chamados de vértices. Tanto os nós quanto os vértices são representados por coordenadas x,y. Vale a observação de um caso particular em que um arco é forma por um único nó pelo qual este arco tem seu início neste nó e retorna ao mesmo nó formando uma “ilha” ou “anel” com uma série de vértice neste caminho. Na Figura 2.8, os nós são criados onde as linhas se intersectam. Os arcos são criados entre os nós. Os vértices dão a forma aos arcos. Os polígonos A e B são construídos a partir dos arcos. 52 d c 1 f b 20 e A a 2 g l B 10 3 i j Identificador do Arco 1 2 3 Nó Inicio 10 20 10 h Vétices Nó Final 20 10 20 a, b, c, d, e l j, i, h, g, f Polígono A B Lista de Arcos 1,2 2,3 Fig. 2.8 - Ilustração da representação computacional da estrutura Arco-Nó. FONTE : adaptada de ESRI (1994). 2.2.5.2 - Conectividade A conectividade é um componente da topologia que auxilia, por exemplo, a identificar uma rota para um aeroporto ou verificar o fluxo de um córrego para um rio ou seguir um caminho da estação de tratamento de água para uma casa. Porém para que estes exemplos sejam viáveis por completo, é necessário, além da conectividade, outros elementos associados a representação vetorial como a impedência (sentido de fluxo) e a vazão (quantidade de elementos que fluem no trecho por unidade de tempo). Dependendo do propósito da aplicação este elementos associados podem ser alterados ao acrescidos de novos. A conectividade é possível pela implementação da estrutura arco-nó. O arco, definido por dois nós, tem em seu nó início a indicação de onde o arco começa 53 e em seu nó final a indicação de onde o arco termina. Denomina-se a isto topologia arco-nó. A topologia arco-nó é suportada através de uma lista de arco-nós. Esta lista identifica os nós início e nós final de cada arco. Através de uma pesquisa nesta lista é possível selecionar os nós comuns entre os arcos. Isto é relevante para a determinação de caminhos possíveis de serem percorridos. No exemplo da Figura 2.9 abaixo, é possível computacionalmente traçar um caminho entre os arcos 3 e 5, pois eles compartilham o nó 23. Já um caminho entre os arcos 3 e 7 é inviável porque não há compartilhamento de nós. Ressalta-se que neste exemplo não se tem a restrição de impedância portanto qualquer sentido é valido. Topologia Arco-Nó 20 21 1 Lista Arco-Nó 22 2 Arco 1 2 3 4 5 6 7 3 5 23 7 27 25 4 6 24 26 Nó Inicio 20 21 21 23 23 25 25 Nó Final 21 22 23 24 25 26 27 Fig. 2.9 - Ilustração do conceito de conectividade e topologia arco-nó. FONTE : adaptada de ESRI (1994). 54 2.2.5.3 - Definição de Área Muitas das feições geográficas representam área claramente distintas sobre a superfície da terra, tal como lagos, propriedades de terras, e setores censitários. Uma área no modelo vetorial é representado por um ou mais perímetros que definem um polígono. O caso da ilha dentro de um lago é um exemplo que reflete a idéia do polígono com dois perímetros. Um perímetro é externo e o outro é o perímetro da ilha. Novamente a topologia é utilizada para a devida representação computacional. A estrutura arco-nó representa os polígonos como uma lista de arcos ordenados. Isto é denominado de topologia polígono-arco. Na Figura 2.10 o polígono D é formado pelos arcos 2, 6, 9 e 4 . Cada arco pertence a dois polígonos. Assim, um polígono é uma lista de arcos que define seu perímetro e as coordenadas dos arcos são armazenados uma única vez, reduzindo o volume de dados e evitando redundância de perímetros de polígonos adjacentes. F 2 1 E TOPOLOGIA POLÍGONO-ARCO D 6 Polígono A B C D E 8 9 7 C 5 B 10 A 4 Lista de Arcos 5, 10, 4, 3 10, 9, 8 7 2, 6, 9, 4 5, 8, 6, 1 3 Fig. 2.10 - Ilustração da representação computacional da estrutura polígonoarco. FONTE : adaptada de ESRI (1994). 55 2.2.5.4 - Contiguidade Contiguidade é um conceito topológico que permite ao modelo de dados vetorial determinar adjacências. No SIG, denomina-se adjacência a duas feições geográficas que compartilham um arco. Conforme definido anteriormente um arco utiliza-se o conceito de nó inicio e nó final, isto indica a direção do arco, e como decorrência é determinado o polígono do lado direito e esquerdo deste arco. A topologia direita-esquerda refere-se a determinação dos polígonos do lado esquerdo e direito de um arco. Na ilustração da Figura 2.11, o arco 9 tem o polígono D ao lado esquerdo e o polígono B ao lado direito. Logo o polígono D e B são adjacentes. F TOPOLOGIA DIREITA-ESQUERDA 2 1 E Arco D 6 1 2 3 4 5 6 7 8 9 10 8 9 7 C 5 B 10 A 4 3 Polígono Esquerdo F F F D A E B E D A Polígono Direito E D A A E D C B B B Fig. 2.11 - Ilustração da topologia direita-esquerda. FONTE : adaptada de ESRI (1994). 56 CAPÍTULO 3 MODELAGEM ORIENTADA POR OBJETOS O objetivo deste capítulo é apresentar alguns conceitos associados ao desenvolvimento de sistemas de software, baseados no trabalho de Rumbaugh (1994), e a técnica de modelagem de objetos TMO. Estes conceitos servirão de alicerce para a construção dos demais capítulos. 3.1 - Introdução a Modelagem de Dados A modelagem de dados é parte integrante de uma metodologia de desenvolvimento de software. Uma metodologia é um processo organizado de produção de software, que utiliza técnicas predefinidas e notações convencionais. As etapas que compõem este processo correspondem ao ciclo de vida do software. Tradicionalmente, a formulação inicial do problema, a análise, o projeto, a implementação, os testes e a operação (manutenção e aperfeiçoamento) compõem estas etapas do ciclo de vida. A modelagem de dados é uma das etapas mais importantes do projeto de um SIG, pois a escolha de uma modelo que melhor se ajuste à realidade que pretende expressar é fator crítico para o sucesso ou fracasso do projeto (Worboys, 1995). São apresentados a seguir as definições de autores como base de discussão: “Modelo de dados é uma coleção de ferramentas conceituais para descrição dos dados, relacionamento entre os dados, semântica e restrições dos dados” (Korth e Silberschatz, 1989). “Um modelo é uma abstração de alguma coisa, cujo propósito é permitir que se conheça essa coisa antes de se construí-la” (Rumbaugh, 94). 57 Sinteticamente, modelar os dados é uma maneira de expressar uma realidade através de um formalismo que requer abstração por parte do modelador. Existem diversas técnicas para modelagem de dados, cada uma com ferramentas de abstração diferenciadas determinando a classe de problemas mais adequada ao seu uso. Um modelo completo de um sistema é composto por sub-modelos que expressam visões diferentes da mesma realidade. Essas visões estão divididas em três (Rumbaugh, 1994): 1) Visão de objetos: descreve estaticamente os objetos que compõem o sistema e seus relacionamentos através de diagramas de objetos. 2) Visão dinâmica: descreve os aspectos do sistema que se modificam com o passar do tempo, especificando o controle do sistema. Os diagramas de estado são usados como ferramenta de descrição. 3) Visão funcional: descreve as transformações dos valores dos dados de um sistema. Os diagramas de fluxo de dados são usados como ferramenta de trabalho. Cada visão descreve um aspecto do sistema, mas contém referências às outras visões. A visão de objetos descreve as estruturas de dados sobre as quais atuam as visões dinâmicas e funcional. As operações da visão de objetos correspondem a eventos nas visões dinâmicas, e a funções na visão funcional. A visão funcional descreve as funções chamadas pelas operações da visão de objetos e pelas ações na visão dinâmica. Por se tratar de abstração, é natural que exista alguma ambigüidade quando alguma informação é representada por uma visão, pois a meta é simplificar a 58 descrição sem sobrecarregar uma visão com construções complexas, de modo a se tornarem um auxílio e não um peso no desenvolvimento do sistema. Funcional Dinâmica Objetos Fig. 3.1 - As três visões de um sistema. Esses inter-relacionamentos entre visões é inevitável, compondo um fator delicado na modelagem. Segundo (Rumbaugh, 1994) essas visões são partes ortogonais, que se inter-relacionam, na modelagem de um sistema. A fig. 3.1 ilustra as visões. As metodologias estruturadas abordam as três perspectivas. Por ter como princípio a decomposição funcional para modelar sistemas, essas metodologias dão mais ênfase à visão funcional; em um segundo grau de importância, vem a visão dinâmica e por fim a de objetos. A visão de objetos, para as metodologias estruturadas, restringe-se apenas aos dados. As metodologias orientadas por objetos, da mesma forma que as estruturadas, abordam as três perspectivas, com ênfases diferentes. A visão de objetos é a mais enfatizada, depois a visão dinâmica e a funcional (Rumbaugh, 1994). A realidade geográfica modelada pelos SIGs é complexa e heterogênea. Com o estudo e análise destas técnicas de modelagem este trabalho buscará criar um embasamento conceitual para melhor compreender os modelos atuais destes SIGs. 59 3.2 - Abstração de Dados Abstração é uma capacidade de visão de alto nível que nos permite examinar problemas de forma a selecionar grupos comuns, encontrar generalidades, para melhor compreender o problema e construir modelos. A abstração deve estar associada a um propósito. Desta forma, pode-se ter várias abstrações de um mesmo problema para propósitos diferentes. A construção de modelos pela abstração possui o caráter de simplificação da realidade a ser modelada, por isso não deve procurar a verdade absoluta, mas sim a adequação ao propósito (Rumbaugh, 1994). Para auxiliar na construção destes modelos através da abstração foram desenvolvidas algumas técnicas e notações gráficas. Uma delas é a Técnica de Modelagem de Objetos - TMO que será apresentada a seguir. 3.3 - Técnica de Modelagem de Objetos A TMO aborda as três visões definidas anteriormente. A partir do uso da abstração, constrói-se três modelos: de objetos , dinâmico e funcional, além da relação entre os modelos. Neste trabalho, será tratado aspectos ligados a banco de dados, logo será enfatizado a modelagem das estruturas estáticas e seus relacionamentos: o modelo de objetos. Precedendo a notação TMO, será mostrado alguns conceitos básicos de modelagem de objetos como : objeto, atributo, operações e classes. 60 3.3.1 - Objeto, Atributo e Operações Define-se um objeto como um conceito, uma abstração, algo com limites nítidos e significado em relação à realidade estudada (Rumbaugh, 1994). Os objetos facilitam a compreensão do mundo real e oferecem uma base real para a implementação em um sistema de software. Eles possuem identidade e são distinguíveis. Os exemplos a seguir ilustram a idéia de objeto: o homem Mohandas K. Gandhi, o rio Amazonas, a cidade de São José dos Campos, a empresa Human Tecnologies Ltda., etc.. Objetos possuem características próprias que descrevem o seu estado em um determinado momento, e a isso denomina-se atributos ou propriedades de um objeto. A exemplo a seguir ilustra o conceito de atributo: “A cidade de São José dos Campos possui uma população de 450.000 habitantes.” Neste caso “população” é um atributo que descreve o objeto “São José dos Campos” em um determinado momento. Os objetos são responsáveis por atuar sobre os seus atributos e também sobre outros objetos, para isto desempenham diversas “operações”. Essas operações descrevem o comportamento do objeto. Os métodos são a implementação dessas operações. A seguir são mostrados dois exemplos de operação: “A cidade de São José dos Campos incrementou sua população de 50.000 novos habitantes.” Neste caso, a operação de “incrementar” será implementada por um método do objeto “São José dos Campos” que adicionará “50.000” no atributo “população”. No segundo exemplo: “A população do Brasil é de 140.000.000 61 de habitantes.”, o objeto “Brasil” poderáa se relacionar com todos os objetos que representam os estados brasileiros (objeto São Paulo, objeto Amazonas, etc.) para acumular os respectivos valores dos atributos “população” ou poderá se relacionar as cidades brasileiras e acumular seus valores. Da mesma forma, esses objetos representantes dos estados brasileiros se relacionam com cada objeto representante da cidade de seu estado (objeto São José dos Campos, objeto Ribeirão Preto, etc.) para acumular suas populações. 3.3.2 - Classes Uma classe de objetos descreve um grupo de objetos com propriedades semelhantes (atributos), o mesmo comportamento (operações) e conseqüentemente a mesma semântica (Rumbaugh, 1994). No exemplo anterior, já tocamos nesta definição, quando expressamos “objetos que representam...” ou seja, objetos de uma mesma classe, por exemplo: “estados brasileiros” e “cidades”. Os objetos de uma classe compartilham um objetivo semântico comum, além dos requisitos de atributos e comportamento. Dessa maneira, embora um celeiro e um cavalo tenham ambos um preço e uma idade, provavelmente pertencem a classes diferentes. Se o celeiro e o cavalo fossem vistos apenas como bens contábeis, provavelmente pertenceriam a mesma classe. Se o desenvolvedor levar em consideração que um celeiro deve ser pintado, e um cavalo, alimentado, eles seriam modelados como classes distintas. A interpretação da semântica depende do propósito de cada aplicação, sendo uma questão de critério. Cada metodologia de modelagem utiliza uma notação gráfica própria. Esta discussão utiliza a notação de Rumbaugh (1994). A Figura 3.2 indica esta notação para o diagrama de objetos. 62 Cidade Cidade Nome : String População : Integer Centroid : Integer Incrementar_População Classe (Cidade) Nome=São José dos Campos População=450.000 Centroid=156 Objetos da Classe Cidade Atributos Operações (Cidade) Nome=São Paulo População=2.200.000 Centrid=248 Fig. 3.2 - Notação Gráfica TMO. Para completar a apresentação da modelagem orientada por objetos, torna-se necessário outros conceitos chaves da TMO que serão discutidos a seguir. 3.3.3 - Associação, Ligação e Multiplicidade A associação descreve um conjunto de ligação com estrutura e semântica comuns. Exemplo: “Uma cidade pertence a um estado”. Assim como as classes, as associações podem possuir atributos provenientes da semântica de cada ligação. Ligação é a conexão física ou conceitual entre instâncias de objetos. Exemplo: “A cidade de Ribeirão Preto pertence ao estado de São Paulo”. Uma ligação é uma instância de uma associação. A multiplicidade especifica quantas instâncias de uma classe relacionam-se a uma única instância de uma classe associada, restringindo a quantidade de objetos relacionados. A multiplicidade pode ser expressa, de maneira geral, por “um” ou “muitos”. No entanto, é possível utilizar intervalos bem definidos. A simbologia adotada representa por uma “bola cheia” na extremidade do relacionamento a multiplicidade “muitos” significando zero ou mais, e para 63 “bola vazia” a multiplicidade zero ou um. Na Figura 3.3 são ilustradas o emprego dessas notações. “um” para “um ou zero” Microcomputador Utilizado por Usuário “um” para “muitos ou zero” Usufruído por Hotel Usuário “muitos ou zero” para “muitos ou zero” Cursar Disciplina Aluno intervalos definidos Cruza Linha +2 Ponto Fig. 3.3 - Exemplos de associação e multiplicidade. 3.3.4 - Atributo de Ligação Assim como um atributo é uma propriedade dos objetos de uma classe, um atributo de ligação é uma propriedade das ligações de uma associação. Na fig. 3.4, “avaliação” é um exemplo de propriedade de associação que é do tipo “muitos ou zero” para “muitos ou zero”. Desta forma, dado um determinado aluno, este deverá ter muitas avaliações dependendo de cada disciplina que cursar. No modo inverso, dado uma disciplina, esta avaliará os diversos alunos que a cursam. 64 Cursar Disciplina Aluno Avaliação Fig. 3.4 - Exemplos de atributo de ligação. 3.3.5 - Agregação A agregação é um tipo de associação forte onde um objeto agregado é contituído de componentes. A agregação é representada pelo relacionamento “parte-todo” ou “uma-parte-de” no qual os objetos que representam os componentes de alguma coisa são associados a um objeto que representa a estrutura inteira. Em termos semânticos, o objeto agregado é um objeto estendido tratado como uma unidade em muitas operações, embora fisicamente ele seja composto por objetos menores. Uma agregação é representada graficamente pelo símbolo de losango. O exemplo da fig. 3.5 ilustra a idéia exposta. Projeto de Casa Estrutural Hidráulico Elétrico Exterior Arquitetura Interior Paisagismo Fig. 3.5 - Conceito de agregação aplicado a um exemplo de projeto de casa. 65 3.3.6 - Generalização, Especialização e Herança Esses termos referem-se a aspectos da mesma idéia e são freqüentemente usados de forma intercambiável. Utilizamos generalização para nos referirmos ao relacionamento entre classes, enquanto a herança refere-se ao mecanismo de compartilhamento de atributos e operações utilizando o relacionamento de generalização. Generalização e especialização são dois diferentes pontos de vista do mesmo relacionamento, vistos a partir da superclasse ou das subclasses. Generalização deriva do fato de que a superclasse generaliza as subclasses. Especialização refere-se ao fato de que as subclasses refinam ou especializam a superclasse. A Figura 3.6 ilustra esses conceitos. Estado Id_Estado: String Nome: String Nro_Cidade: Integer Area: Float Calcula_População():Integer Estar/Possui Cidade Nome : String População : Integer Centroid : Integer Incrementar (Valor):Integer Tipo da Cidade Capital Verba_Estadual: Float Meta_Educação: String Meta_Saude: String Agregação onde “Estados” são compostos por muitas “Cidades”. “Um estado possui muitas cidade e uma cidade está em um estado.” Especialização da classe “Cidade” em subclasses “Capital” e “Município”. As subclasses herdam os atributos e operação da superclasse “Cidade”. Municípios %_Verba_Estadual: Foat Prioridades: String Fig. 3.6 - Exemplo de Especialização e Herança. 66 A herança múltipla é um conceito que consideramos relevante para o trabalho, uma vez que aumenta a capacidade de especificação das classes. A herança múltipla permite que uma classe possua mais de uma superclasse e herde as características de todos os seus ancestrais. Isto possibilita a mesclagem de informações de duas ou mais classes. A desvantagem desta prática está na perda de simplicidade conceitual e de implementação. A Figura 3.7 expressa a idéia. Por esta possibilidade de modelagem, uma característica proveniente da mesma classe ancestral encontrada em mais de um caminho é herdada apenas uma vez. Os conflitos de definições paralelas criam ambigüidades que precisam ser resolvidas seja pelas implementações ou por ajustes no modelo, que impeçam a herança múltipla. No exemplo da Figura 3.7 uma possível solução para se evitar a herança múltipla, na modelagem, é “elevar” a classe “Veículo Anfíbio” para o mesmo nível de “Veículo Terrestre” e “Veículo Aquático”, tornando-se uma outra especialização de “Veículo”. Desta forma o novo modelo seria como apresentado pela Figura 3.8. Em razão deste ajuste deve-se adicionar explicitamente à classe “Veículo Anfíbio”, em forma de novos atributos, as características que antes eram herdadas de ambos os ancestrais e que também eram motivo de conflitos. Outras soluções são possíveis no nível de implementação, no sentido de fazer uso de mecanismos oferecidos pela linguagem escolhida. Esta abordagem não será detalhada neste trabalho por entendermos tratar-se de um nível mais baixo de detalhes, fora do nível conceitual o qual pretendemos seguir. Uma boa explicação sobre este assunto encontra-se em (Rumbaugh, 1994). 67 Veículo Veículo Terrestre Carro Veículo Aquático Veículo Anfíbio Barco Fig. 3.7 - Exemplo de herança múltipla: a classe “Veículo Anfíbio” possui duas superclasses. Veículo Veículo Terrestre Carro Veículo Aquático Veículo Anfíbio Barco Fig. 3.8 - Novo modelo ajustado para evitar a herança múltipla. 3.3.7 - Polimorfismo Um outro conceito utilizado na abordagem orientada por objetos denomina-se polimorfismo. Trata-se da possibilidade que uma mesma operação possui de atuar de modos diferentes em classes diferentes. Isto é possível quando uma operação esteja declarada em classes diferentes, porém com o mesmo nome, executando processamentos diferentes para atender os requisitos semânticos de sua classe. Por exemplo, uma operação de “mover” para classe “Janela” executa um processo diferente do que a operação “mover” para classe “Peça- 68 de-Xadrez”. Enquanto uma operação modifica a posição de uma janela a outra movimenta uma peça de xadrez. 3.4 - Persistência de Objetos em Ambientes Relacionais Este tópico visa completar os tópicos antecessores sobre a TMO apresentando algumas técnica de mapeamento das classes de dados e suas associações em tabelas em um banco de dados relacional. Denominamos a isto persistência de dados em ambientes relacionais. A discussão a seguir é baseada no texto de Rumbaugh (1994). 3.4.1 - Mapeamento de Classes De uma maneira geral cada classe persistente dá origem a uma tabela, onde cada atributo da classe corresponde à uma coluna, e os valores dos atributos para cada objeto na classe correspondem a uma linha. No entanto, deve-se, neste mapeamento, ter o cuidado de criar a coluna de identificação, ou seja a chave primária de cada linha ou registro armazenado. Em um programa C++, quando ocorre a criação de um novo objeto, é gerado automaticamente o identificador deste objeto. Já em um banco de dados relacional cabe ao desenvolvedor a responsabilidade desta criação. Quando ocorre o mapeamento, recomenda-se armazenar no banco de dados relacional o identificador do objeto como chave primária, ou qualquer outro atributo do objeto que possa identificá-lo de forma única. A Figura 3.9 a seguir mostra um exemplo de conversão de uma classe persistente em uma tabela. Nesse exemplo a classe “Municipio” possui os atributos “Nome” e ”Populacao_98”. Quando ela é convertida para a tabela “Municipio”, acrescenta-se a coluna “Id-Municipio”, pois a classe não possui um 69 atributo ou um conjunto de atributos que possa ser considerado “chave”. Essa estratégia é compatível com as linguagens baseadas em objetos, onde os objetos têm identidades independentes das suas propriedades. Municipio Nome População98 TABELA MUNICIPIO Id- Municipio Nome População98 123 São José dos Campos 450.000 100 São Paulo 12.000.000 131 São José do Rio Preto 480.000 171 Guarujá 204.000 ... ... ... Fig. 3.9 Mapeamento de Classes em Tabelas. 3.4.2 Mapeamento de Associações Muitos para Muitos Cada associação “muitos para muitos” entre objetos persistentes deve ser mapeada em uma nova tabela. As chaves das tabelas das classes associadas transformam-se em atributos dessa nova tabela. Um exemplo do mapeamento de associação muitos para muitos é dado na fig. 3.10. Neste exemplo foi utilizado a propriedade “Nro_Lei” da classe “Leis” para ser a chave primária ou identificador único da tabela gerada pelo mapeamento desta classe no banco de dados relacional. 70 Municipios Leis Nome Area_km2 Pop98 Nro_Lei Data Ambito TABELA MUNICIPIOS TABELA LEIS Id Nome Area_km2 Pop98 Nro_Lei Data Ambito 121 São Carlos-SP 1.800 320.000 122.444.78 10/09/97 Estadual 233 Londrina-PR 2.360 120.000 145.883.33 03/02/98 Federal 321 Santa Maria-RS 1.640 480.000 111.211.44 08/12/97 Federal 600 Cuiaba-MS 2.660 430.000 223.444.76 10/04/98 Estadual ... ... ... ... ... ... ... TABELA MUNICIPIOS_LEIS Id Nro_Lei 121 122.444.78 121 145.883.33 233 223.444.76 233 145.883.33 233 111.211.44 ... ... Fig. 3.10 Mapeamento de Associações “muitos para muitos” para Tabelas. 3.4.3 - Mapeamento de Associações Um para Muitos Existem duas maneiras de se mapear associações “um para muitos” entre objetos persistentes para o modelo relacional. São elas : • Caso 1. No primeiro caso transpõe-se a chave primária da tabela correspondente à classe do lado “Muitos”, para a tabela correspondente à 71 classe do lado “1”. (Por “transpor” deve-se entender criar uma coluna com a chave da tabela correspondente à uma determinada classe, em outra tabela). Um exemplo é dado na Figura 3.11 a seguir. Quadras Lotes Id_Quadra Area Perimetro Id_Lote Area Proprietario TABELA QUADRAS TABELA LOTES Id_Quadra Area_m2 Perimetro Id_Lote Area Proprietário Id_Quadra A-10 4.580 383 10-01 1.200 Antonio C. M. A-10 B-08 5.200 652 10-05 1.800 Paulo M. A-10 C-22 4.220 322 08-03 900 Luiza E. B-08 ... ... ... 08-07 800 Luis I. L. S. B-08 22-01 2.200 Fernando H. C. C_22 ... ... ... ... Fig. 3.11 Mapeamento de associações “um para muitos” do caso 1. • Caso 2. No segundo caso cria-se uma tabela correspondente à associação, transpondo para ela as chaves das duas classes. Um exemplo é dado na Figura 3.12 a seguir (foram usadas as classes “Quadras” e “Lotes” do exemplo anterior). 72 TABELA QUADRAS TABELA LOTES Id_Quadra Area_m2 Perimetro Id_Lote Area Proprietário A-10 4.580 383 10-01 1.200 Antonio C. M. B-08 5.200 652 10-05 1.800 Paulo M. C-22 4.220 322 08-03 900 Luiza E. ... ... ... 08-07 800 Luis I. L. S. 22-01 2.200 Fernando H. C. ... ... ... TABELA QUADRAS_LOTES Id_Quadra Id_Lote A-10 10-01 A-10 10-05 B-08 08-03 B-08 08-07 C_22 22-01 ... ... Fig. 3.12 - Mapeamento de associações “muitos para um” do caso 2. Porém quando deve-se usar o Caso 1, e quando deve-se usar o Caso 2 ? A seguir são apresentadas algumas vantagens e desvantagens de cada abordagem. Elas devem ser analisadas de acordo com os requisitos estabelecidos pelo sistema que está sendo desenvolvido (Setzer,1986). A Figura 3.12 tem uma tabela a menos. Isso significa menor espaço ocupado pelos arquivos resultantes e, muito mais importante, maior eficiência (rapidez) no processamento de operações que envolvam a associação. As transações são também expressas de maneira mais simples. Portanto, se eficência for um requisito do sistema que está sendo desenvolvido, deve-se optar por essa abordagem. 73 A Figura 3.12 apresenta uma solução com maior independência de dados : a tabela “Lotes” contém exclusivamente seus dados próprios, ao contrário da Figura 3.11 em que recebe a chave de “Quadras”. Uma vantagem da Figura 3.12 é que uma mudança estrutural do tipo da associação, passando de “muitos para um” para “muitos para muitos”, não requer nenhuma alteração estrutural nas tabelas, ao contrário da Figura 3.12. 3.4.4 - Mapeamento de Associações Um para Um Para se fazer o mapeamento das associações “um para um” entre objetos persistentes deve-se criar uma tabela para cada classe, e transpor a chave de uma tabela para a outra. O sentido da transposição depende das formas de acesso para ganho de eficiência. Os exemplos da Figura 3.13 e da Figura 3.14 a seguir mostram as duas maneiras de se mapear as associações um para um em tabelas. O exemplo da Fig. 3.13 é melhor pois como todas as ocorrências de Imposto Predial e Territorial Urbano (IPTU) possui um “lote” associado, logo a transposição da chave de “lotes” para a tabela de “IPTU” não existirá ocorrência de valores vazios. Já o contrário, como mostrado pela Figura 3.14, nem todas as ocorrência de “lotes” possuem um “IPTU” associado. Os “lotes” da “prefeitura” são isentos de “IPTU”. Neste último caso, na transposição da chave de “IPTU” para “lotes”, existirá valores vazios nesta chave transposta para as ocorrências de “lotes” pertencentes a “prefeitura” por exemplo. São eles : • Caso 1. Transpõe-se a chave de “Lotes” para “IPTU”, como mostra a Figura 3.13 a seguir. 74 IPTU Lotes Nro_IPTU Valor Vencimento Situação Id_Lote Area Proprietario TABELA LOTES TABELA IPTU Id_Lote Area Proprietário Nro_IPTU Valor Vencimento Situacao Id_Lote 10-01 1.200 Antonio C. M. 0345/96 1.200,00 12/03/98 NOT_OK 10-01 10-05 1.800 Paulo M. 0337/97 1.800,00 12/03/98 NOT_OK 10-05 08-03 900 Luiza E. 0224/95 900,00 12/03/98 OK 08-03 08-07 800 Luis I. L. S. 0112/97 800,00 12/03/98 OK 08-07 22-01 2.200 Fernando 0332/92 2.200,00 12/03/98 OK 22-01 ... ... ... ... ... H. C. 22-02 3.000 Prefeitura 25-01 1.450 Prefeitura ... ... ... Fig. 3.13 Primeira alternativa para mapear associações “um para um” em tabelas - caso 1. • Caso 2. Transpõe-se a chave de “IPTU” para “LOTES”, como mostra a Figura 3.14 a seguir. 3.4.5 - Mapeamento de Generalizações Existem três abordagens principais para o mapeamento de generalizações de classes persistentes em tabelas. Serão dados exemplos das três abordagens tomando-se como base a Figura 3.15. São elas : 75 TABELA LOTES Id_Lote Area TABELA IPTU Proprietário Nro_IPTU Nro_IPTU Valor Venciment Situacao o 10-01 1.200 Antonio C. M. 0345/96 0345/96 1.200,00 12/03/98 NOT_OK 10-05 1.800 Paulo M. 0337/97 0337/97 1.800,00 12/03/98 NOT_OK 08-03 900 Luiza E. 0224/95 0224/95 900,00 12/03/98 OK 08-07 800 Luis I. L. S. 0112/97 0112/97 800,00 12/03/98 OK 22-01 2.200 Fernando 0332/92 0332/92 2.200,00 12/03/98 OK ... ... ... ... H. C. 22-02 3.000 Prefeitura Null 25-01 1.450 Prefeitura Null ... ... ... ... Fig. 3.14 - Segunda Alternativa para Mapear associações “um para um” em Tabelas - Caso 2. • Caso 1. A classe de generalização e as classes de especialização são mapeadas cada uma para uma tabela. A chave da tabela da classe de generalização é reproduzida nas tabelas das classes de especialização. Um exemplo é dado na Figura 3.16. Nesse exemplo, a identidade de um objeto através de uma generalização é preservada com a utilização de um ID compartilhado. Desse modo, uma dada ocorrência de “nó” terá uma linha na tabela “Pontos”, e outra linha na tabela “Nos”, e em ambas as ocorrências permanecerá o mesmo valor para “Id_Ponto”. A coluna “Tipo” é acrescentada à tabela “Pontos” para que se possa saber que tabela pesquisar, se a tabela de “nos” ou se a tabela de “vertices”. A navegação nas tabelas do exemplo anterior poderia ser feita da seguinte forma : 76 Ponto Coordenada_X Coordenada_Y Nó Vértice Nro_de_Arcos Posição Fig. 3.15 - Exemplo de generalização-especialização: ponto, nó e vértice. TABELA PONTOS Id_Ponto Coordenada_X Coordenada_Y TIPO 0001 3445 23322 NO 0002 7772 27765 NO 0003 8290 20900 VERTICE 0004 0023 00090 VERTCE ... ... ... ... TABELA NOS TABELA VERTICES Id_Ponto Nro_de_arcos Id_ponto Posicao 0001 4 0003 2 0002 5 0004 1 ... ... ... ... Fig. 3.16 - Mapeamento de generalização-especialização em tabelas de generalização e em tabelas de especialização - Caso 1. 77 1) Dado o identificador de um ponto, descobre-se a linha da tabela “Pontos” correspondente a ele. 2) Recupera-se o tipo do ponto para essa linha da tabela. 3) Vai-se para a tabela da classe de especialização indicada pelo tipo do ponto e encontra-se a linha com o mesmo identificador da linha da tabela “pontos”. • Caso 2. Cada classe de especialização é mapeada para uma tabela. A classe de generalização é eliminada, e seus atributos são reproduzidos em cada tabela de especialização. Um exemplo é dado na Figura 3.17 a seguir. TABELA NOS Id_Ponto Coordenada_X Coordenada_Y Nro_de_arcos 0001 3445 23322 4 0002 7772 27765 5 ... ... ... ... TABELA VERTICES Id_ponto Coordenada_X Coordenada_Y Posicao 0003 8290 20900 2 0004 0023 00090 1 ... ... ... ... Fig. 3.17 - Mapeamento de generalização-especialização em tabelas de especialização - Caso 2. • Caso 3. A classe de generalização é mapeada para uma tabela juntamente com os atributos das classes de especialização. Um exemplo é dado na Figura 3.18. 78 TABELA PONTOS Id_Ponto Coordenada_X Coordenada_Y Nro_Arco Posicao 0001 3445 23322 4 Null 0002 7772 27765 5 Null 0003 8290 20900 Null 2 0004 0023 00090 Null 1 ... ... ... ... ... Fig. 3.18 - Mapeamento de generalização-especialização em tabela de generalização. Porém em que situação deve-se usar cada caso ? Abaixo seguem algumas vantagens e desvantagens de cada abordagem. Elas devem ser analisadas de acordo com os requisitos estabelecidos pelo sistema que está sendo desenvolvido (Rumbaugh,1994) : 1) A Figura 3.16 apresenta a abordagem padrão, que é a mais correta e estensiva logicamente. Contudo ela envolve muitas tabelas, e a navegação das classes de generalização para as classes de especialização pode ser lenta. 2) A Figura 3.17 apresenta uma abordagem que pode ser utilizada se as classes de especialização possuírem muitos atributos, se a classe de generalização tiver poucos atributos, e se a aplicação souber qual classe deve ser pesquisada. 3) A Figura 3.18 apresenta a abordagem menos satisfatória, porém ela pode ser útil se existirem somente duas ou três classes de generalização com poucos atributos. 79 4) As abordagens das Figura 3.17 e Figura 3.18 são abordagens alternativas motivadas pelo desejo de eliminar a navegação da classe de generalização para as classes de especialização, melhorando o desempenho de consultas; contudo, esta melhora de desempenho incorre em outros problemas, tal como armazenamento de valores nulos. 80 CAPÍTULO 4 MODELAGEM DE DADOS EM SISTEMAS DE INFORMAÇÃO GEOGRÁFICA Este Capítulo possui três objetivos fundamentais. O primeiro visa realizar uma investigação sobre a forma como o conhecimento geográfico foi modelado e implementado em três SIGs de mercado: MGE, Arc/Info e SPRING. O segundo objetivo visa descrever os conceitos que envolvem o OPENGIS, mais especificamente feição e coverage. O terceiro busca realizar uma comparação entre os três SIGs apresentados, tendo como referência os conceitos do OPENGIS. 4.1 - MGE 4.1.1 - Conceitos e Fundamentos O MGE, “Modular GIS Environment”, é um sistema gerenciador de dados geográficos que possibilita capturar, armazenar, recuperar, analisar e apresentar dados espaciais (Intergraph,1994). O banco de dados geográfico construído por este sistema implementa uma arquitetura dual onde os mapas (informações gráficas) e tabelas (informações não gráficas) são armazenados em ambientes diferentes. 4.1.2 - Arquitetura do Sistema Este sistema possui como característica fundamental a modularidade. São diversos pacotes que se agregam visando atender um propósito específico de trabalho. Existem três módulos primários sem os quais não se consegue desenvolver qualquer trabalho. São eles: 81 1) MGE Basic Nucleus (MGNUC): trata-se do ambiente que permite o MGE compilar e integrar todas os outros módulos e aplicações. Este módulo oferece funções básicas para o gerenciamento de projetos, ferramentas para consulta de dados, apresentação de dados geográficos, e se utiliza de sistemas de coordenadas de projeção. 2) MGE Basic Administrator (MGAD): componente que oferece ferramentas de gerenciamento de banco de dados para preparar o acesso aos dados de um projeto em um ambiente multi-usuário ou mono-usuário. O MGAD oferece uma configuração essencial e rotinas de gerenciamento para funcionalidades disponíveis no MGE Basic Mapper (MGMAP). O MGAD é necessário para um ambiente de rede local, quando um banco de dados relacional é configurado como parte do sistema MGE para tratar dados não espaciais ou alfanuméricos. 3) MGE Base Mapper (MGMAP): Contém funcionalidades que permitem capturar, generalizar, ajustar, manipular e validar dados do projeto em um ambiente interativo ou automático e funções para transformar descrições de localização em posição geográfica (espacialização). Além destes módulos primários, existem também os módulos básicos que são a plataforma sobre o qual são executados módulos primários. São eles: 1) MicroStation: componente que oferece um completo ferramental gráfico para desenhar vetores geométricos que representam dados espaciais. Por exemplo, uma estrada pode ser uma série de linhas. 2) Relational Interface System (RIS): trata-se do software responsável pela comunicação com o banco de dados relacional. Este módulo torna o banco de dados relacional transparente ao usuário e permite que a interfaces do MGE composta por menus acesse o banco de dados utilizado. 82 3) Relational Data Base (RDB): trata-se do SGBD utilizado para armazenar informações descritiva dos atributos que usualmente estão associadas aos dados gráficos provenientes do MicroStation. Por exemplo, pode-se armazenar o nome e o tipo do pavimento como atributos em um banco de dados relacional que descreve uma estrada. O MGE suporta muitos SGBD relacionais. São eles: INFORMIX, INGRES, ORACLE, SYBASE e DB2. A Figura 4.1 abaixo ilustra a arquitetura do sistema MGE. MGE Base Mapper e outros Aplicativos MGE Basic Administrator (MGAD) MGE Basic Nucleus Relational Interface System (RIS) Sistema Banco de Dados Relacional Microstation Fig. 4.1 - Arquitetura do Sistema MGE. FONTE : adaptada de Intergraph (1994). 4.1.3 - Projeto Um projeto no MGE combina todas as fontes de informações geográficas. Um projeto está associado a uma área de estudo e é uma coleção de informações geográficas (mapas e tabelas) relacionadas. No projeto, as informações são estruturadas conforme sua origem. As feições geográfica são agrupados em categorias, os elementos alfanuméricos são armazenados em tabelas em um sistema gerenciador de banco de dados relacional. Para isto deve existir um esquema que reflete esta estruturação no banco de dados. A seguir são apresentados esses conceitos mais detalhadamente. 83 4.1.3.1 - Esquema Cada projeto MGE pode ter seu próprio esquema (uma coleção de tabelas e privilégios de acesso do projeto ao banco de dados) ou vários projetos podem compartilhar um esquema. Caso se esteja trabalhando sobre um ambiente multiusuário, torna-se possível usar esquemas residentes em sistemas remotos. 4.1.3.2 - Categorias e Classes de Feições Em um projeto MGE os fenômenos geográficos são representados por categoria, classes de feições e feição geográfica. Cada feição geográfica, representada por um ponto, uma linha ou um polígono, é materializada em um mapa ou arquivo .DGN e deverá pertencer a uma classe de feição. As classes de feições são agregadas em categorias. A Figura 4.2 ilustra esta lógica. 4.1.3.3 - Representação da Informação Gráfica As informações gráficas no MGE são armazenadas em arquivos de projeto no MicroStation (.DGN), também usuamente denominados como mapas digitais. Um elemento geográfico é representado sobre o mapa como uma feição geográfica. Os tipos de feições representadas no MGE são ponto, linha, fronteira de área3 e identificador de area4: ___________________________ 3 4 Traduzido do inglês ‘area boundary’. Traduzido do inglês ‘area centroid’. 84 Categoria Agrupadas em Classe de Feições Fig. 4.2 - A representação de fenômenos geográficos no MGE: classe de feição e categoria. • Ponto: Um ponto representa a localização de um elemento geográfico, tal como um poste ou hidrante, que é tão pequeno que não pode ser representado como uma linha ou área. Um ponto pode ser representado sobre o mapa como um ponto MicroStation (linha de tamanho zero), nó texto, texto, ou elemento de célula. • Linha: Trata-se de um conjunto de pontos conectados. Ruas, rios são tipicamente feições lineares. • Fronteira de Área: Trata-se de um conjunto de linhas fechadas sobre uma região geográfica, como a fronteira de uma lago ou a fronteira de uma cidade. As fronteiras são compartilhadas por áreas adjacentes, sendo que o elemento gráfico não necessita ser duplicado. • Identificador de Área: Este tipo de feição contém informações sobre os atributos de uma área, e devem ser localizados em algum lugar no interior da fronteira da área. No MGE deve-se criar tabelas com atributos para conter essas informações e ligá-las às feições. Um identificador de área 85 pode ser apresentado sobre o mapa como um ponto, nó texto, texto ou elemento célula. • Indefinido: Este tipo de feição pode ser tudo que o usuário do sistema determinar. Uma grade é um exemplo de uma feição indefinida. 4.1.3.4 - Representação da Informação Não Gráfica As informações não espaciais no MGE ou atributos descritivos, conforme definido em no tópico 2.2.4.1 Arquitetura Dual, são armazenadas em tabelas em um SGBD relacional. Por exemplo, em um mapa de edificações é possível associar, a todas as ocorrências, dados alfanuméricos tais como: endereço, número de andares, nome da construtora, data de finalização da construção, etc. O MGE permite aos usuários executar esta associação pela criação dos atributos na tabela, pelo cadastro dos dados, e pela ligação com as classes de feições. A associação dos valores de um ou mais atributos ligados a uma classe de feição é chamado de definição de atributos. O MGE deixa o usuário definir o atributo automaticamente para as feições quando elas são digitalizadas (digitalização inteligente) ou, posteriormente, identificando-as uma a uma e cadastrando-as. 86 4.1.4 - Modelagem de Dados no MGE Identificou-se, até este ponto, alguns conceitos gerais que refletem como o MGE interpreta os dados geográficos e os trata computacionalmente. Este item abordará com um grau maior de detalhe as estruturas internas de armazenamento e a manipulação dos dados geográficos. De uma forma geral todos os dados deverão estar organizados em um projeto. O projeto constitui-se da seguinte hierarquia: projeto, índices, categorias (nível de índice), classe de feições (nível de feições) e atributos. A Figura 4.3 ilustra esta hierarquia. Projeto Índices Categoria Classe de Feições Fig. 4.3 - Organização Hierárquica de Dados Geográficos no MGE. Um projeto é organizado por índices, que são denominados como arquivos de índices geográficos. Esses índices são arquivos (.dgn) que contêm formas geométricas que envolvem as classes de feições materializadas sobre o mapa. Um índice pode ser composto por até 63 categorias. Cada categoria componente pertence a um único nível do índice. 87 Uma categoria contém qualquer número de classes de feições ou temas relacionados, que por sua vez agregam as feições geográficas materializadas em mapas. Um mapa é simplesmente um arquivo de projeto (.dgn) que contém feições geográficas. Cada feição geográfica é classificada em uma classe de feição. Uma classe de feição pode ou não ter associada uma tabela de atributos definida pelo usuário, no qual contém informação não gráfica sobre cada feição geográfica. Para exemplificar alguns destes conceitos vejamos o exemplo de modelagem e estruturação no MGE da Figura 4.4. É mostrado um exemplo de um projeto onde que modelou-se uma realidade natural e uma realidade artificial que ocorreu como decorrência da intervenção do homem. (Intergraph, 1994) adaptado. Um projeto necessita de um conjunto de dados que incluem arquivos de mapas, arquivo de índices geográficos, banco de dados com as tabelas predefinidas, arquivos de suporte e arquivos padrão. Os arquivos de mapas são arquivos no formato ‘dgn’ que contêm as feições digitalizadas. Cada feição é um elemento do MicroStation com pelo menos um atributo de ligação para a tabela de feição e opcionalmente, uma ligação com uma tabela de atributos definida pelo usuário. Um mapa também contém um sistema de coordenada MGE. A Figura 4.5 modela esta lógica. O limite espacial de um mapa é denominado índice geográfico. Um nível em um arquivo índices geográficos contém os limites espaciais dos mapas que compõem uma categoria. Podem existir tantos níveis quantos forem o número de categorias existentes. O nível e o nome do arquivo de índice para uma categoria são armazenados na tabela de categoria na banco de dados. A Figura 4.6 ilustra a idéia. 88 PROJETO XXX Índice - natural.idx Índice - artificial.idx Categoria - Hidrografia Categoria - Vias Nível do Índice 1 Nível da Feição 1 2 3 4 5 Nível do Índice 1 Feições Nível da Feição Mapas Área Inundável Texto Lago Margem Dupla Margem Simples hidro.dgn 1 2 3 4 5 Feições Rodovia Texto Rodo Ruas Texto Rua Margem Simples Categoria - Físico 1 2 3 4 5 6 Feições ruas.dgn texto.dgn Nível do Índice 2 Nível da Feição Mapas Uso da Terra Identificador Uso Solo Identificador Solo Vegetação Identificador Veg. rodo.dgn Categoria - Estruturas Nível do Índice 2 Nível da Feição Mapas uso.dgn 2 4 5 solo.dgn Feições Mapas Id Ponte Construção Id Construção veg.dgn ponte.dgn constr.dgn texto.dgn Categoria - Propriedades Nível do Índice 3 Nível da Feição 22 23 5 6 Feições Quadra Id Quadra Lote Id Lote Mapas Quadra.dgn Lote.dgn Fig. 4.4 - Exemplo de organização dos dados no MGE. FONTE : adaptada de Integraph (1994). O objetivo do arquivo de índices geográficos é, como o próprio termo “índice” sugere, servir de uma primeira aproximação para definir a área geográfica de interesse. Após ser realizada esta aproximação, através de ferramentas de “zoom” por exemplo, sobre os arquivos de índices geográficos que armazenam somente os limites espaciais envolventes do conjuntos de feições geográficas, carrega-se, em detalhes, todas as feições geográficas. Um segundo objetivo é a organização que se impõe ao projeto no sentido de referenciar categorias com determinadas semelhanças em um mesmo arquivo de índice geográfico. 89 Arquivos de Mapas CLASSE DE FEIÇÕES Mslink fcode fname tablename category ftype flevel fstyle fweight fcolor digcmd displaypriority outros... ROTULOS rotulo contentstmt x y CATEGORIA Mslink cname indexname indexlevel indextype TABELA DO USUARIO Mslink MapId Outras Atributos... Fig. 4.5 - Modelo de Dados implementado no MGE para arquivo de mapas. A utilização deste mecanismo é tanto conveniente e importante quanto for a dimensão e volume de dados gráficos do projeto. A Figura 4.7 reflete o modelo de dados implementado para suportar isto. 4.1.5 - Topologia no MGE Os arquivos de projeto originais, no fomato “dgn” provenientes do Microstation, não possuem topologia para análise espacial. Por isto é preciso fazer uso de diversos processos do MGE para construir a “inteligência topológica” ou arquivos topológicos. 90 O limite espacial de cada mapa, em destaque, é o índice geográfico do referido mapa. QUADRA.DGN LOGRADOUROS.DGN CATEGORIA: VIAS Todos os limites espaciais de uma categoria estão localizados em um nível do arquivo índices geográficos. ÍNDICE NÍVEL 1: TRANSPORTE ÍNDICE NÍVEL 2: INFRA-ESTRUTURA ÍNDICE NÍVEL 3: VIAS URBANO.IDX é um exemplo de arquivo de índices geográficos. Possue três níveis: Índice Nível 1 : Transporte Índice Nível 2 : Infra-estrutura Índice Nível 3 : Vias Análises em nível macro, sobre o arquivo de índices geográfico, como determinação de área de estudo, são bem mais eficientes do que se trabalhar com o mapa detalhado (todas as feições geográficas). Fig. 4.6 - Ilustração do conceito de índices geográficos. 91 CATEGORIA Mslink cname indexname indexlevel indextype Arquivos de Índices Geográficos MAPAS Mslink mapname fname tablename Arquivos de Mapas Fig. 4.7 - Modelo de dados do MGE que reflete o conceito de arquivo de índice geográfico. A definição de topologia empregada pelo MGE pode ser vista conforme já descrita no tópico 2.2.5 Topologia em SIG. Existem duas formas para se criar estes arquivos. Na primeira todos os arquivos no formato “dgn”, deverão passar, um a um, pelos processos de criação da topologia. Na segunda, somente as feições geográficas contidas na área delimitada5 pelo usuário deverão passar pelo referido processo. O aplicativo do MGE responsável pela análise espacial vetorial é o “MGE analyst” (MGA) Intergraph (1997). Através dele cria-se um arquivo com a topologia dos diversos mapas temáticos. Os mapas são então “cruzados”, utilizando-se ferramentas do referido aplicativo, resultando informações derivadas, como mostra o exemplo na Figura 4.8. _____________________________ 5 Proveniente do inglês fence. 92 1 2 C2 C + = C1 R2 R R1 1 - bairro 1 2 - bairro 2 C - Área Comercial R - Residêncial Fig. 4.8 - Exemplo de análise espacial no MGE. 4.2 - ARC/INFO O Arc/Info suporta computacionalmente as três modelos feições de geográficas. dados Feições para representar geográficas são entidades do mundo real que podem ocorrer naturalmente como rios e vegetação, ou podem ser construções como ruas, infra-estrutura subterrânea e prédios, ou podem ser subdivisões da terra como municípios, propriedades e divisões políticas. Os modelos suportados são: modelo de dados vetorial, modelo de dados matricial, e o modelo de dados de rede irregular triangular (TIN). 4.2.1 - Conceitos e Fundamentos O Arc/Info implementa um modelo de dados híbrido chamado geo-relacional que representa feições geográficas. Uma feição geográfica é representada no SIG por dois tipos de informação: localização e descrição. A principal estrutura para representar o modelo de dados vetorial do Arc/Info é a Coverage (ESRI, 1994). Esta estrutura suporta o modelo geo-relacional vetorial. Antes de avançarmos neste conceito, torna-se necessário explicitar alguns fundamentos típicos do modelo de dados vetorial. 93 O dado de localização (espacial) é armazenado usando uma estrutura de dados vetorial ou matricial como definido no tópico 2.2.3. O dado descritivo de cada feição geográfica é armazenado em um conjunto de tabelas. Os dados espaciais e descritivos são ligados de tal forma que ambos os conjuntos de informação estão disponíveis ao usuário (ESRI, 1994). 4.2.2 - Modelo de Dados Vetorial O modelo de dados vetorial representa as feições geográficas assim como o mapa. Os pontos representam feições geográficas tão pequenas que não podem ser mostradas como linhas ou áreas, por exemplo poços, telefones púbicos e postes. As linhas representam feições geográficas que não podem ser apresentadas como áreas, por exemplo ruas, rios e contornos de elevação. As áreas representam feições geográficas homogêneas tal como estados, municípios, propriedades e tipos de solos. Um sistema de coordenadas cartesiana x,y referencia as localizações do mundo real. No modelo de dados vetorial cada localização é armazenada com coordenada x,y. Pontos são armazenados como uma única coordenada. Linhas ou arcos são armazenadas como uma série ordenada de coordenadas x,y. Áreas ou polígonos são armazenadas como uma série de coordenadas de x,y que define um ou mais segmento de linha ou arco que se fecham para formar uma área ou polígono. À cada uma das feições representadas está associada um identificador único. Portanto a lista de coordenadas de cada feição está associada com o identificador da feição. A Figura 4.9 ilustra a definição. 94 Pontos 1 3 2 4 5 Identificador do Ponto 1 2 3 4 5 Coordenadas X,Y 1,5 0,3 4,4 2,1 1,1 Identificador da Linha ou Arco 1 2 Coordenadas X,Y 1,5 2,4 4,5 1,1 2,2 3,1 5,5 Identificador do Polígono 1 2 Coordenadas X,Y 1,5 3,5 4,4 3,3 1,4 1,5 1,2 2,1 3,2 5,1 3,1 1,1 1,2 Linha ou Arco 1 2 Polígonos 1 2 Fig. 4.9 - Ilustração da representação computacional de dados vetoriais no Arc/Info. FONTE : adaptada de ESRI (1994). 4.2.2.1 - Topologia no Arc/Info O conceito de topologia implementado no Arc/Info é baseado na estrutura ArcNó, descrita no tópico 2.2.5.1, e implementa os três conceitos: Conectividade, Definição de Área e Contiguidade, já apresentados no capítulo 2. 95 4.2.2.2 - Regiões As regiões suportam a modelagem de relacionamentos complexos entre feições geográficas representadas como polígonos. Uma região é representada por um conjunto de polígonos. Por exemplo, uma região de floresta e uma outra região de floresta destruída pelo fogo são representadas por polígonos que indicam as áreas de florestas antes do incêndio e as áreas destruídas após o incêndio. Neste caso, pode ocorrer sobreposição dos polígonos que compõem as duas regiões modeladas. Outro caso é o das ilhas que formam um arquipélago. Por exemplo, o país Japão é uma região representada por vários polígonos. Assim como ponto, linha e polígono, à cada região é dado um identificador único e o cálculo da área e perímetro são mantidos. Construir regiões com polígonos é similar a construir polígonos com arcos. Assim como o polígono é uma lista de arcos, uma região é um lista de polígonos. Porém existe uma distinção importante: a ordem dos polígonos não é relevante. A Figura 4.10 ilustra o conceito de região. C 4 3 B 5 Região 2 D 1 A B C D 7 6 Lista de Polígonos 6, 7 4, 5 2, 3, 4 1, 2 A Fig. 4.10 - Ilustração do conceito de região. FONTE : adaptada de ESRI (1994). 96 4.2.2.3 - Rotas As rotas definem caminhos ao longo de um conjunto de feições lineares existentes. As rotas baseiam-se em arcos. Como exemplos de utilização podese citar, para o caso de rota de um ponto a outro, o caminho de casa para a escola ou, no caso de um circuito que começa e termina em um mesmo ponto, uma rota de ônibus. CASA 4 1 Ônibus 6 2 13 8 3 5 7 7 8 12 6 ESCOLA 14 11 15 10 4 5 1 ROTA Casa - Escola Rota de Ônibus 9 16 2 17 3 Lista de Arcos 1, 3, 6, 8 7, 8, 11, 4, 17, 3, 2, 1, 14, 13 Fig. 4.11 - Ilustração do conceito de rota. FONTE : adaptada de ESRI (1994). O modelo de dados vetorial implementado pelo Arc/Info está alicerçado no conceito de topologia. O armazenamento organizado, e a leitura indexada do dados fornecem ao sistema a possibilidade de realizar manipulações espaciais à qualquer momento. 4.2.2.4 - Representação das Informações Descritivas Até agora apresentamos as formas de representação das feições geográficas baseadas no conceito de topologia. No entanto, é necessário apresentar a forma de representação das informações descritivas associadas às feições geográficas. O mecanismo de ligação entre as duas representações também é abordado. 97 Os atributos descritivos associados às feições geográficas são armazenados da mesma forma que as coordenadas. O arquivo com os dados descritivos é denominado de tabela de atributos. Cada linha desta tabela é chamada de contêm as informações descritivas de uma única feição. As colunas ou campos definidas na tabela são as mesmas para cada linha. A ligação entre as feições geográficas e a tabela de atributos é garantida pelo modelo geo-relacional implementado pelo Arc/Info. Na prática um identificador único materializa a ligação entre as coordenadas das feições geográficas e os atributos descritivos, mantendo uma correspondência um para um, entre o registro espacial e o registro de atributos. Uma vez que esta conexão é estabelecida, pode-se apresentar as informações descritivas sobre o mapa e armazenar novas informações descritivas. A Figura 4.12 ilustra a representação. No exemplo da Figura 4.12, a coluna denominada “polígono” armazena o identificador único que estabelece a ligação entre os dados espaciais e os dados descritivos. Neste caso, o polígono com identificador “A” tem seus atributos espaciais descritos na tabela “Topologia Polígono-Arco” e os atributos descritivos ou não espaciais descritos pela “Tabela de Atributos de Polígonos”. Nesta tabela pode-se criar tantos atributos quantos forem necessários para descrever devidamente o dado espacial, ou fazer uso de outras tabelas que possuam um atributo em comum com a “Tabela de Atributos de Polígonos” como é o caso da “Tabela de Propriedade”. Neste último caso faz-se uso de funções típicas de um ambiente relacional tais como “Join” entre tabelas, para se acessar todos os atributos. 98 TOPOLOGIA POLIGONO-ARCO 7 1 Polígono A B C D A D 9 8 2 6 11 10 C B TABELA DE ATRIBUTOS DE POLÍGONO 3 5 Lista de Arcos 1, 9 3, 10 5, 11 7, 8 4 Polígono Área A B C D 86,03 79,12 78,45 72,13 Outros Atributos ... ... ... ... Código Quadra 550-002 550-022 550-021 550-001 TABELA DE PROPRIETARIOS Código Quadra 550-001 550-002 550-002 550-002 550-003 Código Proprietário 223-76 224-82 225-97 226-97 227-89 Proprietário Paulo M. Fernando H. C. Antônio C. M. Luís I. L. S. José S. Outros Atributos ... ... ... ... ... Fig. 4.12 - Ilustração da representação das informações descritivas. FONTE : adaptada de ESRI (1994). O Arc/Info gerencia três tipos de tabelas de atributos. O primeiro tipo consiste das tabelas de atributo das feições geográficas, que abrange as tabelas de topologia para polígono, arco, nó, ponto, rota, região, na Figura 4.12 é indicada como TOPOLOGIA POLÍGONO-ARCO. O segundo tipo consiste dos arquivos de dados INFO, que são similares às tabelas provenientes dos SGBD relacionais de mercado, na Figura 4.12 é indicada como TABELA DE ATRIBUTOS DE POLÍGONO. E o terceiro tipo consiste das tabelas de atributos externas cuja fonte são os próprios SGBDR tais como ORACLE, INGRES, INFORMIX, SYBASE, indicada também na Figura 4.12 como TABELA DE PROPRIETARIOS. 99 4.2.3 - Coverage6 Para a organização dos dados no Arc/Info, visando representar a realidade geográfica, é utilizado o conceito de coverage. Coverage é uma estrutura para o armazenamento de dados vetoriais. Ela representa um único conjunto de objetos geográficos tal como, ruas, propriedades, tipos de solos ou padrões de florestas. Uma coverage suporta o modelo geo-relacional onde contempla tanto dados espaciais quanto os atributos para as feições geográficas. Uma coverage contém um conjunto de feições, onde cada uma é representada por uma classe de feição como arco, nó, ponto, anotações ou polígono. A combinação das classes de feições presentes em uma coverage depende do fenômeno geográfico a ser representado. A Figura 4.14 ilustra esta idéia. Conforme o modelo geo-relacional, uma feição geográfica em uma coverage é identificada por um único número. O dado espacial e o atributo são ligados por este número. 4.2.4 - Outras Representações Além do modelo de dados vetorial, tendo a coverage como o principal método de representação no Arc/Info, existem o modelo de dados matricial e o modelo de rede irregular triangular. __________________________________ 6 Palavra proveniente do inglês cujo significado direto é cobertura. Aplicada à área de geoprocessamento pode-se traduzir como sendo área de estudo coberta. Pela ampla utilização achamos prudente manter o termo em inglês neste trabalho. 100 O modelo de dados matricial representa as feições geográficas como uma fotografia materializada por uma grade regular de pontos. Cada ponto desta grade é denominado “célula” ou “pixel”. As células possuem valores que podem representar três interpretações: uma classificação, como o tipo de vegetação por exemplo; uma medida da quantidade de luz refletida pela Terra proveniente de uma imagem de satélite; e finalmente uma medida de elevação. Portanto o método utilizado para representar o modelo de dados vetorial é a grade regular ou “grid”. Para maiores detalhes ver Esri (1994). O modelo de rede irregular triangular ou “TIN”7 é uma outra estrutura utilizada para representar superfícies contínuas, assim como a grade regular. O TIN representa a superfície por uma série de pontos ligados de forma triangular. Cada três pontos, que geram um triângulo, podem ocorrer em qualquer localização geográfica, daí decorre a irregularidade, diferença básica da grade regular. Além disto os relacionamentos topológicos entre os triângulos são criados e armazenados por este modelo. Para maiores detalhes ver Esri (1994). 4.3 - SPRING 4.3.1 - Apresentação O SPRING, Sistema para Processamento de Informações Georeferenciadas, desenvolvido pelo INPE (Instituto Nacional de Pesquisas Espaciais) para ambientes UNIX e Windows (em desenvolvimento) possui as seguintes características (INPE.DPI, 1998a): ____________________________________ 7 Proveniente de abreviatura em inglês “Triangulated Irregular Network” 101 Coverage: PROPRIEDADE. 2 1 NÓ 2 3 3 PONTO 4 1 4 ARCO ANOTAÇÃO lago POLÍGONO 5 6 6 Número da Propriedade 1 2 3 4 5 6 5 Polígonos # 1 2 3 4 5 6 Lista de Arcos 6, 7, 8 7, 1, 10, 9 8, 9, 11, 13, 15, 5, 16 2, 12, 11, 10 3, 14, 13, 12 4, 15, 14 Área_Km2 Area_Produtiva_Km2 Proprietário 1242,20 1532,32 2730,55 1129,34 1601,77 1923,87 1023,55 890,11 2599,88 1129,34 745,22 432,12 Edson A. Francisco R. Mário C. Franco M. José R. Almino A. Fig. 4.13 - Exemplo de uma coverage: Propriedade. • opera como um banco de dados geográfico sem fronteiras e suporta grande volume de dados (sem limitações de escala, projeção e fuso), mantendo a identidade dos objetos geográficos ao longo de todo banco; • administra tanto dados vetoriais como dados matriciais, e realiza a integração de dados de sensoriamento remoto; • provê um ambiente de trabalho amigável e poderoso, através da combinação de menus e janelas com uma linguagem espacial facilmente 102 programável pelo usuário: Linguagem Espacial para Geoprocessamento Algébrico (LEGAL); • consegue escalonabilidade completa, isto é, é capaz de operar com toda sua funcionalidade em ambientes que variem desde micro-computadores a estações de trabalho RISC de alto desempenho. O desenvolvimento de uma nova geração de sistemas de processamento de imagens e geoprocessamento no INPE iniciou-se em 1991, e teve seu primeiro resultado concreto em 1993, com o lançamento da versão 1.0 do SPRING. A evolução do sistema SPRING durante estes anos levou ao lançamento em 1996 da versão 2.0. Seguindo uma estratégia de utilizar sistemas competitivos e no estado da arte, o INPE está migrando o sistema para o ambiente de microcomputadores (MSWindows), gerando assim o SPRING For Windows. Este produto mostra-se altamente promissor, uma vez que incorpora todas as funcionalidades e vantagens do SPRING/UNIX em um ambiente simples e de larga utilização no mercado. 4.3.2 - Arquitetura do Sistema O sistema SPRING é composto por três módulos IMPIMA, SPRING e SCARTA. Segue suas definições (INPE.DPI, 1998b): • IMPIMA : executa leitura de imagens digitais de satélite, gravadas pelo INPE, através dos dispositivos Compact Disc - Read Only Memory (CDROM), Computer Compatible Tapes (CCT), "streamer" (60 ou 150 megabytes) e Digital Audio Tape - 4 ou 8mm (DAT) adquiridas a partir dos sensores TM/LANDSAT-5, HRV/SPOT e AVHRR/NOAA. Converte as 103 imagens dos formatos BSQ, Fast Format, BIL e 1B para o formato GRIB (Gridded Binary). • SPRING : é o módulo principal de entrada, manipulação e transformação de dados geográficos, executando as funções relacionadas à criação, manipulação e consulta ao banco de dados, funções de entrada de dados, processamento digital de imagens, modelagem numérica de terreno e análise geográfica de dados. As funções da janela principal, na barra de menus, estão divididas em: Arquivo, Editar, Exibir, Imagem, Temático, Numérico Cadastral, Rede, Objetos e Utilitários. Para cada opção há um menu (janela de diálogo) associado às operações específicas. • SCARTA : edita uma carta e gera arquivo para impressão a partir de resultados gerados no módulo principal SPRING, permitindo a apresentação sob a forma de um documento cartográfico. Permite editar textos, símbolos, legendas, linhas, quadros e grades em coordenadas planas ou geográficas. Permite exibir mapas em várias escalas, no formato varredura ou vector, através do recurso "O que você vê é o que você tem" (What You See Is What You Get, Wysiwyg). O banco de dados geográfico construído pelo SPRING implementa uma arquitetura dual onde as representações dos dados espaciais e as informações descritivas (dados não espaciais) são armazenados em ambientes diferentes. As representações gráficas se utilizam de arquivos convencionais do tipo binário onde são armazenados as coordenadas x, y que definem a geometria de um objeto geográfico ou campo do SPRING. Este armazenamento é realizado segundo algorítmo R-tree para prover uma indexação dos dados. Os atributos descritivos destes objetos ou campos são armazenados em tabelas em um banco de dados relacional. 104 Um identificador único é responsável pela ligação dos dois componentes. Com a evolução do SPRING, sistemas gerenciadores de banco de dados relacionais foram adotados, para implementar uma estratégia para portabilidade de software. Hoje a visão estática, é implementada em SGBDR de mercado tais como CODEBASE e ORACLE. A visão funcional e dinâmica representada pelos métodos das classes modeladas no SPRING e as ligações e associações entre seus objetos foram implementadas pela linguagem de programação C++. 4.3.3 Modelo Conceitual do SPRING A realidade geográfica é representada no SPRING por uma modelo conceitual baseado no paradigma orientado por objetos. A persistência dos dados é realizada em um ambiente dual conforme exposto anteriormente. Na busca de um melhor detalhamento e compreensão do modelo de conceitual implementado pelo SPRING, além da documentação disponível na Internet, foram construídos e aplicados dois tipos de questionários. Um questionário foi dirigido aos desenvolvedores, e o outro foi aplicado aos usuários do sistema. A íntegra dos questionários está no Apêndice A. Como resultado desta pesquisa, apresentadas no Apêndice B, além da tabulação das respostas a discussão, principalmente com os desenvolvedores do sistema ajudou-nos a compreender a semântica do modelo orientado por objetos apresentado na Figura 4.14, representada pela técnica TMO. 105 O Banco de Dados Geográfico é definido no SPRING por um nome e um caminho (path) que devem ser fornecidos pelo usuário. O sistema criará no caminho indicado um diretório, que corresponde fisicamente ao seu banco. Tudo que for criado e definido para este banco será armazenado debaixo deste diretório. Após criar um Banco de Dados é necessário ativá-lo para que se possa prosseguir. Somente um Banco de Dados pode estar ativo de cada vez (INPE.DPI, 1998e) BANCO DE DADOS GEOGRAFICOS PROJETO PROJEÇÃO DATUM CAMPO TEMATICO CATEGORIA PLANO DE INFORMACAO MNT MAPA DE OBJETOS IMAGEM REDE CADASTRAL REPRESENTACAO VETORIAL PONTOS LINHAS POLIGONO OBJETOS VISUAL MATRIZ GRADE REGULAR GRADE TRIANGULAR Fig. 4.14 - Modelo Orientado por Objetos do SPRING. As Categorias e Classes Temáticas devem ser definidas a priori, para que cada tipo de dado a ser tratado pelo SPRING seja associado a uma categoria. Cada categoria pertence a um modelo de dados (Temático, Numérico, Imagem, Cadastral, Redes e Objeto). O usuário não precisa definir todas as 106 categorias de imediato, mesmo porque, muitas vezes não se sabe tudo que será necessário para chegar no seu objetivo. A qualquer momento pode-se acrescentar ou definir novas categorias. Apenas nas categorias do modelo Temático é necessário definir classes. Classes temáticas definem o modo (visual) como pontos, linhas e áreas serão apresentadas no monitor (cor, hachura, preenchimento, etc). Um projeto define a área fisica de trabalho. Para criar um projeto deve-se fornecer um nome, projeção e retângulo envolvente. Ao se fazer isso, um subdiretório, embaixo do diretório correspondente ao banco, será criado, e todos os dados referentes à uma dada região serão armazenados nele. A condição para criar um projeto é apenas ter um banco ativo, não sendo necessário definir as categorias. Pode-se ter quantos projetos se desejar, mas somente um pode estar ativo de cada vez. Os planos de informações (PIs) são armazenados dentro de um projeto. Os PIs representam mapas de solos, mapas de estradas, imagens, etc., que estejam na mesma área geográfica de estudo definido pelo retângulo envolvente. Um PI é criado fornecendo-se um nome, a categoria à qual ele pertencerá (previamente definida), a escala (quando PI Temático, Numérico ou Cadastral) e a resolução (quando PI Numérico ou Imagem), desde de que tenha um Banco de Dados e um Projeto ativos. Pode-se ter quantos PIs se desejar da mesma categoria ou não, mas apenas um estará ativo. Um dado no SPRING pode estar representado no formato matricial e/ou vetorial, dependendo do modelo (categoria) ao qual ele pertence. Para editar pontos, linhas e áreas no formato vetorial, pode-se utilizar uma mesa digitalizadora, para transferir os dados do mapa para computador, ou importar arquivos de outros softwares ou formatos. Para dados matriciais pode-se utilizar leitura de imagens gravadas em formatos específicos, interpolar grades 107 (matrizes) numéricas ou mesmo converter dados da representação vetorial para matricial. Uma vez que tem-se os dados (PIs) editados, pode-se obter outros dados através de análises, cruzamentos, etc., por meio de funções específicas do software ou de uma linguagem de programação para mapas. No SPRING as feições geográficas do mundo real são modeladas por dois grandes tipos de dados: geo-objetos e geo-campos. A seguir é mostrada, com maior detalhe, os tipos de dados suportados pelo SPRING provenientes dos tipos de plano de informação (INPE.DPI, 1998c): 1) Os tipos de dados cadastrais, sub-tipo de geo-objetos, descrevem a localização de elementos de sistemas de informação de cadastro urbano ou rural, e utilizam a topologia arco-nó-polígono para armazenamento. Um item específico sobre a estrutura topológica implementado pelo SPRING será apresentado à frente. 2) Os dados do tipo rede, sub-tipo de geo-objetos utilizam a topologia arconó, e armazenam a localização e a simbologia associadas a estruturas linearmente conectadas. Informações adicionais neste tipo de mapas incluem direções de fluxo e segmentação dinâmica. 3) Os dados do tipo mapa temático, sub-tipo de geo-campos, representam uma dada região geográfica R, associando a cada ponto do espaço um tema de um mapa (p.ex. um mapa de solos é caracterizado pelo conjunto {latosolo roxo, litosolo, cambisolo, ...}) 4) Os tipos de dados numéricos, sub-tipo de geo-campos, de associam para cada ponto do espaço, de uma região geográfica, um valor real (p. ex. um mapa de campo magnético, um modelo numérico de terreno); 108 5) O tipo de dados denominado de Imagem de satélite, sub-tipo de geocampo, é obtida através de discretização da resposta recebida por um sensor (passivo ou ativo) para todos os pontos de uma dada região geográfica. Seja qual for o tipo de dado ele possui uma representação gráfica que pode ser vetorial ou matricial, excluindo o caso dos objetos não espaciais. É evidente que para cada plano de informação especializado, ou tipo de dados tratado, existe uma representação mais utilizada. No entanto o sistema oferece mecanismos de conversão entre os dois tipos de representações possíveis. Na representação vetorial, a parte gráfica do objeto espacial ou campo, é implementada usando uma das três geometrias básicas: pontos, linhas e polígonos. Já na representação matricial, a realidade geográfica é implementada por dois métodos: grade regular ou grade triangular irregular. Para finalizar a descrição da semântica do modelo orientado por objetos do SPRING, existe o conceito de “visual” que é associado à categoria e à representação gráfica dos objetos e campos. O visual define as propriedades tais como cor, espessura de linha, estilo da linha, etc. que pode ser prédefinida para as categorias, podendo ser especifico para uma dada representação gráfica de um determinado objeto. Desta forma, todo o plano de informação de uma dada categoria “herda” estas propriedades de visual da categoria. Além disto, o sistema permite ao usuário modificar o visual específico de cada representação gráfica alterando o visual herdado pela referida categoria. 109 4.3.4 - Topologia no SPRING O conceito de topologia implementado no SPRING é baseado na estrutura Arco-Nó, descrita no item 2.3.1 Estrutura de dados arco-nó, e implementa os três conceitos topológicos importantes: Conectividade, Definição de Área e Contiguidade, já apresentados pelo itens 2.3.2, 2.3.3, 2.3.4 respectivamente. 4.4 O - Padrão OPEN GIS O desenvolvimento do assunto deste tópico tem como objetivo, além de apresentar e elucidar alguns resultados alcançados por esta organização, servir de marco de referência para uma comparação entre os três SIGs apresentados anteriormente. 4.4.1 - Conceito O Consórcio OPEN GIS - OGC é uma organização sem fins lucrativos dedicada a tornar os sistemas de geoprocessamento abertos (OGC, 1998D). O OGC almeja a integração completa de dados geográficos e recursos de geoprocessamento através do uso de sistemas de informação geográficas interoperáveis. O comitê técnico do consórcio está em processo de estabelecer uma especificação que define uma arquitetura de software abrangente para sistemas abertos de geoprocessamento. Os sistemas construídos baseados nesta especificação serão capaz de praticar a interoperação entre aplicações em uma rede local, e serão capaz, também, de navegar sobre um ambiente heterogêneo e distribuído, como a Internet, e de acessar dados geográficos heterogêneos e recursos de geoprocessamento. 110 Para a criação dessa especificação, o consórcio OPEN GIS utiliza-se de um processo de consenso entre seus membros. Tal consenso é traduzido para uma especificação abstrata e uma especificação de implementação para cada um dos componentes de software relacionados aos Sistemas de Informação Geográfica. Através dos grupos de trabalho formados pelos membros do consórcio, o modelo essencial (isto é, a descrição formal do mundo real) e a especificação do modelo (isto é, a descrição de como o sistema representará o mundo real), são desenvolvidos. O modelo essencial e a especificação do modelo, juntas, são denominadas de “especificação abstrata”. Quando a especificação abstrata está suficientemente madura, os membros do OGC constróem os requisitos para uma proposta de especificação de implementação. As respostas desta proposta fornecem uma especificação de implementação para uma plataforma neutra, incluindo uma linguagem de definição de interface. Quando todos os membros do OGC chegam a um consenso, a proposta de especificação de implementação passa a ser parte da base de especificações da OGC. Então, para cada software indicado pelos membros será verificada a conformidade com as especificações de implementação. Caso atenda às especificações, o software passará a ter o certificado OGC. 111 4.4.2 - O Conceito de Comunidade de Informação Geo-espacial Uma comunidade de informação geo-espacial (CIG) é uma coleção de sistemas ou indivíduos que compartilham informações espaciais, definições, interesses e tecnologia. Os indivíduos que não pertencem à mesma comunidade de informação e querem compartilhar informações são impedidos de fazê-lo por três motivos: • ignorância da existência da informação fora de sua comunidade; • modelagem do fenômeno sem interesse mútuo e • modelagem do mesmo fenômeno em duas representações distintas, em dois CIG diferentes, fazendo com que uma representação não reconheça a outra e vice-versa. A especificação OGC visa superar estas limitações. O OGC capacita os CIG a articular seus domínios de interesse, ao fornecer duas novas tecnologias que objetivam: • anunciar sua existência e suas informações para que estes outros CIGs possam descobrí-lo e acessá-lo, sempre que exista o interesse de compartilhar informações, e • preservar a semântica quando ocorre a transferência de dados de um CIG para outro. A aplicação e o amadurecimento da tecnologia OGIS deverão resultar no crescimento do tamanho e formalismo do CIG, além de incrementar a disponibilidade de informações pelo referido CIG. Esta tendência pode ser acompanhada com uma redução gradual do número de CIGs distintos, à medida que estes apliquem o padrão OGIS. 112 Para formalizar um projeto do mundo real em um CIG, serão brevemente apresentados os diversos níveis de abstração para modelar os fatos do mundo real como coleções de feições no OPEN GIS. Existem duas tecnologias fundamentais para modelar fatos do mundo real: feições com geometria (features) e coverage. Os conceitos relativos a estes dois termos serão introduzido em tópicos mais à frente. Nove níveis de abstração são identificados, com oito interfaces entre elas. Os níveis de abstração, seus nomes, as linguagem utilizadas, suas interfaces e os métodos que suportam a navegação através da interface são todos apresentados na Figura 4.15. Os nove níveis podem ser vistos em OGIS (1998B) com detalhe. Os cinco primeiro níveis de abstração, do nível do “mundo real” para o nível do “visão do mundo”, objetivam gerar a abstração dos fatos do mundo real e não são diretamente implementados em um software. Os quatro últimos níveis, do nível “pontos do OGIS” até o nível “coleções de feições do mundo OGIS”, visam gerar modelos matemáticos e simbólicos do mundo e são diretamente implementáveis no software. Assim, o modelo essencial gerado ao final dos quatro últimos níveis dá uma especificação abstrata para as suas implementações. O nível final é a abstração da realidade especificada em uma linguagem de coleções de feições OGIS. 4.4.3 - Feição e Conceitos Associados Feição é definida na documentação do OGIS como sendo uma representação abstrata do mundo real, ou seja, o átomo da representação geográfica. 113 Este conceito geral é especificado e adotado pelo OGIS somente dentro do contexto da Comunidade de Informação Geoespacial e será apresentado a seguir. A feição OGIS é compreendida pela comunidade como sendo uma classe abstrata sobre a qual se derivam duas sub-classes principais responsáveis pela sua representação. São elas: feição com geometria e coverage. A Figura 4.16 ilustra a idéia. 4.4.3.1 - Noção Geral de Informação Geo-espacial Informação geo-espacial é qualquer coisa que pode ser aprendida olhando em um mapa, não em qualquer mapa, mas em mapas novos, criativos, e com anotações. Um mapa pode ser interpretado como uma metáfora do mundo real. Uma imagem de satélite é aceita por esta comunidade como um tipo de mapa, bem como as coleções estruturadas de exemplos de fenômenos da Terra (OGIS 1998A). A informação geo-espacial digital é a informação geo-espacial codificada na forma digital. A codificação é feita por recursos computacionais aplicados para automatizar processos da informação geo-espacial tais como: armazenamento, transmissão, análises e assim por diante. O modelo OGIS, não trata, por agora, o caso de mapas que representam a variação temporal de fenômenos geográficos. A unidade básica da informação geo-espacial é chamada de feição. Feições podem ser definidas recursivamente como variações delas próprias. Por exemplo, dependendo da aplicação ou interesse da informação, qualquer item a seguir pode ser uma feição: 114 Mundo Dimensional; Interface com a comunidade Linguagem Métrica Interface da métrica local Projeto do Mundo (Visão do Mundo); Interface Referencia Espacial Pontos OGIS Comunidade de Informação Interface de estruturas geométricas Coordenadas Geométricas Mundo Geoespacial; Mundo geométrico OGIS; Linguagem SIG WFTs* OGIS Mundo Conceitual; Interface de Estruturas de Feição Feições do mundo OGIS; Interface Disciplinada para SIG Feições OGIS Linguagem Natural Inteface de projeto estruturado Interface Epistêmica Mundo Real; Linguagem Essencial Coleção de feições do mundo OGIS; Coleção de feições OGIS Fig. 4.15 - Os nove níveis de abstração definidos pelo OGIS. FONTE : adaptada de OGC (1998A). (*) “Well-Known-Types”, ou seja, tipos bem conhecidos. 115 FEIÇÃO OGIS COVERAGE FEIÇÃO COM GEOMETRIA Fig. 4.16- Feição OGIS e seus subtipos. FONTE : adaptada de OGC (1998B). • um segmento de uma rodovia entre duas intercessões consecutivas; • uma rodovia constituída de muitos segmentos; • uma imagem de satélite georeferenciada; • um pixel de uma imagem de satélite georeferenciada; • uma rede de drenagem e • uma rede triangular irregular. Existem diferentes maneiras para criar a representação digital da informação geo-espacial. Esta riqueza de alternativas tem se tornado mais um problema do que um benefício. A variedade de estruturas de dados e formatos do SIGs torna a área confusa e aparentemente caótica, e atualmente tem criado obstáculos para os usuários. A especificação abstrata que está sendo criada pelo OGIS tem o objetivo de colocar ordem neste caos. 116 4.4.3.2 - Especificação Abstrata de Feições 4.4.3.3 - Tipos de Feições Até o presente momento o consenso existente sobre a definição de feição geográfica é apresentada, resumidamente, no parágrafo a seguir. Uma feição pode ser composta por outras feições. Uma feição pode ser derivada de um tipo principal de feição. Uma feição deve ser instancializada de um tipo, quando solicitada por um cliente OPEN GIS e enviada a ele em um formato “bem conhecido". O termo "bem conhecido" neste contexto significa: definido usando significados compreendidos pelos clientes OPEGIS. Isto pode ser definido explicitamente em uma especificação de implementação, mas provavelmente alguns significados são disponíveis pela tecnologia de distribuição que será utilizada (ex.: SQL, CORBA IDL.) (OGIS 1998A). 4.4.3.4 - Atributos de Feições A uma feição são associados atributos. Cada atributo é distinto por um nome e um valor dentro do domínio de valores do atributo. Nomes e domínios de atributos associados são definidos pelo tipo do atributo. Um subconjunto de atributos de uma feição pode ser geométrico (isto é, do tipo geométrico). Este subconjunto pode representar a extensão espacial de uma feição, ou pode ser vazio para feições de outros tipos. 117 4.4.3.5 - Identidade das Feições Uma feição tem um identificador único dentro de um domínio e independe do valor de qualquer ou de todos os seus atributos associados. 4.4.3.6 - Persistência de Feições Uma feição é geralmente persistente. Um consenso sobre o conceito de persistência está ainda em amadurecimento no OPENGIS. Esta é uma área onde é necessário trabalhos futuros. 4.4.3.7 - Instância de Feições Uma feição pode ser referenciada como uma instância de feição. 4.4.3.8 - Coleção de Feições Os membros do consórcio OGIS ainda não chegaram a um consenso em muitos assuntos sobre as coleções de feições. A seguir apresenta-se estes assuntos em discussão relacionado ao tema coleção de feição. • uma feição pode ser uma composição de outras feições; • uma área pode ser uma feição composta de feições contidas nela e • uma feição pode ser “dividida” por limites de áreas, e pode ser reagrupada como uma única feição quando solicitada por uma interface ou por um serviço. No entanto o mundo real, em alguns casos, é visto como uma coleção de feições que necessitam ser modeladas. Este mundo real inclui: • projetos com limites bem definidos e feições que atendam certos critérios; 118 • produtos provenientes de agências governamentais, tais como SDTS e arquivos similares; • bancos de dado de SIG e • persistência e não persistência de coleções do feições presentes em um espaço de trabalho de um SIG. Apesar destas dúvidas, a especificação do consórcio OPEN GIS expõe as seguinte características sobre coleção de feições em consenso. • uma coleção de feições é uma instância de feição que agrupa outras feições; • uma coleção de feições é também uma feição é por isso possui um tipo, identificador, um conjunto de atributos associados e podem participar de certos processos, e • a utilização de coleção de feições inclui a representação lógica ou física de feições; feições complexas ou compostas; o resultado de uma consulta; uma coleção de feição criada para determinado propósito. 4.4.4 - Feição com Geometria Feição com geometria é uma forma de representação dos fenômenos geográficos que ocorrem na Terra. Estes fenômenos geográficos, também denominados de feições geográficas, estão posicionados no mundo real em um sistema de coordenadas da Terra. A representação destes fenômenos no sistema de informação geográfica (SIG) se dará pelo “mapeamento” do seu posicionamento no sistema de coordenadas adotado pelo SIG. A Figura 4.17 ilustra a idéia. 119 Fig. 4.17 - Uma forma de representação de feições geográficas. FONTE : adaptada de OGC (1998C). As feições geográficas são compostas por informações que as posicionam em coordenadas relativas da Terra, ou relativas a algum outro sistema. A técnica mais comum para representar o posicionamento e a forma de uma feição geográfica é a geometria (OGC, 1998C). Portanto, estas feições geográficas são vistas como um ponto, um polígono ou alguma outra representação geométrica. Os SIGs fornecem tecnologia para a representação destas geometrias no seu sistema de coordenadas. 4.4.4.1 - Geometria Geometria é a combinação de coordenadas geométricas e um sistema de referência. A coordenadas geométricas consistem de quatro itens: 1) Uma sequência de coordenadas (pontos), todas provenientes de um mesmo sistema de referência. 2) Uma coleção de geometrias, todas provenientes de um mesmo sistema de referência. 120 3) Um algoritmo de interpretação que usa estas geometrias e coordenadas para construir uma entidade geométrica que define uma geometria no tempo e no espaço. Uma entidade geométrica pode ser composta de outras entidades geométricas, e uma entidade geométrica pode ser compartilhada, como componente, por outras entidades. 4) Um sistema de referência espaço-temporal para dar à geometria uma melhor interpretação do mundo real. A representação geométrica da feição geográfica segue critérios e especificações para garantir a sua manipulação por operadores topológicos tais como: interior, adjacência, intersecção, união, subtração, disjunção, dentro de, contido em, sobreposição, etc.. Para uma especificação em detalhes destes critérios e operadores topológicos consultar (OGIS, 1998C). 4.4.5 - Coverage As coverages em SIG, incluindo o caso de imagem de satélite, são metáforas de duas ou mais dimensões de fenômenos de uma área da superfície da Terra. Constituem a segunda forma de representação de feições geográficas. Fundamentalmente, coverages fornecem uma visão n-dimensional, onde n é usualmente 2 e ocasionalmente 3 ou maior, de um espaço de feições geográficas. Esta visão deverá ser geo-espacialmente registrada com a Terra. É útil utilizar a seguinte analogia: o domínio espacial de uma coverage é como uma “view port” sobre a tela de um vídeo, e existe uma função (FUNÇÃO_C) que associa as cores de uma “viewport” aos fenômeno reais que ela busca representar. As coverages tem a capacidade de modelar e tornar visível os relacionamentos espaciais entre fenômenos da Terra e a sua distribuição espacial. 121 4.4.5.1 - Propriedades Uma coverage possui uma propriedade denominada de “Função_Coverage” cujo valor é uma FUNCAO_C. A FUNCAO_C é uma função que tem um domínio espacial e seu intervalo de valores é um conjunto de tuplas homogêneas. Este intervalo pode ser simplificado para ser uma coleção de vetores homogêneos (que são coordenadas numéricas). Um domínio espacial pode ser qualquer geometria ou uma coleção de geometrias. Usualmente , a geometria é acompanhada por uma referência em um sistema espacial, e seus pontos estão associados às localizações. Normalmente um domínio espacial inclui retângulos fechados, conjuntos de pontos, grades, triângulos, e outras coleções de geometrias. Uma coverage pode ter mais que uma propriedade FUNCAO_C como valor. O intervalo de valores de uma FUNCAO_C é um conjunto de valores usualmente representados como uma coleção de vetores. FUNCAO_C: (Geometria no domínio espacial) -> (v1, v2, v3, ..., vn) Por exemplo, uma FUNCAO_C pode associar a cada ponto valores de temperatura, pressão, umidade, e velocidade do vento de noite. Neste caso, todo ponto é mapeado para um vetor de 4 dimensões. Uma coverage é projetada para representar uma única feição ou um conjunto de feições. Por exemplo, uma coverage pode ter um domínio espacial que contenha um único município ou um único país. Em um outro caso uma coverage pode ser tratada para modelar uma única feição (país), ou como uma coleção de feições (coleção de municípios). A Figura 4.18 ilustra os diversos subtipos de coverage prevista no OGIS. 122 Para um maior detalhamento sobre os tipos de coverage apresentados e suas propriedades ver OGIS (1998B). Como decorrência deste estudo sobre a especificação OPEN GIS, concluímos preliminarmente, que ainda existem muitos pontos a serem amadurecido e consolidados e que qualquer interpretação desta especificação pode ser considerada uma “aproximação”. Neste sentido elaboramos e propomos um modelo semântico orientado por objetos que, segundo nosso entendimento, mais se aproxima ao estágio atual da especificação OPEN GIS. A Figura 4.19 apresenta este modelo. COVERAGE IMAGEM COVERAGE GRADE COVERAGE SUPERFÍCIE COVERAGE PONTO DISCRETO COVERAGE SUPERFÍCIE POLIEDRAL COVERAGE LINHA COVERAGE AREA E VIZINHANÇA COVERAGE TIN COVERAGE SEGMENTO DE LINHA COVERAGE GEOMETRICA OUTRAS COVERAGE Fig. 4.18 - Subtipos de Coverage. FONTE : adaptada de OGC (1998B). 123 COLEÇÃO DE FEIÇÕES TIPO DE FEIÇÃO GEOGRÁFICA COVERAGE 1 FEIÇÃO COM GEOMETRIA C_FUNCTION ATRIBUTOS IMAGEM PONTO LINHA POLÍGONO COVERAGE GRADE OUTRA GEOMETRIA PRIMITIVA COVERAGE SUPERFÍCIE COVERAGE PONTO DISCRETO COVERAGE SUPERFÍCIE POLIEDRAL COVERAGE LINHA COVERAGE ÁREA E VIZINHANÇA COVERAGE TIN COVERAGE SEGMENTO DE LINHA COVERAGE OUTRAS COVERAGE GEOMETRIA Fig. 4.19 - Modelo semântico que se aproxima da especificação OPEN GIS. 4.5 - Comparação entre os SIGs e o padrão OGIS Este item tem a pretensão de realizar uma comparação entre os três SIGs apresentados, tomando como referência dois conceitos do OGIS: feição com geometria e coverage. Trata-se de um desenvolvimento onde será buscado mostrar até onde cada um destes sistemas aderem a esses dois conceitos. 4.5.1 - MGE e OGIS 4.5.1.1- Feição com Geometria O conceito de feição geográfica é apresentada pelo MGE como sendo a representação dos fenômenos geográficos do mundo real e possui informações descritivas no banco de dados. A representação geométrica de cada feição é materializada em um mapa. Cada feição com geometria possui um identificador e é classificada em uma classe de feição que compõe uma categoria. A definição de que feição com geometria pode ser composta por outras feições com geometria pode ser contemplada por este item através do 124 mecanismo existente entre categoria de feições que podem ser compostas por classes de feições. 4.5.1.2 - Coverage O MGE não captura a visão semântica do modelo OGIS que considera as diferentes especialização do conceito coverage. Alguns subtipos de coverage no MGE são tratados de forma independente por módulos específicos como é o caso de grade irregular triangular e grade regular. Neste caso a aderência ao modelo OGIS é parcial. 4.5.2 - Arc/Info e OGIS 4.5.2.1 - Feição com Geometria O modelo de dados vetorial é responsável por representar as feições geográficas através do modelo geo-relacional onde a parte gráfica é especializada pelas geometrias ponto, linhas e polígonos, e a parte descritiva é representada por tabelas de atributos no SGBD relacional. Apesar da parte gráfica possuir uma representação geométrica, ela somente pode ser materializada no sistema através de uma estrutura denominada coverage. Não é possível conceber feição com representação geométrica sem a existência de coverage. Portanto concluímos que o Arc/Iinfo adere parcialmente ao conceito de feição com geometria. 4.5.2.2 - Coverage Coverage, no Arc/Info, é definido como o método primário para representar o modelo de dados vetorial, assim como “GRID” é o método para representar o modelo de dados matricial, e o “TIN” é o método para representar o modelo de dados de rede irregular triangular. Devido à existência de um sub-tipo de 125 coverage denominado coverage geométrica, deduzimos que este sub-tipo é o mais próximo correspondente à estrutura coverage do ARC/INFO. Já o modelo de dados matricial e o modelo de dados de rede irregular triangular são contemplados no OGIS como sub-tipos de coverage: coverage grade e coverage TIN respectivamente. No Arc/Info estes modelos possuem representações específicas, no caso: “GRID” e “TIN”. Portanto para este item a aderência é parcial. 4.5.3 - SPRING e OGIS 4.5.3.1 - Feição com Geometria No SPRING, as feições geográficas do mundo real são modeladas por dois grandes tipos de dados: geo-objetos e geo-campos. Os geo-objetos representam feições geográficas com identidades únicas e possuem uma descrição no banco de dados. Além disto eles são representados por uma ou mais geometrias no sistema, como é o caso de uma representação de um mesmo geo-objeto em duas escala diferentes: em uma ela pode ser um ponto em outra pode ser um polígono. Portanto a definição de geo-objetos adere à definição de feição com geometria do OGIS. Ressalve-se porém, que a da feição com geometria que pode ser composta por outras feições com geometria, conceito este não encontrado no referido sistema 126 4.5.3.2 - Coverage A definição de geo-campos implementada pelo SPRING representa a distribuição espacial das feições geográficas no mundo real. Dentro deste contexto, o geo-campo e suas especialidades contemplam a definição de coverage do OGIS. A Tabela 4.1 mostra um resumo das comparações realizadas anteriormente tendo como referência o conceito OGIS para feição com geometria e coverage. 4.5.3.3 - Uma Breve Conclusão Sob o ponto de vista semântico nenhum dos sistemas apresentados adere por completo ao padrão OGIS. Pode-se citar, para exemplificar esta afirmação, os seguintes fatos: 1) No MGE, a noção de especialização de tipos de feições, representada por categoria e classes de feições, não é contemplada pelo OGIS de forma explícita e direta. 2) No Arc/Info existe a noção de coverage e não contempla a idéia de feição com geometria como entidade independente da coverage. A noção de coverage no Arc/Info pode ser mapeado parcialmente para o conceito de coverage geométrica no OGIS. 3) A separação explícita entre feição geográfica e sua geometria, presente no SPRING, não é disponível diretamente no OGIS. Como a especificação do padrão OGIS é um processo em evolução, isto é, não se esgotou até o momento destas análises, é possível que em versão mais avançadas no futuro, tais fatos poderão ser contemplados de forma explícita. 127 TABELA 4.1 - QUADRO COMPARATIVO ENTRE OS TRÊS SIGS E OS CONCEITOS FEIÇÃO COM GEOMETRIA E COVERAGE DO OGIS SIGs aderência Feição c/ Geometria Coverage LIMITADA(*) PARCIAL As feições com geometria somente se materializam com a existência das Coverages. Não há o conceito uma feição com geometria que pode ser composta por outras feições com geometria O modelo de dados vetorial adere ao sub-tipo Coverage Geométrica, o modelo de dados de Grade Regular adere ao sub-tipo de Grade Coverage, e o modelo de dados de grade irregulat triangular adere ao sub-tipo TIN coverage. PARCIAL LIMITADA Não há o conceito uma feição com geometria que pode ser composta por outras feições com geometria. O modelo de dados matricial e de grade triangular irregular possui método de representação específico. Existem os módulos específicos para a representação de feições geográfica distribuídas espacialmente. PARCIAL PARCIAL Geo-objetos e suas especialidades. Não tem o conceito uma feição com geometria que pode ser composta por outras feições com geometria Geo-Campos e suas especialidades. Porém não suporta a noção de vetor de valores para cada ponto. Arc/Info detalhe aderência MGE detalhe Aderência SPRING detalhe (*) As classes de avaliação adotadas são: TOTAL, PARCIAL e LIMITADA 128 CAPÍTULO 5 INTEROPERABILIDADE SEMÂNTICA ENTRE SIGs 5.1 - Introdução Nos capítulos anteriores discutimos a fundamentação teórica dos Sistemas de Informação Geográfica (SIGs), apresentamos os modelos conceituais de diferentes sistemas, e procuramos relacionar estes sistemas no contexto do padrão OPEN GIS. Neste capítulo, abordaremos o problema da interoperabilidade semântica entre sistemas, e apresentaremos o desenvolvimento de uma ferramenta prática para apoiar a modelagem de projetos na área de geoprocessamento e subsidiar a conversão de conceitual deste modelo entre sistemas diferentes. Trata-se do Tradutor de Modelos Semânticos de Geoinfomação - GeoTMS, um protótipo8 de sistema que provê ao usuário recursos gráficos para auxiliar a construção de modelos conceituais compatíveis com as regras conceituais de um determinado SIG. Estas regras conceituais estão embutidas no sistema, que certifica se elas estão sendo cumpridas pelo usuário. Outra funcionalidade importante do GeoTMS é a capacidade de, a qualquer momento, converter o modelo conceitual de um determinado SIG para o padrão OPEN GIS, e para qualquer outro SIG de preferência do usuário. ___________________________ 8 A prototipação de software deve ser desenvolvida rapidamente, de forma que o cliente possa avaliar o protótipo e recomendar mudanças” (Pressman, 1995). Para maiores detalhes pode-se consultar este autor. 129 A princípio, o GeoTMS implementará as regras conceituais dos três SIGs estudados no capítulo anterior (MGE, ARC/INFO e SPRING), e a especificação padrão do OPEN GIS. 5.2 - Metodologia de Desenvolvimento do GeoTMS O processo de construção da ferramenta computacional GeoTMS envolve as seguintes fases e técnicas de engenharia de software : A primeira fase é denominada “Especificação Informal do Sistema” onde são apresentados o propósito do sistema, uma descrição informal do sistema, um diagrama de contexto e por fim, um resumo dos requisitos essenciais. Esta fase tem por objetivo, além da identificação e explicitação desses requisitos do sistema, a definição do escopo de trabalho. Na segunda fase é elaborada a “Especificação Formal do Sistema”. Nesta especificação é utilizada a metodologia de Rumbaugh (1994) apresentada no capítulo 3. Esta metodologia fundamenta-se na elaboração de modelos de três visões do mundo real para construção do sistema. São elas : visão funcional, dinâmica e estática (ou de objetos). Para a visão funcional é utilizado o diagrama de fluxo de dados (DFD) baseado na notação de Yourdon (1990). Já para a visão dinâmica é elaborado o diagrama de transição de estados (DTE) segundo a notação de de Rumbaugh (1994). Para a visão estática ou de objetos, é utilizada a técnica de modelagem de objetos (TMO) de Rumbaugh (1994). A terceira fase é o projeto do sistema, que envolve o detalhamento dos modelos desenvolvidos na descrição formal, visando a implementação. A quarta fase é a implementação do sistema. Como linguagem de programação será utilizado o Visual Basic (versão 4.0), e como ambiente de 130 persistência de dados será utilizando o banco de dados relacional Access (versão 97). 5.3 - Especificação Informal do Sistema 5.3.1 - Propósito do GeoTMS O propósito do GeoTMS é oferecer um instrumento computacional de auxílio na elaboração de modelos conceituais para projetos na área de geoprocessamento com independência do SIG adotado, disponibilizando ferramentas de consistência do modelo, conversão do modelo entre SIGs e conversão para o padrão OPEN GIS. 5.3.2 - Modelo Descritivo do GeoTMS O sistema é baseado em um ambiente gráfico e amigável. O usuário do sistema pode escolher o SIG que melhor conhece para modelar conceitualmente o seu problema. O sistema fornece, em forma de objetos gráficos, as diversas classes de dados comuns ao SIG adotado, assim como os tipos de relacionamentos que poderão existir entre estas classes de dados. Os objetos gráficos possuem propriedades que devem ser preenchidas pelo usuário de forma a torná-las mais representativas da classe de dados modelada. Desta forma, através de movimentos simples com o “mouse” o usuário seleciona os objetos gráficos que representam as classes de dados do SIG selecionado, e monta um diagrama conceitual. 131 É disponibilizada ao usuário uma ferramenta de verificação de consistência que é capaz de indicar os pontos do diagrama discordantes com as regras conceituais do SIG adotado. O sistema é capaz, a qualquer momento, de converter o modelo conceitual construído em um determinado SIG para um outro SIG, e para o modelo padrão OGIS. 5.3.3 - Diagrama de Contexto do Sistema O diagrama de contexto é uma visão de alto nível do sistema, na qual procurase identificar as entidades externas e as principais funcionalidades que o sistema deverá atender através de “perguntas” que estas entidades externas queiram ver respondidas pelo sistema. A Figura 5.1 mostra o diagrama. 5.3.4 - Resumo dos Requisitos do Sistema Esta seção descreve um resumo dos requisitos que o sistema deverá atender. Este resumo é decorrente da análise do modelo descritivo do sistema e do diagrama de contexto. A tabela 5.1 mostra este resumo. 132 USUÁRIO USUÁRIO Quero modelar meu projeto em MGE Quero modelar meu USUÁRIO projeto em ARC/INFO Com fica meu projeto em MGE no ARC/INFO e SPRING ? Com fica meu projeto em USUÁRIO ARC/INFO no MGE e SPRING ? GeoTMS Quero modelar meu projeto em SPRING Com fica meu projeto em SPRING no MGE e ARC/INFO ? USUÁRIO USUÁRIO Como fica meu projeto no Padrão OPEN GIS ? Meu projeto está rigidamente dentro das regras conceituais do SIG que estou modelando? USUÁRIO USUÁRIO Fig. 5.1 - Diagrama de contexto do sistema. TABELA. 5.1 - RESUMO DOS REQUISITOS A SEREM ATENDIDOS PELO GEOTMS ITEM A B C D E F G H REQUISITO Encapsular as regras conceituas do SIG MGE. Encapsular as regras conceituas do SIG ARC/INFO. Encapsular as regras conceituas do SIG SPRING. Encapsular as regras conceituas do padrão OPENGIS. Prover um ambiente gráfico para modelagem conceitual em qualquer um dos SIGs adotados. Fornecer um mecanismo de conversão dos modelos conceituais para o modelo padrão OPENGIS. Fornecer um mecanismo de conversão entre os modelos conceituais dos SIGs. Prover um mecanismo de verificação de consistência com as regras conceituais do sistema adotado. 133 5.4 - Especificação Formal do Sistema A descrição formal envolve a elaboração dos modelos das três visões do mundo real: visão funcional, dinâmica e estática. Segue a especificação de cada uma delas. 5.4.1 - Visão Funcional A visão funcional é especificação formal do sistema sob o enfoque funcional. Nela são definidos sete processos essenciais responsáveis pela transformação dos dados, que por sua vez estão representados em quatro depósitos de dados. A entidade externa, denominada “usuário”, é responsável por estimular o sistema a atender suas necessidades. Segue uma breve explicação de cada processo representado pelo diagrama da Figura 5.2. Acompanhando esta explicação está sendo referenciado o item de requisito a que o processo está atendendo. Desta forma, poderemos garantir que todos os requisitos estabelecidos na primeira fase sejam cumpridos. • Selecionar SIG. Trata-se da possibilidade que o sistema oferece ao usuário em selecionar um dos três SIGs (MGE, ARC/INFO, SPRING) para construção do seu modelo conceitual. • Apresentar um ambiente de trabalho em determinado SIG. Para o SIG escolhido no processo anterior, o sistema monta um ambiente gráfico de trabalho adequado para a construção do modelo conceitual do SIG selecionado. Atende ao requisito E. 134 OBJETOS GRÁFICO USUÁRIO SOLICITA OBJETOS GRÁFICOS PARA MODELAGEM USUÁRIO SOLICITA AMBIENTE TRABALHO EM DETERMINADO SIG 1 SELECIONAR SIG SIG SELECIONADO 2 APRESENTAR UM AMBIENTE DE TRABALHO EM DETERMINADO SIG 3 MONTAR MODELO CONCEITUAL SIG SELECIONADO, AMBIENTE PRONTO REGRAS CONCEITUAIS PROBLEMAS REALÇADOS PARA AJUSTE 5 APONTAR INCONSISTÊNCIAS PROBLEMAS ENCONTRADOS MODELO PRONTO PARA CHECAGEM 4 CHECAR CONSISTÊNCIA DO MODELO CONCEITUAL MODELOS 6 TRADUZIR PARA O MODELO OGIS MODELO CONCEITUAL SEM PROBLEMAS TABELA DE TRADUÇÃO 7 TRADUZIR PARA QUALQUER SIG Fig. 5.2 - Visão Funcional: Diagrama de Fluxo de Dados do Sistema GeoTMS. • Montar Modelo Conceitual. São disponibilizados para o usuário dois grupos de elementos gráficos de trabalho para a montagem do modelo conceitual: Caixas de classes abstratas de dados e tipos de ligações entre estas classes. Com estes elementos, e o auxílio de uma “ajuda on line” o usuário, através de “cliques do mouse”, vai construindo o diagrama que representa o modelo conceitual. Caixas de classes e ligações apresentam propriedades padrão, e devem ser convenientemente preenchidas pelo usuário para que haja uma melhor adequação à classe de dados ou ao tipo de ligação modelada. Atende ao requisito E. • Verificar Consistência do Modelo Conceitual. À qualquer momento o usuário tem a possibilidade de checar a consistência do modelo conceitual 135 construído por ele com a regra conceitual do SIG selecionado. Este processo é uma funcionalidade do próprio sistema. Atende ao requisito H. • Apontar as Inconsistências. Caso ocorram como resultado do processo anterior, problemas de inconsistência, o sistema as aponta graficamente. Cabe ao usuário corrigir estas inconsistências e passar pelo processo 4 novamente. Atende ao requisito H. • Converter para o Modelo OGIS. Esta opção é disponibilizada ao usuário somente após o processo de verificação de consistência obter sucesso. Através deste processo, o modelo construído em determinado SIG é traduzido para o padrão OGIS e apresentado graficamente. Este processo se apoia na definição das tabelas de conversão que serão apresentadas no tópico de visão estática do sistema. Atende ao requisito F. • Converter para qualquer SIG. Como no processo anterior, esta opção é disponibilizada ao usuário somente após o processo de Verificação de consistência obter sucesso. Através deste processo, o modelo conceitual elaborado pelo usuário em um determinado SIG, é traduzido para um outro SIG que ele mesmo selecionou. Por exemplo, caso o usuário construa o modelo conceitual em MGE, ele poderá ver uma tradução deste modelo em ARC/INFO ou SPRING. Este processo se apoiará na definição das tabelas de conversão que serão apresentadas no tópico de visão estática do sistema. Atende ao requisito G. Os demais requisitos A, B, C e D serão atendidos diretamente pela especificação da visão estática no item de regras conceituais no próximo tópico. 136 5.4.2 - Visão Estática A visão estática busca modelar as estruturas estáticas contidas nos depósitos de dados apresentados na visão funcional. Neste caso, esses armazenadores são: Objetos Gráficos, Regras Conceituais, Tabelas de Conversão e Modelos. A seguir o modelo de cada uma delas é apresentado. 5.4.2.1 - Objetos Gráficos Os objetos gráficos representam uma classe abstrata de tipos de dados que são especializados nas regras conceituais. O objetivo dos objetos gráficos é disponibilizar ao usuário, em forma de ferramentas gráficas, todas as classes de dados dos diversos níveis semânticos que definem o modelo conceitual padrão de cada SIG. Isto é possível pela especialização das regras conceituais para cada SIG, conforme será apresentado no próximo item. A fig. 5.3 ilustra a classe abstrata “Objetos Gráficos”. OBJETOS GRÁFICOS REGRAS CONCEITUAIS Fig. 5.3 - Visão Estática: Modelagem dos Objetos Gráficos. 137 5.4.2.2 - Regras Conceituais As regras conceituais representam a semântica de cada SIG. Através da especialização do super-tipo abstrato Regra Conceitual, tem-se toda a definição semântica de cada SIG estudado no capítulo anterior, além do padrão OGIS. A Figura 5.4 ilustra a especialização das regras conceituais. REGRAS CONCEITUAIS OGIS MGE ARC/INFO SPRING Fig. 5.4 - Visão Estática: Modelagem dos Tipos de Regras Conceituais. A seguir serão apresentados, como especializações dos tipos de regras conceituais, o modelo conceitual padrão de cada SIG e do OGIS. 5.4.2.2.1 - O padrão OGIS A definição conceitual do modelo OGIS é decorrente dos estudos realizados no capítulo anterior. A Figura 5.5 mostra o modelo padrão identificado até o momento na documentação de especificação do consórcio OPEN GIS. 138 REGRAS CONCEITUAIS OGIS COLEÇÃO DE FEIÇÕES TIPO DE FEIÇÃO GEOGRÁFICA COVERAGE 1 FEIÇÃO COM GEOMETRIA C_FUNCTION ATRIBUTOS IMAGEM PONTO LINHA POLÍGONO COVERAGE GRADE OUTRA GEOMETRIA PRIMITIVA COVERAGE SUPERFÍCIE COVERAGE PONTO DISCRETO COVERAGE SUPERFÍCIE POLIEDRAL COVERAGE LINHA COVERAGE ÁREA E VIZINHANÇA COVERAGE TIN COVERAGE SEGMENTO DE LINHA COVERAGE OUTRAS COVERAGE GEOMETRIA Fig. 5.5 - Visão Estática: Modelagem das Regras Conceituais OGIS. Este item atende o requisito D da especificação informal do sistema. 5.4.2.2.2 - MGE O modelo conceitual padrão que define o SIG MGE é apresentado pela Figura 5.6. Este modelo é resultado de investigação realizada no Capítulo 4 tópico 4.1, onde encontra-se uma descrição da semântica modelada. Este item atende o requisito A da especificação informal. 5.4.2.2.3 - ARC/INFO As regras conceituais expostas pela Figura 5.7 definem o modelo padrão do SIG ARC/INFO. Isto é resultado de um processo de investigação realizado no Capítulo 4 tópico 4.2, onde poderá ser encontrada uma explicação detalhada da semântica modelada. 139 Este item atende o requisito B da especificação informal do sistema. REGRAS CONCEITUAIS MGE GRADE REGULAR PROJETO GRADE IRREGULAR TRIANGULAR IMAGENS INDICE CATEGORIA CLASSES DE FEIÇÕES ELEMENTO GRÁFICO PONTO LINHA FRONTEIRA DE ÁREA TABELA DO USUÁRIO IDENTIFICADOR DE ÁREA INDEFINIDO FORMA COMPLEXA Fig. 5.6 - Visão Estática: Modelagem das Regras Conceituais MGE. 140 REGRAS CONCEITUAIS ARC/INFO MODELO DE DADOS VETORIAL MODELO DE DADOS DE GRADE IRREGULAR TRIANGULAR COVERAGE TIN MODELO DE DADOS DE GRADE REGULAR GRID PONTO LINHA LATTICE IMAGEM POLÍGONO TABELA DE VALORES TABELA DE ATRIBUTOS TABELA DE ATRIBUTOS TABELA DE ATRIBUTOS Fig. 5.7 - Visão Estática: Modelagem das Regras Conceituais ARC/INFO. 5.4.2.2.4 - SPRING Assim como para os outros SIG, o modelo padrão do SPRING foi resultado de investigação detalhada consolidada no Capítulo 4 tópico 4.3. A Figura 5.8 mostra a semântica modelada para este sistema. Este item atende o requisito C da especificação informal do sistema. 141 REGRAS CONCEITUAIS SPRING BANCO DE DADOS GEOGRÁFICOS 1 PROJETO é instanciado por CATEGORIA MAPA DE OBJETOS CAMPOS TEMÁTICO NUMÉRICO PLANO DE INFORMAÇÃO IMAGENS CADASTRAL é representado por REDE OBJETO NÃO ESPACIAL TABELA DE ATRIBUTOS Fig. 5.8 - Visão Estática: Modelagem das Regras Conceituais SPRING. 5.4.2.3 - Tabelas de Conversão As tabelas de conversão definem como será traduzido o modelo conceitual criado pelo usuário, para o padrão OGIS, ou para qualquer outro SIG. A seguir são apresentados as seguintes tabelas de conversão: • MGE para OGIS; • ARC/INFO para OGIS; • SPRING para OGIS; 142 • MGE para SPRING e vice-versa; • MGE para ARC/INFO e vice-versa e • ARC/INFO para SPRING e vice-versa. A tabela de conversão é composta por quatro colunas. A primeira coluna representa o item de tradução. Na segunda coluna estão representadas as classes de dados do sistema origem a ser traduzido. A terceira coluna representa as classes correspondentes do sistema destino. Já na quarta coluna é representada a referência ao modelo conceitual global que define se a classe traduzida é “campo” ou “objeto”. Está referência é realizada sempre que possível. A Tabela 5.2 ilustra a idéia. TABELA 5.2 - TABELA DE CONVERSÃO ITEM SISTEMA ORIGEM SISTEMA DESTINO GLOBAL 1 2 ... CLASSE A CLASSE B ... CLASSE 3 CLASSE 1 ... Campo Objeto ... Para as traduções onde serão representadas o caminho de retorno, ou seja, a tradução inversa, deixa de ter sentido as denominações “sistema origem” e “sistema destino”, pois em uma coluna estarão representadas as classes correspondentes do outro sistema, e vice-versa. Após a apresentação da tabela de conversão serão expostas as justificativas para a tradução de cada item da tabela. 5.4.2.3.1 - Considerações Iniciais Com relação à tradução para o modelo OGIS seguem algumas considerações. Este modelo procura representar, organizar e simplificar a realidade geográfica através de classes abstratas de dados. Já os modelos conceituais dos SIGs 143 representam esta mesma realidade com um nível maior de detalhes, decorrentes da maneira específica com que estes sistemas de mercado enxergam as particularidades do mundo real. Isto implica em uma natural convergência de classes de dados dos SIGs, para uma mesma classe de dados destino no modelo OGIS. Em outros casos não existe uma correspondência direta entre classes específicas dos SIGs e classes do OGIS, uma vez que o OGIS não tem o compromisso de representar particularidades dos SIGs, e procura generalizar conceitos que todos os sistemas deveriam seguir. 5.4.2.3.2 - MGE para OGIS A Tabela 5.3 mostra a tabela de conversão do MGE para o modelo padrão OGIS. A seguir serão apresentadas justificativas e considerações sobre esta tradução : • Justificativa do item 1: A tradução entre CATEGORIA e COLEÇÃO DE FEIÇÕES foi proposta uma vez que, em ambas as classes, busca-se representar um agrupamento de feições geográficas. Vale lembrar que a definição de COLEÇÃO DE FEIÇÃO é assunto em discussão pelo consórcio OPEN GIS (para maiores detalhes recomendamos (OGC, 1998A)). Portanto, tomamos como verdade COLEÇÃO DE FEIÇÕES como agrupamento de feição geográfica para representar um fenômeno geográfico. Porém, essas feições geográficas não necessariamente possuem a mesma geometria e atributos descritivos. Por exemplo, vejamos o caso de “hidrografia”. Trata-se de uma CATEGORIA ou COLEÇÃO DE FEIÇÕES que agrupam classes de feições tais como “rio permanente” (geometria linha), “terreno sujeito a inundação” (geometria polígono), “ilhas” (geometria polígono), etc.. 144 TABELA 5.3 - TABELA DE CONVERSÃO DE MGE PARA OGIS ITEM 1 2 3 4 5 6 7 8 9 10 11 12 MGE OGIS CATEGORIA CLASSE DE FEIÇÕES PONTO IDENTIFICADOR DE ÁREA LINHA FRONTEIRA DE ÁREA FORMA COMPLEXA GRADE REGULAR GRADE TRIANGULAR IMAGENS ELEMENTO GRÁFICO TABELA DO USUÁRIO PROJETO INDICE GLOBAL COLEÇÃO DE FEIÇÕES TIPO DE FEIÇÃO GEOGRÁFICA PONTO CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS / OBJETOS LINHA POLÍGONO CAMPOS / OBJETOS CAMPOS / OBJETOS COVERAGE GRADE COVERAGE TIN COVERAGE IMAGEM GEOMETRIA ATRIBUTOS / C_FUNCTION EM DEFINIÇÃO EM DEFINIÇÃO CAMPOS CAMPOS CAMPOS CAMPOS / OBJETOS CAMPOS / OBJETOS - • Justificativa do item 2: A correspondência entre CLASSE DE FEIÇÃO e TIPO DE FEIÇÃO correspondência GEOGRÁFICA existente entre é suas em parte classes justificada superiores, e pela pela semelhança de definição. Neste caso, as classes, em ambos os modelos, são semelhantes na representação geométrica e nos atributos descritivos. Pelo exemplo utilizado na justificativa anterior, a CLASSE DE FEIÇÃO ou TIPO DE FEIÇÃO GEOGRÁFICA ‘rio permanente’ representa todas as ocorrências de rio permanente cuja geometria é linha, e os atributos descritivos podem ser nome e extensão. A tradução justificada pelos itens 1 e 2 é válida para a parte do modelo OGIS que representa os fenômenos geográficos através de geometria. Os fenômenos cuja representação utiliza a terminologia COVERAGE no OGIS, são representados pelo MGE através de pacotes específicos que serão abordados na justificativas dos itens 6, 7 e 8. • Justificativa dos itens 3, 4 e 5: A justificativa para a tradução destes itens baseia-se na semelhança de geometria. Para as classes do Item 3, a representação geométrica é ponto. Já as do item 4, como o próprio nome das classes sugere, a representação geométrica é linha. No item 5, a representação geométrica é polígono. 145 • Justificativa do item 6, 7 e 8: Essas traduções tratam a representação de fenômenos geográficos distribuídos espacialmente, como sugere a definição de Campos exposta no capítulo 2 tópico 2.2.3. O MGE possui produtos específicos para tratar estas classes de dados. GRADE REGULAR, GRADE IRREGULAR TRIANGULAR e IMAGENS são tratados no MGE de forma independente, e possuem correspondência semântica no modelo OGIS com COVERAGE GRADE, COVERAGE TIN e COVERAGE IMAGEM respectivamente. Isto é justificado pela semelhança de definição na representação de fenômenos geográficos. • Justificativa do item 9: O elemento gráfico define a forma geométrica da feição geográfica no MGE. Isto é idêntico ao conceito de geometria do OGIS. • Justificativa do item 10: A TABELA DO USUÁRIO define os atributos alfanumérico que descrevem uma feição geográfica. Esta tabela, no MGE, poderá estar associada tanto a feição do tipo objeto, quanto a campo. Portanto sua tradução para o OGIS poderá ser para ATRIBUTOS ou para C_FUNCTION. • Justificativa dos itens 11 e 12: Estes conceitos presentes no MGE encontram-se em processo de definição no OGIS sendo, portanto, imprudente realizar qualquer tipo de conclusão. 146 5.4.2.3.3 - ARC/INFO para OGIS A Tabela 5.4 mostra a conversão do ARC/INFO para o modelo OGIS. TABELA 5.4 - TABELA DE CONVERSÃO DE ARC/INFO PARA OGIS ITEM ARC/INFO 1 COVERAGE 2 3 4 5 6 7 TABELA DE ATRIBUTOS PONTO LINHA POLÍGONO TIN GRID LATTICE IMAGEM TABELA DE VALORES 8 9 OGIS GLOBAL COLEÇÃO DE FEIÇÕES GEOGRÁFICAS ATRIBUTOS PONTO LINHA POLÍGONO COVERAGE TIN COVERAGE GRADE CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS CAMPOS CAMPOS CAMPOS CAMPOS COVERAGE IMAGEM C_FUNCTION A seguir serão apresentadas justificativas e considerações sobre esta tradução: • Justificativa do item 1: A classe COVERAGE do ARC/INFO materializa um conjunto de feições geográficas de uma mesma geometria dentre as possíveis: pontos, linhas ou polígonos. Portanto, como a classe OGIS COLEÇÃO DE FEIÇÕES GEOGRÁFICAS é definida como uma composição de feições geográficas de um ou mais tipos de feição geográfica, decidimos optar por esta correspondência com a seguinte restrição: neste caso a COLEÇÃO DE FEIÇÕES OGIS deve ser composta por feições de um mesmo tipo. • Justificativa do item 2: Tanto a classe TABELA DE ATRIBUTOS do ARC/INFO, quanto a classe ATRIBUTOS do OGIS, são responsáveis por representar os atributos das feições geográficas. Porém, no OGIS esses atributos incluem a parte alfanumérica e a geometria, e portanto, para a devida correspondência faremos a seguinte restrição: para esta tradução somente a parte alfanumérica é valida. 147 • Justificativa do item 3, 4 e 5: As classes PONTO, LINHA e POLÍGONO do ARC/INFO têm tradução direta para as classes PONTO, LINHA e POLÍGONO respectivamente, no modelo OGIS. Isto é justificado como decorrência da semelhança geométrica entre as classes. • Justificativa do item 6: A classe de dados TIN, sub-classe de MODELO DE DADOS DE GRADE IRREGULAR TRIANGULAR, é traduzida para o modelo OGIS como a classe COVERAGE TIN. Isto é justificado pela semelhança de definição entre estas classes. • Justificativa do item 7: As classes GRID, LATICCE, e TABELA DE VALORES são traduzidas para a classe COVERAGE GRADE em OGIS. Isto é justificado pela semelhança de definição existente entre estas classes. • Justificativa do item 8: A classe IMAGENS do ARC/INFO é traduzida para a COVERAGE IMAGENS, pois elas tratam o mesmo tipo de dados: IMAGENS. • Justificativa do item 9: A classe TABELA DE VALORES armazena os valores que estão associados a cada célula de um GRID, ou seja define a representação de uma feição distribuída espacialmente. Esta atribuição da TABELA DE VALORES é semelhante a da C_FUNCTION do OGIS, portanto justifica-se a correspondência. 5.4.2.3.4 - SPRING para OGIS A Tabela 5.5 mostra a tabela de conversão do SPRING para o modelo OGIS. A seguir serão apresentadas justificativas e considerações sobre esta tradução: 148 TABELA 5.5 - TABELA DE CONVERSÃO DO SPRING PARA OGIS ITEM SPRING 1 2 3 4 PLANO DE INFORMAÇÃO CATEGORIA CAMPO OBJETOS com representação no MAPA DE OBJETOS TEMÁTICO NUMÉRICO 5 6 7 8 9 10 11 12 13 OGIS GLOBAL COLEÇÃO DE FEIÇÕES TIPO DE FEIÇÃO GEOGRÁFICA COVERAGE FEIÇÃO C/ GEOMETRIA CAMPOS / OBJETOS CAMPOS / OBJETOS CAMPOS OBJETOS COVERAGE GEOMÉTRICA COVERAGE GRADE COVERAGE TIN COVERAGE IMAGEM FEIÇÃO C/ GEOMETRIA FEIÇÃO C/ GEOMETRIA ATRIBUTOS EM DEFINIÇÃO IMAGEM CADASTRAL REDE TABELA DE ATRIBUTOS BANCO DE DADOS GEOGRÁFICO PROJETO NÃO ESPACIAL CAMPOS CAMPOS CAMPOS OBJETOS OBJETOS OBJETOS - EM DEFINIÇÃO EM DEFINIÇÃO • Justificativa do item 1: - Na classe PLANO DE INFORMAÇÃO são representadas uma ou mais feições geográficas. A noção de coleção de feições no SPRING é um agrupamento de feições geográficas materializadas em um PLANO DE INFORMÇÃO. Esta definição se aproxima da definição de classe COLEÇÃO DE FEIÇÕES no OGIS, conforme exposta na justificativa do item 1 do tópico 5.4.2.3.2. Portanto, a correspondência entre PLANO DE INFORMAÇÃO e COLECÃO DE FEIÇÕES é justificada pela proximidade de definição. • Justificativa do item 2: A classe CATEGORIA no SPRING define uma das classes de feições geográficas a serem tratadas. Dentro destas possíveis classes encontram-se: Temático, Objetos, Imagem, Numérico, Não espacial, Cadastral e Rede. Nesta tradução do SPRING para o OGIS, aproximaremos a correspondência de CATEGORIA para FEIÇÃO GEOGRÁFICA no sentido de representar classes de feição geográfica que podem ser divididas nas classes abrangidas pelo SPRING. • Justificativa do item 3: A classe CAMPO do SPRING é definida para representar fenômenos geográficos distribuídos espacialmente em uma área geográfica. Esta definição coincide com a definição da classe 149 COVERAGE do modelo OGIS. Além disto, elas permitem a especialização em sub-tipos para representar de forma mais fiel particularidades de fenômenos geográficos. Como exemplo destes sub-tipos podemos citar as classes traduzidas nos itens 5, 6 e 7 deste tópico. • Justificativa do item 4: A classe de OBJETOS com representação no MAPA DE OBJETOS é responsável pela representação de fenômenos geográficos discretos tais como lotes, fazendas, rede de esgoto, etc.. A representação de cada instância destas classes inclui a parte geométrica e os atributos alfanuméricos. Esta definição está bem próxima da definição de FEIÇÃO COM GEOMETRIA do OGIS, onde os fenômenos discretos são representados por feições que possuem como atributos a parte geométrica e a parte alfanumérica. Portanto, esta correspondência é justificada. • Justificativa do item 5: A classe TEMÁTICA do SPRING é uma especialização da classe CAMPO. Esta classe TEMÁTICA busca representar fenômenos distribuídos espacialmente através de polígonos representativos da grandeza geográfica que se deseja mapear. Cada grandeza é representada por um sub-tema, como por exemplo vegetação secundária, mata ciliar, etc. A sub-classe de COVERAGE que possui a mesma proximidade com esta definição é a COVERAGE GEOMETRICA. Da mesma forma que a TEMATICA, esta classe busca representar grandezas distribuídas espacialmente, neste caso através da geometria. • Justificativa do Item 6: A classe NUMÉRICO no SPRING é definida para representar fenômenos distribuídos espacialmente através de um conjunto de pontos regularmente espaçados ou não, onde para cada ponto existe um valor que representa a grandeza geográfica que se deseja mapear. As classes do OGIS que possuem uma definição próxima diste são é COVERAGE GRADE e COVERAGE TIN. 150 • Justificativa do Item 7: Esta tradução é clara pela terminologia utilizada nos dois sistemas. Esta terminologia reflete para os dois casos um conteúdo semelhante para representação de imagens georeferenciadas. • Justificativa dos itens 8 e 9: A classe CADASTRAL e REDE são especializações de uma instância da classe OBJETOS com representação no MAPA DE OBJETOS. Trata-se de feições que representam elementos geográficos do mundo real, individualizados e possuem uma geometria associada. Esta definição é semelhante ao conceito de FEIÇÃO C/ GEOMETRIA do OGIS. • Justificativa do item 10: A classe TABELA DE ATRIBUTOS define a descrição alfanumérica que está associada aos OBJETOS que poderão ou não possuir uma representação geométrica no MAPA DE OBJETOS. Isto é semelhante a atribuição da classe ATRIBUTOS que está associada a FEIÇÃO C/ GEOMETRIA. Daí a correspondência entre as classes. • Justificativa dos itens 11 à 13: Estes itens não se encontram de forma explícita na documentação do OGIS, o que nós leva a concluir que estão em processo de definição. 5.4.2.3.5 - MGE para SPRING e vice-versa A tradução semântica entre os sistemas MGE e SPRING é mostrada pela Tabela 5.6. Em seguida são apresentadas as justificativas para esta tradução : 151 TABELA 5.6 - TABELA DE CONVERSÃO DO MGE PARA O SPRING E VICEVERSA ITEM MGE 1 2 PROJETO CLASSES DE FEIÇÕES 3 4 TABELA DO USUÁRIO GRADE REGULAR GRADE IRREGULAR TRIANGULAR IMAGENS 5 SPRING GLOBAL PROJETO TEMÁTICO / OBJETOS com representação no MAPA DE OBJETOS TABELA DE ATRIBUTOS NUMÉRICO CAMPOS/OBJETOS OBJETOS CAMPOS IMAGENS CAMPOS • Justificativa do item 1: A tradução do item 1 é justificada pela proximidade de definição existente as duas classes. Em ambos os casos busca-se definir o sistema de coordenadas a ser utilizado, e identificar a área geográfica de trabalho. No SPRING, além disto, existe a definição do retângulo envolvente desta área geográfica de trabalho, o que no MGE não é necessário. • Justificativa do item 2: A classe CLASSE DE FEIÇÕES no MGE pode ser mapeada para duas classes no SPRING: TEMATICO e OBJETOS com representação no MAPA DE OBJETOS. Esta duplicidade de mapeamento é acontece porque no MGE não existe distinção para se representar fenômenos geográficos distribuídos espacialmente, e fenômenos geográficos discretos. Neste caso, a classe CLASSE DE FEIÇÃO é utilizada para representar estes dois tipos de fenômenos. • Justificativa do item 3: Esta tradução é justificada porque as classes dos dois sistemas representam a mesma semântica: tabelas descritivas criadas pelo usuário associadas às feições geográficas. • Justificativa do item 4 e 5: Estas traduções são justificadas pela proximidade de definição entre as classes correspondentes. 152 5.4.2.3.6 - MGE para ARC/INFO e vice-versa A tradução semântica entre os sistemas MGE e ARC/INFO é mostrada pela Tabela 5.7. Em seguida são apresentadas as justificativas para esta tradução : TABELA 5.7 - TABELA DE CONVERSÃO DO MGE PARA O ARC/INFO E VICE-VERSA ITEM MGE 1 CATEGORIA 2 3 4 CLASSE DE FEIÇÕES TABELA DO USUÁRIO PONTO IDENTIFICADOR DE ÁREA LINHA FRONTERIA DE ÁREA FORMA COMPLEXA GRADE REGULAR 5 6 7 8 9 GRADE IRREGULAR TRIANGULAR IMAGENS ARC/INFO <CONJUNTO DE COVERAGE> COVERAGE TABELA DE ATRIBUTOS PONTO GLOBAL CAMPOS/OBJETOS CAMPOS/OBJETOS OBJETOS OBJETOS LINHA POLÍGONO OBJETOS OBJETOS GRID LATTICE TIN CAMPOS IMAGEM CAMPOS CAMPOS • Justificativa do item 1: A classe CATEGORIA do MGE representa a generalização de CLASSE DE FEIÇÕES que possuem semelhanças. A classe correspondente no ARC/INFO que melhor corresponderia a esta definição do MGE seria <CONJUNTO DE COVERAGE>. Porém, esta classe <CONJUNTO DE COVERAGE> não existe de forma explícita no modelo conceitual do ARC/INFO. Existe esta noção quando o usuário cria uma estrutura de diretório para organizar e agrupar as coverages mais semelhantes. Esta organização é mais explícita no sistema ARC/VIEW porque pode-se criar uma “view” composta por um conjunto de coverage. Neste sistema, cada coverage é denominada de “tema” da “view”. Por isto, optamos por representar o correspondente da classe CATEGORIA do MGE por <CONJUNTO DE COVERAGE>. • Justificativa do item 2: A classe CLASSE DE FEIÇÕES do MGE representa classes de feições geográficas semelhantes. Esta noção é 153 compartilhada pela classe COVERAGE, porém, o aspecto de “semelhança” é mais forte no ARC/INFO. Isto justifica-se porque necessariamente as feições pertencentes numa mesma coverage devem ter geometrias semelhantes: ponto, linha ou polígono. No MGE as feições geográficas pertencentes à uma mesma CLASSE DE FEIÇÕES não necessitam ter a mesma geometria. • Justificativa do item 3: Esta tradução é justificada porque em ambos os sistemas estas classes representam os atributos alfanuméricos definidos pelo usuário. • Justificativa dos itens 4, 5 e 6: Estas traduções são justificadas pela semelhança de geometria existente entre as classes correspondentes. • Justificativa do item 7, 8 e 9: Estas traduções são justificadas pela proximidade de definição entre as classes correspondentes. 5.2.2.3.7 - ARC/INFO para SPRING e vice-versa A Tabela 5.8 mostra a tradução entre o modelo conceitual do ARC/INFO e o SPRING. . Em seguida são apresentadas as justificativas para esta tradução : • Justificativa Item 1: A classe COVERAGE do ARC/INFO possui a responsabilidade de representar fenômenos geográficos. Esta representação é geométrica e pode ser especializada em três tipos: polígono, linha ou ponto. Os fenômenos geográficos são categorizados em duas classes: Objeto Geográfico e Campos, conforme exposto no capítulo 2 tópico 2.2.3 deste trabalho. 154 TABELA 5.8 - TABELA DE TRADUÇÃO DE ARC/INFO PARA SPRING E VICE-VERSA ITEM 1 2 3 4 ARC/INFO SPRING COVERAGE TABELA DE ATRIBUTOS TIN GRID LATTICE IMAGEM GLOBAL PLANO DE INFORMAÇÃO / OBJETO / CADASTRAL PLANO DE INFORMAÇÃO / OBJETO / REDE PLANO DE INFORMAÇÃO / TEMÁTICO TABELA DE ATRIBUTOS NUMERICO OBJETOS IMAGEM CAMPOS OBJETOS CAMPOS OBJETOS CAMPOS Porém, a classe COVERAGE possui limitações para representar dados do tipo Campos. Unicamente dados temáticos do tipo vetorial são suportados. Isto ocorre porque, para outros tipos de dados Campos, existem métodos específicos de representação diferentes da COVERAGE. A classe PLANO DE INFORMAÇÃO é uma estrutura computacional onde são representados os fenômenos geográficos modelados no SPRING. Uma instância da classe PLANO DE INFORMAÇÃO pertence a uma categoria disponível no sistema. A categoria que define a classe de dados a ser apresentada é manipulada no PLANO DE INFORMAÇÃO. As categorias CATEGORIA possíveis em decorrem MAPAS DE da especialização OBJETOS e da classe CAMPOS. Essas especializações são semelhantes às duas classes de fenômenos geográficos descritos anteriormente: Objetos Geográficos e Campos. As classes de Objetos Geográficos disponíveis pelo sistema são OBJETOS representados como CADASTRAL, REDE e NÃO ESPACIAL (sem representação geométrica). As classes de Campos disponíveis no sistema são: TEMÁTICO, NUMÉRICO e IMAGENS. 155 Portanto, a classe COVERAGE do ARC/INFO possui como correspondente no SPRING o PLANO DE INFORMAÇÃO pertencente às categorias OBJETO/CADASTRAL, OBJETO/REDE e TEMÁTICO/SUB-TEMAS. Esta tradução identificou apenas estas classes correspondentes devido às limitações existentes na classe COVERAGE. Nesta operação de tradução necessita-se a orientação do usuário para definir a classe de dados correta para correspondência de acordo com a utilização dos dados. O caminho de retorno é verdadeiro e direto. • Justificativa Item 2: Os atributos alfanuméricos associados à classe COVERAGE no ARC/INFO são representados pela classe TABELA DE ATRIBUTOS. No SPRING, esses atributos são representados pela classe TABELA DE ATRIBUTOS associada à classe OBJETOS. Em ambos os casos a TABELA DE ATRIBUTOS é formada por atributos alfanuméricos definidos pelo usuário para descrever fenômenos geográficos do tipo objetos geográficos. Neste escopo, a tradução entre as duas classes TABELA DE ATRIBUTOS nos dois sistemas é verdadeira nos dois sentidos. • Justificativa Item 3: Os fenômenos geográficos do tipo campos podem ser representados no ARC/INFO, além da classe COVERAGE para dados temáticos, pelas classes TIN, GRID ou LATTICE. No SPRING esta representação pode ser dada pela classe NUMÉRICO. Portanto, a correspondência das classes TIN, GRID e LATTICE é a classe NUMÉRICA. No caminho de retorno torna-se necessário a interação com o usuário para indicar ao sistema a tradução correta da classe NUMÉRICO para as três classes possíveis no ARC/INFO, considerando-se a finalidade de utilização do dado. 156 • Justificativa Item 4: A classe IMAGEM do ARC/INFO e a classe IMAGEM do SPRING tratam do mesmo tipo de dados: imagens no formato “raster”. Este tipo de classe de dados nos dois sistemas reflete uma especialização da classe campo. Portanto, a tradução é direta entre as duas classes nos dois sentidos Existem classes de dados tanto do modelo de ARC/INFO, quanto do modelo o SPRING que não sofreram tradução. As justificativas de cada ocorrência serão apresentadas a seguir. No modelo do SPRING, as classes que não sofreram tradução são: BANCO DE DADOS GEOGRÁFICO, PROJETO e NÃO ESPACIAL. A classe BANCO DE DADOS GEOGRAFICO representa o repositório das informações espaciais e não espaciais geradas ao longo de um projeto. Explicitamente não existe uma classe responsável por isto no ARC/INFO. De uma forma mais prática, o que mais se aproxima deste conceito no ARC/INFO é a estrutura de diretórios que o usuário do sistema deve montar para armazenar cada COVERAGE gerada. Porém, isto não é evidente no modelo conceitual do ARC/INFO. A classe PROJETO do SPRING define a área geográfica de estudo sobre o BANCO DE DADOS GEOGRÁFICO. Pode existir mais de um projeto associado ao mesmo banco. No entanto, não existe de forma explícita uma classe PROJETO no modelo conceitual do ARC/INFO que desempenhe esta mesma função. Porém, com o produto de visualização e consulta de dados geográficos, o ArcView, é possível se criar vários projetos associados às mesmas COVERAGEs armazenadas na estrutura de diretório criada pelo usuário. 157 A classe NÃO ESPACIAL representa dados alfanuméricos, introduzidos pelo usuário no sistema, que não estão ligados diretamente a uma representação geométrica. Semelhante conceito não foi identificado no ARC/INFO. De forma indireta, a classe TABELA DE ATRIBUTOS pode ter esse tipo de responsabilidade. No modelo do ARC/INFO as classes que não sofreram tradução são: MODELO DE DADOS VETORIAL, MODELO DE DADOS DE GRADE IRREGULAR, MODELO DE DADOS REGULAR, PONTO, LINHA, POLÍGONO, TABELA DE VALORES. As classes MODELO DE DADOS VETORIAL, MODELO DE DADOS DE GRADE IRREGULAR, MODELO DE DADOS REGULAR são classes generalizadas que abrangem as classes de dados que possuem uma tradução direta. No entanto, para estas classes não foram identificadas, de forma direta, uma tradução para o SPRING. As classes PONTO, LINHA e POLÍGONO são tipos de representações geométricas que um COVERAGE pode assumir no ARC/INFO. Este tipo de representação geométrica existe no SPRING, no entanto, ela está associada intimamente à classe de dados especificada na CATEGORIA. Por não existir uma correspondência direta no modelo, não é possível realizar a tradução para estas classes. A classe TABELA DE VALORES define os valores que estão associados a cada elemento que compõe a classe GRID. Semelhante conceito não existe no SPRING. 158 5.4.2.4 - Modelo O modelo representa um repositório de dados onde é armazenada cada ocorrência de um novo modelo conceitual desenvolvido pelo usuário do GeoTMS, em qualquer um dos SIGs selecionados. Esta classe de dados é representada pela Figura 5.9. MODELOS Fig. 5.9 - Visão Estática: Classe modelos onde são armazenadas as ocorrências de modelos conceituais desenvolvidos pelo usuário do sistema. 5.4.2 - Visão de Dinâmica A visão dinâmica busca representar as mudanças de estado do sistema que ocorrem com o passar do tempo. A Figura 5.10 apresenta o diagrama de transição de estado e eventos que reflete a visão dinâmica. Este diagrama apresenta 12 transições de estado provocadas por 21 eventos diferentes. Estes eventos são ações provocadas pelo ususário do sistema, ou pelo próprio sistema, ocasionando a modificação do estado. Estas ações devem ser englobadas pelos processos do diagrama de fluxo de dados. 159 5.5 - Projeto do GeoTMS Neste caso, a fase de projeto será composta pelo diagrama de estrutura dos módulos e pela construção das tabelas que compõem o modelo relacional. 1 - Executar Sistema MONTANDO AMBIENTE DE TRABALHO PADRÃO 2 - Selecionar MGE como Ambiente de Trabalho 4 - Selecionar SPRING como Ambiente de Trabalho 3 - Selecionar ARC / INFO como Ambiente de Trabalho MONTANDO AMBIENTE DE TRABALHO NO ARC/INFO MONTANDO AMBIENTE DE TRABALHO NO MGE MONTANDO AMBIENTE DE TRABALHO NO SPRING 6 - Montar Modelo Conceitual em ARC/INFO 5 - Montar Modelo Conceitual em MGE 7 - Montar Modelo Conceitual em SPRING MONTANDO MODELO CONCEITUAL 8 - Checar a Consistência do Modelo Conceitual 11 - Ajustar Modelo Conceitual CHECANDO CONSISTÊNCIA 10 - Dar resposta ao usuário 9 - Dar resposta ao usuário APONTANDO OS PROBLEMAS OCORRIDOS EVIANDO MENSAGEM DE SUCESSO NA CHECAGEM DE CONSISTÊNCIA 12 - Traduzir para o Modelo OGIS 15 - Traduzir para o Modelo SPRING 13 - Traduzir para o Modelo MGE TRADUZINDO O MODELO PARA OGIS 14 - Traduzir para o Modelo ARC/INFO TRADUZINDO O MODELO PARA MGE TRADUZINDO O MODELO PARA ARC/INFO TRADUZINDO O MODELO PARA SPRING 16 - Traduzir para o Modelo ARC/INFO 17- Traduzir para o Modelo SPRING 18 - Traduzir para o Modelo ARC/INFO 19 - Traduzir para o Modelo MGE 20 - Traduzir para o Modelo MGE 21 - Traduzir para o Modelo SPRING Fig. 5.10 - Visão Dinâmica: Diagrama de Transição de Estados. 160 O diagrama de estrutura dos módulos é derivado do diagrama de fluxo de dados apresentado na visão funcional. Já a especificação do modelo relacional é derivada dos modelos de objetos apresentados na visão estática do sistema. 5.5.1 - Diagrama de Estrutura do Módulos Como já mencionado, este diagrama é derivado do diagrama de fluxo de dados - DFD . A Figura 5.11 apresenta o diagrama de estrutura dos módulos ressaltando, através de setas, os fluxos de controle e de dados entre os módulos. 5.5.2 - Modelo Relacional Conforme já mencionado, o modelo relacional é derivado da visão estática do sistema. A visão estática foi construída segundo a técnica de modelagem de objetos TMO, portanto será utilizada a técnica de mapeamento de objetos para ambientes relacionais como exposto no tópico 3.4 Persistência de Objetos em Ambientes Relacionais, para a construção do banco de dados. 5.5.2.1 - Objetos Gráficos A classe objetos gráficos armazena os 4 tipos de objetos gráficos atualmente disponíveis neste sistema: OGIS, MGE, ARC/INFO e SPRING. Esta classe é diretamente mapeada para uma tabela no modelo relacional, como mostrado na Tabela 5.9. 161 TABELA 5.9 - OBJETOS GRÁFICOS CAMPO ID_SIG TIPO caracter TAMANHO 1 SIG caracter 10 DESCRIÇÃO Identificador do SIG que terá sua classes representadas por objetos gráficos Denominação do Sistema de Informação Geográfica TRADUZIR MODELOS SEMÂNTICOS STATUS MODELO MODELO MODELO MODELO CONVERTIDO MODELO CONVERTIDO CONVERTER MODELOS CONSTRUIR MODELOS APRESENTAR TRADUÇÃO MODELO CONVERTIDO MODELO CONVERTIDO SIG MODELO STATUS MODELO SIG TRADUZIR PARA OGIS MODELO CONVERTIDO TRADUZIR PARA ARC / INFO MODELO TRADUZIR PARA MGE MODELO SIG VERIFICAR CONSISTÊNCIA APRESENTAR INTERFACE STATUS SIG APRESENTAR INTERFACE SELECIONAR SIG SIG STATUS MODELO APRESENTAR AMBIENTE DO SIG CHECAR PROPRIEDADES STATUS CHECAR CLASSES MODELO APONTAR INCONSISTÊNCIAS ENVIAR MENSAGEM MODELO INCONSISTENTE MONTAR MODELO CONCEITUAL MODELO SIG MODELO INCONSISTENTE DISPONIBILIZAR FERRAMENTAS Fig. 5.11 - Diagrama de estrutura dos módulos. 162 TRADUZIR PARA SPRING 5.5.2.2 - Regras Conceituais As regras conceituais refletem a semântica de cada SIG estudado e do modelo OGIS. Cada classe do modelo conceitual dos SIGs e OGIS representados através da TMO é mapeado para o modelo relacional por uma única tabela. Isto é possível pela aplicação do conceito de auto-relacionamento, e pela utilização de chaves estrangeiras para indicar qual SIG está associado à uma determinada classe. Na coluna descrição da tabela gerada, tabela 5.10, tem-se maiores detalhes sobre a utilização destes conceitos. TABELA 5.10 - REGRAS CONCEITUAIS CAMPO ID_CLASSE ID_SIG TIPO caracter caracter TAMANHO 5 1 CLASSE CLASSE_SUP caracter caracter 50 5 TIPO_RELACION inteiro DESCRIÇÃO Identificador da ocorrência de uma classe. Chave estrangeira: Indica qual é o SIG associado a ocorrência de uma classe. Nome da classe. Trata-se do campo que materializa o autorelacionamento. Este campo armazena o identificador da classe superior à classe ocorrida. Armazena o tipo de relacionamento existente entre a classe superior e a classe ocorrida. Os tipo são: 0 - Especialização; 1 - Agregação; 2 - Associação. 5.5.2.3 - Tabela de Conversão Trata-se da classe onde são armazenadas as traduções entre as classes dos diversos sistemas estudados. Os valores desta tabela foram discutidos no tópico 5.4.2.3. Esta parte da visão estática é mapeada para uma única tabela no modelo relacional. A Tabela 5.11 mostra isto. 163 5.5.2.3 - Modelos Trata-se da parte da visão estática onde são armazenadas as classes construídas pelo usuário. Independentemente do SIG selecionado, a classe modelo, além de armazenar as classes criadas pelo usuário, armazena os relacionamentos entre elas. TABELA 5.11- TABELA DE CONVERSÃO CAMPO ID_SIG1 TIPO caracter TAMANHO 1 ID_CLASSE1 ID_SIG2 caracter caracter 5 1 ID_CLASSE2 caracter 5 DESCRIÇÃO Chave estrangeira: Indica qual é o SIG associado a classe 1 que será traduzida para a classe 2. Identificador da classe a ser traduzida Chave estrangeira: Indica qual é o SIG associado a classe correspondente a classe 1 traduzida. Identificador da classe correspondente a classe 1 traduzida. Esta classe é mapeada para uma única tabela no modelo relacional, conforme mostrado na Tabela 5.12. TABELA 5.12- MODELOS CAMPO ID_CLASS_USU TIPO inteiro TAMANHO ID_SIG caracter 1 ID_CLASSE caracter 5 CLASSE_USU ID_SUP_USU caracter inteiro 50 TIPO_RELACIONA COMENTARIO inteiro caracter 50 164 DESCRIÇÃO Chave Primária: Identificador de uma classe criada pelo usuário Chave Estrangeira: Identificador do SIG pertencente a classe criada pelo usuário. Chave Estrangeira: Identificador da classe do SIG a qual a classe do usuário derivou. Nome da classe criada pelo usuário. Identificador da classe superior criada pelo usuário. Implementa o auto-relacioanmento Armazena o tipo de relacionamento existente entre a classe superior e a classe ocorrida. Os tipo são: 0 - Especialização; 1 - Agregação; 2 - Associação. Armazena algum comentário sobre a classe 5.6 - Implementação Para ilustrar esta fase será apresentada a interface do sistema. As principais telas, seguidas de uma breve descrição serão mostradas a seguir. Também serão apresentados um exemplo de modelo conceitual construído pelo usuário, um exemplo da sua conversão para o padrão OGIS, e exemplos de sua conversão para outros SIGs. A Figura 5.12 ilustra o ambiente padrão do GeoTMS. Esta interface é apresentada ao usuário após a inicialização do sistema. Já a Figura 5.13 mostra o menu “arquivo”, onde são permitidas ao usuário as opções de criar um “novo” modelo conceitual, “abrir” um modelo conceitual já existente em determinado SIG, “salvar” um modelo, e “sair” do sistema. A Figura 5.14 apresenta o menu “exibir” e as suas opções. A opção “Objetos Gráficos” mostra uma janela onde são disponíveis as classes de dados do SIG selecionado pelo usuário. Estas janelas são mostradas pelas Figuras 5.19, 5.20 e 5.21. É através destas janelas que o usuário seleciona a classe de dados que deseja instancializar e insere-a no seu modelo. O usuário seleciona o SIG no qual deseja construir o seu modelo no momento que aciona a opção “novo”, no menu “arquivo”. A partir daí, uma janela é apresentada, conforme exposta pela Figura 5.18, com uma lista dos SIGs disponíveis para construção do modelo. A opção “Relacionamentos” disponível no menu “Exibir”, apresenta ao usuário os tipos de relacionamentos que poderão existir entre as classes que representam o modelo de cada um dos três SIGs. Cabe ao usuário selecionar um tipo de relacionamento e “clicar” em duas classes de seu modelo para materializar o relacionamento entre eles. A Figura 5.15 ilustra esta funcionalidade. 165 Outra importante funcionalidade implementada é a verificação da consistência do modelo conceitual que está sendo construído pelo usuário do sistema, com as regras semânticas do SIG selecionado. Isto é permitido pelo Menu “Consistência” opção “verificar”, exposta na Figura 5.16. Fig. 5.12 - Ambiente padrão do GeoTMS. Fig. 5.13 - Menu arquivo e suas opções. 166 Fig. 5.14 - Menu “Exibir” e suas opções. Fig. 5.15 - Tipo de relacionamentos disponíveis pelo GeoTMS. Fig. 5.16 - Menu “Consistência”, opção para verificar consistência do modelo conceitual do usuário. As opções para tradução do modelo conceitual elaborado pelo usuário para outros SIGs, e para o padrão OGIS, são permitidos pelo menu “Tradução”, conforme exposto na Figura 5.17. 167 Fig. 5.17 - Opção para a tradução do modelo conceitual do usuário. Fig. 5.18 - Interface de seleção de SIG. 168 Fig. 5.19 - Classes de dados do MGE disponibilizadas ao usuário do sistema para elaborar o modelo conceitual. Fig. 5.20 - Classes de dados do ARC/INFO disponibilizadas ao usuário do sistema para elaborar o modelo conceitual. 169 Fig. 5.21 - Classes de dados do SPRING disponibilizadas ao usuário do sistema para elaborar o modelo conceitual. A Figura 5.22 ilustra um exemplo de uma modelo conceitual elaborado pelo usuário do sistema no SIG MGE. Após realizada a verificação de consistência com sucesso, o modelo está disponível para tradução. A seguir é apresentada a Figura 5.23 onde é mostrado o resultado da tradução do modelo conceitual elaborado no MGE para o padrão OGIS. Já a Figura 5.24 apresenta o modelo MGE e a sua tradução para o modelo ARC/INFO. Para finalizar este exemplo a Figura 5.25 apresenta a tradução deste modelo MGE para o SPRING. 170 Fig. 5.22 - Exemplo de modelo conceitual elaborado pelo usuário no SIG MGE. Fig. 5.23 - Exemplo de tradução do modelo conceitual do MGE para o OGIS. 171 Fig. 5.24 - Exemplo de tradução do modelo conceitual do MGE para o SIG ARC/INFO. Fig. 5.25 - Exemplo de tradução do modelo conceitual do MGE para o SIG SPRING. 172 CAPÍTULO 6 CONCLUSÃO Esta dissertação reflete um trabalho de investigação sobre o problema de interoperabilidade em Geoprocessamento sob um ponto de vista prático e real. As funcionalidades de transferência de dados entre SIGs, e as propostas de especificações de padronização de dados geográficos, foram os primeiros passos rumo à interoperabilidade. No entanto, estes mecanismos de transferência de dados entre formatos distintos esbarram nas regras conceituais que devem ser obedecidas para a absorção destes dados geográficos pelos SIGs. Tais regras conceituais refletem a maneira como os dados geográficos devem ser dispostos no SIG para a sua manipulação. Portanto, é vital o conhecimento destas regras conceituais para realizar, de forma plena, a interoperabilidade. Desenvolvemos um estudo investigativo sobre três SIGs utilizados no Brasil: MGE, ARC/INFO e SPRING e uma análise comparativa entre os modelos conceituais destes sistemas e o padrão OPEN GIS. O objetivo do estudo da especificação OPEN GIS foi ter um referencial para comparar os SIGs. O grau de aderência destes SIGs ao padrão OPEN GIS nos permitiu ter uma indicação da distância entre estes SIGs e as funcionalidades de interoperabilidade prometidas pelo OPEN GIS. A especificação do OPENGIS encontra-se ainda em fase de desenvolvimento, com muitos assuntos ainda não concluídos. Apesar disto, este trabalho buscou investigar e interpretar esta especificação de maneira a trazer de uma forma mais clara e objetiva os conceitos abordados. 173 Este trabalho realizou ainda um proposta de tradução entre as regras conceituais de cada SIG para o padrão OPEN GIS, e também um proposta de tradução entre os SIGs. Para isto desenvolveu-se tabelas de conversão entre as classes de dados que compõem os diferentes modelos conceituais de cada SIG. Esta proposta de tradução foi materializada por um protótipo de sistema denominado de Tradutor de Modelos Semânticos de Geo-Informação GeoTMS. Este sistema se propõe a ser uma ferramenta no auxílio à interoperabilidade para efetivar a transferência de dados de um sistema para o outro, respeitando as regras semânticas de cada SIG. As conclusões obtidas com esta experiência podem ser listadas a seguir pelo tópicos 6.1, 6.2 e 6.3. 6.1 - Diferenças Conceituais entre os SIGs do mercado O estudo mostrou uma grande distância semântica entre os sistemas considerados. Deste modo, a proposta de tradução entre os modelos semânticos de cada SIG, implementada na ferramenta GeoTMS não necessariamente é a única possível. Nem todas as classes de dados de um sistema possuem um correspondente direto no outro sistema, e pode-se concluir que qualquer proposta de tradução será necessariamente incompleta. Podemos citar alguns exemplos: 1) O MGE implementa a idéia de especialização de feições geográficas, com os conceitos de categoria e classe de feições, não disponíveis explicitamente no ARC/INFO e no SPRING. A indexação de bancos de dados geográficos (através do conceito de INDICE) não possui correspondência exata no ARCINFO e SPRING; 174 2) O SPRING estabelece uma separação entre a feição geográfica e sua representação (através dos conceitos de objeto e cadastral), e permite diferentes representações associadas a um mesmo campo (coverage). Estas duas características estão ausentes no MGE e no ARC/INFO. 3) O ARC/INFO permite a associação de uma representação matricial de um campo (GRID) com uma TABELA DE VALORES, o que não tem correspondência exata em MGE e SPRING. 6.2 - Alcance e Limitações do padrão OPEN GIS Da comparação do padrão OPENGIS com os diferentes SIGs e com as propostas téoricas de modelagem da literatura, é possível estabelecer que a especificação OPENGIS está centrada em dois conceitos fundamentais para representar fenômenos geográficos: feição com geometria e coverage. A especificação do conceito de feição com geometria se aproxima da noção teórica de geo-objetos, assim como a especificação do conceito de coverage se aproxima da definição de geo-campo. De uma forma geral, por abordar as duas perspectivas de modelagem geográfica, a especificação OPEN GIS deve ser vista como um avanço conceitual em relação aos principais SIGs do mercado internacional. No entanto, tal como está especificada hoje, e em função dos diferentes compromissos que uma solução de consenso inevitavelmente tem de adotar, a proposta OPEN GIS apresenta ainda algumas limitações e indefinições: 1) Apesar da proposta técnica estar baseada no visão de “campos” e “objetos”, também há uma tendência em acomodar alguns conceitos dos modelos semânticos do MGE e do ARC/INFO. Os conceitos de “feição com geometria” e “coverage” propostos facilitam a aderência do modelo MGE ao primeiro e do ARC/INFO ao segundo. 175 2) O problema da separação entre feição geográfica e sua representação (essencial para questões como modelagem temporal) não foi tratado adequadamente, pois a noção de “feição simples” refere-se a uma única representação espacial. O SPRING trata este problema de forma mais adequada, ao diferenciar entre geo-objeto e mapa cadastral. A noção de “feição complexa”, que seria uma possível maneira de resolver o problema, não está descrita de forma completa na atual especificação e pode gerar complicações desnecessárias. 3) No OPEN GIS, uma coverage pode ser especializada em diferentes representações (grade, vetor, pontos), o que configura uma proposta desnecessariamente restritiva, pois cada coverage teria uma e somente uma representação. Seria muito mais útil substituir a noção de especialização de uma coverage em diferentes representações pela idéia da coverage como uma agregação de representações geométricas, como faz o SPRING. Neste caso, uma mesma coverage (um MNT, por exemplo) poderia possuir simultâneamente várias representações geométricas (como grade regular, malha triangular, isolinhas e amostras esparsas). 4) A idéia de hierarquia entre feições (uma classe de feições podendo ser especializada em outras), disponível no MGE, é extremamente útil na modelagem de problemas reais. Mais uma vez, a especificação OPENGIS não é explícita a forma de realizar esta hierarquia, pois as noções de “feição complexa” e “conjunto de feições” não estão completamente especificadas. Nestes casos, o padrão OPENGIS pode ser visto como tendo menor poder expressivo que sistemas já disponíveis e a tradução de modelos conceituais de sistemas como o SPRING e o MGE para o padrão OPENGIS será feita com perda de semântica. 176 6.3 - Interoperabilidade na Prática Não obstante suas limitações, a especificação OPEN GIS representa um avanço significativo na questão da interoperabilidade. Como vimos ao longo deste trabalho, há ainda muitas indefinições e dúvidas que terão de ser resolvidas, antes do OPENGIS ser estabelecido de fato. As soluções adotadas pelo OPENGIS (ao acomodar as definições mais aceitas na teoria de Geoprocessamento à realidade dos sistemas) podem ter um efeito contraproducente. Ao permitir dubiedades e inconsistências no mapeamento de bancos de dados existentes para o padrão OPEN GIS, o consórcio pode ter criado um substancial problema para a futura migração dos bancos de dados geográficos existentes para o padrão. Tome-se o caso da migração de um grande centro de dados no formato ARC/INFO para o padrão OPENGIS. Como as “coverages” ARC/INFO podem ser entendidas tanto como “feições com geometria” ou “coverages geométricas” no OPENGIS, o resultado da tradução admite uma dubiedade. Assim, um usuário externo dos dados deste banco de dados pode ter surpresas ao tentar fazer acesso aos dados, porque o entendimento do padrão OPENGIS deste usuário pode não ser o mesmo do estabelecido pelo administrador do centro de dados. 177 6.4 - Estudos Futuros Como complemento deste trabalho e em continuidade ao problema de interoperabilidade em Geoprocessamento, acreditamos relevante abordar: • uma extensão do estudo realizado para outros SIGs de mercado, como MapInfo, IDRISI, Vision e Smallworld; • um aumento de funcionalidade da ferramenta GeoTMS para modelar sistemas como os citados acima, e para incluir relacionamentos entre entidades do banco de dados geográfico; • uma ligação do sistema GeoTMS com ferramentas de tradução sintática de dados geográficos (conversores de formatos); • a proposição de um modelo conceitual para dados geográficos que possa unificar os conceitos dos diferentes sistemas, sem as restrições presentes no OPEN GIS, e • a análise do problema de interoperabilidade de procedimentos de análise espacial, usualmente expressos em linguagens de comandos (GRID no ARC/INFO, AVENUE no ARC/VIEW, LEGAL no SPRING), e a implementação de um tradutor semântico entre estas linguagens. Espera-se no futuro, com a absorção da padronização das especificações propostas pelo consórcio OPEN GIS, que o mundo do geoprocessamento seja totalmente aberto e acessível por qualquer ferramenta que obedeça estas especificações, em qualquer lugar do planeta. Este futuro infelizmente não está muito próximo, uma vez que a adequação dos sistema atuais a esta especificação não é instantânea, e a migração dos dados geográficos existentes nos diversos formatos pode ser bastante lenta. 178 Um fato é certo: o intercâmbio entre as diversas comunidades que utilizam informação geográfica é extremamente necessário nos dias de hoje, e muito já esta sendo feito para transformar esta necessidade em uma solução operacional. 179 180 REFERÊNCIAS BIBLIOGRÁFICAS Bakker, M. P. R. Cartografia: noções básicas. Rio de Janeiro: Ministério da Marinha - Diretoria de Hidrografia e Navegação, 1965. 242p. Burrough, P.A. Principles of geographical information systems for land resources assessment. New York: Oxford University Press,1986. 194p. Câmara, G. Modelos, linguagens e arquitetura para banco de dados geográficos. São José dos Campos. Tese (Doutorado em Computação Aplicada) - Instituto Nacional de Pesquisas Espaciais - INPE, 1995. Environmental Systems Research Institute (ESRI). Arc/Info data management concepts, data models, database design, and storage. Redlands: 1994. 389p. Environmental Systems Research Institute (ESRI). ESRI's spatial database engine: a seamless GIS solution. [online]. <http://www.esri.com/base/common/userconf/proc96/TO100/PAP094/P94A .HTM>. March 1998. Fleximage Groupe Aeroespatiale. O2Géo: Le SGBD géographique objet. [online]. <http://www.fleximage.fr/produits/o2geo/indexf.htm>. March 1998. Gahegan M. Accounting for the semantic differences between various geographic information systems . [online]. <http://bbq.ncgia.ucsb.edu/conf/interop97/program/papers/gahegan.html>. July 1998. 181 Gooldchild F. M. , Egenhofer M. J., Fegeas R. Interoperating GISs : report of a specialist meeting held under the auspices of varenius project, painel on computacional implementations of geographic concepts. [online] <ncgia.ucsb.edu/conf/interop97/report.html> July 1998. Gooldchild F. M. Geographical data modeling. Elsevier: Computers & Geosciences, 1992, 408. Intergraph Corp. MGE basic nucleos (MGNUC) user’s guide for the windows NT operating system. Huntsville: 1994. 378p. Intergraph Corp. MGE analyst (MGA) user’s guide. Hunstiville: 1997. 182p. Intergraph Corp. GeoMedia pro first product designed specifically for A enterprise collection and maintenance of GIS Data . [online]. CC <http://www.intergraph.com/venezuela/noticias/221.htm> July 1998. Korth, H. F., Silberschatz, A. Sistemas de banco de dados. São Paulo: McGraw-Hill, 1989. 582p. Laser - Scan Geographic Information System. Gothic development environment. [online]. <http://www.lsl.co.uk/products/gothic.htm>. March 1998. Mapa. In: Buarque de Holanda Ferreira, A: minidicionário. Rio de Janeiro: Nova Fronteira, 1977. 306p. Milne, P.; Milton, S.; Smith, J.L. Geographical Object-Oriented Data Bases: a Case Study. International Journal of Geographic Information Systems. v. 7, n. 1, p. 39-55, January - February 1993. 182 O2 Technology. The O2 system, the database solution for C++, java and smalltalk developers. [online]. <http://www.o2tech.com/>. March 1998. Open GIS Consortium (OGC). Topic 5: The OpenGIS feature. [online] <http://www.opengis.org/techno/specs.htm>. March 1998A. Open GIS Consortium (OGC). Topic 6: The coverage type and its subtypes. [online] <http://www.opengis.org/techno/specs.htm>. March 1998B. Open GIS Consortium (OGC) Topic 1: Feature geometry. [online] <http://www.opengis.org/techno/specs.htm>. March 1998C. Open GIS Consortium (OGC) What is OpenGIS?. [online] <http://www.opengis.org/opengis.htm#opengis>. March 1998D. Oracle Corporation. New version of spatial data option catapults oracle universal server into new mapping and network applications leading industry partners commit to develop oracle-powered spatial. [online] <http://www.oracle.com.ar:1000/corpnews/cn_0227.htm>. March 1998. Pressman, R. S. Engenharia de software. São Paulo: Mc Graw-Hill, 1995. CK 1056p. Research Institute for Applied Knowledge Processing at the University of Ulm (FAW). Research project GODOT. [online]. <http://www.faw.uniulm.de:9876/umweltbe/protxt/GODOT.html>. March 1998. Robinson, A. H. Elements of cartography. Santa Barbara: John Wiley & Sons, 1963. 343 p. 183 Rumbaugh, J; Blaha, M; Premerlani, W; Eddy, F; Lorensen, W. Modelagem e projeto baseados em objetos. Rio de Janeiro: Editora Campus, 1994. 652p. Setzer, V. W. Projeto lógico e projeto físico de banco de dados. Belo Horizonte: UFMG, 1986. 289p. Instituto Nacional de Pesquisas Espaciais - Departamento de Processamento de imagens (INPE.DPI). Introdução ao SPRING 2.0. [online]. <http://www.dpi.inpe.br/spring/usuario/intro.htm#historico>. abr. 1998a. Instituto Nacional de Pesquisas Espaciais - Departamento de Processamento de imagens (INPE.DPI). Introdução ao SPRING. [online]. <http://www.dpi.inpe.br/spring/teoria/introdu1/teoria1.htm#geopro>. abr. 1998b. Instituto Nacional de Pesquisas Espaciais - Departamento de Processamento de imagens (INPE.DPI). As classes básicas do modelo conceitual. [online]. < http://www.dpi.inpe.br/spring/usuario/esquema2.htm#conc_campo >. abr. 1998c. Instituto Nacional de Pesquisas Espaciais - Departamento de Processamento de imagens (INPE.DPI). Manipulação de Dados Vetoriais no SPRING. [online]. < http://www.dpi.inpe.br/spring/usuario/edicao_v.htm>. abr. 1998d. Instituto Nacional de Pesquisas Espaciais - Departamento de Processamento de imagens (INPE.DPI). Partindo do Início. [online]. < http://www.dpi.inpe.br/spring/usuario/passo1.htm>. maio. 1998e. 184 Thomé, R. ; Yamaguchi, F. ; Motta, M. Uma Proposta de Interface Operacional entre SIG e SGBDR para Dados Convencionais. [CDROM]. In: Simpósio Brasileiro de Sensoriamento Remoto, Salvador, 8.,1996. Anais. São Paulo: Image Multimídia, 1996. Seção de Comunicações Técnico Científicas. Tufte, E. Visual Display of Quantitative Information. New York: Graphics Press,1992. 232p. Voisard, A. Geographic information extraction: querying or quarrying? [online]. <http://www/inf.fu-berlin.de/~voisard/interop97.av.html>. July 1998. Worboys, M.F.; Hearnshaw, H.M.; Maguire, D.J. Object-oriented data modelling for spatial data bases. International Journal of Geographical Information Systems, v. 4, n. 4, p. 369-383, October - December 1990. Worboys, M.F. GIS : a computer perspective. Keele: Taylor&Francis, 1995. 376p. Yourdon, E. Análise estruturada moderna. Rio de Janeiro: Editora Campus, 1990. 836p. Yuan M. Development of a global conceptual schema for interoperable geographic information. [online]. <http://bbq.ncgia.ucsb.edu/conf/interop97/program/papers/yuan/yuan.html> . July. 1998. 185 186 APÊNDICE A QUESTIONÁRIO DADO AO USUÁRIO E AO DESENVOLVEDOR O questionário dado ao usuário tem por objetivo a aquisição maior conhecimento sobre o sistema SPRING, sob a perspectiva do usuário. Ele é ilustrado na Figura A.1: QUESTIONÁRIO DADO AO USUÁRIO: 1) Qual a sua formação acadêmica ? 2) Qual o tempo de contato com sistemas informatizados ? 3) Qual o tempo de contato com o sistema SPRING ? 4) Em qual área aplica o sistema ? 5) O sistema soluciona os seus problemas ? [ ] Sim, totalmente. [ ] Sim, parcialmente. 6) Considera algum ponto frágil no sistema ? 7) Com relação ao tempo de resposta, considera o sistema eficiente ? 8) Quais os pontos que considera mais forte no sistema ? 9) Conhece outros sistemas na mesma área? Quais? Fig. A.1 - Questionário dado ao usuário. O questionário dado ao desenvolvedor tem por objetivo a aquisição maior conhecimento sobre o sistema SPRING, sob a perspectiva do desenvolvedor. Ele é ilustrado na Figura A.2. 187 QUESTIONÁRIO DADO AO DESENVOLVEDOR: 1) Qual a sua formação acadêmica ? 2) Qual a sua responsabilidade dentro do projeto do sistema ? 3) Foi utilizada alguma metodologia de Engenharia de Software ? Qual ? [ ] Metodologia de Desenvolvimento Orientada por Objetos. [ ] Fases: Análise, Projeto, Implementação/Teste e Manutenção. [ ] Técnica de Modelagem de Objetos - TMO de Rumbaugh. [ ] Modelagem Orientada por Objetos de Coad/Yourdon. [ ] Outras:.................................................................................. [ ] Metodologia de Desenvolvimento Clássica [ ] Fases: Análise, Projeto, Implementação/Teste e Manutenção. [ ] Diagramas de fluxo de dados. [ ] Diagrama entidade relacionamento. [ ] Modelo relacional. [ ] Diagrama de estados. [ ] Outras:...................................................................................... 4) Existe algum modelo gerado por você ou sua equipe ? Se sim é possível fornecer ? 5) É possível validar o esboço do modelo conceitual do sistema em anexo ? 6) Conhece a estrutura da base de dados no qual o sistema se apoia ? [ ] Muito Bem [ ] Bem [ ] Moderado [ ] Desconhece 7) É possível validar estas estruturas de base de dados em anexo? 8) Considera o sistema eficaz, no sentido de atender os objetivos que se propõe? 9) Considera o sistema eficiente com relação ao tempo de resposta ? 10) Gostaria de destacar algum ponto do sistema que mereceria maior atenção ? Fig. A.2 - Questionário dado ao desenvolvedor. 188 APÊNDICE B TABULAÇÃO DAS RESPOSTAS : QUESTIONÁRIO DADO AO USUÁRIO E AO DESENVOLVEDOR A seguir é apresentada a tabulação das respostas obtidas no questionário dado ao usuário*. 1) Qual a sua formação acadêmica? TABELA B.1 - FORMAÇÃO DOS USUÁRIOS ENTREVISTADOS GEOLOGIA OCEANOGRAFIA 33.3% BIOLOGIA 33.3% OUTRAS 33.4% 0% 2) Qual o tempo de contato com sistemas informatizados ? TABELA B.2 - TEMPO DE CONTATO COM SISTEMAS INFORMATIZADOS até 2 anos de 2 à 5 anos de 5 à 10 anos de 10 à 15 anos Acima de 15 anos 0% 0% 66.6 % 33.4 % 0% 3) Qual o tempo de contato com o sistema SPRING ? TABELA B.3 - TEMPO DE CONTATO COM O SPRING até 1 anos 0% de 1 à 3 anos de 3 à 5 anos 33.4 % Acima de 5 anos 66.6 % ____________________________ (*) O questionário foi aplicado em um universo de 6 usuários 189 0% 4) Em qual área aplica o sistema ? TABELA B.4 - APLICAÇÃO DO SISTEMA Meio Ambiente Geologia 80% Oceanografia 20 % Outros 0% 0% 5) O sistema soluciona os seus problemas ? TABELA B.5 - SOLUÇÃO DE PROBLEMAS Sim, totalmente Sim, parcialmente 0% 100 % 6) Considera algum ponto frágil no sistema ? TABELA B.6 - PONTO FRÁGIL NO SISTEMA Entrada Edição Análise Saída de dados de dados de dados de dados 20% 30% 0% 30% Documentação 20% 7) Com relação ao tempo de resposta considera o sistema eficiente ? TABELA B.7 - EFICIÊNCIA DO SISTEMA Proporcional ao tamanho da Proporcional ao número de área de trabalho pessoas utilizando na rede 70% 30% 190 Outras 0% 8) Quais os pontos que considera mais forte no sistema ? TABELA B.8 - PONTOS FORTES NO SISTEMA Ambiente Integrado Suporte técnico Agilidade em relação ao SGI 50% 30% 20% 9) Conhece outros sistemas na mesma área? Quais? TABELA B.9 - OUTROS SISTEMAS CONHECIDOS PELOS ENTREVISTADOS SGI/SITIM IDRISI ERDAS ARC/INFO ENVI PCI MGE 25% 25% 12.5% 12.5% 12.5% 12.5% 0% A seguir é apresentada a tabulação das respostas obtidas no questionário dado ao desenvolvedor*. 1) Qual a sua formação acadêmica? TABELA. B.10 - FORMAÇÃO DOS ENTREVISTADOS Engenheiro Eletrônico Engenheiro Bacharel em (com mestrado em computação Mecânico Computação 30% 0% Outros aplicada) 70% ____________________________ (*) O questionário foi aplicado em um universo de 3 desenvolvedores 191 0% 2) Qual a sua responsabilidade dentro do projeto do sistema ? TABELA B.11 - RESPONSABILIDADE DOS ENTREVISTADOS Desenvolvimento de aplicação Desenvolvimento de Arquitetura em processamento de imagens banco de dados geral 33.3% 33.3% 33.4% Outros 0% 3) Foi utilizada alguma metodologia de Engenharia de Software ? Qual ? TABELA B.12 - UTILIZAÇÃO DE METODOLOGIA DE ENGENHARIA DE SOFTWARE Sim, em parte. A Não como Não. Houve muita Utilização de Utilização concepção foi ferramenta informalidade. Sem técnicas clássicas do orientada por de trabalho documentação de como fluxo de diagrama objetos segundo a especificação. Muita dados e diagrama entidade - TMO. documentação no de estados como relaciona- código rascunho mento 17% 17% 17% 32% 17% 4) Existe algum modelo gerado por você ou sua equipe ? Se sim é possíve fornecer ? TABELA B.13 - GERAÇÃO E DISPONIBILIDADE DE MODELOS SIM NÃO 100% 0% 192 5) É possível validar o esboço do modelo conceitual do sistema em anexo ? TABELA B.14 - VALIDAÇÃO DE MODELO EXISTENTE SIM NÃO 100% 0% 6) Conhece a estrutura da base de dados no qual o sistema se apoia ? TABELA B.15 - CONHECIMENTO DA ESTRUTURA DE BASE DE DADOS Muito Bem Bem Moderado Desconhece 65% 0% 35% 0% 7) É possível validar estas estruturas de base de dados em anexo? TABELA B.16 - VALIDAÇÃO DA ESTRUTURA DE BASE DE DADOS EXISTENTE SIM NÃO 100% 0% 8) Considera o sistema eficaz, no sentido e atender os objetivos que se propõe? TABELA 17 - EFICÁCIA DO SISTEMA EM RELAÇÃO AO PROPÓSITO Sim, quanto a ser um Sim, quanto a ser um ambiente integrado ambiente monousuário 70% 30% 193 Outros 0% 9) Considera o sistema eficiente com relação ao tempo de resposta ? TABELA B.18 - EFICIÊNCIA DO SISTEMA EM RELAÇÃO AO TEMPO DE RESPOSTA Sim, em parte. Para Sim, em parte. Sim, em processamento de Dependendo do volume geral. imagens, é proporcional de dados a apresentação ao tamanho da imagem. na tela pode demorar. 30% 30% 10) 40% Outros 0% Gostaria de destacar algum ponto do sistema que mereceria maior atenção? TABELA B.19 - DESTAQUE DOS PONTOS QUE MERECEM MAIOR ATENÇÃO Maior rigor no Ambiente Maior disciplina na utilização Controle de Multiusuário de uma metodologia de versões (controle de acesso desenvolvimento de software Outras ao banco de dados) 20% 50% 30% 0% Na Figura B.1 a seguir é mostrado o esboço do modelo conceitual do sistema apresentado aos desenvolvedores para validação e ajustes. A partir deste esboço chegou-se a um modelo mais fiel a realidade do sistema que foi apresentado pelo Figura. 5.15 SPRING, no Capítulo 5. 194 - Modelo Orientado por Objetos do BANCO DE DADOS GEOGRAFICOS PROJETO CATEGORIA SPROJECTION DATUM PLANO DE INFORMACAO CAMPO TEMATICO MNT OBJETOS IMAGEM REDE CADASTRAL REPRESENTACAO VETORIAL VISUAL MATRIZ Fig. B.1 - Esboço do modelo conceitual do sistema apresentado aos desenvolvedores para validação e ajustes. Na Figura B.2 a seguir é mostrado o esboço do modelo de dados, utilizando um diagrama entidade relacionamento, para representar as tabelas implementadas no sistema SPRING. Este modelo foi apresentado aos desenvolvedores para validação e ajustes. 195 1 PROJETO 1 1 n n n PROJEÇÃO n 1 1 n 1 INFOLAYER n n DATUM n PROJECTIONS 1 n 1 1 1 CATEGORIA n VVISUAL 1 1 REPRESS n n 1 1 CATEGORIA VVISUAL 1 INFOLAYER 1 n 1 n GEOOBJETO 1 n 1 n n GEOANCHOR Fig. B.2 - Esboço do modelo de dados que foi apresentado aos desenvolvedores para validação e ajustes. A partir da apresentação deste modelo e discussão sobre o mesmo, foi possível adquirir um maior conhecimento armazenamento de dados do SPRING. 196 sobre as estruturas de