Tese - FCUL - Universidade de Lisboa
Transcrição
Tese - FCUL - Universidade de Lisboa
Universidade de Lisboa Faculdade de Ciências Departamento de Engenharia Geográfica, Geofísica e Energia Modelação de uma Base de Dados Geográfica para a série M888, 1:25000 do IGeoE Agostinho José Caldas de Freitas Mestrado em Engenharia Geográfica 2008 Universidade de Lisboa Faculdade de Ciências Departamento de Engenharia Geográfica, Geofísica e Energia Modelação de uma Base de Dados Geográfica para a série M888, 1:25000 do IGeoE Agostinho José Caldas de Freitas Trabalho de Projecto Orientado por: Prof. Doutor João Catalão Mestrado em Engenharia Geográfica 2008 Resumo Os SIG (Sistemas de Informação Geográfica) desempenham um papel fundamental no Apoio à Decisão, tornando-se numa das áreas de negócio com mais projecção e desenvolvimento da actualidade. Estes são implementados recorrendo ao uso de SGBD (Sistemas de Gestão de Bases de Dados) e sendo responsáveis por armazenar a informação relativa aos objectos e fenómenos que ocorram num dado local num dado instante, é de extrema importância a escolha adequada da forma como se organiza, guarda e explora a informação. A Modelação de Dados é assim uma das etapas mais importantes no projecto SIG, pois o factor chave para o sucesso desse projecto recai na escolha adequada de um modelo que melhor se ajuste ou descreva a realidade que pretende reflectir, uma vez que esta realidade é demasiado complexa para permitir a sua completa e perfeita representação. Os primeiros modelos de BDG (Bases de Dados Geográficos) apesar de “expressivos” não permitiam uma adequada representação da realidade uma vez que este tipo de dados pela sua natureza possui aspectos peculiares como sejam: a sua localização espacial; o instante de observação; a sua precisão; etc. Surgiram depois os modelos semânticos e orientados para objectos como por exemplo: OMT; IFO; ER e mais recentemente, o OMT-G, o GeoOOA, etc... estes modelos respondem a necessidades específicas, em relação à abstracção de conceitos e entidades, e quanto ao tipo de entidades representáveis e relacionamento entre estas. Neste trabalho foram utilizados pacotes de software específicos que permitiram criar um modelo de dados em linguagem UML, posteriormente exportado para o formato XML (eXtensible Markup Language) permitindo a partir deste último a geração da estrutura da BDG. Depois de gerada foi carregada de modo “automático” recorrendo a uma metodologia de carregamento criada prepositadamente para esse fim. O objectivo do trabalho foi Modelar uma BDG para a Carta Militar de Portugal Continental da série M888 na escala 1:25 000 e implementar a sua utilização na respectiva cadeia de produção do IGeoE. Palavras-chave: SIG; Modelação; Base Dados Geográficos; UML; XML i Abstract GIS play an important role in any Decision Support System, becoming one of the most developed and exploited business areas at the moment. Being implemented according with the use of Database Management Systems (DBMS) and being responsible for storing the information concerning features and phenomenon that occur in any location at any time, it is of great importance the adequate choice of the way like information is organized, kept and exploited. Data modeling is thus one of the most important stages in a GIS project, therefore the key factor for its success is the adequate choice of the right model that assures the best adjustment or better describes reality. Sometimes reality is too much complex to allow it’s complete and perfect representation. In such a way data modeling, specifically geographic models are nothing more than an abstraction of the real world using a set of conceptual tools to better describe data, its semantics, relations and restrictions in order to produce a well adjusted, simplified but convenient representation. The first Geodatabase models although very graphic and meaningful didn’t allow one adequate representation of reality. That happened because sometimes this data type, possess a very peculiar nature and certain details like: its spatial location; the instant of acquisition; its precision; etc. Later on some semantic and object oriented models appeared, for instance: OMT; IFO; ER and more recently, the OMT-G, the GeoOOA, etc… these models answer to specific needs, concerning the abstraction of concepts and features, and how they relate between them. In this paper proper software packages had been used to create a data model in the UML language, later exported to XML creating from this last one the Geodatabase schema. After generated it was loaded by “automatic” procedures specially designed for this end. The main purpose was to design, create and load a Geodatabase for the Military Chart of the Portuguese Mainland in the M888 series for the 1:25 000 scale and to implement its use in the proper production workflow in the IGeoE. Keywords: GIS; Database Modeling; GeoDatabase; UML ii Índice Resumo _______________________________________________________________ i Abstract ______________________________________________________________ ii Índice ________________________________________________________________ iii Lista de Figuras _________________________________________________________ v 1. Introdução _______________________________________________________ 1 1.1. Enquadramento Institucional _______________________________________ 2 1.2. O Estado da Arte _________________________________________________ 3 1.3. Metodologia e Organização do Trabalho ______________________________ 6 1.4. Objectivo Final __________________________________________________ 6 2. Concepção de uma Base de Dados Geográfica ___________________________ 8 2.1. Introdução _____________________________________________________ 8 2.2. O UML _________________________________________________________ 8 2.3. A Concepção da BDG (objectos, atributos, relações...) __________________ 11 2.3.1.A Geometria das Entidades ___________________________________ 11 2.3.2.Os Sistemas de Referência ____________________________________ 12 2.3.3.As Entidades e os seus Atributos _______________________________ 12 2.3.4.As Entidades e os Subtipos ___________________________________ 12 2.3.5.As Entidades e as Relações ___________________________________ 12 2.3.6.As Restrições aos Atributos das Entidades _______________________ 13 2.3.7.Validação de Entidades por Regras _____________________________ 13 2.3.8.As Entidades e a Topologia ___________________________________ 13 2.4. A Modelação por Objectos ________________________________________ 14 2.5. Tipos de BD e Tipificação de Workflow ______________________________ 18 2.5.1.Edição directa _____________________________________________ 21 2.5.2.Two level Tree _____________________________________________ 21 2.5.3.Multilevel Tree _____________________________________________ 21 2.5.4.Cíclico ____________________________________________________ 22 2.5.5.Extended History ___________________________________________ 22 2.6. Implementação de Redes na Modelação _____________________________ 22 2.6.1.Solvers ___________________________________________________ 25 iii 2.6.2.Netflags __________________________________________________ 25 2.6.3.Barreiras _________________________________________________ 25 2.6.4.Traçado __________________________________________________ 26 2.6.5.Pesos ____________________________________________________ 26 3. Modelação de uma Base de Dados Geográfica __________________________ 27 3.1. Introdução ____________________________________________________ 27 3.2. A Modelação em UML e a Criação da BDG ___________________________ 28 3.2.1.Criar os Temas _____________________________________________ 30 3.2.2.As Classes e suas Relações ____________________________________ 34 3.2.3.Entidades e atributos, Subtipos ________________________________ 39 3.2.4.Criar uma Rede Geométrica e Regras de Conectividade _____________ 43 3.2.5.Exportação para XMI e Validação Semântica _____________________ 44 3.2.6.Criação da IGeoE_BDG ______________________________________ 46 3.3. Uma Metodologia de Carregamento ________________________________ 49 4. Conclusão _______________________________________________________ 66 4.1. Conclusão _____________________________________________________ 66 4.2. Propostas de Melhoria ___________________________________________ 68 4.3. Propostas para trabalho futuro ____________________________________ 69 iv Lista de Figuras Figura 1 – Exemplo do processo de Codificação (Encoding) JNITP (NMA) __________ 10 Figura 2 ‐ Exemplo do modelo de mapeamento de GML para XML (ISO19118) JNITP (NMA) ______________________________________________________ 10 Figura 3 – Uso de CASE Tools para concepção e criação do esquema da BDG, ESRI [2000b] _____________________________________________________ 28 Figura 4 – A imagem ilustra as fases da modelação de dados executadas no processo de criação da IGeoE_BDG ______________________________________ 30 Figura 5 – Estrutura base do Modelo disponibilizado pelo CASE Tools (ArcInfo UML Model) _____________________________________________________ 31 Figura 6 ‐ Temas da modelação da série M888 ______________________________ 32 Figura 7 – Tema Terreno________________________________________________ 33 Figura 8 – Tema Região ________________________________________________ 34 Figura 9 – Estrutura Base da IGeoE_BDG (Workspace) ________________________ 35 Figura 10 – Definição das Classes em cada Tema ____________________________ 37 Figura 11 – A Classe Vias de Comunicação _________________________________ 37 Figura 12 – Extracto de algumas entidades das Vias Ferroviárias ________________ 40 Figura 13 – Extracto da Classe Vias Ferroviárias _____________________________ 41 Figura 14 – Rede Geométrica ____________________________________________ 44 Figura 15 ‐ Execução do Add‐On que permite a exportação para o formato XMI ___ 45 Figura 16 ‐ Extracto do ficheiro XMI gerado_________________________________ 46 Figura 17 ‐ Execução da ferramenta Schema Wizard, para a criação da estrutura da IGeoE_BDG __________________________________________________ 47 Figura 18 ‐ Pré visualização da estrutura da BDG a criar. ______________________ 48 Figura 19 – Imagem exemplificativa da aplicação para conversão da informação IGeoE do formato DGN para SHP. _____________________________________ 51 Figura 20 – Imagem exemplificativa dos modelos e respectiva parametrização de ferramentas, criados para conversão da informação do IGeoE (anexo H pp. 3). _________________________________________________________ 52 Figura 21 – Extracto de um relatório (listagem de variáveis e processos) de um dos modelos de conversão da informação do IGeoE. _____________________ 52 Figura 22 – Algumas ferramentas utilizadas na criação automática da BDG Intermédia ___________________________________________________________ 54 Figura 23 – Ferramenta Select para carregamento da IGeoE_BDG _______________ 56 Figura 24 – Extracto da lista de entidades a converter para posterior carregamento na IGeoE_BDG __________________________________________________ 56 Figura 25 ‐ Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Buffer (A e B) e Intersect (C e D). ___________ 58 Figura 26 ‐ Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Simplify Line (A) e Collapse Dual Line to Central Line (B). _____________________________________________________ 58 Figura 27 ‐ Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Buffer (A) e Union (B). ___________________ 59 Figura 28 ‐ Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Polygon to Line (A) e Splite Line at Vertices (B). 59 v Figura 29 ‐ Imagem exemplificativa do Aterro (A) e Desaterro (B). para implementação do Modelo de Conversão de Linha a Área. _________________________ 61 Figura 30 ‐ Exemplo dos três tipos de Molhe ________________________________ 61 Figura 31 ‐ Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Buffer. _________________________________ 62 Figura 32 ‐ Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Polygon to Line e Split Line at Vertices ________ 63 Figura 33 ‐ Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Feature to Polygon _______________________ 63 Figura 34 ‐ Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Buffer(A) e Erase (B). _____________________ 64 vi 1. Introdução Os primeiros modelos de dados desenvolvidos foram limitados pelas estruturas internas dos softwares existentes na altura, forçando o utilizador a ajustar a estes a sua interpretação dos fenômenos espaciais. Consequentemente, o processo de modelação não oferecia os mecanismos que permitiriam a representação da realidade de acordo com o modelo mental desse utilizador. Os modelos de dados semânticos e orientados por objectos conhecidos, tais como o modelo do relacionamento de entidade (ER) [Chen,1976], a modelação por objectos (OMT) [Rumbaugh et al, 1991], e o modelo de IFO [Abiteboul,1987], não oferecem nem facilitam a adequada representação da informação geográfica. Mesmo que estes modelos sejam expressivos, apresentam sérias limitações à modelação adequada de tal informação. As dificuldades em usar tais modelos são incontáveis, uma vez que muitas aplicações geográficas necessitam de manipular determinados pormenores tais como restrições ao posicionamento, diferentes épocas de observação, exactidão da aquisição da informação, etc... [Oliveira, 1997]. Além disso, em modelos convencionais é impossível distinguir entre as classes das entidades que têm uma referência geográfica e as classes puramente alfanuméricas. É igualmente difícil representar a natureza geométrica das entidades e das relações espaciais entre eles. As relações espaciais são as abstracções que nos ajudam a compreender como, no mundo real, as entidades se relacionam [Mark and Frank, 1990]. 1 Muitas relações espaciais necessitam ser representadas explicitamente na estrutura da modelação, a fim de a tornar mais compreensível ou perceptível. As relações topológicas são também fundamentais para a definição das regras de integridade espacial [Borges et al, 1999], que por sua vez determinam o comportamento geométrico das entidades. Existem, no entanto, algumas características específicas da informação geográfica que tornam a modelação das BDG mais complexa do que as das BD (Bases de Dados) convencionais. Modelar os “aspectos espaciais” é fundamental na criação de uma Base de Dados Geográfica, principalmente porque se trata de uma abstracção da realidade geográfica onde a percepção que o utilizador possuí do mundo real não é permanente nem imutável, dependendo também daquilo que este pretende representar e daquilo que espera ganhar com essa representação. Pode-se então entender que modelar informação geográfica exige modelos mais específicos e com melhor capacidade de captura da semântica dos dados geográficos. Dentro deste contexto geográfico, os conceitos tais como a geometria e a topologia são importantes na determinação das relações espaciais entre entidades. Estes conceitos são igualmente decisivos no processo de carregamento de dados, e na execução de análise espacial. Este projecto assume as peculiaridades que caracterizam a informação geográfica, as exigências que um modelo de dados deve possuir para poder ser implementado na cadeia de produção do IGeoE (Instituto Geográfico do Exército), e tenta responder às deficiências observadas, propondo um modelo de dados para a escala 1:25 000 (série M888), baseado na linguagem UML [ESRI, 2000b]. 1.1. Enquadramento Institucional A Missão do IGeoE é a produção de informação geográfica. Para tal, promove e envida esforços no desenvolvimento de acções: de investigação científica, tecnológica e outras no domínio da geomática. Nesse sentido e por se tratar de uma entidade nacional de produção cartográfica, este Instituto mantém-se na vanguarda das ciências geográficas quer por meio de constantes actualizações tecnológicas, quer por adequada 2 formação dos seus quadros e por criação e implementação de novos processos na área da produção cartográfica. A actual cadeia de produção deste Instituto é o resultado de experiências acumuladas ao longo de vários anos e de sucessivas implementações de melhoramentos ou refinamentos. Encontra-se, a mesma, optimizada de modo a garantir que os seus produtos cumprem com os mais altos padrões de qualidade incluindo o cumprimento da norma de qualidade ISO 9001 no âmbito da concepção, desenvolvimento e produção de informação geográfica. A informação geográfica de base produzida pelo IGeoE tem como origem principal a estereorrestituição fotogramétrica em estações digitais. A informação vectorial depois de adquirida e processada é então validada do ponto de vista do formato, estrutura, geometria e topologia, sendo depois guardada para “a posteriori” ser utilizada para os mais variados fins quer sejam estes de aplicação militar ou civil. Desde há algum tempo a esta parte que se tem vindo a sentir a necessidade de possuir uma Base de Dados Geográfica que permita dar resposta: • Às necessidades específicas da cadeia de produção da Carta Militar de Portugal Continental da série M888 na escala 1:25 000. • À crescente necessidade de produtos interoperáveis (outros sistemas e software) • Ao suporte a um vasto leque de informação, da mais variada natureza, que caracteriza o catálogo de produtos que se encontra disponível ao público. • E ainda à criação de novos produtos conducentes à satisfação das recentes necessidades dos nossos clientes. 1.2. O Estado da Arte A gestão de dados espaciais em SIG é segundo Brinkhoff et al [2006] revestido de maior importância do que em sistemas convencionais devido à elevada complexidade dos objectos, às consultas que geralmente se efectuam e ao enorme volume e complexidade dos dados geralmente associados. 3 As Bases de Dados Geográficas impõem restrições severas às arquitecturas de armazenamento e acesso (índices) de dados, com o objectivo de se obter um processamento das consultas não só célere como eficaz. Os SGBD Relacionais estão melhor preparados para tratar dados convencionais, apresentando algumas deficiências quando utilizado para armazenamento de dados espaciais. Para entender o problema, Brinkhoff [2006] propõe que o objecto espacial seja caracterizado por duas componentes: a espacial e a temática. A componente espacial refere-se à representação do objecto no plano através de pontos, linhas ou polígonos. Enquanto que a componente temática caracteriza o objecto segundo outros atributos que podem ser do tipo qualitativo ou quantitativo, respectivamente e a título de exemplo o tipo de uso do solo, ou a precipitação numa dada região. Devido à arbitrária complexidade dos objectos espaciais, é impossível construir um índice considerando informações completas sobre a extensão dos objectos. A solução adoptada baseia-se no princípio de que o método não produz, na verdade, o resultado da consulta, mas apenas filtra e refina os dados gerando conjuntos cada vez menores a serem consultados e, a partir de outros processos, obter então o resultado. De modo diferente das BD convencionais, esse resultado, por sua vez, necessita ser também ele guardado para permitir análises posteriores. Já Engenhofer [2006] refere a necessidade de uma linguagem para consultas espaciais em BD que preserve os conceitos da linguagem SQL, manipule objectos espaciais e incorpore operações e relacões espaciais. Duas regras são necessárias para a definição da linguagem de consulta e de apresentação (de resultados): • a linguagem deve abstrair as características do armazenamento e da implementação • o resultado de uma consulta espacial não pode ser apenas uma relação (tabela) sem expressão espacial. Este autor define também onze requisitos necessários para uma linguagem de consulta espacial. Dentre os quais, se destacam dois: • A necessidade de mostrar o resultado de uma forma gráfica (a linguagem GML (Geography Markup Language) como resultado permitirá que as informações sejam apresentadas de uma forma visual num formato livre. 4 • Inclusão de informação adicional associada ao contexto, essencial para a interpretação do resultado (ex. uma dada consulta sobre a distribuição da localização de Esquadras de Polícia num distrito do país deve mostrar, além do posicionamento das mesmas, as localizações de bairros ou zonas mais problemáticas desse mesmo distrito, outras instalações de Forças de Segurança ou suas equiparadas). Segundo Tian et al [2005] prevalecem cinco estratégias de armazenamento do XML. Essas avaliações levaram em conta a performance de consultas. O método de acesso mais comum entre as Bases de Dados Geográficas é o RTree, que é aplicado às estruturas bidimensionais simples, formadas pelo rectângulo envolvente dos objectos e organizadas em árvores, onde se utiliza este rectângulo e se obtém uma hierarquia de níveis sucessivos de objectos neles contidos. Também Ruberg et al [2007] avalia diversas estratégias de armazenamento e propõe uma nova estratégia utilizando as Bases de Dados Objecto-Relacional. A mesma ideia foi proposta por Klettke [2006] e o pelo formato de representação DOM (Document Objetct Model) para o mapeamento entre as tecnologias XML e SGBD ObjectoRelacional. Ruberg, bem como outros autores, sugerem a consulta através de uma conversão da XQuery (XML Query Language) para SQL3. As regras de conversão da XQuery em SQL3 (Structured Query Language) foram escritas com a tecnologia XSLT (eXtensible Stylesheet Language Transformation). Ruberg explica que o mapeamento da XML em SGBD Relacional implica a criação de estruturas auxiliares que geram comandos SQL e um número excessivo de junções (joins), tornando a consulta extremamente dispendiosa em termos de tempo de execução. Se for utilizado uma BD Objecto-Relacional, haverá maior transparência entre os dois modelos e isso reduz significativamente o impacto da transição, que, por sua vez, diminui o número de estruturas auxiliares e facilitando a tradução da linguagem de consulta. Esta proposta baseia-se no armazenamento do XML no formato DOM (Document Object Model). Outra proposta, para atender às necessidades específicas dos SIG, prevê a utilização dos ficheiros XML escritos em GML sendo a linguagem de consulta escolhida a XQuery com a extensão GML-QL (Spatial Query Language Specification for GML) 5 proposta por Vatsavai [2006] sendo tudo isto implementado numa BD ObjectoRelacional Oracle com extensão espacial. 1.3. Metodologia e Organização do Trabalho Este trabalho está estruturado em 4 capítulos. O primeiro capítulo faz uma breve introdução ao tema, efectuando o enquadramento na instituição que o acolhe, uma breve descrição do estado actual do conhecimento no que toca à modelação de Bases de Dados Geográficas culminando com a referência ao objectivo final a atingir. O Capítulo II (Concepção de uma BDG) aborda, os princípios subjacentes à construção de uma BDG e a sua estrutura base em linguagem UML, a modelação por objectos seus princípios e implementação, a tipificação das Bases de Dados e dos Workflows da sua utilização, sendo também abordada a implementação de redes geométricas e lógicas. O Capítulo III (Modelação de uma BDG para a série M888) apresenta o trabalho realizado nas fases de modelação em UML da BDG, da sua criação e posterior metodologia de carregamento. O Capítulo IV (Conclusões) traduz-se numa síntese conclusiva e indica ainda propostas de melhoria, bem como futuros trabalhos a desenvolver. Existe ainda um conjunto de outros documentos anexos, que contêm não só informação que melhor ilustra o modelo conceptual concebido mas também outros documentos considerados relevantes e igualmente utilizados durante a produção deste trabalho, como sejam os modelos de carregamento e conversão. 1.4. Objectivo Final Pretende-se, aquando da conclusão do presente trabalho, obter a Modelação de uma Base de Dados Geográfica para a Carta Militar de Portugal Continental da série M888 na escala 1:25 000. Neste contexto é também proposto como objectivo a criação de uma BDG (IGeoE_BDG), a ser integrada na cadeia de produção do IGeoE, gerada a partir do 6 referido modelo. É ainda objectivo a criação não só da metodologia bem como os respectivos modelos de carregamento automático. Espera-se deste modo contribuir para a actualização e optimização da cadeia de produção, com uma nova abordagem, novos processos e metodologias de trabalho de modo a dar resposta às necessidades apontadas. Prover o mercado com novos produtos, mais apelativos, com maiores potencialidades e com procura crescente. 7 2. Concepção de uma Base de Dados Geográfica 2.1. Introdução Neste capítulo pretende-se abordar de uma forma sucinta mas clara, a problemática inerente à construção de uma BDG com recurso à linguagem UML. A modelação por objectos, juntamente com os seus princípios e implementação, a tipificação das Bases de Dados e dos respectivos Workflow, sendo também abordada a problemática associada à implementação de redes. 2.2. O UML Na sequência de ínumeras comparações e apreciações entre várias linguagens de modelação, o UML foi seleccionado para as normas da família ISO 19100 (elaboradas pela ISO/TC 211) para os diagramas de estrutura estática e a UML OCL (Object Constraint Language) como linguagem para os esquemas conceptuais de especificação das partes normativas. A selecção da linguagem e a sua aplicação foram objecto de um 8 documento normativo (Technical Specification) designado 19103 – Geographic Information – Conceptual Schema Language. Se nalguns dos documentos normativos a utilização de UML não apresenta expressão significativa, já noutros, como na norma relativa à definição dos metadados (19115 – Geographic Information – Metadata), a sua utilização é feita de forma exaustiva e muito evidente. O que justifica a utilização do UML nos documentos normativos é o facto de estes procurarem traduzir de forma simples, organizada e sucinta os esquemas normativos. Desse modo poderão ser implementados de um modo mais rápido e fácil pelas existentes linguagens de programação (processo designado por codificação ou encoding). Como será lógico pensar, nas situações onde a aplicabilidade de uma tal codificação é óbvia, como a da norma relativa aos metadados, a utilização desta linguagem apresenta um enquadramento natural. Já em normas como as da qualidade (ISO 19113 e 19114) a utilização de UML afigura-se desnecessária excepto na ligação à norma dos metadados. A importância da utilização do UML para codificação é mais interessante do ponto de vista operacional na norma 19118 – Geographic Information – Encoding. Neste documento são definidas regras para codificação a partir de esquemas UML que conduzem à sua codificação em XML. No entanto, recentemente, foi apresentada a proposta de integração de uma norma proveniente da OGC (Open GIS Consortium), ao abrigo do protocolo de colaboração entre esta organização e a ISO/TC 211, para um perfil de XML designado por GML que conhecerá, previsivelmente, uma grande expansão. Um conjunto de vários países (Finlândia, Noruega, Dinamarca, Suécia e Islândia) liderados pela NMA (Norwegian Mapping Authority) propôs-se como objectivo verificar a capacidade de utilização (veja-se a figura 1) e avaliação de benefícios na utilização do modelo proposto pela ISO/TC 211 como norma de interoperabilidade (Joint Nordic Implementation Test Project, veja-se a figura 2). 9 Figura 1 – Exemplo do processo de Codificação (Encoding) JNITP (NMA) Figura 2 - Exemplo do modelo de mapeamento de GML para XML (ISO19118) JNITP (NMA) 10 Até à altura as conclusões publicadas são: • A experiência mostra que é possível a utilização de ferramentas para a automatização da geração do XML Schema baseado numa modelação (application schema) concebida em UML e fazendo uso das XML Encoding rules. • Em alguns pontos os diagramas em UML ou não são explícitos o suficiente ou não permitem obter uma modelação conveniente. Em suma e tendo em vista uma avaliação objectiva e imparcial pode-se concluir que as normas necessitam de ser revistas e melhoradas se no futuro se pretender atingir o objectivo da interoperabilidade. 2.3. A Concepção da BDG (objectos, atributos, relações...) As entidades geográficas que diariamente são observadas podem possuir uma enorme quantidade de informação de contextualização passível de armazenamento sendo exemplo disso não só a sua localização, a natureza dos materiais que a compõem,o facto de possuir outros objectos circundantes, o modo de interacção com estes, etc... Os valores que os atributos podem possuir podem ser desde os mais simples valores numéricos, limitados por domínios de valores (um máximo e um mínimo) por categorias destes (valores pré-definidos) ou simplesmente descritores (qualificando uma entidade específica p.e. betão, ferro, etc...). As entidades geográficas, enquanto elementos representados no modelo de dados da BDG, podem assumir várias formas (dentro da liberdade admitida pela sua geometria), vários relacionamentos, atributos e comportamentos. Estas caracteristicas são expressivas da riqueza de contexto que as entidades geográficas podem assumir colectivamente. Em muitas situações, as entidades representadas como vector são a respresentação de dados geográficos mais usual e que permite a maior versatilidade, normalmente este tipo é utilizado para as entidades que têm limites bem visíveis e marcados. Outras entidades geográficas que podem ser consideradas fenómenos contínuos são melhor modelados com imagens Raster ou modelos TIN (Triangular Irregular Network). 2.3.1. A Geometria das Entidades 11 A geometria de uma entidade é armazenada num campo específico (do tipo geometria), numa tabela da respectiva entidade. Uma entidade pode assumir qualquer um destes tipos de geometria: • Pontos ou multipontos (que são um conjunto de pontos). • Linhas, um conjunto de segmentos de recta que pode ou não estar conectado. • Polígonos, um conjunto de anéis que podem estar separados ou encaixados. Um anel não é mais que um conjunto de segmentos de recta onde não existe intercecção mas que se encontram conectados e fechados. 2.3.2. Os Sistemas de Referência A geometria de uma entidade é armazenada num campo que representa a posição (x,y) num sistema de referência previamente definido que pode ser cartográfico/ geodésico ou cartesiano rectangular. 2.3.3. As Entidades e os seus Atributos Uma entidade armazena os seus atributos como campos numa tabela pertencente à referida entidade. As tabelas referidas são tabelas pertencentes a uma base de dados relacional. Os atributos definem propriedades padrão ou específicas das entidades e podem ser numéricos, do tipo texto, ou simplesmente descritivos. 2.3.4. As Entidades e os Subtipos As entidades são agrupadas em classes normalmente por existir homogeneidade de atributos ou métodos. Uma classe que defina p.e. edifícios pode logicamente ser subdividida em subtipos tais como habitação, habitação precária, comércio, industria, etc... (veja-se o modelo de dados produzido). Os subtipos permitem ainda aumentar o controlo sobre outros atributos (ou entidades) inerentes, tal como seja o domínio de valores que os atributos podem assumir. 2.3.5. As Entidades e as Relações Todas as entidades geográficas estabelecem algum tipo de relação com outras entidades. Podem-se definir relacionamentos explícitos entre entidades geográficas dentro de uma classe e entre classes. Pode-se ainda igualmente definir relacionamentos entre entidades não geográficas (o caso tipicamente utilizado da casa e o seu proprietário, definidos na mesma BDG ou fazendo parte de BD diferentes). 12 2.3.6. As Restrições aos Atributos das Entidades Quer seja para guardar valores de levantamento de informação (com elevada precisão), para tipificação de uma classificação ou qualquer outro, cada atributo de uma entidade pode ter um domínio de valores, quer seja uma escala numérica ou uma lista de valores válidos. Cada atributo pode igualmente ter um valor por defeito atribuído, automaticamente, quando uma entidade é criada. Pode-se inclusivé ajustar domínios de valores distintos bem como valores por defeito diferentes para cada subtipo de uma classe. 2.3.7. Validação de Entidades por Regras A existência das entidades quer seja no momento da sua criação, da sua modificação ou da sua eliminação segue regras específicas. Podem-se usar regras para restringir o modo como os diferentes elementos de uma rede são conectados, definir a sua cardinalidade ou os relacionamentos implementados. Um exemplo da validação por regras insere-se no exemplo atrás referido das casas e dos respectivos proprietários pois este relacionamento pode ser restringido a dois proprietários por casa. 2.3.8. As Entidades e a Topologia Muitos tipos de entidades têm um relacionamento muito específico que pode ser caracterizado como topologia. Veja-se o exemplo das propriedades no meio urbano, no conjunto todas elas definem uma dada área (freguesia, distrito, etc...) devem no entanto ser exactamente contíguas (conexão inequívoca), sem aberturas ou sobreposições. Porque as entidades geográficas existem e se encontram inseridas num contexto com topologia, sistemas de referência, relacionamentos, etc... tem-se um número de decisões para tomar quando se efectua o modelo de dados da BDG. Pode-se trabalhar com apenas uma ou ínumeras BDG, mas em determinadas situações agrupar ou separar conjuntos de entidades geográficas é uma solução de optimização frequente. Estas são algumas das razões que justificam o agrupar de entidades numa mesma BDG: •Um conjunto dos objectos e entidades que possuem relacionamentos. 13 •As entidades que têm associações topológicas. •Entidades que por razões próprias necessitem ser editadas simultâneamente. Podem existir várias BD, mas pode-se editar somente uma destas de cada vez, por posto de trabalho. Sendo as que de seguida se apresentam algumas razões para separar um conjunto de entidades em BDG distintas: • Se estamos perante uma grande organização (p.e. IGeoE), tendo os diferentes departamentos (DAD, DPD, etc..) responsabilidades por cada pacote de dados por eles produzido as BD podem ser desdobradas para seguir a estrutura interna da organização. • Liberdade total sem restrições em tamanho ou número para usar todas as bases de dados relacionais que se considerem necessárias (dependendo da área de negócio p.e. DataWarehouses de uma grande empresa como seja o grupo Sonae ). • Por questões de licenciamento quando se utiliza uma BDG do tipo Access, os limites práticos do tamanho podem exigir uma divisão da informação por várias BDG (slice). 2.4. A Modelação por Objectos Um modelo de dados de uma BDG é uma abstracção do mundo real que utiliza um conjunto específico de informação, neste caso do tipo geográfica, para dar suporte a: visualização, edição, análise, etc... O modelo de dados do CAD, desde a década de 60 e 70 armazenava a informação relativa aos dados geográficos dentro de ficheiros em formato binário com respresentações para pontos, linhas e áreas. O subterfúgio encontrado para guardar a informação sobre os atributos, das entidades, foi a categorização destas e a sua distribuição pelos níveis, com tipos de linhas, espessuras e cores específicas para cada categoria da informação. As anotações funcionavam como se tratasse de representações preliminares dos atributos. 14 O novo modelo de dados orientado por objectos permite ao utilizador criar as suas próprias entidades definindo atributos, restrições, comportamentos e permitindo que se estabeleçam relacionamentos entre entidades. Mais, o modelo de dados da BDG permite que sejam definidos a grande maioria dos comportamentos que as entidades possuem, sem escrever uma única linha de código. A maioria dos comportamentos são definidos com recurso aos domínios, às regras da validação e as outras funções de estrutura [ESRI, 2000b]. Para se entender como um modelo de dados orientado por objectos é importante notem-se as vantagens da sua utilização: Quando se adicionam entidades geográficas à base de dados, o utilizador quer assegurar-se de que as entidades estejam colocadas correctamente, de acordo com determinadas regras, tais como: • Que os valores que o utilizador carrega para os atributos da nova informação se encontrem dentro de um conjunto pré-definido de valores permitidos. Por exemplo uma estrada ou é classificada como larga ou como estreita, os molhes são de betão, ferro ou madeira, etc... • Que uma entidade pode ser colocada de modo adjacente, conectada ou sobreposta a uma outra entidade somente se determinadas condições forem encontradas. Por exemplo uma estrada nacional não possuí cruzamentos ou entrocamentos de nível com uma autoestrada, pois é o que se encontra definido por Decreto-Lei em Diário da República. • Que a geometria de uma entidade segue a sua colocação lógica. Por exemplo a conexão entre as linhas e as curvas que compõem uma estrada devem ser tangentes entre elas. Os cantos dos edifícios possuem na generalidade dos casos ângulos rectos. Todos os objectos que existem na superfície terrestre possuem um qualquer tipo de relacionamento com outro objecto. Da perspectiva dos SIG, estes relacionamentos podem ser categorizados em: topológicos, espaciais e gerais [ESRI, 2000e]. Estes são alguns exemplos de cada um destes tipos de relacionamentos: • Quando se editam as entidades intervenientes num sistema rodoviário, as estradas nacionais cruzam as IP e as IC, para passar destas para as autoestradas definem-se acessos próprios, etc... e isso permite a execução à 15 posteriori da análise de traçado dessa rede. Um conjunto de relações topológicas está previamente definido para que se possam carregar ou editar as entidades intervenientes dentro de um sistema conectado mantendo a integridade do mesmo. • Quando se trata de castelos ou fortes, capelas, faróis, VG (vértice geodésico), etc... pretende-se definir que podem existir VG nos castelos, nas capelas e nos faróis. Que um castelo pode conter uma capela e um VG ou existir um capela ao lado de um farol com um VG sobreposto. Uma vez que uma das funções dos SIG é a determinação se uma entidade está: dentro de, fora de, sobreposto ou tangencial a outra entidade. Os relacionamentos espaciais são inferidos a partir da geometria das entidades. • Algumas entidades possuem relacionamentos que não são visiveís na cartografia, visto que algumas não são entidades de natureza geográfica (p.e. o proprietário de determinada entidade). • Quando se constrói uma linha de contorno, pretende-se que a sua elevação seja registada ao longo do comprimento da mesma, digamos por exemplo em intervalos regulares de n milímetros. • Quando se efectua a extracção das estradas, pretende-se que esta seja extraída como linhas paralelas com intersecções adequadas onde quer que se encontrem cruzamentos com outras estradas (de acordo com uma prioridade e hierarquia de estradas previamente definidas). A modelação orientada por objectos como atrás se referiu permite uma melhor caracterização das entidades, dos relacionamentos por elas estabelecidos, dos comportamentos apresentados, etc. Alguns dos benefícios da utilização deste tipo de modelo de dados, são: • Um repositório uniforme e homogéneo de dados geográficos. • Tanto a introdução de dados como a sua edição são mais céleres e menos dados a erros grosseiros, que a maioria das vezes podem ser impedidos apenas por processos de validação ou controlo de qualidade (adicionando mais tempo e complexidade a todo o processo). Para muitos decisores, apenas esta razão é suficiente para justificar a adopção deste tipo de modelo. • Os utilizadores trabalham com objectos mais intuitivos, estas BDG contêm informação que melhor se aproxima ao modelo lógico do utilizador em que 16 se substítui os pontos genéricos, linhas e áreas por objectos com os quais qualquer utilizador se identifica mentalmente (p.e. casas, estradas, lagos, rios, pontes, etc...). • As entidades por possuírem uma grande quantidade de informação de contexto que pode interessar guardar (associações topológicas, representação espacial, relacionamentos, comportamentos,etc...) o utilizador pode definir neste tipo de modelo não só o que caracteriza as entidades, mas também a sua interacção com outras entidades. Isto permite especificar o que acontece às entidades quando uma entidade relacionada é adicionada, alterada, ou simplesmente removida. • Vários utilizadores podem editar os mesmos dados geográficos simultâneamente. Este modelo de dados permite fluxos de trabalho onde vários utilizadores podem editar entidades de um mesmo local ou região geográfica, efectuando a harmonização da informação resolvendo quaisquer conflitos daí emergentes. É ainda de referir que o utilizador que define o modelo de dados orientado por objectos o efectua recorrendo a classes próprias pré-concebidas para o efeito, normalmente designadas por geodatabase data access objects. Existem três alicerces para executar uma boa modelação por objectos: polimorfismo, encapsulamento e a herança. • O polimorfismo significa que os comportamentos (ou métodos) de uma classe de objectos podem adaptar-se a variações desses mesmos objectos. Por exemplo, para um método que seja definido numa classe mãe pode-se proceder à sua implementação, idêntica ou parcialmente modificada, noutra classe filha. • O encapsulamento significa que um objecto só se encontra acessível através da elaboração de um conjunto de métodos bem definidos e organizados em interfaces. Os geodatabase data access objects escondem os atributos dos dados e fornecem um interface de programação padrão. • A herança significa que uma classe de objectos pode ser definida para incluir o comportamento de outra classe de objectos incluir comportamentos 17 adicionais. Podem-se criar ainda novas entidades que herdam o comportamento das entidades padrão. 2.5. Tipos de BD e Tipificação de Workflow Algumas das BDG em uso na actualidade são projectos a longo prazo conjugando esforços de cooperação de um grande número de utilizadores e departamentos de várias instituições e organizações. Estas organizações estabelecem o workflow dos processos para o desenho, a construção, e a manutenção das respectivas BDG. As etapas gerais incluem: • Concepção inicial • Exploração de alternativas à concepção inicial. • Selecção e aprovação. • A construção. • Actualização com o carregamento das entidades tal como foram concebidas. Quando se usa um SIG nestas condições, é necessário que as várias utilizadors possam editar em simultâneo a mesma BDG. Igualmente necessitam ter acesso a uma visualização da BDG de modo a que somente as mudanças que os próprios ou seus colegas de equipa façam estejam visíveis e disponíveis. Mais, a estrutura do workflow necessita replicar as práticas empresariais correntes dos vários departamentos numa organização. Estas necessidades são satisfeitas através da gestão de dados num esquema designado por versioning, ou versionamento. Este permite criar várias versões de uma BDG tantas quantas as áreas de negócio ou os departamentos de uma dada organização, harmonizar diferenças entre versões, e actualizar a versão base (master) de uma BDG à medida que esta for sendo construída. De seguida são apresentados alguns dos benefícios mais relevantes referentes ao armazenamento de dados geográficos em BD: • Possibilidade de integração de dados geográficos com BD de outra natureza. • Possibilidade de usar ferramentas usuais de administração de sistemas para administrar a informação geográfica. 18 • Possibilidade de criar BDG muito grandes das quais rapidamente se pode efectuar o display e edição da informação. • Possibilidade de desdobrar as BDG numa outra base de dados relacional qualquer à escolha do utilizador. • Possibilidade de incluir grande variedade de dados geográficos destinados a uma também grande variedade de clientes, tais como: aplicações CAD, aplicações Web, aplicações para dispositivos móveis, etc... Estas são algumas das capacidades (geográficas) adicionadas à BD: • Pode-se armazenar e representar informação geográfica sob a forma de imagens raster, vector, modelos TIN, etc. • Permite executar operações de análise espacial e topológica. • Permite a visualização e produção de cartografia de elevada qualidade. • Permite definir e utilizar entidades, definindo atributos, associações topológicas, relacionamentos e regras de validação. • Permite que vários utilizadores visualizem e editem em simultâneo a informação relativa à mesma região geográfica. As transações numa BDG servem para preservar a consistência e a integridade da informação assegurando-se de que todas (ou nenhumas) operações sejam executadas para a conclusão de uma tarefa (modificação, eliminação, etc...). As bases de dados relacionais satisfazem estas exigências recorrendo a transações curtas, que representam as tarefas que podem ser terminadas nas fracções de um segundo, ou um minuto ou dois no máximo. Este tipo de transacções são indicadas para sistemas como os atrás referidos, que exigem o acesso imediato à informação, em que o histórico não é importante ou se o é garante-se por parte de outros sistemas, mas a informação geográfica exige um outro tipo de transacções que lhe permita manter a ligação por mais tempo de modo garantir outro tipo capacidades (actualização da informação, histórico, etc...). No respeitante à edição de dados enquanto uma transação curta for executada, a base de dados relacional impede o acesso às tabelas de modo que os dados que são actualizados estejam protegidos das mudanças até que a transação esteja completa. Quando a transação curta é terminada, as tabelas são libertadas. Quando múltiplos utilizadores editam simultâneamente dados geográficos, este tipo de bloqueio de tabelas 19 são pouco práticos porque podem durar longos intervalos de tempo (vários minutos). Uma outra razão pela qual o bloqueio é nefasto, é quando as entidades coexistem com outras ou possuem relacionamentos activos e porventura um colega de equipa se encontra a editar o mesmo tipo de informação, digamos p.e. a rede viária, esta situação leva a que de dê a perda de informação uma vez que não é possível harmonizar as diferenças com este tipo de transacções. Uma outra razão pela qual as transações curtas não são adequadas num ambiente de edição empresarial do tipo multiutilizador é que não permitem a constante visualização de modo actualizado da informação contida na base de dados. Cada vez que algum outro elemento da equipa efectuasse uma alteração, o sistema teria de actualizar a visualização em todos os outros utilizadores não sendo aceitável este tipo de funcionamento. O que é necessário para que vários utilizadores editem dados geográficos em simultâneo da mesma área geográfica é a execução de um outro tipo de transações, as denominadas longas, que permitam efectuar o seguinte: • Edição simultânea por parte de vários. • Visualização de dados correspondentes a perfis de utilizadores, de modo a que se possa efectuar qualquer tipo de verificação ao trabalho efectuado por cada um. • Licenciamento diferenciado consoante as necessidades de cada utilizador. A utilização do versionamento começa agora a ser de uso generalizado pois permite uma melhoria do desempenho, maior fiabilidade e facilidade de uso do que os sistemas precedentes da gestão de dados. A razão da preferência pelo versioning basea-se na necessidade crescente de executar os trabalhos mais rápido e por menos custos. Isto porque a sua implementação implica que as versões não exijam nenhuma duplicação ou réplica dos dados apesar de se possuir uma numerosa equipa a trabalhar toda na mesma área. Internamente, usam-se identificadores e controladores de tabelas adicionais que gravam a informação relativa às entidades adicionadas, removidas ou modificadas. Quando se aplica este tipo de BD a uma organização, pode-se selecionar um dos diversos tipos de fluxos de trabalho, conforme combinem melhor com as práticas usuais estabelecidas. 20 Segue-se uma descrição sumária dos vários tipos de fluxo de trabalho suportados pelo versioning. A sua implementação pode corresponder a um ou a uma combinação de qualquer destes fluxos apresentados. 2.5.1. Edição directa É o fluxo de trabalho mais simples para o acesso multiuser em que a BDG é para muitos utilizadores acedida directamente e edita-se a versão por defeito. Porque cada utilizador acede à versão por defeito para editar, é criada uma versão provisória. Este utilizador não possuí indicações explicitas de que uma nova versão está a ser criada. Sempre que o utilizador guarda o trabalho, essa versão provisória é harmonizada com a informação existente e então automaticamente é substítuida na versão por defeito. Se existirem conflitos, devem ser resolvidos antes que se possa guardar com sucesso o trabalho efectuado. Se nenhum conflito for detectado, a substituição na versão por defeito é realizada directamente. Este fluxo de trabalho tem a principal virtude da sua simplicidade. É o mais apropriado para organizações de pequena envergadura (ou parcos recursos) onde não foram ponderadas nem exploradas alternativas e onde os históricos são “religiosamente” executados. 2.5.2. Two level Tree Muitas organizações utilizam outro tipo de fluxos de trabalho mais elaborados que permitem manter e analisar registos relativos a tarefas específicas de adição de informação, operações de manutenção, registo de intervalos de tempo utilizados para executar tarefas, etc. Quando um projecto de trabalho é iniciado, é criada uma versão de trabalho. Os vários utilizadores trabalham nessa versão até que o projecto termine, nesse ponto, a harmonização da informação é efectuada fundindo a informação de todos os utilizadores na versão final que se criará, após o que a versão de trabalho será eliminada. 2.5.3. Multilevel Tree Os projectos de algumas organizações têm um nível mais alto de especialização e podem ser subdivididos em partes funcionais ou geográficas. Por exemplo, um projecto do tipo MGCP (Multinational GeoSpatial Co Production Program) com o objectivo de mapear (SIG-2D) grande parte da superfície terrestre, é lógico que seja subdividido, 21 neste caso em células de 1º por 1º, agrupado por zonas e atríbuido a diferentes equipas (países) para execução. Para este tipo de projectos de grande envergadura (e para isso basta incluir alguns departamentos e várias equipas), este tipo de fluxo de trabalho é um modo muito eficaz de organizar o projecto. Uma vez que permite às equipas que estão a trabalhar em cada um possusir a sua própria versão, com que podem manter uma visualização confidencial do seu trabalho e divulgar apenas aquando da cocnclusão do projecto. 2.5.4. Cíclico Muitos projectos atravessam um conjunto pré estabelecido de fases que exigem uma aprovação prévia antes de prosseguir para a fase seguinte. Cada versão representa cada fase deste processo. Um fluxo de trabalho cíclico assim estabelecido actualiza a versão por defeito quando o último estágio for alcançado e terminado. Esta versão por defeito agora actualizada representa o estado normal da base de dados. Este fluxo de trabalho poupa o esforço de progressivamente afixar novas versões ao longo de todas as fases; pode-se contornar esta situação e afixá-la directamente à versão por defeito ou a qualquer outra versão. 2.5.5. Extended History Em alguns projectos, é desejável preservar uma versão que reflita todo o histórico de um projecto. Pode-se definir uma versão histórica numa versão do projecto, e quando a versão do projeto é anexada à sua versão que lhe deu origem, a versão histórica permanece apenas como um instantâneo no tempo (semelhante a um Data Mart). 2.6. Implementação de Redes na Modelação A rede geométrica é definida como um conjunto de entidades que participam num sistema linear. E é normalmente associada com as redes lógicas, que não passam de um gráfico puro da rede consistindo num conjunto de segmentos e pontos de ligação (edges e junctions, respectivamente). 22 Juntas, estas duas representações de uma rede fornecem uma boa solução para armazenamento e análise de sistemas lineares. As redes geométricas como referido são compostas por segmentos e pontos de ligação. Um segmento tem dois pontos de ligação e um ponto de ligação pode ser conectada a um sem número de segmentos. Os segmentos podem sobrepor-se no espaço bidimensional sem se intersectarem. Um bom exemplo disso é uma ponte sobre uma estrada. As entidades que representam segmentos e pontos de ligação são chamadas de entidades da rede. Somente as entidades da rede podem participar numa rede geométrica. Uma classe das entidade da rede é uma colecção homogênea de um destes tipos de entidades da rede: entidade simples da junção, entidades complexa da junção, entidade simples do segmento, ou entidade complexa do segmento. Mais de uma classe da rede pode representar um papel topológico dado numa rede geométrica. Cada classe da rede é associada com apenas uma rede geométrica. As entidades de uma rede geométrica, têm todas as mesmas características que as outras entidades: • Podem-se criar tantas classes como as necessárias. Podendo-se adicionar os atributos julgados pertinentes. • Podem-se definir subtipos e aplicar valores por defeito, atribuir domínios e comportamentos específicos. • Podem-se estabelecer também relacionamentos entre entidades da rede e qualquer outra entidade. De referir que as entidades da rede têm comportamentos específicos adicionais responsáveis por preservar a conectividade e actualizar automaticamente os elementos da rede. Como uma rede geométrica, uma rede lógica é um conjunto de segmentos e de pontos de ligação ligados entre si. A diferença reside no facto de que uma rede lógica não possuí coordenadas associadas pois a sua finalidade principal é armazenar a informação sobre a conectividade da rede junto com determinados atributos. Uma vez que os segmentos e pontos de ligação numa rede lógica não possuem geometria, não são entidades, mas sim elementos. Existe uma cardinalidade de um-paraum ou de um-para-muitos nas relacões entre entidades da rede numa rede geométrica e numa rede lógica. 23 Uma rede geométrica é associada sempre a uma rede lógica. Os elementos da rede lógica são automaticamente actualizados quando se editam as entidades. Esta última não costuma aparecer directamente nas aplicações de uso mais generalizado e é com a geométrica que se interage. A rede lógica é por assim dizer a base que define o comportamento das entidades na rede. O pilar de uma rede lógica é a tabela de conectividades, pois descreve como os elementos da rede são conectados. Para cada ponto de ligação na rede, a tabela de conectividades lista os pontos de ligação adjacentes, os segmentos intervenientes e ainda os pontos de ligação no extremo oposto do segmento a que está ligado. É recorrendo à tabela de conectividade que a rede geométrica mantem a sua integridade. Relativamente às regras de conectividade verifica-se que na maioria das redes, nem todos os segmentos se podem ligar a outros pontos de ligação. Também, nem todos os segmentos se podem ligar aos outros segmentos restantes através de um ponto de ligação específico. Estas mesmas regras de conectividade da rede restringem o tipo e número de entidades da rede que podem ser conectadas a outras. Permitem ainda e de um modo fácil manter a integridade das entidades da rede geométrica pois em qualquer momento é possível efectuar a validação das entidades na BDG e gerar os relatórios a respeito dessas entidades relativamente ao cumprimento de regras de conectividade ou outras. Seguem-se alguns exemplos de regras de conectividade para entidades pertencentes a uma rede: • Regra Segmento-Ponto de Ligação Esta regra restringe as combinações dos pontos de ligação que podem ligar-se a um dado tipo de segmento. • Regra Segmento-Segmento Esta regra estabelece que combinações de segmentos podem ligar-se através de um dado ponto de ligação. • Cardinalidade da Segmento-Ponto de Ligação 24 Esta regra permite restringir o número (cardinalidade) de segmentos que concorrem num dado ponto de ligação. As entidades podem assumir quatro papéis diferentes numa rede geométrica, são eles: um segmento simples, um ponto de ligação simples, um segmento complexo e um ponto de ligação complexo. Cada classe numa rede geométrica contém pelo menos uma das entidades de um destes tipos mencionados. A análise de redes é um procedimento que analisa as redes para devolver um dado resultado, tal como encontrar todos os elementos de uma estrada a norte de um dado ponto ou entre dois pontos designados. 2.6.1. Solvers Um programa que execute a análise de redes é normalmente designado por Solver, porque resolve problemas. Estes têm interfaces de utilizador para entradas específicas e saídas padronizadas de resultados. Os vários tipos de solvers que executam tarefas similares podem geralmente ser encontrados numa estrutura comum da interface do utilizador. Por exemplo, numa barra de ferramentas comum. Há quase uma variedade infinita de solvers para muitos tipos de análises de rede. 2.6.2. Netflags NetFlags é um local na rede, não é parte da rede lógica. São usados para descrever algumas posições na rede. Há dois tipos de NetFlags: EdgeFlags e JunctionFlags. As propriedades de NetFlag incluem as classe da rede lógica, a identificação da entidade, etc. 2.6.3. Barreiras As barreiras produzem o mesmo efeito que se obtem num elemento colocando o seu estado como inactivo, exceptuando o pormenor de que as barreiras não podem ser guardadas na rede lógica e são apenas perceptíveis aos solver. Estas na verdade são ferramentas que permitem incapacitar temporariamente determinados elementos e podem assumir a forma de segmentos ou pontos de ligação. Existem quatro métodos para representar barreiras num solver. Uma boa ferramenta permitirá a utilização destes quatro métodos. Os métodos referidos, são: • Interactivamente adicionar barreiras simples. 25 • Utilizar as entidades (alteração dos atributos). • Inactivar classes. • Aplicação de pesos com funcionamento semelhante ao de um filtro. 2.6.4. Traçado Traçado significa seguir o fluxo numa rede até que se encontre uma condição. Alguns solver de traçado mais conhecidos incluem: upstream trace; downstream trace; isolation trace e path trace [ESRI, 2000e]. 2.6.5. Pesos Dependentemente dos solver disponíveis assim será efectuada a escolha dos atributos dos segmentos ou dos pontos de ligação que serão considerados pesos na rede lógica. É inútil adicionar pesos a redes se estes não possuirem um solver que o possa usar. Por exemplo, os solver de traçado tipicamente não usam nenhum peso apenas a informação sobre a conectividade encontrada na rede lógica. 26 “… um bom modelo é um modelo que começa por não ser mau e que depois dá bons resultados…” António Brotas, IST 3. Modelação de uma Base de Dados Geográfica 3.1. Introdução Existem, na actualidade, várias estratégias para criação de uma BDG, estando agrupadas em três categorias principais [ESRI,2000e]. As duas primeiras agrupam métodos de migração de BDG, pressupondo a existência não só de dados, bem como de uma estrutura e organização destas. A terceira que é aqui abordada baseia-se na criação de um modelo de dados recorrendo ao uso do UML e das ferramentas disponibilizadas pelo CASE Tools do software ArcGis® da ESRI®. O modelo de dados foi construído recorrendo ao Microsoft Visio® 2003 SP1, foi posteriormente exportado para o formato XML Metadata Interchange (ficheiro XMI, standard da OMG) recorrendo ao Add-On disponibilizado pela Microsoft® (XMI EXPORT VISIO ADD-ON UTILITY). Depois de gerado o ficheiro XMI, executa-se uma verificação semântica e não havendo erros gera-se o schema (estrutura) da nossa BDG (veja-se a figura 3). 27 No caso específico deste trabalho e uma vez que existe a possibilidade de criar uma BDG do tipo pessoal ou empresarial, optou-se por uma do segundo tipo que pelo menos no campo teórico apenas é limitada, em termos de dimensões, pelo número e tamanho de discos rígidos que lhe possamos juntar. O que do ponto de vista da garantia de continuidade do território Português, no que respeita à sua plataforma continental é essencial. Procedeu-se de seguida à criação de uma metodologia de carregamento, que permitisse de um modo, o mais automático possível, o carregamento da BDG. Figura 3 – Uso de CASE Tools para concepção e criação do esquema da BDG, ESRI [2000b] 3.2. A Modelação em UML e a Criação da BDG Este projecto além de previsivelmente trabalhoso, por se enquadrar numa instituição com responsabilidades de produção cartográfica e de poder vir a substituir parte da cadeia de produção de toda uma série cartográfica, foram respeitadas algumas directrizes. Assim sendo, e porque a cadeia de produção do IGeoE se encontra estruturada por processos, foi particularmente acautelado: 28 • O envolvimento das pessoas que actualmente gerem os respectivos processos afectados, através da sua contribuição por meio de sugestões e opiniões. • A execução do projecto por fases (figura 6), uma vez que é um processo interactivo e iterativo (dadas as suas dimensões e complexidade) de modo a facilitar a sua execução, manter o ímpeto da mesma e ainda merecer o apoio dos gestores de processos. • A criatividade, pois tratando-se de algo novo é uma excelente oportunidade para pesquisar e implementar não só novas tecnologias e as suas possibilidades inerentes, como novas abordagens ou metodologias para a resolução de problemas. • Manter os objectivos institucionais em foco de modo a que os requisitos sejam cumpridos. • A flexibilidade da modelação, de modo a esta poder evoluir no tempo juntamente com a instituição, garantindo assim a capacidade de esta poder migrar. Apresentam-se, na figura 4, as fases executadas na modelação de dados efectuada. O processo seguido para a criação e carregamento da BDG é apenas uma metodologia de trabalho possível, não inviabilizando por isso qualquer outra. A modelação da IGeoE_BDG passou, então, por várias fases. Durante a primeira fase foi efectuado o levantamento de todas as entidades geográficas actualmente em uso na produção da série M888. Após o qual se seguiu o levantamento dos respectivos atributos e geometria que as caracterizam. Na segunda fase procedeu-se ao agrupamento das entidades atrás levantadas por Classes. Este agrupamento foi executado tendo em vista duas prioridades diferentes, a partilha de atributos por um lado e por outro a partilha de métodos. Procedeu-se ainda ao agrupamento das Classes em Temas pela mesma afinidade de atributos e/ou métodos. Na terceira fase da modelação depois de identificadas e listadas as relações entre objectos estas foram implementadas. Na quarta e última fase, a geometria de algumas Entidades Geográficas bem como a sua colocação dentro das Classes e Temas foi alterada de modo a que conjuntamente 29 com algumas regras de conectividade permitisse a geração de uma rede geométrica e a posterior utilização por parte de qualquer software de redes. Figura 4 – A imagem ilustra as fases da modelação de dados executadas no processo de criação da IGeoE_BDG 3.2.1. Criar os Temas Como base de partida foi utilizado o ArcInfo UML Model, presente na ferramenta CASE Tools. Este modelo na verdade não é mais que um template do formato específico do Visio, que permite a utilização de ferramentas padronizadas. 30 Este modelo já possui a estrutura interna necessária para suportar a utilização da linguagem UML na modelação da BDG (veja-se figura 5). Além do mais tratando-se de uma ferramenta específica para criação de Bases de Dados é ainda possível integrar código C#, C++, IDL e VB. Como nos encontramos perante uma padronização efectuada para os CASE Tools possui ainda associado os ArcObjects da ESRI. Figura 5 – Estrutura base do Modelo disponibilizado pelo CASE Tools (ArcInfo UML Model) Neste modelo já se encontram definidos 5 pacotes, que possuem um comportamento similar ao de directorias ou pastas onde se guardam as diferentes partes do modelo. A Logical View é a directoria base (vide Anexo A - ArcInfo UML Model) onde se guardam todos os outros pacotes, tendo sido utilizada a pasta Workflow para guardar a modelação da base de dados. Apesar de ser possível criar pastas ou pacotes adicionais caso a complexidade assim o exija, não foi necessário neste caso pelo menos até este ponto do projecto. A pasta ESRI Classes contém a porção de informação necessária à criação do modelo de objectos. As Classes existentes nesta pasta representam componentes utilizados para aceder a informação normalmente designada por geográfica, e que pode ser encontrada numa organização típica de Base de Dados. Tanto as Classes como as Entidades Geográficas geradas neste modelo herdam características das classes prédefinidas nesta pasta (vide Anexo A - ArcInfo UML Model). Aquando da criação de Entidades Geográficas, que se pretende possuir com características específicas, e quando se pretende gerar código para definir tais características (por exemplo métodos não padronizados) este é guardado na pasta ESRI Interfaces (vide Anexo A - ArcInfo UML Model). 31 Assim foram criados dois tipos de pastas no Workspace, os correspondentes à definição dos domínios de valores, que cada classe pode assumir, dentro de cada Tema proposto, e o tipo de pasta referente à estrutura propriamente dita da nova BDG. Na pasta, que contém a estrutura, vamos encontrar por cada tema uma outra pasta contendo a definição não só das Classes que se definiram, mas também as entidades geográficas que as compõem. Neste caso optou-se por definir os Temas que se mostram na figura 6. Figura 6 - Temas da modelação da série M888 Se por um lado a utilização de alguns destes temas é intuitivo e até lógico, por outro lado existem alguns que não fazem muito sentido, como é o caso do Terreno, Limites e Região. 32 O Tema Terreno (figura 7) inicialmente não existia, foi criado numa fase mais avançada do projecto, pois consegue-se juntar entidades geográficas que ao descreverem a superfície terrestre partilham atributos, nomeadamente ao nível da sua natureza e composição (são exemplo disso: areal, areeiro, duna, etc...) e ainda para mais possuem a singularidade do facto de que quando se altera uma delas as outras, usualmente associadas, também são alteradas com igual frequência, ou por outro lado simplesmente não se alteram ou a sua frequência de alteração não é numericamente expressiva (são exemplo: gruta, escarpado, etc...). Figura 7 – Tema Terreno Por questões que se prendem não só com a importância mas também com a própria natureza e origem da informação, foi introduzido o Tema Limites. Este é constítuido pelos limites de: • País (Comissão Nacional de Limites - IGeoE) • Concelho (CAOP v8.0 - IGP) • Distrito (CAOP v8.0 - IGP) • Freguesia (CAOP v8.0 - IGP) • Áreas de Servidão Militar (IGeoE) • RAN, REN, etc... (DL) 33 O caso específico da criação do Tema Região (figura 8) justifica-se pela necessidade de guardar a informação da toponímia que não se encontra associado a nenhuma entidade geográfica específica, como por exemplo os nomes dos lugares. Uma vez que se trata de uma entidade que não partilha atributos ou métodos com mais nenhuma, foi criado um tema diferente para a albergar. Pela mesma razão e estando na fase de entrada em testes, mais especificamente na de aquisição directa para BDG julgou-se útil criar uma outra entidade geográfica, do tipo ponto, denominada dúvida, possuindo dois atributos de escrita livre, denominados de comentário. Tal como a própria designação o sugere, esta serve para identificar qualquer dúvida de qualquer natureza que o fotogrametrista possua, nesta fase e no momento da aquisição da informação. Mais tarde quando se possuir uma tipificação das dúvidas esta entidade será reformulado ganhando novos atributos diferentes dos actuais de modo a diminuir não só o tamanho como o tempo de acesso à informação na BDG. Deste modo se no futuro for desenvolvida alguma ferramenta que permita obviar o uso deste tema este poderá ser eliminado sem grande risco de afectar a integridade da IGeoE_BDG. Figura 8 – Tema Região 3.2.2. As Classes e suas Relações Após definir os Temas agruparam-se as entidades geográficas em Classes que partilham a mesma estrutura e comportamento [O’Neill, Nunes, 2004]. As Classes apresentadas, no âmbito do trabalho, foram constítuidas dando prioridade à partilha de atributos por parte das entidades que as compõem e como segunda prioridade a partilha de comportamentos. 34 A implementação das Classes, no respeitante ao software utilizado, é de difícil implementação. Uma vez que é necessário respeitar a estrutura interna do template utilizado. Se assim não for deparamo-nos com um modelo conceptualmente correcto mas que no momento da sua conversão para linguagem XML gera código errado ou sem sentido, não tendo por isso qualquer utilidade que não a gráfica. Para se proceder à correcta criação das classes é imperioso a observância rigorosa dos seguintes passos. 1. No diagrama de base (na pasta Workspace) definir a seguinte estrutura (figura 9): a. tipificação da geometria das entidades (ponto, linha ou polígono) b. definição dos atributos base, ou seja, aqueles que se podem encontrar em toda e qualquer entidade (com a geometria agora definida), que poderão eventualmente ser predefinidos à partida (com valores específicos), ou classificados como de preenchimento obrigatório caso seja necessário. Figura 9 – Estrutura Base da IGeoE_BDG (Workspace) 35 2. Após a tipificação da geometria e definição dos atributos comuns a todas as entidades passa-se para a definição das Classes (figura 10). Esta definição para ser implementada correctamente e poder gerar código utilizável na construção de uma BDG necessita ser efectuada em dois locais diferentes: a. Como se referiu no início, foram criadas dois tipos de pastas no Workspace, uma para albergar a estrutura propriamente dita (denominada MOD_25K) e um outro conjunto de pastas. É neste conjunto de pastas divididas por Temas que vão incluir a definição das Classes que cada Tema possuí e ainda o espectro de valores que elas podem assumir. b. Assim sendo e dentro de cada uma das pastas ou seja Temas, após uma cuidadosa reflexão foram criadas as respectivas Classes. Este processo, nesta fase, não é mais que a identificação e definição da designação da Classe e ainda a enumeração das entidades que a compõem. Assim sendo para cada Tema: i. Criam-se as Classes julgadas necessárias, definindo-se o estereótipo, das mesmas, como Range Domain e nos atributos para além dos obrigatórios (FieldType, MergePolicy e SplitPolicy) enumeram-se todas as entidades que dela fazem parte. Em simultâneo terão de ser identificadas para cada um destes atributos o tipo de variável associada, se se trata de um atributo com carácter privado ou público, a sua multiplicidade e ainda o valor por defeito. Para a correcta utilização das Classes o valor inicial a definir para as entidades que as compõem tem de ser único dentro de cada Classe pois é através deste campo que as entidades são definidas quando são introduzidas na estrutura da BDG. 36 Figura 10 – Definição das Classes em cada Tema Tratando-se de uma estrutura hierárquica, em que a criação ou definição dos seus elementos se efectua à custa de outros que os precedem ou que se encontram na mesma estrutura mas em nível superior, é de extrema importância a definição correcta dos atributos bem como o patamar da hierarquia em que se efectua a mesma, uma vez que vai condicionar o tamanho, a velocidade de resposta da BD e a capacidade de esta se adaptar a mudanças futuras. Assim sendo e a título de exemplo apresentam-se as Classes definidas para o Tema Vias de Comunicação (figura 11), para os restantes Temas veja-se o Anexo B – As Classes da IGeoE_BDG. Figura 11 – A Classe Vias de Comunicação 37 Para o Tema atrás referido foram definidas as seguintes Classes, agrupando as entidades mencionadas (para uma melhor visualização vide Anexo C – As Classes da IGeoE_BDG e exemplos de Relacionamentos pp.4): • Classe Vias Ferroviárias (contém Via Larga Unica, Via Larga Dupla, etc...) • Classe Vias Rodoviárias (contém Estrada Larga, Estrada Estreita, Autoestrada, Acesso Auto, etc...) • Classe Vias Pedonais (contém Vau a Pé, Caminho Pé Posto, etc...) • Classe Vias Outras (contém Teleférico, Passadeira ou Tapete Rolante, etc...) Com o propósito de manter o relacionamento correcto entre as possíveis entidades geográficas são criadas relações entre entidades, estas são implementadas na IGeoE_BDG como classes de relacionamento (relationship classes in [ESRI,2000e]). A cardinalidade das associações propostas são reflectidas pela cardinalidade presente na relação que se lhe encontra associada. O nome desta Classe de Relacionamento (Anexo C pp. 2) é o nome da associação. As chaves Primária e Estrangeira são específicadas directamente no modelo UML como tagged value (veja-se 3.2.3 [ESRI, 2000a]) da associação definida. Os atributos desta Classe de Relacionamento são modeladas tal e qual uma classe mas com o nome da Classe de Relacionamento, sendo o esterótipo do tipo relationship class e os atributos modelados como qualquer outra classe. As notificações, mensagens de alerta, são modeladas como tagged values e as regras de relacionamento são modeladas como associações entre os subtipos das classes (vejase o exemplo que se segue do castelo e da capela, Anexo C, fig C-5 pp2) que participam na Classe de Relacionamento [ESRI, 2000b]). Nas relações implementadas verificamos que existe sempre uma das entidades que controla a existência das outras associadas. Veja-se o exemplo do relacionamento existente entre os faróis, as igrejas, as casas, as capelas, os depósitos de água elevados e os VG (Vértice Geodésico) controlados pelas anteriores, ou ainda as pontes e as estradas, os castelos e as capelas ou as autoestradas e as portagens (em que as primeiras controlam as segundas). 38 No caso dos Castelos e das Capelas, define-se uma classe de relacionamento com base numa associação do tipo contém, de cardinalidade 1 para 1. Já no caso da Ponte e das Estradas (Anexo C, fig C-6 pp3, relação múltipla) a associação é uma agregação de cardinalidade 1 para muitos. No primeiro caso se a entidade castelo for eliminada a entidade que lhe está associada a capela também o será. No segundo caso se qualquer uma das entidades for alterada qualquer uma das duas será notificada da alteração. Tratando-se da implementação de relacionamentos entre várias entidades pertencentes a uma mesma Classe ou a várias Classes mas todas do mesmo Tema, e não só entre duas, surgiu a oportunidade de implementar e testar as class extension. Estas são definidas tal como uma qualquer outra entidade apenas diferindo no pormenor da designação desta. As restantes propriedades válidas para as entidades também o são para esta nova Classe. O nome que terá de ser definido é constítuido pelo mesmo nome da Classe mãe com o sufixo ClassExtension e permite a título de exemplo especificar regras (que se tornam de outro modo incomportável por parâmetros) regras para restrição espacial (área urbana exceptuando industria) de selecção de atributos (do tipo altura do edificio>= numero pisos*5m), etc... Para mais informação veja-se o Anexo C – As Classes da IGeoE_BDG e exemplos de Relacionamentos 3.2.3. Entidades e Atributos, Subtipos Após a explanação do método de criação dos temas, classes e domínios de valores resta apenas referir qual a metodologia utilizada para a criação das entidades geográficas que compõem todas estas. As entidades são criadas tendo em conta os princípios até aqui enunciados para os temas, classes, etc... Por outras palavras, não nos poderemos esquecer que este modelo possuí características próprias e é no seu íntimo um modelo hierárquico. As entidades ao serem definidas, numa dada Classe e Tema herdam todas os atributos destas. Como exemplo do descrito veja-se no modelo proposto (Figura 11) a situação definida para toda e qualquer entidade que pertença a esta BDG. Uma vez que se encontra definido que para qualquer entidade, seja qual for o tipo de geometria que esta possua, os seus atributos serão pelo menos: o Código FACC, LV, 39 CO, LC, WT, Nome Célula, Numero de Folha M888, Toponimo e um campo auxiliar do tipo string denominado AUX1. Então todas as entidades subordinadas herdam estes atributos, independentemente do tema ou classe de que façam parte. Também aqui podem ser definidos valores a priori para atributos, determinar o seu preenchimento de carácter obrigatório, ou simplesmente impedir a sua alteração. Na proposta apresentada, por se tratar de um projecto de Tese que ainda carece de testes para entrada em funcionamento na cadeia de produção, não foram ainda implementadas nenhum tipo de limitações à sua utilização. Passando agora para o nível dos Temas e tendo em vista a definição das entidades dentro destes, note-se que aqui se agrupam as entidades por tipo de geometria e que a sua inclusão nas respectivas Classes se faz por meio de um campo denominado Subtype Field (figura 12). Este campo faz a ligação ao definido atrás em 3.2.2 As Classes e as Relações entre Classes no ponto 2.b.i. Figura 12 – Extracto de algumas entidades das Vias Ferroviárias Vejamos o caso específico das Vias Ferroviárias (figura 13). Antes de mais, estão incluídas no tema Vias de Comunicação e possuem uma geometria do tipo linha. Além de possuirem todos os atríbutos definidos para as entidades deste tipo, possuem ainda um campo que define a classe a que pertencem e um outro com a designação que possuem. Como se pode ver pelas figuras apresentadas, estas entidades ou melhor a sua definição, encontra-se dispersa por vários objectos. A razão de ser desta apresentação da modelação de objectos prende-se com a natureza não só da linguagem UML mas 40 também da solução de software pela qual se optou. Esta impõe que para cada entidade que se pretenda definir se crie: • uma classe mãe onde se colocam todos os atributos herdados de níveis superiores e ainda um campo que define a Classe a que pertence (uma vez que aponta directamente para a entidade que se pretende definir e se encontra referenciada na respectiva definição de Classe). • define-se um subtipo (classe filha) que vai incluir, pelo menos, um campo para especificação da entidade através da Classe a que pertence e outros relativamente a atributos específicos para este objecto caso sejam necessários. Figura 13 – Extracto da Classe Vias Ferroviárias A razão de ser deste tipo de estruturação e de hierarquização da definição das entidades de uma qualquer BDG explica-se pelo facto de poderem existir entidades que pela sua natureza possam ser um subtipo de outra. Não se tratando da opção efectuada para este projecto e cujas razões serão apresentadas logo de seguida veja-se o exemplo apresentado das vias Ferroviárias. 41 Aparentemente nada leva a crer que as Vias: Metro, Metro de Superfície e MonoCarril não possam ser cada uma um subtipo de um único tipo de via. E na verdade assim seria não fosse as relações que estas entidades possuem com entidades terceiras. É que a mesma regra que impõe que estas entidades podem ser todas um subtipo de uma única via também impõe a partilha de relações. Ou seja basta que uma delas possua uma relação com uma outra qualquer entidade que não seja partilhada pelas outras duas que então esta não pode ser definida (ou o subtipo ou a relação). É o caso do monocarril cujo suporte à navegação se pode encontrar à superfície ou montado numa estrutura aérea que possui relações específicas com pontes e passagens superiores não sendo partilhadas por mais nenhuma das outras. Também o Metro de Superfície possui relações específicas com passagens de nível com guarda que não são partilhadas com mais nenhuma das outras. Esta é a razão, pela qual, na proposta de modelação de BDG do presente trabalho as entidades geográficas se constituem num único subtipo. Deste modo ao se construir a estrutura da BDG permite-se uma máxima liberdade na construção de relações entre entidades em detrimento do volume de informação (nesta modalidade tratando-se de entidades diferentes não há partilha de atributos logo o espaço de memória ocupado será maior, e dependerá directamente do número de entidades nesta situação). De qualquer modo estabelecidas as relações que se pretendem implementar é sempre possível agrupar em subtipos as que partilham os mesmos atributos e relações, optimizando então o volume de espaço ocupado. Não esquecendo que a reversibilidade desta etapa é extremamente difícil deixa-se para mais tarde a decisão de agrupamento das ditas entidades que partilham os mesmos atributos e as mesmas relações, caso se considere vantajoso do ponto de vista de optimização do espaço ocupado. É ainda importante referir que os atributos definidos para cada entidade são na sua grande maioria um resultado da análise do trabalho desenvolvido e da compilação de informação, efectuada ao longo do tempo, no IGeoE. Contribuíram para tal: o Guia de Extracção da Informação para o Fotogrametrista, o Manual do Cadastro Militar, o Catálogo de Objectos em vigor e o FACC. Por esta razão e porque o suporte papel não permite uma leitura confortável ou adequada de toda esta informação, todas as figuras apresentadas são apenas um extracto da informação mais relevante e julgada necessária de cada uma das entidades, classes, etc... (Anexo D – As Entidades Geográficas da IGeoE_BDG). 42 3.2.4. Criar uma Rede Geométrica e Regras de Conectividade A construção de redes não constítuiu prioridade aquando da modelação da IGeoE_BDG, no entanto foi preocupação do autor preparar a presente modelação para que, com algum processamento posterior se possa utilizar software de cálculo e análise de redes. Desta forma foram testadas algumas metodologias e tecidas algumas considerações sobre o modo não só de aquisição de informação como de processamento da já existente. Uma vez que este tipo de implementação exige uma alteração profunda na cadeia de produção em vigor optou-se por efectuar uma implementação da modelação por fases, constituindo a rede geométrica uma fase posterior à presente. De qualquer modo é importante salientar os seguintes pontos (Anexo E – Rede Geométrica e Regras de Conectividade): • Na rede geométrica, as Classes e as entidades são definidas, na linguagem UML, como uma classe e entidade, em tudo semelhante às outras. Apenas diferente no esteriótipo, que é do tipo rede geométrica. • Todas as classes e entidades afins terão de ser criadas numa directoria ou pasta específica para a rede geométrica (à semelhança do que se passava com os Temas). • A Classe base que pode ser duplicada e alterada para definir todas as entidades é a que se encontra por defeito no documento ArcInfo UML Model e se apresenta na figura 14 (TemplateGeometricNetwork). • Existe apenas um único atributo e este define exclusivamente o tipo de rede (esriNetworkType). • Depois de definidas as entidades utilizam-se as relações para definir as regras de conectividade. • Definem-se dois tipos de regras de conectividade, as edge-edge ou as edjejunction [ESRI, 2000d]. As primeiras supõem a existência de pelo menos duas edje e várias junctions onde uma destas terá de ser a padrão (utiliza-se a N-ary Link), já nas edje-junction as regras possuem uma cardinalidade específica dependendo do subtipo pretendido (1-2 ou 1-5, etc...), neste caso 43 usa-se a associação binary association. Qualquer uma das duas pode também ser definida recorrendo à Generic Junction Subtype. • Para que a BDG assim criada seja realmente compatível com a utilização de software de redes é necessário garantir previamente o processamento adequado da informação de modo a poder garantir-se a adequação ou melhor a compatibilização desta com os ditos softwares. Não nos podemos esquecer que a informação é oriunda de um sistema do tipo CAD e que por norma a informação nunca se destinava a este tipo de utilização. Figura 14 – Rede Geométrica 3.2.5. Exportação para XMI e Validação Semântica A exportação do modelo em UML é feita numa primeira fase para XMI (veja-se a figura 15) e depois, numa segunda fase validado, caso não exista erros, é então criada a BDG. 44 As ferramentas utilizadas para a execução desta fase do trabalho são as disponíveis nos softwares utilizados. Exceptuando o Add-on utilizado para exportar para o formato XMI. A ferramenta que permite a exportação do formato proprietário do Visio para o formato XMI não se encontra disponível para utilização imediata ou directa. A Microsoft disponibiliza apenas o código fonte (na linguagem C++), que depois de devidamente adaptado e compilado permite criar um add-on que deverá ser colocado, de modo adequado, no Visio. Depois de se obter um modelo que se pretende exportar, quer seja para testes ou para utilização final executa-se, normalmente, o Add-on que se compilou (Anexo F). Figura 15 - Execução do Add-On que permite a exportação para o formato XMI Após este procedimento obtem-se um ficheiro do tipo XMI contendo a estrutura da BDG que se encontrar definida no modelo utilizado (veja-se a figura 16). Após a geração, com sucesso, do ficheiro acima descrito tem-se duas hipóteses: 1. A utilização do software para criação de um projecto em C++ para o Developer Studio, de modo a gerar a estrutura da BDG em código fonte e permitir a sua manipulação dessa forma (adicionando código ou removendo código desnecessário). 45 2. A utilização do software apropriado para executar a validação semântica. Se no ínicio a primeira hipótese foi largamente explorada, com o decorrer do tempo, esta rápidamente caíu em desuso. Não só pela quantidade de informação como pela sua complexidade. Figura 16 - Extracto do ficheiro XMI gerado Assim sendo a geração do ficheiro XMI e a sua posterior validação semântica sem recorrer ao código fonte foi a modalidade mais utilizada. A validação semântica é efectuada recorrendo a uma ferramenta específica denominada ESRI Semantic Checker. No fim da sua execução é apresentado um relatório dessa mesma validação. De salientar no entanto que os erros apresentados a existirem apenas reflectem erros de semântica (regras de construção) não são reflexo de erros de estrutura nem reflectem a qualidade da modelação efectuada em termos de concepção. Para uma mais cuidada abordagem ao assunto, veja-se o Anexo F – Exportação para XML e Validação Semântica. 3.2.6. Criação da IGeoE_BDG O processo de criação da BDG agora modelada passa pela utilização de software proprietário. A única permissa é que seja compatível com a linguagem XML. 46 A solução adoptada neste projecto permite não só a criação de uma BD a partir de código XML mas também o carregamento ou alteração de uma BD já existente com um novo modelo em XML. Após a criação e validação semântica do modelo, passa-se para a criação da IGeoE_BDG. Este passo é bastante simplificado e quase não requer intervenção do utilizador. Uma das ferramentas disponibilizadas pela ESRI, o schema wizard (figura 17) permite depois de identificar o ficheiro XML, que contém a modelação da BDG, e após criar uma BDG “vazia”, utilizar o mencionado ficheiro para criar a respectiva estrutura nesta última. Figura 17 - Execução da ferramenta Schema Wizard, para a criação da estrutura da IGeoE_BDG A intervenção do utilizador efectua-se aquando da: • Criação inicial da BDG e escolha do seu tipo (empresarial ou pessoal). • Verificação da estrutura criada na BD. Escusado será referir a importância de que se revestem tais tarefas uma vez que delas depende não só a validade do trabalho até aqui produzido, mas também a validade e integridade da própria BDG. 47 No final deste processo de criação, possui-se ainda a hipótese de corrigir pequenas imperfeições ou esquecimentos ocorridos durante qualquer fase anterior, uma vez que o schema wizard, imediatamente antes da criação da estrutura modelada efectua uma pré visualização (figura 18) da modelação pretendida. Deste modo podemos navegar, naquela que virá a ser a BDG, podendo aceder a todas as entidades, classes e temas tal e qual o produto final disponibilizado, antes de ser criado. Figura 18 - Pré visualização da estrutura da BDG a criar. Esta simples pré-visualização na verdade torna-se bastante eficaz e uma excelente oportunidade que permite ao utilizador efectuar qualquer pequena alteração (que não se reflicta na estrutura base) sem necessidade de alterar a sua modelação em UML. Claro está que se for pretendido reutilizar o modelo, se torna menos trabalhoso corrigir este último e não directamente os erros, aquando da criação da BDG, pois estas operações serão repetidas tantas e quantas as vezes o modelo for reutilizado. A título de exemplo as correcções que se podem introduzir, são: • Nas Entidades ao nível dos atributos (novos ou não) e respectivos valores (mesmo as que se encontrem classificadas como predefinidas). 48 • Não se podem criar novas Classes mas dentro das existentes podem ser alterados os valores pré-definidos, a tipificação das variáveis que definem os atributos, as próprias entidades que constituem as classes, etc. • A geometria de qualquer entidade. • A renomeação de entidades As operações que não se podem realizar são: • Criar ou alterar relações entre entidades • Renomear Classes e Temas • Redefinir valores de domínios • Criar novas Classes ou dentro destas novos subtipos, etc... É ainda possível, nesta fase definir o sistema de coordenadas, caso ainda não tenha sido feito na fase da modelação. Esta BDG assim criada permite possuir no máximo um sistema de coordenadas por cada Tema criado. O razoável será utilizar apenas um único. Para a presente BDG optou-se por implementar o sistema Hayford-Gauss Datum Lisboa. Para uma análise mais cuidada, veja-se o Anexo G – Criação da IGeoE_BDG. 3.3. Uma Metodologia de Carregamento A proposta que a seguir se apresenta constitui apenas uma metodologia para carregamentoembora não seja a única nem a mais célere. É no entanto uma proposta, testada e já parcialmente em uso (desde Janeiro último), que permite não só carregar a IGeoE_BDG mas também, em simultâneo, obter alguns produtos que representam os pedidos mais usuais dos clientes deste Instituto. Enumeram-se de seguida os passos para o carregamento da IGeoE_BDG: 1. Conversão da informação do IGeoE do tipo CAD para o tipo Shapefile (SHP). 2. Conversão do SHP para Base de Dados Geográfica Genérica (sem estrutura específica). 3. Carregamento da IGeoE_BDG a partir da BDG Genérica. 49 a. Conversões várias: i. Célula para Linha (portagem em via única) ii. Célula para Área (estátua, castelo, cisterna, etc...) iii. Linha para Área (aterro, desaterro, pista de aterragem, etc...) iv. Ponto para Área (depósito de combustível) v. Área para Linha, (cais de acesso, ruínas,, etc..) vi. outras Deste modo e com a utilização da metodologia atrás mencionada não só se consegue carregar a BDG como entretanto se podem obter de modo quase automático e muito mais rápido vários outros produtos, ou melhor formatos (em particular o formato SHP). Uma vez que o objectivo é a utilização da nova BDG na cadeia de produção e só agora se iniciaram os testes de aquisição de informação directamente para a BDG, é de todo aconselhável garantir um modo de carregamento o mais automatizado possível da referida BDG com a informação do IGeoE, uma vez que a aquisição da informação ainda permanece estritamente ligada ao CAD. Para esse fim é de seguida exposta e descrita (por passos) a metodologia criada para o carregamento. 3.3.1. Conversão CAD para SHP Neste primeiro passo, tal como o próprio título sugere pretende-se passar de forma o mais automática possível, toda a informação CAD, relativa à série M888 para o formato SHP. Este procedimento só é possível uma vez que a informação utilizada não é a que o fotogrametrista produz directamente mas sim, depois de passar pelo processo de validação. Deste modo garante-se que toda a informação é uniformemente adquirida. A solução concebida é específica para o software utilizado e para a estrutura de dados própria do IGeoE uma vez que as ferramentas utilizadas foram configuradas com uma parametrização adequada a estes pressupostos. Para a construção do modelo de carregamento foi utilizado o Microsoft Visual Basic 6.0 (VB), tendo como base a ferramenta Model Builder da ESRI. É também possível 50 utilizar outros aplicativos ou linguagens alguns até mais simples de utilizar e programar, no entanto por uma razão de licenciamento estes foram os escolhidos. Neste passo específico de conversão de formatos, estes efectuam-se por temas diferentes dos da IGeoE_BDG, aqui utilizaram-se os “temas” usualmente associados às cores de impressão da cartografia, ou seja, os verdes para tudo o que é vegetação, os castanhos para a altimetria, etc... Como o processo de conversão não é mais que a utilização repetida e recorrente das mesmas ferramentas (figura 26) e porque a informação se encontra organizada por ficheiros e por pastas nos servidores do IGeoE, utilizou-se a programação em VB para desenhar e implementar um interface gráfico (figura 19) que permitisse indicar não só quais as folhas a converter mas também a sua origem e respectivo destino para os dados da conversão. Aqui a unidade base de conversão é a folha. Figura 19 – Imagem exemplificativa da aplicação para conversão da informação IGeoE do formato DGN para SHP. Como se pode verificar pelas figuras 20 e 21 para cada entidade que se pretende extrair e depois converter é utilizada uma ferramenta pré-existente, obviamente, depois de devidamente parametrizada. Existem três ferramentas mais utilizadas consoante se 51 trate de entidades do tipo linha, área ou célula. A parametrização é que depende apenas das características (CAD) de cada entidade como sejam nível, cor, espessura, etc... Figura 20 – Imagem exemplificativa dos modelos e respectiva parametrização de ferramentas, criados para conversão da informação do IGeoE (anexo H pp. 3). Figura 21 – Extracto de um relatório (listagem de variáveis e processos) de um dos modelos de conversão da informação do IGeoE. 52 Como a estrutura da informação do Instituto é um standard (sujeito a uma definição rigorosa), é apenas necessário definir uma única vez cada uma destas ferramentas para cada entidade. O papel do interface desenvolvido em VB é precisamente executar todos os ciclos necessários (as ferramentas padronizadas) para a extracção de todas as entidades (ou apenas as pretendidas) para todas as folhas M888 (ou apenas as seleccionadas). Como resultado deste passo obtem-se uma organização da informação por ficheiros do tipo SHP. A informação que se encontrava organizada por temas clássicos do CAD (correspondente por assim dizer às cores) encontra-se agora organizado por ficheiros do tipo SHP mantendo este conceito sempre que possível. Uma vez que os mencionados ficheiros não permitem a coexistência de entidades de mais do que uma geometria em cada uma delas, a solução implementada passou por manter os temas sempre que foi possível, criando novos apenas quando se tratava de entidades de tipo de geometria diferente. Veja-se o exemplo da hidrografia (correspondente à cor azul), esta vai originar três ficheiros diferentes um de Hidrografia, outro de Hidrografia_A e ainda um CellHidro, conforme se trate de informação do tipo, respectivamente, linhas, áreas ou células. Existe ainda uma particularidade, o caso específico da toponímia (já editada), que nesta fase e neste passo ainda não se encontra completamente resolvido, por limitação do software utilizado (não existem ferramentas disponíveis para adequada manipulação deste tipo de informação nestes ficheiros SHP). Assim sendo e porque se espera resolver completamente esta questão utilizando a IGeoE_BDG foi arquitectada uma solução temporária que passa pela criação de ficheiros SHP, unicamente com a referida toponímia que depois são agregados à informação original, evitando assim a perda ou o carregamento manual mais tarde já no formato BD. Caso em determinadas folhas da série M888 não exista qualquer informação sobre algumas das entidades, os ficheiros respectivos, simplesmente não são gerados cabendo a responsabilidade da verificação final ao operador que executa a conversão. Sempre que uma folha é revista, e é difundida uma nova versão a aplicação é novamente executada para se proceder à actualização da informação. Poder-se-á obter mais informação consultando o Anexo H – Carregamento da IGeoE_BDG 53 3.3.2. Conversão SHP para BDG Genérica Esta conversão apesar de simples e rápida é apenas um passo intermédio, mas necessário, pois para se poder continuar a executar o modelo de carregamento é necessário converter os campos associados aos atributos, de cada entidade, oriundos do passo anterior, para o formato final pretendido na IGeoE_BDG. Na verdade o que é produzido nesta fase é uma BDG como uma estrutura genérica, ou seja, distribui-se a informação que se encontrava organizada em vários ficheiros do tipo SHP, por entidades dentro de uma BDG (os temas mantêm-se os dos ficheiros acabados de mencionar). O que muda para cada entidade é a definição do tipo de campo de cada um dos seus atributos. Por outras palavras agrupa-se a informação numa estrutura típica de BD, já parcialmente ajustada à final que se pretende obter. De salientar a importância vital de acrescentar um novo tema, que neste momento não possui informação, mas servirá para efectuar as conversões de geometria (referida no início do ponto 3.3). São de seguida apresentadas algumas das ferramentas (figura 22) utilizadas na criação automática da BDG intermédia (para verificar parametrizações específicas vejase o Anexo H – Carregamento da IGeoE_BDG). Figura 22 – Algumas ferramentas utilizadas na criação automática da BDG Intermédia 54 3.3.3. Conversão BDG Genérica para IGeoE_BDG Para a execução deste passo devem ser efectuados os seguintes procedimentos: • Carregamento directo de todas as entidades que mantêm a sua geometria inalterável. • Conversão e posterior carregamento das restantes entidades. Para a execução do primeiro procedimento a selecção de entidades na BDG intermédia para seu posterior carregamento é efectuado segundo os seus atributos herdados do ficheiro CAD (LV; CO; LC; WT ou ainda Cell_Nome). Deste modo estabelece-se uma correspondência unívoca entre as duas BDG, já que a primeira condicionante da construção da BDG final é a reversibilidade a qualquer altura do processo para o sistema CAD. Esta capacidade garante-se ao se ter definido á partida para toda e qualquer entidade quais os atributos “CAD” e respectivos valores que herdaram. Para além disso como a unidade de produção do IGeoE é a folha da Carta Militar, foi também criado um campo adicional de preenchimento obrigatório e automático (a partir do nome do ficheiro original) que identifica a folha que originou a informação. Estes campos, por enquanto, possuem grande utilidade em termos de garantia de reversibilidade, mas serão eliminados num futuro próximo. Os “atributos CAD” efectivamente não necessitam de existir e de “pesar” na BDG, não que ocupem fisicamente muito espaço, pois como já foi visto, esta definição é feita por patamares ou hierarquias e é definido uma única vez para um dado tipo de entidades o que acontece é que vamos possuir um enormíssimo conjunto de apontadores guardados e isso fará com que a BDG se torne mais lenta na resposta não só aquando da execução de Queries como aquando da utilização por vários utilizadores (ainda que se preveja a utilização do sistema de multiversionamento). Para obviar estes atributos basta garantir (por exemplo guardando num ficheiro tipo texto) qual a estrutura da informação nos ficheiros CAD originais (Catálogo de Objectos da série M888 do IGeoE). A ferramenta utilizada para o carregamento das entidades que não sofrem alteração ao nível da sua geometria é a Select (figura 23). 55 Figura 23 – Ferramenta Select para carregamento da IGeoE_BDG Resta então explicar como se executa a conversão de geometria de algumas entidades e depois o seu carregamento. De relembrar apenas que esta questão é levantada pois a informação já existe, e porque não foi criada tendo em vista este fim específico é necessário adaptá-la. Ou seja , assim que se iniciar a aquisição directa para a BDG esta questão deixa de existir pois todas as entidades passam a ser adquiridas com base na sua geometria e num conjunto de regras de extracção específico para esta BDG. Esta é apenas uma fase transitória que se espera ser o mais breve possível. Na conversão de geometrias foi tido em consideração, pois só assim faz sentido, o guia de extracção de informação, para se saber por exemplo qual a orientação de uma dada nova entidade que agora é do tipo área mas antes era adquirida como célula (quando considerar o ângulo de rotação da célula - QRotW), para se saber quando nos encontramos numa situação de excepção e qual a regra que foi aplicada nesse caso, etc... Assim sendo e de acordo com a modelação efectuada algumas das conversões a realizar são as que se apresentam na figura 24. Entidades a converter Conversão Cais_de_Acesso_Ferroviario A L Pista_de_Aterragem L A Aterro L A Desaterro L A Molhe_Vermelho_Plataforma_de_Atracacao_em_Betao L A Molhe_Azul_Plataforma_de_Atracacao_em_Ferro L A Molhe_Preto_Plataforma_de_Atracacao_em_Madeira L A A Estacao_Elevatoria C Estatua C A A Cruzeiro C Castelo_ou_Forte C A Deposito_de_Combustivel P A Portagem_em_Via_Dupla C L Portagem_em_Via_Única C L Ferramenta Feature to Line Feature to Polygon Buffer Buffer Conversão para Área (MV) Conversão para Área (MA) Conversão para Área (MP) Conversão para Área (EE) Conversão para Área (E) Conversão para Área (C) Conversão para Área (CF) Buffer Conversão para Linha (PD) Conversão para Linha (PU) Figura 24 – Extracto da lista de entidades a converter para posterior carregamento na IGeoE_BDG 56 A título de exemplo, e para um melhor entendimento, não só da ferramenta concebida mas da estrutura do trabalho, procede-se de seguida à descrição da metodologia implementada para apenas alguns dos tipos de conversão e em particular aqueles mais representativos das dificuldades encontradas. Conversão de Célula para Linha, aplicada à Portagem em Via Dupla ou Única Não sendo possível utilizar uma ferramenta capaz de realizar uma conversão de forma directa (pois tal ferramenta não existe ou pelo menos não se encontra disponível na solução adoptada) optou-se pela metodologia que a seguir se descreve. Para efectuar esta conversão é necessário ter em linha de conta a rotação da célula de origem (QRotW). Deste modo a linha a criar tem, obrigatoriamente, de ser perpendicular ao eixo da via (AutoEstrada). Dado que a extracção de informação da via, necessária ao processo, varia na forma da aquisição, é necessário ter em linha de conta duas possibilidades: 1. Uma em que apenas é adquirido um segmento de recta, com base no eixo central da via. 2. E uma outra, em que são adquiridos dois segmentos de recta, um para cada sentido de circulação, com base no eixo central de cada faixa de circulação (sentido). Por este motivo, a Portagem não se apresenta sempre de um mesmo modo, já que a célula correspondente às portagens ora vai incidir sobre a via, no primeiro caso, ora vai situar-se aproximadamente entre os dois eixos, no segundo. Então a solução proposta passa por extrair pequenos segmentos de recta pertencentes à via, através da intersecção (Intersect) desta com dois tipos diferentes de áreas em torno das células das portagens (Buffer), veja-se a figura 25. Para que o modelo respondesse às duas metodologias de restituição da via, realizaram-se duas áreas distintas, uma com quatro milímetros para extrair o segmento de recta, e outra com vinte e cinco milímetros para permitir extrair pequenos segmentos paralelos da via, quando a aquisição da via passa-se pela restituição dos dois eixos das faixas de rodagem (estas unidades dependem em cada projecto da escala a que se destina, ou das preferências específicas do utilizador). 57 A B C D Figura 25 - Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Buffer (A e B) e Intersect (C e D). Para este ultimo caso, foi necessário simplificar os segmentos extraídos (Simplify Line), já que será necessário convertê-los num único que se localize entre os dois anteriores (figura 26), para que desta forma não se perca rigor aquando da conversão para linha central (Collapse Dual Line to Central Line). A B Figura 26 - Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Simplify Line (A) e Collapse Dual Line to Central Line (B). No final deste processo obtemos, para os dois casos, um único segmento de recta de orientação concordante com o sentido da via. Podendo agora intersectar a segunda extracção com a primeira área, para que o comprimento de ambos os segmentos seja exactamente de quatro milímetros (Intersect). Paralelamente a esta operação, foi necessário criar uma nova entidade para alojar o resultado dos processos anteriores (Create Feature Class). Esta nova entidade é então carregada com as duas extracções anteriores (Append), sendo que este passo é 58 fundamental para se poder manipular os dados nos passos seguintes, cujo objectivo é dar uma nova orientação aos segmentos de recta. Agora que há uma uniformização das portagens (figura 27), quanto ao comprimento do segmento de recta que as representa, atribuí-se uma nova área aos segmentos de recta, especificando-se em duas fases, uma para a direita e outra para a esquerda (Buffer) da mesma, ambas com treze milímetros de comprimento e forma rectangular. No entanto deste modo o resultado são dois polígonos separados que é necessário unir (Union). A B Figura 27 - Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Buffer (A) e Union (B). Posteriormente (figura 28), e porque a utilização dos segmentos de recta prevalece sobre a dos polígonos, realiza-se a conversão para linha (Polygon to Line), separando-se logo de seguida as diferentes linhas pelos vértices (Splite Line at Vertices). A B Figura 28 - Modelo de Conversão de Célula a Linha aplicado à Portagem, exemplo de aplicação das ferramentas: Polygon to Line (A) e Splite Line at Vertices (B). 59 Deste modo pode-se então extrair os segmentos de recta com maior comprimento (Select), porque se parte de rectângulos perpendiculares ao eixo da via, ficando novamente com uma selecção de duas linhas paralelas, encontrando-se agora com orientação perpendicular ao eixo da via. Realiza-se novamente a conversão das duas linhas paralelas para uma única linha central que passa precisamente pelo ponto de representação da portagem (Collapse Dual Line to Central Line). Posto isto, resta apenas eliminar os campos desnecessários da entidade, e que entretanto foram sendo criados por via das diferentes ferramentas utilizadas (Delete Field), e criar os novos campos que possibilitem registar todos os atributos referentes à entidade (Add Field) calculando aqueles que sejam necessários (Calculate Field) de acordo com a modelação inicial. Depois de convertida é carregada na IGeoE_BDG tal como qualquer outra entidade de carregamento directo. O resultado assim obtido permite converter e carregar esta entidade com um grau de confiança bastante aceitável uma vez que em ambas as situações apresentadas (Via Única e Dupla) as áreas de portagem não possuem muita variabilidade e como as áreas de teste são representativas da realidade tudo indica, para além dos testes, que será uma metodologia que apresente resultados satisfatórios. Conversão de Linha para Área, aplicada a Aterro e Desaterro Esta conversão, embora simples, atende a um aspecto importante que diz respeito ao sentido de aquisição dos elementos (vide Guia de Extracção de Informação). O Guia de Extracção de Informação do IGeoE para a série M888 refere que quer o aterro, quer o desaterro (figura 29 , respectivamente A e B) são adquiridos sempre de um ponto (1) até um ponto (2), sempre pelo lado direito da via. Para além disso, é ainda referido que a representação é sempre efectuada da cota mais alta para a mais baixa para ambos os casos. A dificuldade é manter o segmento de recta que identifica a cota mais alta inalterado. A abordagem a esta questão passa por atribuir uma área a cada elemento (Buffer), atendendo a que esta área deverá respeitar as características impostas. 60 Assim para o aterro a área é atribuída para a direita, com uma largura máxima de dois milímetros e com forma rectangular. Já para o desaterro, o processo é o mesmo, variando apenas na orientação da área, sendo esta para a esquerda. O resultado obtido, é o esperado do ponto de vista da conversão e não coloca em causa os atributos da entidade, em particular no que respeita à localização geográfica. A B Figura 29 - Imagem exemplificativa do Aterro (A) e Desaterro (B). para implementação do Modelo de Conversão de Linha a Área. Conversão de Linha para Área, aplicada ao Molhe A dificuldade existente na conversão desta entidade para área, depende exclusivamente de um único factor. Esta entidade pode ser encontrada com forma variável em que as diferentes linhas se podem encontrar fechadas, abertas e ainda com uma disposição de linhas que não permite atribuir-lhe forma (figura 42, A, B e C respectivamente). A B Figura 30 - Exemplo dos três tipos de Molhe 61 C Posto isto, logicamente não é possível aplicar um único método às três modalidades de restituição, optando-se então por uma solução que se pudesse aplicar a todos as entidades, mas cujo resultado final não fosse distinto de caso para caso. Para a realização desta tarefa optou-se por, em primeiro lugar fechar todas as linhas, (claro está que para aquelas a que não era possível atribuir forma, esta técnica não alteraria a sua condição). Para isso comecou-se por criar um ponto no ínicio e fim de cada linha (Feature Vertices to Points) e paralelamente a criação de uma nova entidade para alojar os dois tipos diferentes de pontos e permitir a manipulação em simultâneo (Create Feature Class e Append). Seguidamente, em torno de cada um dos pontos criou-se uma área com um raio de meia unidade de medida (Buffer), veja-se a figura 31. Realizada esta operação é possível então interceptar as áreas anteriormente extraídas com as linhas de aquisição do objecto (Intersect). Figura 31 - Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Buffer. Os segmentos de recta extraídos desta intercepção passam posteriormente para uma nova fase em que lhes é atribuída uma nova área, sendo que essa área terá dez milímetros (Buffer), e é ainda atribuída em duas fases diferenciadas, uma para a esquerda e outra para a direita. Este passo permite fechar todas as linhas, já que o resultado será um cruzamento de linhas, logo que seja processada a conversão de polígono para linha (Polygon to Line) e as linhas quebradas pelos vértices (Split Line at Vertices), veja-se a figura 32. 62 Finalmente extraem-se todos os segmentos com comprimento superior ou igual a uma unidade de medida, ficando assim unicamente as linhas paralelas aos segmentos de rectas extraídos inicialmente. Figura 32 - Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Polygon to Line e Split Line at Vertices Após a realização desta operação, junta-se este resultado a uma cópia da entidade original, obtendo deste modo objectos “completos”, no respeitante ao pormenor das linhas estarem agora fechadas. Assim sendo, já é possível converter a entidade para polígono (Feature to Polygon), figura 33. Figura 33 - Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Feature to Polygon Paralelamente (figura 34), e para evitar algumas deformações que vão surgindo com a utilização deste método, é necessário criar uma área com uma unidade de medida em torno da entidade original (Buffer). O objectivo é isolar a área dos elementos que são fundamentais para a sua definição, e os defeitos de forma que vão surgindo. Esta operação é realizada com base na eliminação das duas áreas que se sobrepõem (Erase). 63 A B Figura 34 - Modelo de Conversão de Linha a Área aplicado ao Molhe, exemplo de aplicação da ferramenta: Buffer(A) e Erase (B). Posto isto, efectua-se uma dissolução da entidade para que esta seja uniforme e perca todas as linhas que lhe foram adicionadas por forma a completar os polígonos (Dissolve). Seguidamente, e uma vez que foi realizada uma dissolução, é necessário passar de uma única entidade distribuída por diferentes localizações geográficas, para diferentes entidades (Multipart to Singlepart). Desta forma é agora possível escolher apenas aquelas que interessam, visto que com a operação anterior separamos as mesmas dos erros de geometria. Esta operação é realizada através da selecção dos objectos com uma área superior ou igual a catorze milímetros (Select), ao mesmo tempo que se efectua a atribuição de uma nova área em torno da entidade original de meia unidade de medida (Buffer), para que compense a porção anteriormente eliminada e ao mesmo tempo possa incluir as entidades às quais não foi possível atribuir forma. Fica completa esta operação, com a criação de uma nova entidade que possibilita alojar o resultado das duas operações que ocorrem neste passo (Append), e realizando nova dissolução para unir todos os objectos num só (Dissolve), e novamente dividi-los (Multipart to Singlepart). Em suma e após a leitura dos exemplos apresentados podem-se verificar algumas das diversas questões que se levantam e imaginar também outras de complexidade diferente que igualmente se encontraram envolvidas no processo de carregamento da IGeoE_BDG. Em suma é de referir que esta metodologia de carregamento criada serve o propósito único de carregar a BDG concebida e desenvolvida em UML com a informação do IGeoE. A especificidade da arquitectura da BD bem como a organização da informação 64 impõem que esta metodologia não possa ser directamente utilizada noutras situações sem que sejam feitas as devidas adaptações. Tal como já se referiu estas questões apenas surgem na fase inicial do projecto em que se converte a informação tipicamente armazenada num ficheiro do tipo CAD, em que a unidade de produção é a folha da Carta Militar 1:25 000. Quando se iniciarem os testes de aquisição directa para a BDG estes desaparecerão e novos irão surgir. Afinal esta fase é apenas transitória até à completa implementação da aquisição directa para BDG. 65 4. Conclusão 4.1. Conclusão Dos objectivos estabelecidos para este projecto, foram atingidos com sucesso: • A modelação de uma Base de Dados Geográfica para a Carta Militar de Portugal Continental da série M888 na escala 1:25 000. • A criação da respectiva BDG. • A integração na cadeia de produção deste Instituto concebendo e implementando uma metodologia de carregamento automática eficaz. Espera-se com o resultado obtido neste projecto contribuir para a actualização e optimização da cadeia de produção da série M888, com uma nova abordagem, novos processos e metodologias de trabalho de modo a dar resposta não só às necessidades bem como às actuais condicionantes que têm vindo a pautar a nossa realidade. Sejam elas ao nível da escassez de meios humanos, redução significativa dos fundos e aumento generalizado dos custos (principalmente logísticos), generalização do uso de formatos até aqui de utilização reduzida, etc. Para a prossecução deste fim é de extrema importância possuir um bom modelo de dados. Pois permite, de um ponto de vista conceptual, fornecer um entendimento profundo das entidades geográficas que o constituem, das relações que estas estabelecem e ainda da estrutura e dependências implícitas no mesmo. Apesar da missão primordial do IGeoE ser de cariz estritamente militar, não se pode esquecer que também a missão define como objectivo o apoio da sociedade civil. Existe então latente uma dicotomia que se torna visível ao longo desta dissertação e que na 66 verdade levantou muitas questões no que toca às normas que iriam reger a construção desta BDG. Se por um lado a vertente militar aconselha a observância rigorosa dos STANAG , por outro a vertente civil aconselha o uso das ISO. Na verdade estas não diferem muito umas das outras, apenas em pormenores muito específicos que dizem respeito apenas a aspectos particulares de cada uma delas, na sua essência são semelhantes. Como o objectivo que se pretendia alcançar era criar uma BDG que se adaptasse às necessidades específicas do IGeoE e porque na verdade a experiência adquirida mostra que: • É possível a geração automática da estrutura da BDG em XML (XML Schema) baseada numa modelação concebida em UML, fazendo uso das XML Encoding rules, • Os diagramas em UML não permitem obter uma modelação verdadeiramente completa apenas uma que seja conveniente, com soluções de compromisso. • E ainda que as normas, sejam elas STANAG ou ISO, necessitam de ser revistas e melhoradas, se no futuro se pretender realmente atingir o objectivo preconizado da interoperabilidade e da viabilidade de uso. Nenhuma das normas apresentadas foi seguida na sua plenitude de modo a permitir uma maior flexibilidade na modelação. Deste modo conseguiu-se aliar as potencialidades postas à disposição pela linguagem UML e as das soluções de software utilizadas. Pelo método de carregamento desenvolvido é visível que a conversão de entidades e seu carregamento entre diferentes BDG é possível estando assegurada, caso se pretenda, a migração para qualquer uma das normas apresentadas. Também por se tratar de um modelo que permite a geração automática de uma BDG, se possui a vantagem de a qualquer momento alterar o modelo, criar a BDG e carregá-la automáticamente num intervalo de tempo claramente reduzido quando comparado com o que era possível efectuar com outros métodos. Foi também objectivo não perder a riqueza de informação que carateriza os dados do IGeoE (Cadastro Militar). Assim aglomerou-se na mesma BDG a informação que 67 entretanto se tem vindo a guardar separadamente pelos vários reportórios de dados existentes. Apresentam-se-nos, no entanto, alguns inconvenientes por se estar perante uma cadeia de produção, com especificidades próprias, mas que não pode desacelerar muito menos parar. Daí que a implementação deste projecto seja alongada no tempo, de duração muito superior ao de execução desta dissertação de mestrado. Esta implementação será efectuada por fases e ocorrerá em simultâneo com o processo de produção actual: 1. Modelação (por objectos e em UML) de uma BDG. 2. Criação da IGeoE_BDG (realização de testes). 3. Conversão da informação e posterior carregamento da mesma (realização de testes). 4. Implementação da IGeoE_BDG no Departamento de Aquisição de Dados que é como quem diz no processo de Aquisição de Dados (Secção de Fotogrametria) e Completagem (Secção de Topografia). Guardando-se para mais tarde o estudo da viabilidade e implementação no resto da cadeia de produção (Edição, veja-se o ponto 4.2). Também existiu uma especial preocupação ao estruturar a nova BDG de modo a suportar não só o fluxo de trabalho actual assente na estrutura CAD, como também o fluxo de trabalho assente numa BD com a sua própria tipificação de estrutura, valências, vantagens e desvantagens (veja-se 2.5 Tipos de BD e Tipificação de Workflow). Por fim apesar de não ter sido efectuada a implementação de redes, apenas testado com algumas entidades e de modo aleatório, procedeu-se à sua compatibilização. É possível, está prevista e parcialmente testada. Resta descobrir se é um objectivo remunerador (finaceiro e/ ou estratégico) pois implica não só o tratamento de alguma da informação de base, bem como novas regras para a aquisição de informação e/ou para a validação (que tornam o processo mais moroso e oneroso) e ainda a criação e implementação de regras de conectividade (veja-se o 3.2.4. Criar uma Rede Geométrica e Regras de Conectividade). 4.2. Propostas de Melhoria 68 Propõem-se como melhoria os seguintes aspectos: • A implementação da aquisição directa para a IGeoE_BDG (em início de testes). • A criação (já em curso) e implementação da simbologia para a M888 (de modo a que a impressão directa a partir de BD tenha o mesmo output que o baseado nos ficheiros CAD). 4.3. Propostas para trabalho futuro Entende-se que uma verdadeira BDG que contemple o Território Continental Nacional que contenha toda a informação (ou pelo menos a mais relevante) que existe neste Instituto e sirva para descrever o mesmo Território, deve conter porque já o é possível, a informação relativa a Imagens Raster e informação relativa à descrição da superfície terrestre. A inclusão de informação do tipo Raster permite efectuar uma eficiente descrição da informação geográfica, pois apesar de possuir um formato simples permite apresentar uma grande variedade de informação p.e. do tipo temático, espectral, etc... Esta informação Raster pode então ser utilizada para vários fins como seja representar a Classificação e Uso dos Solos, configurações do terreno (MDT), Classificação de Cobertos Vegetais, Delineação de Orlas Costeiras ou Orlas Florestais, etc... No respeitante à inclusão de um Modelo de Superfície (TIN) hà que ter em conta que a grande maioria das entidades geográficas que existem na modelação efectuada ou em qualquer outra para o efeito, se encontram sobre a superfície terrestre. São exemplo os edifícios, estradas, pontes, etc... sendo modeladas tendo em conta os seus atributos, relações e comportamentos específicos. Encontram-se, no entanto, modeladas outro tipo de entidades, os rios, os montes, as valas, etc... que não se encontram na superfície mas se incluem nela. Apenas incluindo estas entidades numa representação contínua da superfície se podem executar análises (de superfície) por exemplo do tipo bacias de visão, análise hidrográfica, etc... Constítuindo esta capacidade adicional uma mais valia considerável naquela que se considera actualmente a ferramenta de eleição no Apoio à Decisão. 69 Bibliografia e Referências Bibliográficas Borges K, “Modelagem de dados geográficos”, Escola de Governo-Fundação João Pinheiro, Belo Horizonte, Brasil, 1997. Mark D. M. and Frank A. U. “Language issues for geographical information systems. National Center for Geographic Information and Analysis (NCGIA)”, Technical Report pp. 90-100, 1990. ESRI, “Case Tools Tutorial”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 92373-8100 United States of America, 2000 ESRI, “Designing Geodatabases with Visio”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 923738100 United States of America, 2000 ESRI, “Exploring ArcObjects – applications and cartography”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 92373-8100 United States of America, 2000 ESRI, “Introduction to Case Tools”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 92373-8100 United States of America, 2000 ESRI, “Modelling our world”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 92373-8100 United States of America, 2000 ESRI, “Map Generalization in GIS: Practical Solutions with Workstation ArcInfo Software”, The Cutting-Edge Technology, Environmental Systems Research Institute, Inc. New York Street, Redlands, CA 92373-8100 United States of America, 2000 ESRI, “Programing ArcObjects with VBA - a task oriented approach”, CRC Press, United States of America, 2000 Filho, J, “Projeto de Banco de Dados para Sistemas de Informação Geográfica”, Universidade Federal de Viçosa, 36571-000 Viçosa, Brasil, 2001. Eriksson H. E, Penker M., “UML Toolkit”, John Wiley & Sons, 1998 70 International Organization for Stadardization, “ISO/DIS 19108 – Geographic Information – Temporala schema”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, “ISO/DIS 19110 – Geographic Information – Methodology for feature Cataloguing”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, “ISO/DIS 19115 – Geographic Information - Metadata”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, “ISO/DIS 19136 – Geographic Information – Geography Markup Language”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, “ISO/DIS 19501 Unified Modeling Language (UML)”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, “ISO/DIS 19503 XML Metadata Interchange (XMI)”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 International Organization for Stadardization, Ad-Hoc Working Group, “Proposed Semantic Data Model for Geographic Data”, Technical Committee ISO/TC 211, Geographic Information/Geomatics, 2001 Oliveira J. L., Pires F., and Medeiros, C. M. B.. “An environment for modeling and design of geographic applications.” GeoInformatica pp. 29-58, 1997. Rumbaugh J., Jacobson I., Booch G., “The Unified Modeling Language User Guide.” AddisonWesley, 1999. Rumbaugh J., Jacobson I., Booch G., “The Unified Modeling Language Refrence Manual.” AddisonWesley, 1999. Rumbaugh J., Jacobson I., Booch G., “The Unified Modeling Language Developer Process.” AddisonWesley, 1999. 71 Rumbaugh J, Blaha M, Premerlani W, Eddy F, and Lorensen W. “Object-Oriented Modeling and Design.” Prentice-Hall, 1991. Karla A, Borges V, Clodoveu Davis A, and Laender A. H. F, “OMT-G: An object oriented data model for geographic applications”, GeoInformática, 2001. Borges K. A. V, Laender A. H. F, and Davis Jr. C. A. “Spatial data integrity constraints in object oriented geographic data modeling.” In Proceedings of the 7th International Symposium on Advances in Geographic Information Systems (ACM GIS’99), pp. 1-6, 1999. Kemp K. K. “Environmental modeling with GIS: a strategy for dealing with spatial continuity.” Ph.D. thesis, University of California at Santa Barbara, 1992. Lopes J. “Generalização Cartográfica”, FCUL, Tese de Mestrado, Lisboa, Portugal, pp. 32-47, 2005 NATO, “STANAG 2251 IGEO (EDITION 6) – Scope and Presentation of Military Geographic Information and Documentation (MGID)”, Military Agency for Standardization, Brussels, 1999. NATO, “STANAG 7074 IGEO (EDITION 2) – Scope and Presentation of Military Geographic Information and Documentation (MGID)”, Military Agency for Standardization, Brussels, 2001. Nunes, M. and O’Neill, H. “Fundamental de UML”, FCA Editora de Informática, Rua D. Estefânia 183-1º Esq, Lisboa, Portugal, 2001. Chen P. “The entity-relationship model-toward a unified view of data. ACM Transactions on Database Systems”, pp. 9-36, 1976. Abiteboul S. and Richard R. Hull. “IFO: A formal semantic database model.” ACM Transactions on Database Systems pp. 525-565, 1987. Silva, A. and Videira, C, “UML, Metodologias e Ferramentas CASE”, Centro Atlântico, V. N. Famalicão, Porto, Portugal, 2001. 72 Anexos 73 Anexo A – A estrutura do ArcInfo UML ModeL 1 Anexo A – A estrutura do ArcInfo UML Model Extracto da estrutura do ArcInfo UML Model utilizado como base de trabalho para a modelação da base de dados (versão para Microsoft® Visio® 2003). Fig A‐1 A estrutura base do ficheiro utilizado para a realização do trabalho de modelação. Fig A‐2 A estrutura de pastas, onde serão guardadas as diferentes partes do modelo criado. Fig A‐3 A estrutura da pasta, onde será guardada a parte do modelo criado, relativa às entidades de rede. Anexo A – A estrutura do ArcInfo UML ModeL 2 Fig A‐4 A estrutura da pasta, onde se guarda a informação do modelo relativa às interfaces criadas. Fig A‐5 extracto da estrutura da pasta que serve de apoio à criação da rede geométrica. Anexo A – A estrutura do ArcInfo UML ModeL 3 Fig A‐6 Extracto da pasta onde se encontra definida a informação relativa aos elementos base de qualquer rede geométrica e dos quais todas as entidades herdam alguns dos seus atributos . Fig A‐7 Extracto da estrutura da pasta que serve de apoio à criação dos Diagramas de Classes. Anexo B – Os Temas da IGeoE_BDG 1 Anexo B – Os Temas da IGeoE_BDG Extracto da modelação efectuada no respeitante aos temas, sua estrutura e implementação. Nota: a informação relativa às entidades apresentadas é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig B‐1 A pasta Workspace é o local da estrutura deste ficheiro onde se guarda a informação relativa não só aos Temas bem como às Classes e valores de Domínio. As pastas organizadas por Temas (a verde) e a definição das entidades que os compõem estão guardados dentro da pasta denominada MOD_25K (a azul). As restantes pastas na raíz da pasta workspace possuem dentro de cada uma a definição das Classes e valores padronizados que compõem cada Anexo B – Os Temas da IGeoE_BDG 2 Fig B‐2 A definição das Classes e dos valores padrões que compõem cada Tema. Anexo B – Os Temas da IGeoE_BDG 3 Fig B‐3 A imagem apresentada pretende mostrar como deve estar feita a organização da informação, apesar de se ter tido cuidado algum cuidado com o grafismo importa reter que é aqui que se define qual a organização da estrutura que se pretende criar, ao nível dos Temas e geometrias possíveis (a sua definição em pormenor é feita noutros locais como se vai poder perceber). Anexo C – As Classes e Relacões na IGeoE_BDG 1 Anexo C – As Classes e Relacões na IGeoE_BDG Extracto da modelação efectuada no respeitante a algumas das suas Classes e Relações implementadas. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig C‐1 A definição das Classes que foram definidas dentro do Tema da Altimetria. Fig C‐2 Na cor verde podem ver‐se as características inerentes à Classe das Curvas de Nível (os atributos por defeito e a classificação das respectivas curvas (as entidades que constituem a Classe) ‐ segmento a verde). Fig C‐2 Na cor azul podem ver‐se as características inerentes à Classe Linha de Costa (os atributos por defeito e o único tipo de entidades que constituem a Classe) – seta a azul). Anexo C – As Classes e Relacões na IGeoE_BDG 2 Fig C‐3 A definição efectuada para a entidade Curva de Nível Mestra Par. Fig C‐4 A imagem apresenta a definição exaustiva de todos os atributos da Classe Curvas de Nível. Fig C‐5 A definição da relação existente entre os Castelos ou Fortes e as Capelas. Anexo C – As Classes e Relacões na IGeoE_BDG 3 Fig C‐6 A definição da relação existente entre as Pontes Largas de Betão e as Estradas Estreitas. Fig C‐7 Na figura apresentada é possível ver como se implementou uma Class Extension (incluindo um interface). Anexo C – As Classes e Relacões na IGeoE_BDG 4 Nas figuras que se seguem, apresentam‐se para o Tema Vias de Comunicação não só as Classes que a constituem mas também todas as suas entidades e respectiva distribuição pelas Classes. Fig C‐8 Fig C‐9 Fig C‐10 Fig C‐11 Anexo C – As Classes e Relacões na IGeoE_BDG 5 Fig C‐12 Anexo D – As Entidades Geográficas da IGeoE_BDG 1 Anexo D – As Entidades Geográficas da IGeoE_BDG Extracto da modelação efectuada no respeitante a algumas das Entidades Geográficas implementadas. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig D‐1 Alguns dos atributos, inicialmente, definidos para algumas das entidades pertencentes ao Tema Terreno. Fig D‐2 Informação relativa à definição dos atributos para a entidade escarpado. Anexo D – As Entidades Geográficas da IGeoE_BDG 2 Fig D‐3 A definição da entidade Heliporto, seus atributos e possíveis valores (de acordo com o FACC). Fig D‐4 A definição das geometrias possíveis para toda e qualquer uma das entidades criadas nesta modelação. Anexo D – As Entidades Geográficas da IGeoE_BDG 3 Fig D‐5 Para o Tema Altimetria encontram‐se sinalizados a azul as entidades geográficas e a verde os respectivos subtipos. Fig D‐6 Agrupados por cores podem ver‐se os binómios entidade – subtipo (respectivo) e uma visualização simples dos seus atributos. Anexo E – Rede Geométrica e Regras de Conectividade 1 Anexo E – Rede Geométrica e Regras de Conectividade Extracto de informação respeitante a Redes Geométricas e Regras de Conectividade in [ESRI, 2000e]. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig E‐1 Os dois tipos de redes (geométrica e lógica) que podem ser ser definidas neste tipo de projectos (fazendo uso das aplicações mencionadas) in [ESRI, 2000e] pp. 131. Anexo E – Rede Geométrica e Regras de Conectividade 2 Fig E‐2 Os tipos de ligações que se podem implementar entre entidades in [ESRI, 2000e] pp. 132. Pode ver‐se em ambas as imagens e para cada tipo de rede: • • Em cima rede geométrica Em baixo rede lógica Anexo F – Exportação para XML e Validação Semântica 1 Anexo F – Exportação para XML e Validação Semântica Extracto de imagens exemplificativas da exportação para XML e posterior Validação Semântica. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig F‐1 O primeiro passo na exportação do modelo construído para o formato XML. Fig F‐2 Execução e conclusão, com sucesso, na exportação do modelo construído para o formato XML. Anexo F – Exportação para XML e Validação Semântica 2 Fig F‐3 Execução da validação semântica no ficheiro XML acabado de criar (contém a informação relativa à estrutura da futura BDG). Fig F‐4 Definição da informação a incluir no relatório da validação Semântica e informação do resultado obtido aquando da execução da mesma. Anexo G – Criação da IGeoE_BDG 1 Anexo G – Criação da IGeoE_BDG Extracto de imagens exemplificativas da criação da IGeoE_BDG. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig G‐1 Criação de uma BDG “vazia” para depois se poder carregar a estrutura (do XML). Fig G‐2 Selecção do ficheiro em formato XML onde se encontra guardado o modelo (caso se repita este passo a aplicação guarda a informação e avisa sempre que existirem alterações). Anexo G – Criação da IGeoE_BDG 2 Fig G‐3 A pré visualização da estrutura da futura BDG. Fig G‐4 Esta pré visualização permite verificar a estrutura criada, permitindo inclusivé pequenas alterações. Anexo G – Criação da IGeoE_BDG 3 Fig G‐5 A estrutura de todas as características de cada entidade geográfica. Fig G‐6 Tanto antes de se proceder ao carregamento da estrutura na BDG vazia (que atrás foi criada) como à posteriori da sua execução é apresentado um relatório detalhado que inclui uma descrição de todas as operações efectuadas. Anexo G – Criação da IGeoE_BDG 4 Fig G‐6 Apresentação da estrutura final obtida na modelação da BDG para a série M888 na escala 1:25 000 do IGeoE. Anexo H – Carregamento da IGeoE_BDG 1 Anexo H – Carregamento da IGeoE_BDG Extracto de imagens exemplificativas da metodologia de carregamento “automático” da IGeoE_BDG. Nota: a informação relativa a alguns dos elementos apresentados é apenas um extracto da totalidade da mesma visto que pela sua dimensão não permitiria uma visão de conjunto conveniente de toda a informação. Fig H‐1 Em cima à esquerda encontra‐se seleccionada (a azul) a ferramenta desenvolvida para efectuar a conversão e carregamento da informação para a IGeoE_BDG (a ferramenta possui incluidos todos os processos criados para executar todas as conversões e carregamentos de modo a partir do DGN do IGeoE e terminar com a IGeoE_BDG ). Fig H‐2 À esquerda pode‐se ver um extracto do modelo criado para converter a informação armazenada em ficheiros do tipo CAD e converter para o tipo SHP (leva com ela a informação relativa à toponímia, entidades representadas por células, etc...) Anexo H – Carregamento da IGeoE_BDG 2 Fig H‐3 A aplicação desenvolvida em VB6 para executar os modelos apresentados (na imagem anterior ) esta ferramenta permite, de um modo user friendly, seleccionar de uma só vez (independentemente do número) quais os ficheiros a converter de maneira a que se prossiga para as restantes fases de conversões e carregamentos. Anexo H – Carregamento da IGeoE_BDG 3 Fig H‐4 Na imagem de topo pode ver‐se o modelo completo, enquanto que na outra image, a central, permite verificar quais as ferramentas utilizadas, parametrizações impostas e metodologia seguida para converter com sucesso a entidade Portagem em Via Única ou Dupla (abordada e descrita no cap III – 3.3 Uma Metodologia de Carregamento). Anexo H – Carregamento da IGeoE_BDG 4 Fig H‐5 Extracto do relatório do modelo de carregamento criado no que se refere a todas as variáveis parametrizadas. É possível seleccionar todas e cada uma delas, obtendo um relatório mais pormenorizado de cada uma. Fig H‐6 Extracto do relatório do modelo de carregamento criado no que se refere a todas os processos utilizados, ferramenras implementadas e respectivas parametrizações. É também aqui possível seleccionar todas e cada uma delas, obtendo um relatório mais pormenorizado de cada uma. Anexo H – Carregamento da IGeoE_BDG 5 Fig H‐7 Extracto do relatório que é possível gerar sobre cada ferramenta programada para cada passo das conversões e carregamentos efectuados.