Projeto de Banco de Dados para Sistemas de Informação Geográfica Jugurta Lisboa Filho Universidade Federal de Viçosa, Departamento de Informática 36571-000 Viçosa, MG, Brasil - Fone: (31) 3899-1762 [email protected] Resumo: O termo Sistema de Informação Geográfica (SIG) caracteriza os sistemas de informação cuja principal característica é possibilitar a realização de análises espaciais envolvendo dados referenciados geograficamente. Entre os principais componentes de um software de SIG está o componente de armazenamento, denominado sistema de banco de dados geográficos. Devido à complexidade das aplicações que são desenvolvidas a partir de um SIG, um dos problemas mais críticos no desenvolvimento desses sistemas tem sido projetar o banco de dados geográficos. O projeto de banco de dados deve ser realizado com o apoio de um modelo de dados de alto nível (modelo conceitual). Modelagem conceitual tem sido aplicada com sucesso no projeto de bancos de dados em geral. Independentes de plataformas de hardware e software, os modelos conceituais permitem representar, de maneira abstrata, formal e não ambígua, a realidade da aplicação, facilitando a comunicação entre projetistas e usuários. Aplicações geográficas, contudo, impõem alguns requisitos específicos de modelagem que não são satisfatoriamente atendidos pelos modelos conceituais de dados de propósito geral. O objetivo desse curso é apresentar uma abordagem para modelagem conceitual de banco de dados geográficos com base na linguagem UML [BOO 98] e no GeoFrame, um framework conceitual. Inicialmente é apresentada uma breve introdução aos conceitos fundamentais da área de Geoprocessamento e descritos os principais componentes de um SIG. Palavras chaves: Banco de dados; Modelo conceitual; Sistema de Informação Geográfica. Conteúdo 1 Introdução.............................................................................................. 3 2 Sistemas de Informação Geográfica.................................................... 4 2.1 Conceitos Básicos ............................................................................................. 4 2.2 Fundamentos em Cartografia e Sensoriamento Remoto ................................... 5 2.3 Componentes de SIG......................................................................................... 8 2.3.1 Entrada e Integração de Dados ........................................................... 10 2.3.2 Armazenamento de Dados Espaciais.................................................. 11 2.3.3 Funções de Processamento, Análise e de Apresentação..................... 16 3 Projeto de Bancos de Dados Geográficos.......................................... 20 3.1 Dado, Informação e Fenômeno Geográfico .................................................... 20 3.1.1 Componentes da informação geográfica............................................. 20 3.2 Requisitos de Modelagem para Aplicações de SIG ........................................ 22 3.2.1 Fenômeno Geográfico e Objeto Convencional................................... 22 3.2.2 Visões de Campo e de Objetos ........................................................... 22 3.2.3 Aspectos Temáticos ............................................................................ 23 3.2.4 Aspectos Espaciais.............................................................................. 23 3.2.5 Múltiplas Representações ................................................................... 24 3.2.6 Relacionamentos Espaciais................................................................. 24 3.2.7 Aspectos Temporais............................................................................ 24 3.3 Modelos Conceituais de Dados para SIG........................................................ 25 3.4 Modelando Banco de Dados Geográficos com UML-GeoFrame................... 26 3.4.1 GeoFrame............................................................................................ 28 3.4.2 Processo de Modelagem UML-GeoFrame ......................................... 30 3.4.3 Estudo de Caso: Região Carbonífera do RS ....................................... 33 4. Considerações Finais............................................................................. 36 Bibliografia ................................................................................................ 37 2 1 Introdução O termo Sistema de Informação Geográfica (SIG) caracteriza os sistemas de informação que tornam possível a captura, modelagem, manipulação, recuperação, análise e apresentação de dados referenciados geograficamente (ou dados georreferenciados) [WOR 95]. De forma geral, um software de SIG é um sistema composto de quatro grandes componentes: componente de captura de dados, componente de armazenamento, componente de análise e componente de apresentação dos dados. O componente de armazenamento, denominado sistema de banco de dados geográficos, estrutura e armazena os dados de forma a possibilitar a realização das operações de análise envolvendo dados espaciais. Devido à complexidade das aplicações que são desenvolvidas a partir de um SIG, um dos grandes problemas no desenvolvimento desses sistemas tem sido projetar o banco de dados geográficos. O projeto de um banco de dados deve ser realizado com o apoio de um modelo de dados de alto nível, também conhecido como modelo conceitual. Durante vários anos, as pesquisas no campo dos modelos de dados para SIG centraram-se na busca por estruturas de dados para o armazenamento de dados georreferenciados, o que ficou conhecido como “debate raster-vector” [COU 92]. A necessidade de novos modelos conceituais para o desenvolvimento de aplicações de SIG foi identificada no final da década de 80 [EGE 87]. Embora existam diversas propostas de modelos conceituais específicos para SIG, o desenvolvimento dessas aplicações tem sido feito de forma não metodológica, tendo como resultado diversos problemas decorrentes de abordagens evolutivas desordenadas. O objetivo desse curso1 é apresentar uma abordagem para modelagem conceitual de banco de dados geográficos com base no uso na linguagem UML [BOO 98], mais especificamente em seu diagrama de classes, e no framework conceitual GeoFrame [LIS 99]. O documento está organizado da seguinte forma. A Seção 2 apresenta uma introdução aos Sistemas de Informação Geográfica. A Seção 3 descreve o projeto de banco de dados geográficos, apresentando alguns requisitos de modelagem impostos pelas aplicações de SIG e que devem ser suportados pelos modelos conceituais de dados específicos para essas aplicações. Em seguida descreve o uso do modelo de objetos da linguagem UML de forma integrada com o framework GeoFrame. É apresentado um exemplo real de modelagem de dados seguindo essa abordagem. As considerações finais e alguns dos tópicos atuais de pesquisa na área de SIG são apresentados na Seção 4. 1 Este material é uma revisão dos textos apresentados na VIII Escola de Informática da SBC- Sul, maio de 2000, e na III Escola Regional de Informática do Centro-Oeste, outubro de 2000. 3 2 Sistemas de Informação Geográfica Esta seção apresenta uma breve introdução aos sistemas de informação geográfica, que foi extraída e atualizada a partir da apostila Introdução à Sistemas de Informações Geográficas com Ênfase em Banco de Dados, apresentada na XV Jornada de Atualização em Informática, durante o XVI Congresso da SBC e, também, na 10ª Escuela de Ciencias Informáticas, ocorrida em Buenos Aires em 1996. São apresentados alguns conceitos importantes na área de geoprocessamento, conceitos básicos sobre cartografia e sensoriamento remoto e é feita uma descrição dos principais componentes de um sistema de informação geográfica. 2.1 Conceitos Básicos Conforme descrito na seção anterior, Sistemas de Informação Geográfica (SIG) são sistemas computacionais que permitem a captura, armazenamento, manipulação, recuperação, análise e apresentação de dados referenciados geograficamente [WOR 95]. Dados referenciados geograficamente ou, simplesmente, dados georreferenciados são dados que descrevem fenômenos geográficos cuja localização está associada a uma posição sobre/sob a superfície terrestre. Uma das principais características de um SIG é sua capacidade de manipular dados gráficos (cartográficos) e não-gráficos (descritivos) de forma integrada, provendo uma forma consistente para análise e consulta. É possível, desta forma, ter acesso às informações descritivas de um fenômeno geográfico a partir de sua localização e vice-versa. Além disso, pode-se fazer conexões entre diferentes fenômenos com base em relacionamentos espaciais. Quatro aspectos caracterizam um dado georreferenciado: • a descrição do fenômeno geográfico; • sua posição (ou localização) geográfica; • relacionamentos espaciais com outros fenômenos geográficos; e • instante ou intervalo de tempo em que a fenômeno existe ou é válido. Estes aspectos são classificados em duas categorias de dados: dados convencionais atributos alfanuméricos usados para armazenar os dados descritivos e temporais; e dados espaciais - atributos que descrevem a geometria, a localização geográfica e os relacionamentos espaciais [OOI 90]. Além disso, um SIG pode possuir dados pictórios, que armazenam imagens sobre regiões geográficas (ex.: fotografia de uma cidade ou uma imagem de satélite). Existem diversos tipos de sistemas que manipulam dados espaciais, como os sistemas de cartografia automatizada e os sistemas de CAD (Projeto Auxiliado por Computador), porém, os SIG se diferenciam desses sistemas por dois motivos principais. Primeiro, por sua capacidade de representar os relacionamentos espaciais (ou topológicos) entre fenômenos geográficos. Segundo, por permitir a realização de complexas operações de análise espacial com os dados geográficos. O termo Geomatics, usado em alguns países (ex.: Canadá), é um termo "guardachuva" que engloba toda ciência ou tecnologia relacionada a cadastro, levantamento, mapeamento, sensoriamento remoto e SIG. Geomatics é definido como “o campo de 4 atividades que, utilizando uma abordagem sistêmica, integra todos os meios empregados na aquisição e gerenciamento de dados espaciais usados em aplicações científicas, administrativas, legais e técnicas, envolvidas no processo de produção e gerenciamento de informação espacial” [GEO 95]. No Brasil, Geomatics corresponde a Geoprocessamento. Portanto, o termo Sistema de Geoprocessamento engloba todos os sistemas computacionais capazes de processar dados georreferenciados, tais como os sistemas de cartografia automatizada (CAC), sistemas de processamento de imagens, sistemas de gerenciamento de redes de infra-estrutura, sistemas de apoio a projeto (CAD) e, principalmente, os SIG [RAM 94]. No Brasil, freqüentemente, o termo sistema de geoprocessamento têm sido utilizado, pela comunidade de usuários, como sendo sinônimo de sistema de informação geográfica. O número de problemas onde os SIG são empregados aumenta a cada dia. Tradicionalmente, estes sistemas têm sido utilizados por instituições públicas, empresas de prestação de serviço de utilidade (ex. companhias de água, luz e telefone), na área de segurança militar e em diversos tipos de empresas privadas (ex.: engenharia civil, terraplanagem). A seguir, é apresentada uma relação das diversas áreas de aplicação de SIG, divididas em cinco grupos principais, segundo [RAM 94]. • Ocupação Humana - redes de infra-estrutura; planejamento e supervisão de limpeza urbana; cadastramento territorial urbano; mapeamento eleitoral; rede hospitalar; rede de ensino; controle epidemiológico; roteamento de veículos; sistema de informações turísticas; controle de tráfego aéreo; sistemas de cartografia náutica; serviços de atendimentos emergenciais. • Uso da Terra - planejamento agropecuário; estocagem e escoamento da produção agrícola; classificação de solos; gerenciamento de bacias hidrográficas; planejamento de barragens; cadastramento de propriedades rurais; levantamento topográfico e planimétrico; mapeamento do uso da terra. • Uso de Recursos Naturais - controle do extrativismo vegetal e mineral; classificação de poços petrolíferos; planejamento de gasodutos e oleodutos; distribuição de energia elétrica; identificação de mananciais; gerenciamento costeiro e marítimo. • Meio Ambiente - controle de queimadas; estudos de modificações climáticas; acompanhamento de emissão e ação de poluentes; gerenciamento florestal de desmatamento e reflorestamento. • Atividades Econômicas - planejamento de marketing; pesquisas sócio-econômicas; distribuição de produtos e serviços; transporte de matéria-prima. 2.2 Fundamentos em Cartografia e Sensoriamento Remoto Esta seção descreve alguns conceitos básicos das áreas de Cartografia e Sensoriamento Remoto que são importantes para o entendimento do funcionamento de um SIG. Maiores detalhes o leitor pode encontrar, por exemplo, em [OLI 93] e [LIL 87]. Um mapa é uma representação, em escala e sobre uma superfície plana, de uma seleção de características sobre ou em relação à superfície da terra [NCG 90]. Tradicionalmente, os mapas têm sido a principal fonte de dados para os SIG. 5 Mapas podem ser usados com diferentes propósitos, sendo que os mais comuns são: exibição e armazenamento de dados (ex.: uma folha de mapa pode conter milhares de informações que são recuperadas visualmente); como índices espaciais (ex.: cada área delimitada em um mapa pode estar associada a um conjunto de informações em um manual separado); como ferramenta de análise de dados (ex.: comparar e localizar áreas de terras improdutivas); ou mesmo como objeto decorativo (ex.: mapas turísticos). A confecção de um mapa requer, entre outras coisas, a seleção das características a serem incluídas no mapa, a classificação dessas características em grupos, sua simplificação para representação, a ampliação de certas características para melhor representa-las no mapa, e a escolha de símbolos para representar as diferentes classes de características [ARO 89]. Existem diversos tipos de mapas. Mapas topográficos são elaborados com o objetivo de atender a uma infinidade de propósitos, enquanto que mapas temáticos são elaborados com objetivos mais específicos, por conter informações sobre um único assunto, por exemplo, para representar o relevo, a vegetação ou o tipo de solo de uma região. A escala de um mapa é a razão entre as distâncias representadas no mapa e suas correspondentes distâncias no mundo real. Por exemplo, em um mapa de escala 1:50.000, 1cm no mapa corresponde a 50.000cm (ou 500m) na superfície terrestre. Uma escala de 1:10.000 (1cm no mapa corresponde a 100m) é suficiente para representar o traçado de ruas em uma cidade. Porém, é insuficiente caso a aplicação necessite manipular informações sobre lotes urbanos. Por outro lado, numa escala de 1:250.000 (1cm no mapa corresponde a 2,5 Km), somente grandes fenômenos geográficos podem ser representados, tais como tipos de vegetação, limites municipais e rodovias. O sistema de coordenadas permite definir a localização de qualquer elemento sobre a superfície terrestre. Os sistemas mais empregados são os sistemas de coordenadas geográficas (ou terrestres) e os sistemas de coordenadas planas (ou cartesianas) [CAM 96]. Nos sistemas de coordenadas geográficas, cada ponto é definido através do par de coordenadas referente à interseção de um meridiano com um paralelo. Os meridianos são círculos da esfera terrestre que passam pelos Pólos Norte e Sul, enquanto que os paralelos são círculos da esfera terrestre cujos planos são perpendiculares ao eixo dos Pólos Norte-Sul. Os meridianos são medidos em longitude a partir do meridiano de Greenwich, escolhido arbitrariamente como sendo o meridiano de origem, com valores variando de 0º de longitude (na origem) até +180º de longitude a leste e -180º de longitude a oeste. O paralelo do Equador divide a Terra nos hemisférios norte e sul, definindo as medidas de latitude como sendo 0º no paralelo do Equador, +90º no Pólo Norte e -90º no Pólo Sul. Os sistemas de coordenadas planas são baseados em um par de eixos perpendiculares, onde a interseção dos eixos representa a origem para a localização de qualquer ponto sobre o plano. Nestes sistemas, as coordenadas dos pontos são representadas por um par de valores (x,y) representando a projeção do ponto sobre cada um dos eixos. Normalmente, o eixo horizontal fica associado à medida de longitude enquanto que o eixo vertical fica associado à medida de latitude, o que permite conversões entre os sistemas de coordenadas, a partir de transformações matemáticas. A superfície curva da terra é representada em mapas que, normalmente, são confeccionados sobre uma folha de papel, ou seja, sobre uma superfície plana, o que, inevitavelmente, provoca distorções entre a realidade e sua representação. Projeção 6 Cartográfica é o método matemático através do qual a superfície curva da terra é representada sobre uma superfície plana. Existem diferentes tipos de projeções utilizadas na confecção de mapas (Figura 1). Estas projeções atendem a objetivos distintos, podendo preservar a área (projeção equivalente) dos fenômenos representados, a forma dos fenômenos (projeção conformal) ou mesmo a distância (projeção eqüidistante) entre pontos no mapa [NCG 90]. Algumas das projeções mais empregadas são: projeção cônica de Lambert, projeção UTM (“Universal Transverse Mercator”) e projeção plana. No Brasil existe um mapeamento sistemático realizado pelo Serviço de Cartografia do Exército, feito na projeção UTM, nas escalas de 1:250.000, 1:100.000 e 1:50.000 [CAM 96]. Projeção Cilíndrica Projeção Cônica Figura 1 – Exemplo de projeções Sensoriamento Remoto é definido como a ciência e a arte de se obter informações sobre objetos, áreas ou fenômenos, através da análise dos dados adquiridos por um dispositivo que não esteja em contato com o objeto, área ou fenômeno sob investigação [LIL 87]. O processo de obtenção de dados através do sensoriamento remoto utiliza sensores para se obter dados, de forma remota, que podem ser analisados para gerar informações sobre as áreas observadas [LIL 87]. Existem diversas formas de captura de dados através de sensores remotos como, por exemplo, através da distribuição de ondas acústicas. Porém, no contexto de SIG, apenas as técnicas empregadas pelos sensores de energia eletromagnética são importantes. Estes sensores são operados a partir de veículos aeroespaciais (ex.: satélites em órbita terrestre). Os materiais que estão sobre a superfície terrestre refletem a energia eletromagnética proveniente de fontes naturais (ex.: sol) ou de fontes artificiais (ex.: lâmpadas), que é captada por dispositivos sensores. Os sensores eletromagnéticos podem ser divididos em dois grupos: passivos e ativos. Sensores passivos (ex.: fotografia aérea) medem a energia existente no ambiente, enquanto que os sensores ativos geram sua própria fonte de energia (ex.: Sistema Radar). O sistema de radar emite energia na região de microondas do espectro eletromagnético (Figura 2) e capta a energia refletida pelos materiais que estão sobre a superfície terrestre [EAS 95]. 7 0.4 0.5 0.6 0.7 (µm) ver ver ultravioleta(u.v.) azul de me lho infravermelho (i.v.) sist. radar visível (1mm) comprimento de onda (µm) -6 10 raios cósmicos -5 10 -4 10 -3 10 -2 10 raio X -1 10 u.v. 1 10 2 10 i.v. termal i.v. médio i.v. próximo 3 10 (1m) 4 10 5 6 10 10 7 10 8 10 9 10 microonda tv e rádio Figura 2 - Espectro eletromagnético [LIL 87] Segundo Amaral [AMA 90], os materiais apresentam comportamentos distintos ao longo do espectro eletromagnético para diferentes atributos (ex.: emissividade, reflectância, absortância, transmissividade, luminescência, etc). Desta forma, sensores operando em diferentes intervalos espectrais (sensores multi-espectrais) são capazes de discriminar determinados objetos ou fenômenos sobre/sob a superfície terrestre. O espectro eletromagnético é muito amplo e nem todos os comprimentos de onda são adequados para fins de sensoriamento remoto. Por exemplo, os intervalos de comprimento de ondas verde, vermelho (visíveis) e também o infravermelho apresentam baixa interferência atmosférica, possibilitando uma boa oportunidade para medir as interações com a superfície terrestre. A maioria das imagens produzidas via sensoriamento remoto para aplicações relacionadas com SIG são obtidas nestes intervalos [LIL 87]. Existem diversas propriedades básicas para um sensor eletromagnético, as principais são [CAM 96].: • resolução espectral - número de bandas do espectro eletromagnético que são captadas pelo sensor; • resolução espacial - área da superfície terrestre observada pelo sensor; • resolução temporal - intervalo de tempo entre duas tomadas de imagens. Os sistemas de processamento de imagens são softwares desenvolvidos para resolver problemas específicos de tratamento de imagens obtidas remotamente, sendo que alguns SIG possuem módulos acoplados que permitem ao usuário realizar um conjunto, normalmente limitado, de operações envolvendo imagens de satélite. 2.3 Componentes de SIG Os SIG precisam armazenar grandes quantidades de dados e torná-los disponíveis para operações de consulta e análise. Sistemas Gerenciadores de Banco de Dados (SBGD) são ferramentas fundamentais para os SIG, embora alguns sistemas comerciais ainda utilizem sistemas de arquivos para fazer o gerenciamento dos dados. Com o objetivo de encontrar soluções adequadas para o problema do gerenciamento de dados georreferenciados, diversas pesquisas têm sido realizadas por parte da comunidade de banco de dados, sob os temas de banco de dados espaciais e geográficos [MED 94]. Atualmente, a arquitetura mais empregada na construção dos SIG é a que utiliza um sistema dual, onde o SIG é composto de um SGBD relacional, responsável pela gerência dos atributos 8 descritivos, acoplado a um componente de software responsável pelo gerenciamento dos atributos espaciais [CAM 96]. A tendência atual é que os novos SIG estão incorporando características de sistemas orientados a objetos. Segundo Antenucci [ANT 91], os SIG constituem-se na integração de três aspectos distintos da tecnologia computacional (Figura 3): sistemas de gerenciamento de banco de dados geográficos (BDGeo); procedimentos para obtenção, manipulação, exibição e impressão de dados com representação gráfica (Interface); e algoritmos e técnicas para análise de dados espaciais (Ferramentas). SIG Fontes Resultados Interface Ferramentas BDGeo Figura 3 - Aspectos tecnológicos de SIG Os SIG apresentam funcionalidades bastante distintas, dependendo do tipo de aplicação em que são utilizados. Alguns produtos são comercializados em módulos separados, de acordo com as necessidades específicas dos clientes, como o sistema MGE da INTERGRAPH e o sistema Arc-Info da ESRI. Módulos para processamento de imagens de satélite, para operações com modelos numéricos de terreno (MNT) ou para gerenciamento de redes de infra-estrutura, podem, ou não, estar disponíveis no sistema. Porém, existe um conjunto de componentes que são comuns à maioria dos sistemas. Câmara [CAM 96] apresenta um SIG como possuindo a seguinte arquitetura (Figura 4): interface com usuário; entrada e integração de dados; funções de processamento; visualização e plotagem; e armazenamento e recuperação de dados. 9 Interface Entrada e Integr. Dados Funções de Processamento Visualização e Plotagem Armazenamento e Recuperação BD Geográfico Figura 4 - Arquitetura de um SIG [CAM 96] Existem três tipos de interfaces que são utilizadas nos SIG: linguagem de comandos, menus hierárquicos e sistemas de janelas. Estes tipos de interfaces acompanham a evolução das técnicas empregadas em sistemas de informações em geral. O componente responsável pela entrada e integração de dados possibilita a obtenção dos dados através de diversos métodos como leitura ótica, digitalização de mapas ou aquisição via meio magnético. O componente responsável pelo armazenamento e recuperação de dados geográficos provê as estruturas de dados que possibilitam a compactação de imagens, armazenamento de relacionamentos espaciais (topologia), acesso aos dados através de índices espaciais, etc. O conjunto das funções de processamento é o componente que mais se diferencia de sistema para sistema, porém, existe um grande número de funções que são comuns a esses sistemas. A maioria dos dados gerados por uma aplicação de SIG são apresentados na forma de mapas. Desta maneira, um SIG deve prover funções que são equivalentes àquelas dos sistemas de cartografia automatizada, como colocação automática de rótulos, descrição de legendas e escalas gráficas, entre outras. A seguir cada um desses componentes é apresentado em maiores detalhes. 2.3.1 Entrada e Integração de Dados A obtenção de dados em aplicações de geoprocessamento é um processo bem mais complexo quando comparado com a maioria das aplicações [ARO 89]. Isto se deve ao fato da entrada de dados não se limitar a simples operações de inserção. As dificuldades surgem por duas razões. Primeiro, por se tratar de informações gráficas, o que naturalmente já é uma tarefa mais complexa do que a entrada de dados alfanuméricos, embora os SIG também manipulem dados alfanuméricos. A segunda razão, e principal, é devido a natureza das fontes de dados dessas aplicações. Os dados manipulados em um SIG, dizem respeito a fenômenos geográficos que estão distribuídos sobre a superfície da terra, podendo pertencer a sistemas naturais ou criados pelo homem, tais como tipos de solos, vegetação, cidades, propriedades rurais ou urbanas, redes de telefonia, escolas, aspectos climáticos, etc. Podem ser também objetos resultantes de 10 projetos envolvendo entidades que ainda não existem como, por exemplo, o planejamento de uma barragem para a construção de uma usina hidroelétrica [RAM 94]. Os processos de coleta de dados são baseados em tecnologias como fotogrametria, sensoriamento remoto e levantamento de campo, ou seja, os mesmos que vêm sendo empregados há muito tempo em diversas outras áreas. Com isto, os produtos resultantes desses processos de coleta de dados é que são as verdadeiras fontes de dados dos SIG. Os SIG possuem dispositivos de interface que permitem que esses dados sejam transferidos para um meio de armazenamento digital. A transferência dos dados do meio externo (fontes brutas) para o meio interno (representação digital) é apenas um passo no processo de aquisição dos dados. Muitas operações posteriores são realizadas como, por exemplo, a associação entre os objetos espaciais e atributos descritivos, operações para corrigir e padronizar os dados com relação a projeções, escalas e sistemas de coordenadas. Os métodos mais empregados na aquisição de dados são: a digitalização em mesa; a digitalização automática feita através de leitura ótica por meio de dispositivos de varredura tipo "scanner"; a digitação via teclado; GPS-Global Positioning Systems, e a leitura de dados provenientes de outras fontes de armazenamento secundário (ex. fitas magnéticas, discos óticos, teleprocessamento). Estes métodos permitem a transferência dos dados obtidos através desses mecanismos para a base de dados dos SIG. 2.3.2 Armazenamento de Dados Espaciais Dados espaciais podem ser estruturados de diversas formas. Porém, duas abordagens são amplamente utilizadas na estruturação dos componentes espaciais associados às informações geográficas: a estrutura matricial (raster) e a estrutura vetorial. A Figura 5 ilustra a diferença entre esses dois tipos de estruturas, a partir da sobreposição de uma imagem vetorial sobre uma imagem matricial. Observe que na estrutura matricial ocorre uma perda de qualidade quando a imagem é consultada mais detalhadamente. Figura 5 - Exemplo de representação matricial e vetorial 11 Na estrutura matricial, a área em questão é dividida em uma grade regular de células de formato, normalmente, retangular. A posição da célula é definida pela linha e pela coluna onde está localizada na grade. Cada célula armazena um valor que corresponde ao tipo de entidade que é encontrada naquela posição. Uma área geográfica pode ser representada através de diversas camadas, onde as células de uma camada armazenam os valores associados a uma única variável (ex.: vegetação) [CHR 97]. As camadas ficam totalmente preenchidas, uma vez que cada célula corresponde a uma porção do espaço sendo representado. Na estrutura vetorial, cada fenômeno geográfico é representado, no banco de dados, por um objeto com identificação própria e representação espacial do tipo ponto, linha, polígono ou um objeto complexo. A posição de cada objeto é definida por sua localização no espaço, de acordo com um sistema de coordenadas. Objetos vetoriais não preenchem todo o espaço, ou seja, nem todas as posições do espaço necessitam estar referenciadas na base de dados. Enquanto que a representação vetorial é capaz de armazenar informações sobre fenômenos que podem ser identificados univocamente no mundo real, a representação matricial armazena informações sobre o conjunto de todos os pontos de uma determinada região do espaço. Estruturas Matriciais Ao contrário da estrutura vetorial, onde cada fenômeno do mundo real está associado a um objeto espacial, na estrutura matricial os atributos dos fenômenos geográficos estão associados a grupos de células de mesmo valor. O valor armazenado em uma célula representa a característica mais marcante do atributo em toda a área relativa à célula. A resolução de uma imagem matricial corresponde à dimensão linear mínima da menor unidade do espaço geográfico (célula) sendo considerada. Quanto menor a dimensão das células, maior a resolução da imagem matricial e, consequentemente, maior a quantidade de memória necessária para armazená-la. Cada célula armazena um único valor que corresponde a uma área específica na superfície terrestre. O total de valores que precisam ser armazenados pode ser calculado, multiplicando-se o número de linhas pelo número de colunas da estrutura matricial. Assim, geralmente são gerados grandes volumes de dados, tornando-se necessário o emprego de técnicas de compactação de dados. Como um fenômeno geográfico é representado, na estrutura matricial, por um agrupamento de células, todas contendo um mesmo valor, ocorre um número considerável de valores redundantes em toda a estrutura. Esta característica é muito explorada nos métodos de compactação. Existem diversas técnicas de compactação que podem ser empregadas no armazenamento de estruturas matriciais. Algumas delas são [LAU 92]: • Códigos de cadeia (Chain codes) - os limites de cada região são armazenados através de uma estrutura que contém uma célula de origem e uma seqüência de vetores unitários. Esses vetores unitários são aplicados nas direções cardinais (leste, oeste, norte e sul), de cada região, percorridos no sentido horário; 12 • Códigos em seqüência (Run-length codes) - armazena, para cada linha, o número de ocorrências de células de mesmo valor e o valor correspondente; • Códigos de bloco (Block codes) - são armazenadas, para cada quadrado máximo, que pode ser formado por um conjunto de células de mesmo valor, as coordenadas da célula inferior esquerda do quadrado, a quantidade de células (tamanho) do lado do quadrado e o valor do atributo; • Árvores quaternárias (Quadtree) - utiliza uma estrutura hierárquica espacial. Existe uma grande variação de tipos de estruturas quadtree, um exemplo é apresentado abaixo. O termo quadtree descreve uma família de estruturas de dados hierárquicas, que baseiam-se no princípio de decomposição recursiva do espaço [SAM 89]. Elas são diferenciadas pelos seguintes fatores: • tipo de dado que está sendo representado (pontos, retângulos, regiões, curvas, superfícies ou volumes); • processo de decomposição empregado, que pode aplicar divisões em partes iguais ou não; • resolução da imagem, isto é, o número de vezes que a decomposição é aplicada, que pode ser fixo ou variável. A Figura 6 mostra a decomposição de uma imagem usando a estrutura Regionquadtree, que é uma variação de quadtree para representação de regiões, onde uma região (Figura 6-a), representada na matriz binária (Figura 6-b) é decomposta em blocos (Figura 6c), gerando a árvore correspondente. Em uma region-quadtree, a imagem é dividida sempre em partes iguais, porém, o número de vezes em que a imagem é dividida é variável, ou seja, depende dos valores armazenados pela imagem. Neste método, a raiz da árvore corresponde à imagem completa, ou seja, um array de 2n x 2n valores de células. Cada nó da árvore pode ser um nó folha ou possuir quatro ramos descendentes, compreendendo aos quatro quadrantes: nordeste (NE), noroeste (NW), sudoeste (SW) e sudeste (SE). Nós folhas correspondem aos quadrantes que não necessitam ser redivididos por possuírem somente células de mesmo valor. Estruturas quadtrees são utilizadas, também, como árvores de busca, possibilitando uma melhor eficiência na execução de diversas operações espaciais. Estruturas Vetoriais Antes de descrever as estruturas de dados vetoriais é importante conhecer o conceito de topologia. Quando um mapa de uma região que está sobre a superfície curva da Terra, é projetado sobre uma superfície plana (ex.: folha de papel), algumas propriedades são alteradas (ex.: ângulo e distância), enquanto outras permanecem inalteradas (ex.: adjacência e pertinência). Estas propriedades que não se alteram quando o mapa sofre uma transformação são conhecidas como propriedades topológicas. O termo topologia é atribuído aos relacionamentos espaciais mantidos no banco de dados. Um banco de dados espacial é dito topológico se ele armazena a topologia dos objetos, ou cartográfico se os objetos são vistos e manipulados somente de forma independente [LAU 92]. 13 2 3 4 5 13 14 1 7 8 9 10 6 12 11 15 16 19 17 a b 18 c A Nível 3 NW NE SE SW 1 Nível 1 2 3 4 E C B Nível 2 5 6 D 11 9 10 12 13 14 F 19 Nível 0 7 8 15 16 17 18 Figura 6 - Exemplo de estrutura quadtree [SAM 89] Bancos de dados cartográficos são usados em muitos pacotes de confecção de mapas, onde as operações de análise são menos importantes do que as funções que auxiliam na elaboração de mapas como, por exemplo, posicionamento de rótulos. Um banco de dados cartográfico pode ser convertido em um banco de dados topológico através do cálculo e identificação dos relacionamentos entre objetos. Este processo é conhecido como Processo de Construção da Topologia (Building Topology) [LAU 92]. Este processo (Figura 7) é usado, também, na fase de identificação dos objetos em um mapa a partir de linhas digitalizadas, o que é feito empregando-se o conceito de Restrição Planar (Planar Enforcement), que consiste na aplicação de duas regras sobre os objetos usados para descrever a variação espacial. As regras de Restrições Planar são as seguintes: • Regra 1: • Regra 2: Dois polígonos não podem se sobrepor. Cada posição no mapa pertence a um único polígono, ou a um limite entre dois plígonos. De forma simplificada, o processo de construção da topologia começa com um conjunto de segmentos de linhas não relacionados (Figura 7-a). Cada interseção de linhas ou nodo terminal é identificado (Figura 7-b). Em seguida, cada segmento de linha existente entre dois nós consecutivos (arestas) é identificado (numerado na Figura 7-c). Finalmente, cada polígono resultante recebe um identificador, inclusive o polígono externo que recebe um identificador diferenciado. 14 (a) (b) 10 1 14 5 E 2 A 6 3 4 C 13 B 15 12 16 D 18 17 7 8 11 19 9 (c) Figura 7 - Processo de construção da topologia [NCG 90] A estrutura vetorial tem como primitiva principal o ponto, porém, os sistemas utilizam três construtores básicos: ponto, linha e polígono. As coordenadas (x,y) de um ponto representam a localização, em um sistema de coordenadas específico, de fenômenos que não possuem dimensões espaciais na escala de representação escolhida. A linha, formada por uma cadeia de segmentos de linha reta, ou mais especificamente, por uma lista de coordenadas de pontos, é usada para representar as entidades da realidade que possuem dimensão linear. O polígono representa as entidades com extensões bidimensionais, através da definição do contorno da área da entidade. O polígono é formado por uma cadeia fechada de segmentos de linha, podendo ou não possuir outros polígonos embutidos em seu interior. Existem diversas técnicas para armazenamento de objetos espaciais baseadas na estrutura vetorial. Aronoff [ARO 89] divide essas estruturas em dois grandes grupos: estruturas de dados spaghetti e estruturas de dados topológicos, levando-se em consideração se os relacionamentos topológicos são, ou não, armazenados. • Estruturas de dados spaghetti - armazenam os polígonos/linhas como seqüências de coordenadas de pontos. São utilizadas em pacotes de cartografia automatizada, onde as informações sobre os relacionamentos entre as entidades não são importantes. • Estruturas de dados topológicos - armazenam alguns tipos de relacionamentos espaciais, sendo que a ênfase principal é dada nos relacionamentos de conectividade entre linhas de uma rede e nos relacionamentos de adjacência entre polígonos. São empregadas na maioria dos SIG. A Figura 8 exemplifica uma estrutura de dados vetorial capaz de manter a topologia de polígonos adjacentes. A estratégia é baseada no armazenamento de atributos dos arcos, acrescidos de dois apontadores extras, referentes aos polígonos localizados à esquerda e à direita do arco, percorrido no sentido nó-origem-nó-destino. Uma tabela contém os atributos dos polígonos, uma outra tabela armazena os atributos dos arcos e uma terceira contém as coordenadas dos pontos que formam a geometria dos 15 arcos. Este tipo de estrutura possibilita a execução de operações de consulta de maneira bastante eficiente, por não necessitar realizar operações com base nas coordenadas dos objetos. Por exemplo, todos os polígonos adjacentes ao polígono B podem ser encontrados a partir da Tabela de Atributos dos Arcos. Cada par de apontadores (polígono à direita, polígono à esquerda), contendo o polígono B indica um polígono adjacente a ele, por ter um arco em comum. Desta forma, os arcos 3, 4 e 5 identificam os polígonos adjacentes ao polígono B. c Tab. Atributos de Arcos 1 2 b 3 B a Arco Dir Esq Ori Des 1 A D a c 2 A C c b 3 A B b a 4 D B a d 5 B C b d 6 D C d c 6 A C 5 4 d D Tab. Atributos de Polígonos Tab. Geometria de Arcos ID Atrib1 Atrib2 Atrib3 A B C D (exterior) Arco Coordenadas 1 (x1,y1),(x2,y2),...... 2 (x1,y1),(x2,y2),...... 3 (x1,y1),(x2,y2),...... 4 (x1,y1),(x2,y2),...... Figura 8 - Relacionamento de polígonos adjacentes [NCG 90] 2.3.3 Funções de Processamento, Análise e de Apresentação Segundo Chrisman [CHR 97], um SIG deve fornecer operações para a recuperação de informações com base em critérios de natureza espacial e não-espacial. As linguagens de consulta de SGBDs convencionais foram projetadas para recuperar informações segundo critérios não-espaciais. O SIG deve ser capaz de manipular dados espaciais e recuperar informações com base em relacionamentos direcionais como “acima de” e “perto de” e em relacionamentos topológicos como “próximo a”, “dentro de” e “ao lado de” [CAM 96]. Existem diferentes funções de manipulação e análise de dados disponíveis nos sistemas atuais. Além disso, novas funções podem ser adicionadas ao conjunto das já existentes. Porém, não existe um padrão para os nomes dessas funções, sendo comum a existência de funções com comportamento idêntico porém com nomes distintos [NCG 90]. A classificação apresentada nesta seção teve como base o trabalho de Aronoff [ARO 89], o qual apresenta uma taxonomia das funções encontradas na maioria dos SIG, mas que não se refere a nenhum software em especial. Essas funções estão agrupadas em quatro categorias principais. São elas: • Manutenção de Dados Espaciais; • Manutenção e Análise de Atributos Descritivos; 16 • Análise Integrada de Dados Espaciais e Descritivos; e • Formatação de Saída. Funções de Manutenção de Dados Espaciais Este grupo inclui as funções utilizadas na fase de pré-processamento dos dados espaciais, ou seja, funções usadas na preparação ou reorganização dos dados para que possam ser utilizados em operações de análise e consulta. Alguns exemplos estão relacionados abaixo. • Transformações de formato – dados obtidos a partir de diversas fontes nem sempre estão armazenados no formato adequado para ser processado no SIG. • Transformações geométricas - utilizadas para definir ou ajustar as coordenadas terrestres em um mapa, ou entre as camadas de dados. • Transformações entre projeções geométricas - SIG normalmente suportam mais de um tipo de projeção, fornecendo operações para transformar as projeções dos mapas. • Casamento de bordas - alguns ajustes precisam ser feitos durante a fase de preparação (pré processamento) dos dados. Casamento de bordas são feitos por meio de operações que realizam a união de linhas entre coberturas adjacentes, onde os objetos que ultrapassam os limites de uma cobertura têm suas coordenadas limites ajustadas em todas as coberturas onde aparecem. • Edição de elementos gráficos - São funções usadas para adicionar, eliminar e modificar objetos no mapa. Por exemplo, quando a aresta que separa dois polígonos é digitalizada duas vezes podem surgir pequenas fatias de áreas sobrepostas ou fatias de áreas sem informações. Nestes casos os ajustes e acertos precisam ser realizados manualmente. • Redução de coordenadas - têm como objetivo diminuir a quantidade de pares de coordenadas pertencentes às linhas, reduzindo assim, a quantidade total de dados armazenados em cada camada. A Figura 9 exemplifica esta operação. Figura 9 - Exemplo de redução de coordenadas Funções de Manutenção e Análise de Atributos Descritivos Na maioria dos SIG, a manipulação dos atributos descritivos (não-gráficos) é realizada através de linguagens de manipulação/consulta de dados disponíveis nos SGBDs. Diversas operações de análise podem ser resolvidas sem consulta aos atributos espaciais. Nos sistemas vetoriais, por exemplo, as informações sobre a área e o perímetro dos polígonos podem ser armazenadas junto aos demais atributos descritivos associados a esses polígonos. Nestes 17 casos, uma operação de análise envolvendo áreas de polígonos pode ser resolvida por métodos tradicionais de consulta a bancos de dados convencionais (ex.: Linguagem SQL). Funções de Análise Integrada de Dados Espaciais e Descritivos A potencialidade de um SIG está na sua capacidade de realizar operações de análise espacial envolvendo atributos espaciais e descritivos de forma conjunta. Isto também é um dos principais fatores que distinguem um SIG dos demais sistemas de geoprocessamento. O número de funções que se enquadram nesta categoria é muito grande. A seguir citamos algumas dessas funções. • Recuperação de dados - são funções que envolvem busca seletiva, manipulação e geração de resultados, sem alterar os valores armazenados no banco de dados. Um exemplo seria a geração de um mapa urbano mostrando a localização das residências com valor nominal acima de um determinado valor. • Funções de medidas - são executadas sobre os objetos espaciais (pontos, linhas, polígonos e conjunto de células) e incluem funções como distância entre dois pontos, comprimento de linhas, perímetro de áreas, etc. • Funções de sobreposição de camadas (overlay) - relaciona informações de duas ou mais camadas de dados. Essas funções podem executar operações aritméticas ou lógicas entre os valores das células localizadas em coordenadas idênticas nas diversas camadas envolvidas (Figura 10). 2 3 3 2 1 1 1 1 3 S S S S N S N N S 'E' 10 10 30 10 10 30 20 20 30 N N N S S N N S S 12 13 33 12 11 31 21 21 33 N N N S N N N N S Figura 10 - Operações de sobreposição de camadas • Funções de interpolação - interpolação é o método matemático no qual valores não definidos em uma localização podem ser calculados com base em estimativas feitas a partir de valores conhecidos em localizações vizinhas. Funções matemáticas como regressão polinomial, Séries de Fourier, médias ponderadas, entre outras, são aplicadas de acordo com a variável que está sendo analisada. 18 • Geração de contorno - linhas de contorno (ou isolinhas) são usadas para representar superfícies, onde cada linha é formada por pontos de mesmo valor. Funções de geração de linhas de contorno são usadas para construir os mapas topográficos a partir de um conjunto de pontos conhecidos. • Funções de proximidade - funções que permitem análise de proximidade estão associadas à geração de zonas de buffer. Uma zona de buffer é uma área de extensão regular, que é gerada ao redor dos objetos espaciais (Figura 11). 500m de uma reserva florestal 200m do leito do rio um raio de 5 Km de um depósito de gás Figura 11 - Exemplo de zonas de buffer Funções de Formatação de Saída Os resultados das operações de análise espacial podem ser gerados na forma de relatórios, gráficos ou, mais comumente, na forma de mapas. Diversas funções podem ser usadas para melhorar a aparência dos mapas resultantes dessas operações como, por exemplo, anotações em mapas, posicionamento de texto, símbolos, iluminação e visões em perspectivas. A seguir, estão listadas algumas dessas funções. • Anotações em mapas - permitem adicionar aos mapas informações como título, legendas, barra de escala, orientação norte-sul, etc. Podem ser colocados fora dos limites do mapa ou cobrindo alguma parte deste. • Posicionamento de rótulos - rótulos são colocados junto aos símbolos gráficos que representam fenômenos no mapa. Existem padrões cartográficos para a escolha do posicionamento de rótulos. A maioria dos SIG possuem ferramentas que efetuam o posicionamento de forma automática ou manual. • Padrões de textura e estilos de linhas - os textos podem variar em tipo de fonte, tamanho, cor e estilo (ex.: negrito, itálico). A escolha dos tipos de letra devem obedecer convenções cartográficas, assim como os estilos de linhas, que podem variar em espessura, cor e forma (ex. tracejada, pontilhada). • Símbolos gráficos - os símbolos gráficos são usados para representar classes de entidades em um mapa. Alguns símbolos mais comuns são: símbolos de cidades (ex.: tamanho variando de acordo com a população), pontes, aeroportos, hospitais, museus, escolas. Alguns sistemas utilizam o conceito de bibliotecas de símbolos, que podem ser adquiridas de acordo com a área de aplicação específica. 19 3 Projeto de Bancos de Dados Geográficos 3.1 Dado, Informação e Fenômeno Geográfico Uma informação é obtida a partir do processamento ou da contextualização de dados brutos. Um dado bruto corresponde a um valor para uma medida observada. Por exemplo, a data 7/9/1822 é um dado bruto. Quando este dado está associado a um contexto torna-se informação. Assim, na expressão “O Brasil tornou-se independente de Portugal em 7 de setembro de 1822”, o dado é transformado em informação. De modo equivalente, informação geográfica é resultado do processamento de dados geográficos. Um dado geográfico refere-se a uma medida observada de um fenômeno que ocorre sobre/sob a superfície terrestre, onde a localização da observação é um componente fundamental do dado. O termo fenômeno geográfico compreende, de forma abrangente, a qualquer ocorrência que pode ser: natural (ex.: um lago, a pressão atmosférica, uma formação geológica); antrópica (ex.: uma rodovia, um hospital, divisão territorial política); de fatos (ex.: uma epidemia, uma batalha); ou mesmo de objetos ainda inexistentes (ex.: o planejamento de um gasoduto, projeto de uma usina hidroelétrica). 3.1.1 Componentes da informação geográfica Segundo Chrisman [CHR 97], a informação geográfica possui três componentes básicos: atributo, espaço e tempo, que possibilitam responder, respectivamente, a três perguntas: o quê? onde? e quando?. Segundo Worboys [WOR 95], cada um desses componentes determina uma categoria de dimensão ao longo da qual os valores são medidos (Figura 12). tempo atributo espaço Figura 12 - Categorias de dimensões da informação geográfica Para que um dos três componentes possa ser medido deve-se fixar um segundo componente e usar o terceiro como controle (Sinton, 1978 Apud [CHR 97]). Por exemplo, para medir a altitude (atributo) de uma determinada região, fixa-se o componente tempo, fazse variar a posição no espaço (controle) e toma-se o valor da altitude para os diversos pontos na região. Um segundo exemplo compreende a medição da temperatura em uma estação meteorológica. Neste caso, a localização da estação é fixa (espaço), o período de tempo da observação serve de controle e a temperatura (atributo) é medida para cada unidade de tempo estabelecida. A definição de qual dimensão pretende-se fixar, usar como controle ou medir, possibilita uma grande variedade de estruturas de medidas da informação geográfica. 20 Componente Espaço O componente espacial descreve a localização geográfica e a forma geométrica do fenômeno descrito pela informação geográfica, além de relacionamentos com outros fenômenos geográficos. Como a principal função de um SIG é possibilitar a realização de operações de análise espacial, o componente espacial é o mais importante no contexto de SIG. Um dado geográfico é, antes de mais nada, um dado espacial, isto é, descreve a forma geométrica (coordenadas numéricas) de um objeto no espaço. Por exemplo, a forma de um cubo no espaço ℜ3 ou uma circunferência projetada no espaço ℜ2 são dados espaciais. Assim, uma linha unindo dois pontos quaisquer em uma imagem de ecografia é um dado espacial, mas não um dado geográfico. Quando o dado espacial está relacionado com sua localização sobre a superfície terrestre, ou seja, são utilizadas coordenadas geográficas (ex.: latitude/longitude), este dado, além de ser espacial, é um dado geográfico, também conhecido por dado geo-espacial ou dado georreferenciado. Devido a uma herança cultural no desenvolvimento de SIG, decorrente do uso de mapas em papel, existe uma predominância quase total no processamento de dados bidimensionais, embora seja possível o processamento de dados espaciais em três dimensões. Componente Atributo Um fenômeno geográfico possui características qualitativas e quantitativas que são descritas de forma textual e/ou numérica. O componente atributo, também conhecido por atributo descritivo ou atributo não-espacial, descreve as características não espaciais de um fenômeno geográfico. Nome, população e orçamento anual de um município são exemplos de atributos descritivos. Atributos descritivos são os mais freqüentes na maioria dos sistemas de informação em geral. A maioria dos SIG utilizam um SGBD para o gerenciamento dos atributos descritivos. Segundo Aronoff [ARO 89], existe um certo grau de incerteza que é inerente ao componente atributo. Por exemplo, uma floresta de Eucaliptos pode não ser formada por árvores 100% do tipo Eucalipto ou um bairro residencial pode possuir algumas pequenas indústrias instaladas. Para alguns tipos de análises pode ser importante considerar a existência dessas incertezas, embora normalmente este tipo de problema seja desconsiderado pelos usuários de SIG. Componente Tempo Todo fenômeno geográfico é eminentemente temporal, ou seja, está associado a um instante ou intervalo de tempo em que este ocorre ou em que é observado [PEU 95]. O componente tempo pode ser crítico para a informação geográfica, dependendo do tipo de fenômeno e do tipo de aplicação em que este está sendo utilizado. O componente tempo, embora muitas vezes esteja implicitamente associado aos demais componentes da informação geográfica, tem sido tratado como uma simples informação complementar. Por exemplo, todo mapa está associado ao período de tempo relativo à sua confecção e ao período de tempo relativo à validade da informação apresentada. Um novo mapa retratando as divisões provinciais do Brasil no século XVII ilustra esta situação. 21 A maioria dos sistemas são projetados para fornecer informação atual sobre os fenômenos geográficos. Por exemplo, um sistema de rede de telefonia deve fornecer aos seus usuários, a informação mais atualizada possível. Desta forma, a informação que é extraída do sistema é tida como verdadeira para o momento da consulta. É comum a existência de aplicações onde os aspectos temporais não são contemplados ou são tratados de maneira superficial. No entanto, existem aplicações onde o aspecto temporal é fundamental. Por exemplo, em um sistema de cadastro urbano, os limites dos lotes podem ser modificados (divididos ou unidos a outros lotes), proprietários podem ser trocados, edificações são construídas. O histórico dessas modificações no cadastro territorial é um fator importante neste tipo de aplicação. 3.2 Requisitos de Modelagem para Aplicações de SIG Devido à necessidade de tratar as três dimensões da informação geográfica, as aplicações de SIG impõem alguns requisitos especiais de modelagem que devem ser suportados pelos modelos conceituais no projeto de banco de dados para estas aplicações. A seguir é descrito o conjunto de requisitos mínimos que um modelo conceitual de dados para aplicações de SIG deve suportar [LIS 99a]. 3.2.1 Fenômeno Geográfico e Objeto Convencional Em um banco de dados geográficos existem, além dos dados referentes aos fenômenos geográficos, outros objetos convencionais, presentes na maioria dos sistemas de informação. Por exemplo, uma fazenda é um fenômeno geográfico quando suas informações espaciais (ex.: os limites da fazenda) estão armazenadas no banco de dados. Neste mesmo banco de dados pode-se ter dados sobre os proprietários de fazendas, considerados objetos convencionais por não terem informações espaciais associadas. Em um esquema conceitual é importante que se possa diferenciar, facilmente, entre classes (ou entidades) descrevendo esses dois tipos de objetos. 3.2.2 Visões de Campo e de Objetos Segundo Goodchild [GOO 92], a realidade geográfica pode ser observada segundo duas visões: de campo e de objetos. Na visão de campo a realidade é modelada por variáveis que possuem uma distribuição contínua no espaço. Toda posição no espaço geográfico pode ser caracterizada através de um conjunto de atributos como temperatura, tipo de solo e relevo, medidos para um conjunto de coordenadas geográficas. Na visão de objetos, a realidade consiste de fenômenos individuais, bem definidos e identificáveis. Cada fenômeno na visão de objetos tem suas propriedades individuais e ocupa um determinado lugar no espaço. A realidade é modelada como um grande espaço onde os fenômenos estão distribuídos sem que, necessariamente, todas as posições do espaço estejam ocupadas. A modelagem de fenômenos geográficos na visão de objetos2 é um processo natural e direto (ex.: rios são descritos pela classe ou entidade Rio). No entanto, um campo geográfico 2 É importante ressaltar a diferença entre os conceitos de visão de objetos, em contrapartida à visão de campos, e modelos de objetos, referente à orientação a objetos. 22 (ex.: Altimetria) não pode ser modelado diretamente como uma classe, pois Altimetria não é um objeto e, consequentemente, não pode ser descrito diretamente por uma classe. Um modelo conceitual de dados deve prover construtores especiais para modelar tanto os campos quanto os objetos geográficos. A maioria dos modelos existentes não suporta a modelagem dos fenômenos geográficos que são percebidos na visão de campo. 3.2.3 Aspectos Temáticos Os fenômenos geográficos possuem vários atributos, dentre os quais o que fornece sua localização geográfica (atributo espacial). A localização e a forma dos fenômenos geográficos são representadas através de objetos espaciais, associados a um sistema de coordenadas. Um objeto representando um fenômeno geográfico (ex.: um rio) deve estar associado a um ou mais objetos espaciais que representam sua localização e sua forma sobre a superfície terrestre. Em um SIG, esses objetos espaciais não são tratados isoladamente, mas sim, em grupos que representam fenômenos com características e relacionamentos em comum. Diferentes termos como tema, camada e plano de informação são encontrados na literatura, referindo-se a estes agrupamentos. No nível interno de um SIG, a organização dos dados espaciais é feita em camadas físicas (ex.: conjunto de polígonos representando os limites dos lotes urbanos). No entanto, embora o projeto de camadas físicas seja um problema a ser tratado nas etapas de projeto lógico ou físico, diversos autores afirmam que é importante que camadas conceituais sejam definidas durante a fase de projeto conceitual [WOR 95, HAD 96]. Para Hadzilacos [HAD 96], camadas conceituais não necessitam ter uma relação um-para-um com camadas físicas. Por exemplo, uma única camada conceitual, como Hidrografia, pode dar origem a diferentes camadas físicas, uma contendo somente os rios, outra contendo somente os lagos, etc. 3.2.4 Aspectos Espaciais A localização geográfica e a forma espacial dos fenômenos geográficos podem ser implementadas, em um SIG, através de objetos espaciais. Todo objeto espacial possui uma geometria, que representa a forma espacial do fenômeno, sendo que suas coordenadas devem estar registradas com base em um determinado sistema de coordenadas (ex.: latitude e longitude) e um sistema de projeção (ex.: UTM). Embora os aspectos espaciais dos fenômenos geográficos possam parecer detalhes que não deveriam ser tratados durante a modelagem conceitual, a sua inclusão no esquema conceitual tem sido fator fundamental na comunicação com o usuário [LIS 00]. Na visão de objetos, os fenômenos geográficos são representados por objetos espaciais do tipo ponto, linha, polígono ou combinações destes, enquanto que na visão de campo uma superfície contínua pode ser representada, por exemplo, através de modelos numéricos, conjuntos de isolinhas, polígonos adjacentes e grade de células. Diferentes abordagens têm sido propostas para modelagem conceitual dos aspectos espaciais dos fenômenos geográficos. A abordagem mais comum é a que define uma associação entre a classe que descreve o fenômeno e a classe do tipo de objeto espacial 23 correspondente a sua representação espacial. Alguns modelos, no entanto, utilizam pictogramas3 para substituir esta associação. 3.2.5 Múltiplas Representações Uma das características das aplicações geográficas é a possibilidade de existência de múltiplas representações para um mesmo fenômeno geográfico. Esta necessidade surge em resposta à complexidade da realidade a ser representada e às diferentes visões que os usuários têm de um mesmo fenômeno. Um fenômeno geográfico pode ser representado em diferentes escalas ou projeções, inclusive por diferentes objetos espaciais. A existência de múltiplas representações pode ser modelada através da inclusão de várias associações entre o fenômeno geográfico e os tipos de objetos espaciais correspondentes. 3.2.6 Relacionamentos Espaciais Uma das tarefas mais importantes quando se está modelando os dados de uma aplicação é a identificação de quais os relacionamentos que deverão ser mantidos no banco de dados, dentre os possíveis relacionamentos observáveis na realidade. No domínio das aplicações geográficas este problema é bem complexo, uma vez que o número de relacionamentos possíveis de serem mantidos é ainda maior, devido à existência dos relacionamentos espaciais entre os fenômenos geográficos. A maioria dos SIG fornece estruturas especiais para o armazenamento explícito de alguns tipos de relacionamentos espaciais. Normalmente são mantidos somente os relacionamentos de adjacência ou de conectividade, deixando os demais tipos de relacionamentos espaciais (ex.: pertinência, cruza) para serem calculados a partir das coordenadas espaciais dos objetos. Por outro lado, existem aplicações nas quais alguns relacionamentos espaciais possuem significado semântico relevante, tal como vizinhança e cruzamento de ruas. Nestes casos o projetista necessita especificar estas informações no modelo de dados. As cardinalidades associadas aos relacionamentos formam um conjunto de restrições de integridade que devem ser mantidas entre as instâncias dos objetos no banco de dados. Para os relacionamentos espaciais, novos tipos de cardinalidade podem ser definidos, tais como, associação espacial, pertinência, etc. Um modelo conceitual de dados para SIG deve fornecer meios para que o projetista represente os relacionamentos a serem mantidos no banco de dados geográficos. Isto inclui tanto os relacionamentos convencionais como os relacionamentos espaciais. 3.2.7 Aspectos Temporais A maioria dos SIG disponíveis atualmente considera os fenômenos como se o mundo existisse somente no presente. Dados geográficos são alterados ao longo do tempo, mas o histórico dessas transformações não é mantido no banco de dados. Para Hadzilacos [HAD 96], a necessidade de os dados geográficos estarem qualificados com base no tempo, se deve à necessidade de se registrar estados passados de forma a possibilitar o estudo da evolução dos fenômenos geográficos. Para possibilitar uma 3 Pequenos símbolos gráficos incluídos na definição das classes/entidades. 24 análise de dados com base na evolução dos fenômenos geográficos é necessário adicionar aos SIG as potencialidades dos sistemas de bancos de dados temporais. Isto implica na inclusão de informações temporais relacionadas aos fenômenos geográficos e da extensão das linguagens de consulta disponíveis para que estas suportem cláusulas de condição associadas a aspectos temporais [WOR 95]. Alguns modelos conceituais propostos na literatura estendem a notação gráfica para ressaltar a existência dos aspectos temporais em determinadas classes. O modelo GeoOOA [KOS 97], por exemplo, utiliza um pictograma especial (símbolo de um relógio), para diferenciar classes temporais . Além disso, a notação gráfica do modelo é estendida para representar dois tipos especiais de relacionamentos temporais: conexão ancestral e conexão de atributo temporal. A Figura 13 ilustra um trecho da modelagem de um sistema de cadastramento de lotes. Classe espaço-temporal Classe convencional LOTE Número 0,N Território Tipo de uso 1,N 1,N ESCRITURA DONO Número Data Relatório Nome Endereço Dt-nasc Validade uso 1,N 0,N Compra 1,N Conexão ancestral Conexão de atributo temporal Figura 13 - Aspectos temporais no modelo GeoOOA No modelo GeoOOA, um relacionamento de conexão ancestral permite a associação entre versões de um mesmo objeto. Por exemplo, um lote pode ser dividido, em um determinado momento, dando origem a dois novos lotes. A conexão de atributo temporal é usada para destacar uma associação decorrente da necessidade de modelar o aspecto temporal de um atributo. Na figura acima, a classe Escritura é resultado da modelagem dos dados históricos do lote. Na modelagem não temporal, o usual é que cada lote tenha uma única associação com o proprietário atual. 3.3 Modelos Conceituais de Dados para SIG Um modelo conceitual de dados fornece uma base formal (notacional e semântica) para ferramentas e técnicas usadas para suportar a modelagem de dados. Modelagem de dados é o processo de abstração onde somente os elementos essenciais da realidade observada são enfatizados, descartando-se os elementos não essenciais. O processo de modelagem conceitual de banco de dados compreende a descrição dos possíveis conteúdos dos dados, além de estruturas e de regras a eles aplicáveis. Essa descrição do banco de dados é feita com base nos construtores semânticos fornecidos por um modelo conceitual. Os requisitos apresentados anteriormente fazem com que modelos conceituais convencionais, como o modelo E-R, não sejam adequados para modelagem de bancos de dados geográficos, ou seja, para modelagem de aplicações de SIG. Atualmente, diversas propostas de modelos conceituais de dados específicos para bancos de dados geográficos podem ser encontrados na literatura. Estes modelos são, na verdade, extensões dos modelos tradicionais. Abaixo são citados os principais modelos encontrados na literatura, classificados de acordo com o tipo de formalismo usado como base: 25 • Formalismo E-R: Modul-R [BED 96], GISER [SHE 97], Geo-ER [HAD 97]; • Formalismo OO: GMOD [PIR 97], Geo-OMT [BOR 97], GeoOOA [KOS 97], MADS [PAR 98], Perceptory [BED 99], UML-GeoFrame [LIS 99]. Uma análise crítica desses modelos, feita com base nos requisitos descritos nesta seção é apresentada em [LIS 99a]. 3.4 Modelando Banco de Dados Geográficos com UML-GeoFrame Nesta seção é apresentada a abordagem UML-GeoFrame, ou seja, o uso da linguagem UML (Unified Modeling Language) [BOO 98], com base no framework GeoFrame [LIS 99], para a modelagem conceitual de bancos de dados geográficos. Esta solução possibilita a obtenção de esquemas conceituais de dados numa linguagem bastante clara e, portanto, de fácil entendimento por parte dos usuários. Não é objetivo desse material, a apresentação da linguagem UML. Para maiores detalhes o leitor pode consultar, por exemplo, [BOO 98]. Apenas uma pequena parte dos recursos da UML são utilizados, os quais fazem parte do modelo de classes, cujos principais construtores gráficos são mostrados na Figura 14. Por questões, também de simplificação, a parte da modelagem dinâmica (métodos) não está sendo abordada. PACOTE multiplicidade Classe * 1 atributo : domínio ClasseAgregada atributo : domínio associação generalização especialização agregação Subclasse Subclasse atributo : domínio atributo : domínio instanciação composição ClasseComponente atributo : domínio objeto : classe Figura 14 - Notação gráfica do diagrama de classes UML (resumida) Os mecanismos de abstração e os respectivos elementos construtores da linguagem UML, que são utilizados na abordagem UML-GeoFrame, estão resumidos a seguir: • Classificação – Nos modelos orientados a objetos, um fenômeno de interesse da aplicação é representado como um objeto, o qual possui uma estrutura, capaz de armazenar suas características (atributos) e um comportamento, descrito pelo conjunto de operações que podem ser realizadas com o objeto. Objetos semelhantes são modelados através da definição de uma classe, a qual especifica um conjunto de atributos que descrevem a estrutura e um conjunto de métodos (ou operações) que definem o comportamento dos objetos definidos pela classe. • Instanciação – Um objeto pertencente a uma classe é dito ser uma instância desta classe. 26 • Generalização – Classes semelhantes podem ser agrupadas e descritas de forma generalizada. Neste caso, as propriedades da classe genérica (superclasse), ou seja, atributos, métodos e associações, são herdadas pelas classes que foram generalizadas (subclasses). • Especialização – A especialização é o mecanismo inverso da generalização, no qual uma classe genérica (superclasse) pode ser especializada em uma ou mais classes específicas (subclasses), as quais herdam as propriedades da superclasse, além de novas propriedades poderem ser definidas. • Associação – Representa os relacionamentos que podem haver entre objetos de diferentes classes. Multiplicidade é o nome dado à cardinalidade de uma associação. • Agregação – Tipo especial de associação para representar relacionamentos entre objetos compostos e suas partes. • Composição – Tipo especial de agregação na qual a existência do objeto composto (o todo) depende da existência dos objetos componentes (suas partes). Além dos mecanismos de abstração relacionados anteriormente, a abordagem UMLGeoFrame utiliza dois elementos próprios da linguagem UML. São eles: • Pacote – Usado para particionar um diagrama de classes através do agrupamento de elementos da linguagem UML. • Estereótipo – Mecanismo de extensão dos construtores da linguagem UML. Permite que o projetista defina novos construtores e o utilize na elaboração de diagramas UML. A Figura 15 ilustra um exemplo de diagrama de classe elaborado usando a UML. Algumas leituras que podem ser feitas neste diagrama são: uma Quadra é uma agregação de Lotes; Lote Edificado e Lote Territorial são especializações de Lote; uma Edificação é uma composição de Unidades Edificadas, as quais estão associadas a um proprietário cada; o diagrama de classes foi incluído em um pacote denominado Loteamento. Loteamento Quadra Proprietário 1 1 * * Unidade Edificada * Lote * Edificação * 1 Lote Edificado Lote Territorial Figura 15 - Exemplo de esquema de classes em UML De forma semelhante ao modelo E-R, o diagrama de classes da linguagem UML também não é adequado à modelagem de banco de dados geográficos, por não atender a vários dos requisitos impostos pelas aplicações de SIG. A seguir é descrito o GeoFrame, o 27 qual estende os construtores da linguagem UML através da definição de um conjunto simples de estereótipos para serem usados na modelagem de banco de dados geográficos. 3.4.1 GeoFrame GeoFrame é um framework conceitual que fornece um diagrama de classes básicas para auxiliar o projetista nos primeiros passos da modelagem conceitual de dados de uma nova aplicação de SIG [LIS 99]. Um framework pode ser definido como um projeto genérico em um domínio que pode ser adaptado a aplicações específicas, servindo como um molde para a construção de aplicações. Esta definição fornece uma visão bem mais abrangente sobre a potencialidade de um framework do que as definições apresentadas por autores mais ligados à programação orientada a objetos. Por exemplo, Ralph Johnson define um framework como sendo “um projeto reutilizável de um programa, ou parte de um programa, expresso como um conjunto de classes” [JOH 92]. Como instrumento de reutilização, um framework não necessita estar implementado em uma linguagem de programação para fornecer a solução parcial a uma família de problemas. O framework GeoFrame (Figura 16) foi elaborado sob esse enfoque mais genérico, onde o mesmo expressa a idéia de um projeto conceitual parcial para uma família de aplicações geográficas. retrata * Tema 1 Regiãogeográfica nome descrição * * * ObjetoNãoGeográfico FenômenoGeográfico CampoGeográfico ObjetoGeográfico 1 1 representa representa * * RepresentaçãoCampo ObjetoEspacial Ponto GradeCélulas PolAdjacentes Isolinhas Linha GradePontos Polígono TIN 2..n ObjEspComplexo PontosIrregulares Figura 16 - Diagrama de classes do GeoFrame O GeoFrame foi definido de acordo com as regras do formalismo da orientação a objetos, utilizando a notação gráfica do diagrama de classes da linguagem UML. As subseções seguintes descrevem as classes do diagrama. 28 Tema e RegiãoGeográfica As classes TEMA e REGIÃOGEOGRÁFICA formam a base de qualquer aplicação geográfica. Toda aplicação geográfica tem como objetivo o gerenciamento e a manipulação de um conjunto de dados para uma determinada região de interesse, constituindo um banco de dados geográfico. Assim, para cada região geográfica pode-se especificar uma coleção de temas. Outra vantagem da utilização do conceito de temas, no esquema conceitual, é que ele funciona como um mecanismo para redução da complexidade em grandes esquemas. É comum existirem aplicações geográficas com centenas de entidades modeladas (ex.: SIGPROGB [LIS 97]). O uso de temas permite ao projetista dividir o esquema em subesquemas coesos, nos quais são agrupadas classes fortemente relacionadas entre si. Em grandes projetos, conjuntos de temas afins podem ser agrupados em um tema mais genérico, formando uma hierarquia de temas. ObjetoNãoGeográfico e FenômenoGeográfico Em um banco de dados geográficos existem, além dos dados referentes àqueles fenômenos georreferenciados, com ou sem representação geoespacial, objetos convencionais presentes em qualquer sistema de informação. Alguns objetos não possuem referência com relação a uma localização geográfica, sendo tratados, genericamente, como instâncias de subclasses da classe OBJETONÃOGEOGRÁFICO. A classe abstrata FENÔMENOGEOGRÁFICO generaliza qualquer fenômeno cuja localização em relação à superfície terrestre seja considerada. Por exemplo, um lote de terra é uma instância de FENÔMENOGEOGRÁFICO caso seus atributos espaciais estejam representados no banco de dados. Fenômenos geográficos e objetos não geográficos podem estar relacionados entre si (associação relacionaCom), como no caso em que “todo lote pertence a um proprietário”. A modelagem desse tipo de relacionamento permite que os dados armazenados em um SIG estejam integrados com os demais sistemas de informação da organização. CampoGeográfico e ObjetoGeográfico Fenômenos geográficos são percebidos, na realidade, segundo as visões dicotômicas de campo e de objeto [GOO 92]. Essas duas visões acarretam diferentes maneiras de modelagem dos fenômenos geográficos. As classes CAMPOGEOGRÁFICO e OBJETOGEOGRÁFICO especializam a classe FENÔMENOGEOGRÁFICO, permitindo ao projetista especificar, de forma distinta porém integrada, os campos e os objetos geográficos, respectivamente. A classe abstrata OBJETOGEOGRÁFICO é uma generalização de todas as classes do domínio que são percebidas na visão de objetos. Neste caso estão incluídas aquelas classes que representam fenômenos geográficos que podem ser individualizados, ou seja, que possuem identidade própria e suas características podem ser descritas através de atributos. A classe abstrata CAMPOGEOGRÁFICO generaliza os fenômenos que se enquadram na visão de campo. Campos geográficos são modelados como funções sobre uma variável. Com base nesta definição, um campo geográfico pode ser modelado conceitualmente como subclasse de CAMPOGEOGRÁFICO. Alguns tipos de campos geográficos, os chamados 29 categóricos, possuem uma associação especial com uma classe que representa a imagem da função de mapeamento do campo, uma subclasse de OBJETONÃOGEOGRÁFICO. ObjetoEspacial É uma classe abstrata cujas subclasses formam o conjunto mínimo de construtores para a especificação do componente espacial dos fenômenos geográficos na visão de objetos. Alguns fenômenos geográficos podem apresentar dimensão espacial complexa, ou seja, composta por outros objetos espaciais (ex.: um arquipélago). Assim, a classe OBJETOESPACIAL, possui as subclasses (PONTO, LINHA, POLÍGONO e OBJESPACIALCOMPLEXO), que constituem o conjunto mínimo de classes necessárias para a fase do projeto conceitual. RepresentaçãoCampo Os aspectos espaciais de um campo geográfico são abstraídos de forma diferente dos aspectos espaciais de um objeto geográfico. Para especificação do componente espacial de um campo geográfico são usadas as subclasses da classe REPRESENTAÇÃOCAMPO. São elas: GRADECÉLULAS, POLADJACENTES, ISOLINHAS, GRADEPONTOS, TIN e PONTOSIRREGULARES. Um mesmo campo geográfico pode ter seu componente espacial abstraído de diferentes formas, ou seja, através de mais de um desses modelos. Por exemplo, o campo Temperatura pode ser abstraído por meio de um conjunto de pontos irregularmente distribuídos ou por meio de isolinhas. Problema semelhante ocorre com os objetos geográficos cujos componentes espaciais podem ser percebidos, ora por formas alternativas, ora por formas duplas, dependendo de aspectos como a escala com a qual se pretende capturar a forma espacial de cada fenômeno. A possibilidade de haver múltiplas representações é sinalizada no GeoFrame, através das associações (1:n), denominadas representa. 3.4.2 Processo de Modelagem UML-GeoFrame A abordagem UML-GeoFrame permite a solução da maioria dos requisitos de modelagem apresentados na Seção 4.2. Um esquema conceitual de dados geográficos construído com base no GeoFrame inclui, por exemplo, a modelagem dos aspectos espaciais da informação geográfica e a diferenciação entre objetos convencionais e objetos/campos geográficos. O processo de modelagem com base na abordagem UML-GeoFrame envolve três etapas: • Passo 1: identificar temas e sub-temas para cada área geográfica; • Passo 2: para cada tema, elaborar o sub-diagrama de classes. Associar classes de diferentes temas; • Passo 3: modelar o componente espacial para cada fenômeno geográfico identificado. A seguir, cada passo é apresentado em maiores detalhes. Passo 1 – Identificar temas por região geográfica Uma das primeiras escolhas a ser realizada, no desenvolvimento de uma nova aplicação de SIG, é a escolha da área geográfica para a qual os dados serão coletados e 30 analisados. A seguir, partindo-se dos objetivos iniciais da nova aplicação, deve ser feita a identificação dos principais temas para os quais os dados serão coletados e mantidos no banco de dados geográfico. Na abordagem UML-GeoFrame, temas são representados através do construtor Pacote da linguagem UML. Os diversos temas identificados na aplicação são modelados através da elaboração de um diagrama hierárquico de temas para cada região geográfica da aplicação. A Figura 17 ilustra o diagrama de temas do sistema de gerenciamento costeiro da região norte do litoral do estado do Rio Grande do Sul [LIS 97]. LitoralNorteRS : RegiãoGeográfica MeioAmbiente AtividadeAntrópica Clima Relevo Hidrografia Vegetação Solos ONGs Abastecimento Água Estrada AtivIndustrial Figura 17 - Exemplo de diagrama de temas Passo 2: Construir diagramas de classes por tema A partir da análise dos requisitos da aplicação, um diagrama de classe deve ser elaborado para cada tema especificado. Com base no diagrama de classes do framework GeoFrame, as classes da aplicação devem ser modeladas como subclasses de uma das classes OBJETOGEOGRÁFICO, CAMPOGEOGRÁFICO ou OBJETONÃOGEOGRÁFICO. O problema que ocorre é o surgimento de um grande número de relacionamentos de especialização entre as diversas classes da aplicação e estas três classes do GeoFrame. A solução proposta pela abordagem UML-GeoFrame é a substituição destes relacionamentos de especialização por estereótipos. A Figura 18 ilustra o conjunto total de estereótipos utilizados na abordagem UML-GeoFrame. Fenômeno geográfico e Objeto convencional 3 Objeto geográfico = Campo geográfico 4 Objeto não geográfico <<função>> Componente espacial de objetos geográficos Ponto Linha Polígono Obj. espacial complexo função categórica Componente espacial de campos geográficos 8 Pontos irregulares 9 Grade de pontos 1 Polígonos adjacentes ; Isolinhas < Grade de células : TIN Figura 18 - Estereótipos GeoFrame O primeiro conjunto de estereótipos (Fenômeno geográfico e Objeto convencional) é usado para diferenciar os dois principais tipos de objetos pertencentes a um banco de dados geográficos: (1) Fenômeno geográfico, que é especializado em Objeto geográfico (3) e 31 Campo geográfico (=), segundo as duas formas de percepção dos fenômenos geográficos; (2) Objeto não geográfico, ou seja, objetos sem representação espacial são modelados de forma tradicional e são identificados através do estereótipo (4). Passo 3: Modelar o componente espacial dos fenômenos geográficos O terceiro passo, que pode ser executado simultaneamente ao segundo passo, implica na especificação dos possíveis tipos de representação espacial dos fenômenos geográficos. De acordo com o diagrama de classes do GeoFrame, o componente espacial dos campos e objetos geográficos é modelado através de associações (Representa) entre as classes da aplicação e as subclasses de REPRESENTAÇÃOCAMPO e OBJETOESPACIAL, respectivamente. Novamente, a fim de evitar a poluição visual do diagrama de classes, estas associações são substituídas por estereótipos. O segundo e o terceiro conjuntos de estereótipos apresentados na figura anterior (Componente espacial de objetos geográficos e Componente espacial de campos geográficos) são usados para a modelagem do componente espacial de fenômenos segundo as visões de objeto e de campo, respectivamente. A existência de múltiplas representações é modelada através da combinação de dois ou mais estereótipos em uma mesma classe. Por exemplo, uma classe Município pode ter duas formas de abstração de seu componente espacial, pontual e/ou poligonal, o que é especificado pelo par de estereótipos ( ). Por último, o estereótipo <<função>> é usado para caracterizar um tipo especial de associação que ocorre quando da modelagem de campos categóricos. Segundo Chrisman [CHR 97], numa estrutura de cobertura categórica o espaço é classificado em categorias mutuamente exclusivas, ou seja, uma variável possui um valor do tipo categoria em todos os pontos dentro de uma região (ex.: tipos de solos). As figuras 19 apresenta um exemplo de diagrama de classes de uma aplicação de SIG na área de aplicação de gestão urbana, modelada segundo a abordagem UML-GeoFrame. Loteamento SistemaViário 4 Quadra Proprietário 1 3 4 Sistema 3 Viário Logradouro * 1 * Unidade Edificada * 4 * * Lote 3 * * 1 Trecho Lograd 3 * * * Cruza* mento 3 * UsoSolo Edificação 3 * 1 Lote Edificado Lote Territorial 4 UsoSolo = <<função>> TipoUso Urbano 1 Figura 19 - Exemplo de aplicação na área de gestão urbana 32 3.4.3 Estudo de Caso: Região Carbonífera do RS O projeto Energia e Meio Ambiente: a questão do carvão no Rio Grande do Sul (PADCT/CIAMB) é um trabalho que envolveu inúmeras equipes de pesquisadores de diferentes unidades da Universidade Federal do Rio Grande do Sul [LIS 00]. O objetivo foi o exercício de um trabalho interdisciplinar tendo como tema o estudo da região carbonífera do Baixo Jacuí-RS, que é uma região produtora e consumidora de carvão, produto de potencial econômico limitado e grande potencial poluidor. Para possibilitar a realização de uma análise multidisciplinar e integrativa, buscou-se investigar os aspectos sócio-econômicos e ambientais de modo a realizar um diagnóstico do potencial econômico regional e dos meios de recuperação ambiental de áreas degradadas em função da exploração ou da deposição dos rejeitos. Também foram alvo do projeto a busca de alternativas tecnológicas para recuperação de áreas, para uma exploração mais racional e a conscientização da população sobre as vantagens e as limitações da exploração carbonífera (efeitos na economia e na saúde pública). Esta gama variada de objetivos, de abrangência regional e local, gerou um conjunto de dados amplo e complexo, devido à natureza temporal e espacial dos dados gerados. Estes dados estão distribuídos em diversos meios digitais (SIG) e analógicos (relatórios técnicos). A integração dos diversos grupos de pesquisadores passa necessariamente pelo intercâmbio de dados, tanto para verificação quanto para a geração de novos dados derivados. A metodologia empregada na modelagem conceitual dos dados do Projeto PADCT/CIAMB seguiu uma abordagem inversa a que ocorre na maioria dos sistemas. Utilizando-se técnicas da engenharia reversa [HEU 98], partiu-se de uma análise dos dados existentes no SIG, bem como de análise em outras fontes como relatórios e entrevistas com executores do projeto, para gerar o esquema conceitual, tendo como base o GeoFrame. Inicialmente, identificou-se os diversos temas para os quais existe algum tipo de dado. Tais temas, denominados de sub-temas, foram agrupados em dois temas mais genéricos: Meio_Antrópico e Meio_Biótico_e_Abiótico (Figura 20). De acordo com o GeoFrame, os temas retratam uma região geográfica. A região geográfica em questão é a região carbonífera do Baixo Jacuí-RS, representada como uma instância da classe REGIÃOGEOGRÁFICA. A Figura 20 ilustra o diagrama de temas, que fornece uma visão mais abstrata do esquema conceitual de dados. Região Carbonífera Baixo Jacuí-RS : RegiãoGeográfica MEIO_ANTRÓPICO MEIO_BIÓTICO_E_ABIÓTICO LIMITES USO_SOLO CLIMA HIDROGRAFIA SÓCIO-ECONOMIA SISTEMA_VIÁRIO GEOLOGIA RELEVO CARVÃO IMAGENS_FOTOS SOLOS Figura 20 - Diagrama de temas 33 As Figuras 21 e 22 apresentam, respectivamente, o detalhamento (diagramas de classes) dos diversos sub-temas dos temas Meio_Antrópico e Meio_Biótico_e_Abiótico. SÓCIO-ECONOMIA 4 4 GêneroIndustrial AtivEconômica tipoAtiv : char 1 ProdIntBruto 4 * USO-SOLO 4 codigo : int descrição : char 1 ano : int vlrPIB : real EstrutEconômica UsoCobSolo <<função>> 4 * * Emprego ano : int porcentagem : real TipoUsoSolo ano : int numEmpregados : int * = 1 4 tipoUso : int descrTipoUso : char * LIMITES MicroRegião nomeMR : char 3 1 Município 1 * nomeMun : char 3 * SetorCensitário ano : int 1 3 1 ATIV_CARBONÍFERA dataEmancip : date áreaMun : real histórico : char 1 1 classFuncional : int 1 * Distrito 4 Censo 4 SISTEMA_VIÁRIO Rodovia classe : char ano : int qtde : real 1 * MinaCarvão * SedeMun ProduçãoCarvão produção : int numOperários : int produtividade : real nomeDistr : char ano : int popRural : int popUrbana : int 4 * nomeEmpresa : char 1 * 4 EmpresaCarbonífera 1 * 3 * nome : char tipoExploração : int ativa : boolean 3 1 Jazida 1 lavrado : boolean IMAGENS_FOTOS 3 ImagemSat data : date = < Figura 21 - Tema Meio Antrópico 34 3 FotoAérea data : date = < HIDROGRAFIA 3 * RecursoHídrico 3* Ilha PermInter : char 1 3 * 4 = 1 Solos BaciaDrenagemPto TipoSolo 4 parâmetro : char unidMed : char = 8 Evaporação Vento Geologia = 8; Temperatura = 8 = 8 direção : char velocidade : real Insolação * 1 GEOLOGIA ParâmetroQual Precipitação 4 tipoSolo : int descrTpSolo : Char * * PtoAmostrSolo <<função>> descrPto : char data : date valor : num CLIMA 3 1 PtoColetaAgua Medição 3 1 BaciaHidrográfica SOLOS Umidade = 8 = 1 = 8 <<função>> UnidGeológica 4 tipoUnidGeolog : int descrUnidGeol : char RELEVO = 89; Topografia 3 EstaçãoMeteorológica Declividade estação : char órgão : char período : date = 9 Exposição = 9 Figura 22 - Tema Meio Biótico e Abiótico Observando-se os esquemas de dados apresentados nas Figuras 21 e 22 pode-se notar a modelagem de alguns dos requisitos citados na Seção 3 como, por exemplo, (1) a diferenciação entre objetos convencionais (ex.: AtivEconômica 4) e fenômenos geográficos (ex.: Ilha 3 ou UsoCobSolo =), (2) a modelagem dos aspectos espaciais nas diversas subclasses de fenômeno geográfico, tanto na visão de objetos (ex.: Rodovia ) como na visão de campo (ex.: ImagemSat <), (3) o aspecto de múltiplas representações pode ocorrer nas duas visões (ex.: RecursoHídrico e Topografia 9<;), (4) o uso do estereótipo ( <<função>> ), para especificar o tipo de associação especial que ocorre entre campos categóricos (ex.: Geologia 1) e objetos convencionais (ex.: UnidGeológica 4). A experiência do desenvolvimento da modelagem conceitual do projeto PADCT/CIAMB mostrou que abordagem UML-GeoFrame teve uma boa aceitação por parte dos usuários envolvidos, os quais contribuíram ativamente na etapa de validação. 35 4. Considerações Finais A elaboração do esquema conceitual utilizando a abordagem UML-GeoFrame apresenta algumas vantagens importantes. Dentre as quais, pode-se citar: • o esquema de dados final torna-se bastante claro, uma vez que apenas os elementos essenciais da aplicação são modelados; • o uso de estereótipos permite, sem sobrecarregar visualmente o esquema, a fácil diferenciação entre os objetos não geográficos e os fenômenos geográficos (campos e objetos); • a divisão do diagrama de classes em temas, especificado através de pacotes, torna o esquema mais fácil de ser lido, uma vez que a atenção do leitor pode se ater a apenas uma pequena parte do esquema por vez; • devido ao alto nível de acoplamento entre as classes dentro de um mesmo tema, o número de associações entre classes de diferentes temas fica reduzido, contribuindo para a clareza do esquema. As pesquisas na área dos SIG têm sido desenvolvidas de forma multidisciplinar, por pesquisadores de diversas áreas tais como Geografia, Cartografia, Sensoriamento Remoto, Geologia, Ciência da Computação. No contexto da área de Ciência da Computação existem diversos tópicos atuais de pesquisa. Alguns desses tópicos são: • Modelos de dados e análise de requisitos - buscam uma forma de especificação que seja correta e completa, para os requisitos apresentados no domínio das aplicações geográficas. Diversas propostas de modelos de dados têm sido apresentadas como, por exemplo, modelos que permitem a representação espaço-temporal de entidades geográficas, que possibilitem o tratamento de limites nebulosos (fuzzy), entre outros. • Reutilização de projeto de banco de dados - através da definição de padrões de análise, que descrevem componentes conceituais reutilizáveis, pode-se obter não só a reutilização de dados georreferenciados, mas principalmente, de projetos de bancos de dados geográficos [LIS 98]. • Métodos de acesso espacial - novas estruturas de dados para armazenamento e recuperação de dados espaciais têm sido desenvolvidas com o objetivo de aumentar a eficiência dos sistemas atuais, em termos de capacidade de armazenamento e tempo de resposta. • Interface homem-máquina e linguagens de consulta - os sistemas de usuário têm evoluído para possibilitar uma maior facilidade de uso usuários. Pesquisas em linguagens para banco de dados geográficos visualização têm contribuído para a melhoria das interfaces de [OLI 97]. interface com por parte dos e métodos de uso dos SIG • Qualidade e confiabilidade dos dados - um dos problemas principais com os dados espaciais é o controle da propagação de erros através de operações espaciais. Métodos para representação de informações sobre a qualidade dos dados espaciais (metadados de qualidade) têm sido pesquisados. 36 • Orientação a objetos - a tecnologia dos sistemas de banco de dados relacionais apresenta diversas limitações com relação ao armazenamento e recuperação de dados espaciais. Conceitos provenientes do paradigma da orientação a objetos têm sido utilizados na implementação de novos SIG. • Intercâmbio de dados espaciais - o custo de aquisição de dados geográficos é um dos maiores problemas encontrados por instituições usuárias de SIG. A definição de formatos padronizados para intercâmbio de dados espaciais tem sido adotada em países como EUA, Canadá e Inglaterra. A criação de Centros de Dados Geográficos tem sido uma saída para possibilitar o uso cooperativo de dados geográficos por instituições governamentais ou privadas [CAM 96]. Agradecimentos Agradeço aos colegas Prof. Heinrich Hasenack e Eliseu Weber, do Centro de Recursos Idrisi para os Países de Língua Portuguesa (UFRGS), pela colaboração e co-autoria do artigo do qual foi extraído o exemplo de modelagem apresentado. Agradeço, também, ao Prof. Cirano Iochpe (UFRGS), meu orientador de doutorado e co-autor na apostila da qual foi extraído o texto de introdução a SIG. Bibliografia [AMA 90] AMARAL, G. Princípios de Sensoriamento Remoto. In: SIMPÓSIO BRASILEIRO DE GEOPROCESSAMENTO, 1., 1990, São Paulo. Anais... São Paulo:USP, 1990. [ANT 91] ANTENUCCI, J. C. et al. Geographic Information Systems: a guide to the technology. New York: Van Nostrand Reinhold, 1991. [ARO 89] ARONOF, S. Geographic Information Systems: a management perspective. Canada: WDL Publications, 1989. [BED 96] BÉDARD, Y. et al. Adapting data models for the design of spatio-temporal databases. Computers, Environment, and Urban Systems, v.20, n.1, 1996. [BOO 98] BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. The Unified Modeling Language User Guide. Reading: Addison-Wesley, 1998. [BOR 97] BORGES, K. A. V. Modelagem de Dados Geográficos: uma extensão do modelo OMT para aplicações geográficas. Belo Horizonte: Fundação João Pinheiro, 1997. Dissertação de Mestrado. [CAM 96] CÂMARA, G. et al. Anatomia de Sistemas de Informação Geográfica. Campinas: Instituto de Computação, UNICAMP, 1996. (X Escola de Computação). [COU 92] COUCLELIS, H. People manipulate objects (but cultivate fields): beyond the raster-vector debate in GIS. In: Theories and methods of spatial-temporal reasoning in geographic space. Berlin: Springer-Verlag, 1992. p.65-77. (Lecture Notes in Computer Science 639). 37 [CHR 97] CHRISMAN, N. Exploring Geographic Information Systems. New York: John Wiley & Sons, 1997. [EAS 95] EASTMAN, J.R. Idrisi for windows user’s guide. Worcester, MA: Clark University, 1995. [EGE 87] EGENHOFER, M. J.; FRANK, A. U. Object-oriented databases: database requirements for GIS. In: INT. GEOGRAPHIC INFORMATION SYSTEMS SYMPOSIUM, 1987, Arlington. Proceedings... Virginia:[s.n.], 1987. [FUR 98] FURLAN, J. D. Modelagem de Objetos através da UML: the Unified Modeling Language. São Paulo: Makron Books, 1998. [GEO 95] Geomatica. Canada: Canadian Institute of Geomatics, v.49, n.1, contracapa, 1995. [GOO 92] GOODCHILD, M. F., Geographical data modeling. Computers & Geosciences, v.18, n.4, p.401-408, 1992. [HAD 96] HADZILACOS, T.; TRYFONA, N. Logical data modelling for geographical applications. Int. Journal of Geographical Information Science, v.10, n.2, p.179-203, 1996. [HEU 98] HEUSER, C. A. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzato, 1998. (Série livros didáticos, n.4) [KOS 97] KÖSTERS, G. et al. GIS-Application Development with GeoOOA. Int. Journal of Geographical Information Science, v.11, n.4, 1997. [LAU 92] LAURINI, R.; THOMPSON, D. Fundamentals of Spatial Information Systems. San Diego: Academic Press, 1992. [LIS 98] LISBOA FILHO, J.; IOCHPE, C.; BEARD, K. Applying Analysis Patterns in the GIS Domain. In: ANNUAL COLLOQUIUM OF THE SPATIAL INFORMATION RESEARCH CENTRE - SIRC, 10., 1998, Dunedin, NZ. Proceedings... Dunedin: SIRC, University of Otago, 1998. [LIS 99] LISBOA FILHO, J.; IOCHPE, C. Specifying analysis patterns for geographic databases on the basis of a conceptual framework. In: ACM SYMPOSIUM ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 7., 1999, Kansas City, USA. Proceedings... Kansas City: ACM Press, 1999. [LIS 99a] LISBOA FILHO, J.; IOCHPE, C. Um estudo sobre modelos conceituais de dados para projeto de bancos de dados geográficos. Revista IP-Informática Pública, Belo Horizonte, v.1, n.2, 1999. [LIS 99b] LISBOA FILHO, J.; COSTA, A. C.; IOCHPE, C. Projeto de banco de dados geográficos: mapeando esquemas GeoFrame para o SIG Spring. In: BRAZILIAN WORKSHOP ON GEOINFORMATICS - GEO-INFO, 1., 1999, Campinas. Anais... São José dos Campos: INPE, 1999. [LIS 00] LISBOA FILHO, J.; IOCHPE, C.; HASENACK, H.; WEBER, E. J. Modelagem conceitual de banco de dados geográficos: o estudo de caso do projeto PADCT/CIAMB. In: CENTRO DE ECOLOGIA/UFRGS. Carvão e Meio Ambiente. Porto Alegre: Ed. Universidade/UFRGS, 2000. 38 [MED 94] MEDEIROS, C. B.; PIRES, F. Databases for GIS, ACM SIGMOD Record, New York, v.23, n.1, 1994. [NCG 90] NATIONAL CENTER FOR GEOGRAPHIC INFORMATION AND ANALYSIS, NCGIA Core Curriculum. GOODCHILD, M.F.; KEMP, K.K. (Eds.). Santa Barbara: University of California, 1990. [OLI 93] OLIVEIRA, C. Curso de Cartografia Moderna. 2 ed. Rio de Janeiro: IBGE, 1993. [OLI 97] OLIVEIRA, J.L.; PIRES, F.; MEDEIROS, C. B. An environment for integrated modelling and analysis of geographic information. GeoInformatica, Boston, n.1, p.29-58, 1997. [OOI 90] OOI, B.C. Efficient Query Processing in Geographic Information Systems. Berlin: Spring-Verlag, 1990. (Lecture Notes in Computer Science, v. 471). [PAR 99] PARENT, C.; SPACCAPIETRA, S.; ZIMANYI, E. Spatial-temporal conceptual models: data structures + space + time. In: ACM SYMPOSIUM ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS, 7., 1999, Kansas City, USA. Proceedings... Kansas City: ACM Press, 1999. [PIR 97] PIRES, F. Um ambiente computacional para modelagem de aplicações geográficas. Campinas: Unicamp, Instituto de Computação, 1997. Tese de Doutorado. [RAM 94] RAMIREZ, M. R. Sistemas Gerenciadores de Bancos de Dados para Geoprocessamento. Rio de Janeiro: COPPE/UFRJ, 1994. Dissertação de Mestrado. [SAM 89] SAMET, H. The Design and Analysis of Spatial Data Structures. Reading, MA: Addison-Wesley, 1989 [WOR 95] WORBOYS, M.F. GIS: A Computing Perspective. London: Taylor and Francis, 1995. 39