Faculdade SENAC de Ciências Exatas e Tecnologia CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO OPERADORES ESPACIAIS TOPOLÓGICOS PARA SISTEMAS DE INFORMAÇÃO GEOGRÁFICA Docente: Prof. Ms. Luciano Silva Projeto de Pesquisa apresentado à Comissão de Pesquisa Faculdade SENAC de Ciências Exatas e Tecnologia para desenvolvimento no período Fevereiro/2002 a Fevereiro/2003 São Paulo Janeiro/2002 1. Título de Projeto Operadores Espaciais Topológicos para Sistemas de Informação Geográfica. 2. Introdução Geoprocessamento é um conjunto de tecnologias voltadas à coleta e ao tratamento de informações espaciais para um objetivo específico. As atividades envolvendo o geoprocessamento são executadas por sistemas específicos chamados de Sistemas de Informação Geográfica (GIS). Sistemas GIS são destinados ao processamento de dados referenciados geograficamente (ou georeferenciados), desde a sua coleta até a geração de saídas na forma de mapas convencionais, relatórios e arquivos digitais, devendo prever recursos para sua armazenagem, gerenciamento, manipulação e análise. Um GIS integra numa única base de dados informações espaciais provenientes de dados cartográficos, dados de censo e cadastro urbano e rural, imagens de satélite, redes e modelos numéricos de terreno. Tais sistemas oferecem, ainda, mecanismos para combinar as várias informações, através de algoritmos de manipulação e análise, para consultar, recuperar e visualizar o conteúdo da base de dados e gerar mapas. Atualmente, sistemas GIS são utilizados como: o o o Ferramenta para produção de mapas; Suporte para análise espacial de fenômenos; Banco de dados geográficos, com funções de armazenamento e recuperação de informação espacial. GIS são formados, essencialmente, pelas componentes mostradas na figura abaixo: A interface representa o nível mais alto de abstração no sistema. Ela permite, por exemplo, que usuários não especializados em banco de dados acessem informações de forma bastante simplificada definindo, por exemplo, uma área sobre um mapa para consulta. Vários sistemas GIS comerciais já disponibilizam tal interface no ambiente WWW, como os sistemas SpringWEB, ArcView e GeoMediaWeb. O subsistema de entrada e integração de dados representa o nível mais básico no sistema. Sensores e satélites configuram o vocabulário básico de tal subsistema, assim como tecnologias envolvendo GPS. Processos complexos de filtragem de dados são utilizados como, por exemplo, transformadas de wavelets. A visualização e plotagem configuram os serviços de exibição de dados do sistema. Problemas típicos tratados nessa componente são esquemas de representação gráfica, como as feições de objetos, ou visualização de objetos tridimensionais, tais como terrenos. A gerência de dados espaciais e o banco de dados geográfico trata dos esquemas de representação interna de dados. Além das técnicas tradicionais de banco de dados, tais como esquemas relacionais ou objetos, mecanismos avançados de estruturas de dados e lógica temporal têm sido utilizados para estruturação de tais componentes. A parte central em sistemas GIS é representada pela componente de consulta e análise espacial, objeto deste projeto de pesquisa. Consultas em sistemas GIS são muito mais complexas que em sistemas de banco de dados convencionais. Por exemplo, considere-se a seguinte consulta: “Encontrar todos os rios brasileiros que atravessem pelo menos três estados e que cortem alguma rodovia interestadual”. A menos que se esteja utilizando procedimentos armazenados num banco de dados, a implementação de tal consulta em SQL pode ser muito complexa, dependendo de quais dados do problema estão armazenados no banco. Porém, tal consulta pode ser tratada do ponto de vista geométrico da seguinte forma: “Encontrar todos os objetos geométricos RIO que toquem pelo menos três objetos geométricos ESTADO e que possuam intersecção com objetos geométricos RODOVIAS INTERESTADUAIS”. Nesta reestruração, estão presentes dois operadores espaciais importantes: TOUCH (toque) e INTERSECT(intersecção). Com exceção do gerenciador de banco de dados Oracle, nenhum outro gerenciador disponibiliza estruturas de dados e operadores para tratar as consultas espaciais da forma descrita anteriormente. Assim, é de grande interesse computacional o desenvolvimento de algoritmos e estruturas de dados para tratar tais consultas. O objetivo do presente projeto é construir um ambiente geométrico, utilizando ferramentas de estruturas de dados e geometria computacional, para a implementação eficiente de operadores topológicos, uma classe importante de operadores espaciais, em sistemas GIS. 3. Justificativa e Relevância do Tema A tecnologia de geoprocessamento irá se converter numa das principais ferramentas de gerenciamento dos recursos naturais e urbanos do Brasil até o final da década. A partir da Constiuição de de 1988 e do congresso RIO’92, problemas ambientais e urbanos saíram do círculo de grupos ecológicos e organizações não-governamentais para adquirir características de questões nacionais. Tais problemas são permanentes e tendem a crescer nas próximas décadas. No contexto de um novo modelo de desenvolvimento para o Brasil, o planejamento natural, agrícola e zoneamento econômico serão temas de qualquer agenda política. Assim, o desenvolvimento de tecnologia nacional para dar suporte em termos de geoprocessamento para tais questões é importante sob o ponto de vista tecnológico e político. Durante as décadas de 80 e 90, o Brasil foi capaz de desenvolver tecnologia de geoprocessamento comparada aos padrões internacionais. Por exemplo, os projetos SGI/SITIM e SPRING desenvolvidos pelo INPE. Atualmente, junto com o INPE, centros como a UNICAMP, COOPE, EMBRAPA e PUC-RJ têm desenvolvido tecnologia de ponta para geoprocessamento. O enfoque principal dos trabalhos tem sido na área de modelagem de dados, especialmente com a busca de generalização de diversos processos como, por exemplo, a abordagem geral de Câmara[CAM95]. Especificamente na área de implementação de operadores espaciais topológicos, poucos trabalhos têm sido publicados por autores nacionais e internacionais. Operadores topológicos constituem a base para definir várias construções em linguagens de consulta espaciais, tais como consultas baseadas em intersecção ou inclusão. Um problema fundamental que aparece em tal área é a definição mínima de um conjunto de tais operadores. Freeman[FREE75] define uma grande classe de tais operadores(à esquerda, à direita, acima, abaixo, atrás, na frente, perto, longe, adjacente, toque, dentro, fora e entre). Feutechwangler[FEU93] usa seis operadores (adjacente, proximidade, subdivisão, sobreposição, vizinhança e subregião), enquanto que Egenhofer e Herring[EGE90] propõe os operadores disjunto, conhecimento, igual, dentro, contém, coberto e sobreposição. Clementi[CLE93] usa um conjunto de cinco operadores básicos(dentro, sobreposição, toque, cruzamento e disjunto). O suporte geométrico para implementação de tais operadores não vêm, atualmente, da área de GIS mas da geometria computacional. Os trabalhos normamente estão vinculados a operadores particulares, como em Chazele e Edelsbrunner[CHA96], Gutting et al.[GUT95], Kriegel et al.[KRI91], Naher[NAH95] e Nievergelt e Preparata[NIE95]. Uma implementação mais geral de operadores topológicos é apresentada por Chang e NG[CHA97]. Fabris et al.[FAB97][FAB98] apresentam algoritmos eficientes e robustos para o operador de inclusão. Como evidenciado pela escassa quantidade de trabalhos, o problema de uma implementação eficiente e robusta de operadores topológicos não é uma tarefa simples, mesmo para geometrias mais simples, como retas e curvas. 4. Objetivos da Pesquisa Eficiência e robustez numérica são os requisitos mais fundamentais para qualquer operador topológico. Assim, o desenvolvimento de um ambiente geométrico para implementação de tais operadores é de grande interesse computacional. Assim, são objetivos do presente projeto: o o o o Definição de um conjunto básico de operadores topológicos Construção de um suporte geométrico eficiente e robusto para os operadores Implementação dos operadores Integração com ferramentas convencionais de GIS Como resultado do projeto, pretende-se a publicação dos resultados em congressos e periódicos especializados em GIS e geometria computacional. 5. Conceitos, Métodos e Técnicas de Pesquisa A definição do conjunto básico de operadores será feita via técnicas de especificação algébrica, que permite uma verificação a priori da corretude do operador. Tal forma de especificação permite, ainda, o refinamento sucessivo para tornar o código final menor. O suporte geométrico a ser utilizado é o paradigma do Teste Interior/Exterior de Jordan, estabelecido na dissertação de mestrado de Silva[SIL98]. Tal paradigma permite um controle bastante rigoroso da precisão e robustez numéricas, uma vez que só utiliza aritmética inteira como suporte de computação. A implementação dos operadores deverá ser feita com a linguagem Java, que permite uma alta portabilidade das aplicações e fácil integração com ferramentas de banco de dados. O gerenciador de banco de dados a ser utilizado é o Oracle pois, além de permitir o armazenamento direto de objetos Java, possui uma integração muito grande com interfaces GIS, tais como GeoMedia e ArcView. 6. Plano de Pesquisa O levantamento bibliográfico do estado da arte na área de implementação de operadores topológicos já foi realizado e se encontra nas referência bibliográficas. Assim, o plano de pesquisa consta dos seguintes passos: 1. Definição de um conjunto básico de operadores: levantamento de uma classe básica de operadores topológicos. O objetivo de tal classe é disponibilizar um suporte para a implementação dos outros operadores topológicos comumente utilizados em GIS. 2. Especificação algébrica dos operadores: especificação dos requisitos de cada um dos operadores definidos no item. A linguagem de especificação utilizará cálculo de predicados de 1a ordem e categorias/funtores de tipos. 3. Implementação do Teste Interior/Exterior de Jordan: implementação do teste de pertinência descrito em Silva[SIL98], utilizando a linguagem Java. Tal teste é a base para a implementação dos operadores topológicos. 4. Implementação dos operadores: implementação, em Java, de cada um dos operadores especificados no item 2. A implementação será derivada diretamente do refinamento sucessivo da especificação algébrica. 5. Integração com a base de dados: inclusão dos operadores implementados no item 4 no gerenciador Oracle. 6. Integração com ferramentas GIS: testes, na interface GIS GeoMedia, dos operadores acessados diretamente da base Oracle. 7. Cronograma de execução do projeto Procedimentos FEV 2002 Definição do conjunto de X operadores Especificação algébrica Implementação teste Interior/Exterior Implementação dos operadores Integração com base de dados Integração ferramenta GIS Preparação de publicação MAR ABR 2002 2002 MAI 2002 JUN 2002 JUL 2002 X X AGO 2002 SET 2002 OUT 2002 X X X NOV DEZ 2002 2002 JAN 2003 FEV 2003 X X X X X X X X X X X X X X X X X 8. Estimativa de Custos e Origem dos Recursos Todo o material necessário para o desenvolvimento do projeto já está disponibilizado no laboratório LIVES ( máquinas, software e bibliografia). O tempo de dedicação semanal ao projeto será de 20 horas/semana. 9. Referências Bibliográficas [CAM95] G. Câmara. Modelos, Linguagens e Arquiteturas para Banco de Dados Geográficos. Tese de Doutorado. São Paulo: INPE, 1995. [CHA96] B. Chazelle e H. Edelsbrunner. An Optimal Algorithm for Intersecting Line Segments in the Plane. JACM 39:1, pp. 1--54, 1996. [CHA97] E.P.F. Chan and J.N.H.Ng. A General and Efficient Implementation of Geometric Operators and Predicates. Symposium on Large Spatial Databases, pp. 69-93, 1997. [CLE93] E. Clementini, P. diFelice e P. van Oosterom. A Small Set of Formal Topological Relashionships Suitable for End-User Interaction. In Proc. 3nd Symposium Spatial Database Systems, pp. 277--295, 1993. [EGE90] M.Egenhofer e J. Herring. A Mathematical Framework for the Definition of Topological Relashionships. In Proc. 4th International Symposium on Spatial Data Handling}, pp. 803--813, 1990. [FAB97] A. E. Fabris, L. Silva e A. R. Forrest. An Efficient Filling Algorithm for Nonsimple Closed Curves using the Point Containment Paradigm. In SIBGRAPI'97 (X Brazilian Symposium on Computer Graphics and Image Processing), pp. 2-9, 1997. [FAB98] A. E. Fabris, L. Silva e A. R. Forrest. Stroking Polynomial Discrete Bézier Curves via Point Containment Paradigm. In SIBGRAPI'98 (XI Brazilian Symposium on Computer Graphics and Image Processing),1998. [FEU93] M. Feutechwangler. Towards a Geographic Semantic Database Model. PhD Thesis, Simon Fraser University, 1993. [FREE75] J. Freeman. The Modelling of Spatial Relations. Computer Graphics and Image Processing, 156-171, 1975. [GUT95] R.H. Gutting, T. Rider e R. Schneider. Implementation of ROSE Algebra: Efficient Algorithms for Real-Based Spatial Data Types. In Proceedings of Advances in Spatial Databases-Fourth International Symposium,SSD'95, pp. 216-239, Portland, Maine, Agosto 1995. Lecture Notes in Computer Science 951. Springer--Verlag. [KRI91] H. Kriegel, T. Brinkhoff e R. Schneider. An efficient Map Overlay Algorithm Based on Spatial Access Methods and Computational Geometry. In Proceedings of the International Workshop on DBMS's for Geographic Applications, Capri, 12-17, 1991. [NAH95] S. Naher. LEDA Manual Version 3.2, TR MPI-I-95-1-002, Max-PlanckInstitut fur Informatik, Saarbrucken, 1995. [NIE95] J. Nievergelt e F.P. Preparata. Plane-Sweep Algorithms for Intersecting Geometric Figures. CACM (38), pp. 739-747, 1995. [SIL98] L. Silva. Algoritmos Geométricos Discretos: Complexidade e Aplicações. Dissertação de Mestrado. São Paulo:IME-USP, 1998.