Baixe o app para aproveitar ainda mais
Prévia do material em texto
Luiz André Portes Paes Leme Uma arquitetura de software para catalogação automá tica de dados geográficos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de Pós- Graduação em Informática da PUC-Rio. Orientador: Prof. Marco Antonio Casanova Rio de Janeiro 8 de agosto de 2006 Luiz André Portes Paes Leme Uma arquitetura de software para catalogação automá tica de dados geográficos Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de Pós- Graduação em Informática da PUC-Rio. Aprovada pela Comissão Examinadora abaixo assinada. Prof. Marco Antonio Casanova Orientador PUC-Rio Prof. Daniel Schwabe PUC-Rio Profª. Karin Koogan Breitman PUC-Rio Prof. José Eugênio Leal Coordenador Setorial do Centro Técnico Científico - PUC-Rio Rio de Janeiro 8 de agosto de 2006 Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador. Luiz André Portes Paes Leme Engenheiro Eletrônico graduado pela Universidade do Estado do Rio de Janeiro em julho de 1989. Cursou Pós- graduação "latu-sensu" em Gerência e Desenvolvimento de Sistemas Distribuídos no Núcleo de Computação Eletrônica da UFRJ de julho/2000 a jun./2001. Coordenou projetos de Sistemas de Informação para a Golden Cross de 1996 a 2004 nas áreas de análise de sinistros e atendimento a clientes. Ficha Catalográfica Leme, Luiz André Portes Paes Uma arquitetura de software para catalogação automática de dados geográficos / Luiz André Portes Paes Leme ; orientador: Marco Antonio Casanova. – Rio de Janeiro : PUC-Rio, Departamento de Informática, 2006. 120 f. : il. ; 30 cm Dissertação (mestrado) – Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática Inclui bibliografia 1. Informática – Teses. 2. Dicionário geográfico. 3. Tesauro. 4. Alexandria digital library. 5. Catálogo. 6. Banco de dados. 7. Indexação. 8. Dado geográfico. 9. Metadado. 10. ISSO 19115. I. Casanova, Marco Antonio. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD: 004 Agradecimentos Ao meu orientador Professor Marco Antonio Casanova pelo grande estímulo e conhecimento técnico. À minha mulher pela paciência e carinho com que me estimulou a superar os desafios. Aos meus colegas da PUC-Rio, em especial à Daniela Brauner pelas inúmeras contribuições a este trabalho. Ao CNPq e à PUC-Rio, pelos auxílios concedidos, sem os quais este trabalho não poderia ter sido realizado. Aos professores que participaram da Comissão examinadora. A todos os professores e funcionários do Departamento pelos ensinamentos e pela ajuda. A todos os amigos e familiares que de uma forma ou de outra me estimularam ou me ajudaram. Resumo Paes Leme, Luiz André Portes. Uma arquitetura de software para catalogação automática de dados geográficos. Rio de Janeiro, 2006. 120p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Dados geográficos estão disponíveis em quantidade e variedade crescentes à medida que evoluem as tecnologias de informática. Para torná-los úteis, é necessário que mecanismos de busca de dados possam identificar dados apropriados a determinado propósito. Tais mecanismos, comumente, utilizam catálogos de metadados que descrevem cada dado geográfico. Entretanto, a geração de metadados é um processo que pode consumir muito tempo e estar sujeito a muitos erros, caso seja feito manualmente. Essa dissertação apresenta uma arquitetura de software e tecnologias correlatas para aplicações de catalogação automática de dados geográficos. Palavras-chave 1. Informática – Teses; 2. dicionário geográfico; 3. tesauro; 4. Alexandria Digital Library; 5. catálogo; 6. banco de dados; 7. indexação; 8. dado geográfico 9. metadado; 10. ISO 19115 Abstract Paes Leme, Luiz André Portes. A software architecture for automated cataloguing of geographic data. Rio de Janeiro, 2006. 120p. MSc. Dissertation - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. The amount and variety of geographic data increase as technology evolves. To make them useful it is necessary to implement search engines capable of identifying appropriate data. Such engines are usually based on metadata catalogs which describe the geographic data. However, the metadata generation process is time consuming and is not fail safe if it is carried out manually. This dissertation presents a software architecture, and related technologies, for the construction of automated cataloguing applications of geographic data. Palavras-chave 1. information science – thesis; 2. gazetteer; 3. thesaurus; 4. Alexandria Digital Library; 5. catalog; 6. database; 7. indexing; 8. geographic data; 9. metadata; 10. ISO 19115 Sumário 1 Introdução 12 1.1. Motivação 12 1.2. Trabalhos relacionados 13 1.3. Organização do trabalho 15 2 Dicionários e catálogos 17 2.1. Padrões de metadados 19 2.1.1. Padrão ISO 19115 19 2.1.2. Padrão FGDC 23 2.2. Interface de serviço de catálogos 26 2.2.1. OpenGIS Services Framework 26 2.2.2. Geospatial Web Services Architecture 28 2.2.3. OGC Catalogue Service 2.0 29 2.3. Dicionários geográficos 32 2.3.1. Exemplos de dicionários geográficos 32 2.3.2. Classificação de objetos geográficos 34 2.3.3. Padrões para dicionários geográficos 35 2.3.4. Alexandria Digital Library Gazetteer 38 3 Arquitetura de software para catalogação automática de dados geográficos 42 3.1. Estratégia de catalogação 42 3.2. Requisitos da arquitetura 46 3.3. Processo de catalogação 50 3.4. Geração de metadados 52 3.5. Esquema de metadados 55 4 Implementação do GeoCatalog 58 4.1. Casos de uso 59 4.2. Padrão arquitetural da aplicação 67 4.3. Interface de usuário 68 4.3.1. Interação com usuário 70 4.3.2. Atualização das informações de interface de usuário 72 4.3.3. Configuração de um processo de catalogação 74 4.4. Inicialização de processo de catalogação 74 4.5. Geração de metadados 77 4.6. Framework de catalogação de dados 80 4.7. Métricas e organização do código 87 4.8. Exemplo de utilização 89 5 Conclusões e trabalhos futuros 94 6 GLOSSÁRIO 96 7 REFERÊNCIAS 99 8 APÊNDICE A – Protocolo de Serviço do ADL Gazetteer (esquemas XML) 101 9 APÊNDICE B – Casos de teste 109 Lista de figuras Figura 1 – Esquema do processo de identificação de áreas de alagamento ao redor de um rio 13 Figura 2 – Esquema de organização de dados geográficos definidos pela ISO 19115 20 Figura 3 – Esquema geral de metadados geográficos definidos pela ISO19115 21 Figura 4 – Componentes do OpenGIS Services Framework 27 Figura 5 – Camadas de serviços na arquitetura OWS 29 Figura 6 – Arquitetura interna de um serviço de catálogo 30 Figura 7 – Fragmento da hierarquia de termos do ADL Gazetteer Feature Type Thesaurus 35 Figura 8 – Um fragmento do ADL Feature Type Thesaurus e uma imagem da cidade do Rio de Janeiro 46 Figura 9 - Arquitetura de agentes para o processo de catalogação 48 Figura 10 - Processo de catalogação automática 51 Figura 11 - Recuperação de informações 54 Figura 12 - Esquema de metadados 57 Figura 13 – Diagrama de Casos de Uso 59 Figura 14 - Divisão de componentes do GeoCatalog segundo o padrão MVC 68 Figura 15 – Componentes da interface de usuário do GeoCatalog 69 Figura 16 - Janela de área de trabalho 70 Figura 17 - Estrutura do padrão de projeto Command 70 Figura 18 - Padrão Command no GeoCatalog71 Figura 19 - Estrutura do padrão de projeto Observer 72 Figura 20 - Estrutura do padrão de projeto Factory Method 75 Figura 21 – Fábrica de objetos do GeoCatalog 76 Figura 22 - Infra-estrutura para criação de agentes 77 Figura 23 – Framework de catalogação automática 83 Figura 24 – Arquivo contendo a descrição de área geográfica do entorno do estádio do Maracanã (Rio de Janeiro) 89 Figura 25 – Arquivo contendo a descrição de uma região vazia 90 Figura 26 – Arquivo com erro de estrtura (falata o identificador) 90 Figura 27 – Configuração de processo de catalogação no GeoCatalog 91 Figura 28 – Metadados produzidos pela catalogação dos arquivos de dados anteriormente especificados 92 Figura 29 – Metadados produzidos pela catalogação dos arquivos de dados anteriormente especificados (cont.) 93 Figura 30 - Estratégia de teste 111 Lista de tabelas Tabela 1 – Conjunto de metadados principal definidos pela ISO 19115 22 Tabela 2 – Conjunto de metadados principal definidos pela ISO 19115 (cont.) 23 Tabela 3 – Elementos de metadado obrigatórios no padrão FGDC 24 Tabela 4 – Elementos de metadado obrigatórios no padrão FGDC (cont.) 25 Tabela 5 – Elementos de metadado obrigatórios no padrão FGDC (cont.) 26 Tabela 6 – Conjunto de metadados mínimo 31 Tabela 7 – Conjunto de metadados mínimo (cont.) 32 Tabela 8 – Relacionamentos entre conceitos de um tesauro 34 Tabela 9 – Alguns atributos selecionados do esquema conceitual da ISO 19112 36 Tabela 10 – Alguns atributos selecionados do ADL Gazetteer Content Standard 37 1 Introdução 1.1. Motivação Dados geográficos estão disponíveis em uma grande variedade de repositórios, desde os computadores pessoais até repositórios sofisticados mantidos por organizações. Para ajudar na localização e acesso aos dados disponíveis, um tipo de solução frequentemente utilizado é organizar descrições dos dados em catálogos de metadados. Apesar da óbvia utilidade dos catálogos de metadados, o processo de gerá-los manualmente pode ser tedioso ou até impossível, dependendo da quantidade de metadados envolvida. Por isso, catálogos devem possuir um componente que automatiza o processo de geração e armazenamento de metadados tanto quanto possível. Tal componente pode obter metadados tanto por uma análise do recipiente onde se encontra armazenado o dado a ser catalogado, como dos dados já armazenados no próprio catálogo ou em outro repositório disponível. Em se tratando do domínio de sistemas de informação geográfica, temos duas valiosas ferramentas para abordar esse problema. Primeiro, vários sistemas de geo-referenciamento associam a cada entidade geográfica sua posição na superfície terrestre, o que funciona como um identificador universal para a entidade, ou pelo menos uma aproximação. Em segundo, muitos dicionários de nomes geográficos têm sido desenvolvidos e disponibilizados na Web nos últimos anos. É possível generalizar a solução do problema de localização e acesso a dados geográficos para outros tipos de dados. A diferença encontra-se nas técnicas utilizadas para a geração dos metadados. Introdução 13 Neste trabalho propomos uma estratégia de geração e catalogação automática de metadados e uma arquitetura de software para implementá-la. A arquitetura foi concebida de maneira que gerasse como subproduto um framework para catalogação automática de dados de quaisquer naturezas. Não abordamos, no entanto, estratégias de geração de metadados para dados não geográficos. 1.2. Trabalhos relacionados Para encaminhar o problema da catalogação de dados geográficos, inúmeras soluções têm sido propostas na comunidade científica. A seguir são brevemente apresentados alguns trabalhos relacionados que serviram e podem vir a servir, sobremaneira, como inspiração e fontes de informação para o desenvolvimento desta pesquisa. Figura 1 – Esquema do processo de identificação de áreas de alagamento ao redor de um rio Em The Role of Spatial Relations in Automating the Semantic Annotation of Geodata, Klien e Lutz [2] propõem um procedimento para descrição semi- automática de dados geográficos com o propósito de identificar áreas de alagamento ao redor de rios. As descrições são produzidas a partir da identificação de relacionamentos topológicos, através de operações GIS, entre dados de referência e dados que se deseja descrever. Em seguida, uma Introdução 14 ontologia geo-espacial é utilizada para classificar os dados e associá-los entre si através dos relacionamentos topológicos identificados. Por fim, técnicas de mineração de dados sobre a ontologia e seus dados são empregadas para identificar as áreas de interesse. Um esquema dessa abordagem pode ser visto na Figura 1. Em Semantic Annotation of Image Collections, Hollink et al. [4] apresentam uma ferramenta para registro de descrições e busca de dados em uma coleção de imagens de arte. As descrições são produzidas baseadas em um vocabulário restrito e definido por quatro dicionários: The Art and Architecture Thesaurus (AAT), WordNet, IconClass e The Union list of Artist Names (ULAN). O esquema de metadados é derivado do VRA 3.0, que é uma especialização do Dublin Core para aplicações de imagens de arte. A qualidade e precisão das descrições baseiam-se em duas técnicas. Na primeira, o domínio de cada atributo da imagem é limitado a um vocabulário especifico de um ou mais dos quatro dicionários, dessa forma padroniza-se o vocabulário empregado. Por exemplo, o nome do artista autor da obra é selecionado, pela ferramenta, do ULAN, a descrição da cena pode ser obtida no IconClass, etc. A segunda técnica presta-se a registrar sentenças de descrição da obra. É proposta uma sintaxe na forma: “agente – ação – objeto – recipiente”. Um exemplo dessa abordagem é um quadro de Chagal que poderia ser descrito pela seguinte sentença: “Chagal, Mark kiss wives”. Também aqui, é empregado um vocabulário controlado oferecido pelos dicionários. Para o mecanismo de busca é proposto o alinhamento dos dicionários pela implementação de relacionamentos entre termos. Três tipos de relacionamentos são definidos: equivalência, subclasse e domínio específico. Uma equivalência ocorre quando dois termos de dicionários diferentes são equivalentes. Uma subclasse é quando um termo em um dicionário define um conceito que pode ser visto como uma subclassificação de um conceito em outro dicionário. Por fim, o domínio específico mapeia conceitos que, embora diferentes, estão relacionados de alguma forma, por exemplo, técnicas de pintura e materiais utilizados. Essa técnica permite utilizar o vocabulário de todos os dicionários para formular-se consultas aos dados. Introdução 15 Em The Role of Gazetteers in Geographic Knowledge Discovery on the Web, Ligiane Souza et al. [3] descrevem a arquitetura do dicionário geográfico LOCUS e seu mecanismo de consulta. Propõem que essa ferramenta seja utilizada em conjunto com motores de busca de páginas Web para permitir a seleção de dados com base em informações geográficas. Apresentam, também, uma estratégia para popular o dicionário a partir de páginas Web disponíveis. Um agente percorre várias URL’s procurando por informações que se encaixam em padrões previamente especificados pelo usuário e extraem deles fragmentos de informação para compor uma entrada do dicionário. Exemplificam o processo com a home page de um hotel da qual são extraídos o nome do hotel, seu endereço e telefones. O endereço capturado é, então, cruzado com informações prévias contidas no dicionário para agregar-lhe referências geográficas e finalmente cadastrado no dicionário. Em GeoReferencing the Semantic Web: ontology based markup of geographically referenced information, Hiramatsu et al. [5] apresentam duas ferramentas para tratamento de informaçõesgeo-referenciadas. A primeira permite ao usuário editar graficamente formas geométricas geo-referenciadas e produz um arquivo RDF contendo todos os relacionamentos topológicos entre elas. Para esse processo, Hiramatsu desenvolveu uma ontologia de descrição de relacionamentos topológicos e outra para classificação de locais geográficos, como estado, continente, país, etc. A segunda ferramenta seleciona, em um repositório de objetos, duas entradas e calcula o relacionamento topológico entre elas. Os objetos são previamente descritos em RDF, utilizando a ferramenta anterior, e armazenados no repositório. Serviços Web para consulta ao repositório e cálculo de relacionamento foram especialmente desenvolvidos. 1.3. Organização do trabalho Esse trabalho está organizado da seguinte forma. O capítulo 2 apresenta as principais tecnologias utilizadas para catalogação automática de dados geográficos: catálogos de metadados e dicionários geográficos. Para catálogos, são indicados padrões internacionais de esquemas de dados e interfaces de serviços. Para dicionários, são descritos brevemente alguns dicionários existentes e feita uma análise mais detalhada para o ADL Gazetteer. O capítulo 3 especifica um método para correlacionar dados geográficos com objetos de um Introdução 16 dicionário de modo a obter uma descrição do dado. Apresenta, também, uma arquitetura de software para aplicar esse método na catalogação automática dos dados. O capítulo 4, como prova dos conceitos apresentados, especifica um projeto de software para catalogação automática de dados geográficos. Ao final do capítulo os conceitos de catalogação automática são generalizados em um framework que pode ser customizado para tratar outros tipos de dados. Por fim, o capítulo 5 apresenta algumas conclusões sobre esta dissertação e indica algumas linhas de pesquisa a serem desenvolvidas a partir do exposto aqui. 2 Dicionários e catálogos A crescente disseminação de informações geográficas digitais como, por exemplo, cartas geográficas e imagens de satélite, aliada à crescente oferta de sistemas de informações geográficas, requerem métodos para melhor entendimento de dados geográficos disponíveis. Dados geográficos digitais têm o propósito de representar o mundo real para análise por computador. São representações da realidade onde aproximações, simplificações e omissões podem ocorrer. Para garantir que um dado não será erroneamente utilizado as suposições e limitações envolvendo sua produção devem ser completamente documentadas. Metadados permitem que os produtores dos dados os descrevam apropriadamente, de modo que os usuários possam avaliar mais precisamente sua aplicabilidade e uso. Dados geográficos são, normalmente, utilizados por terceiros, ou seja, pessoas, organizações, etc. Documentação apropriada permite, àqueles não familiarizados com os dados, utilizá-los corretamente. Metadados, por definição, são dados sobre dados, isto é, dados que descrevem outros dados. Fornecem informações sobre o conteúdo de um dado, informações históricas, modo de obtenção do dado, sua qualidade, etc. Iremos assumir que dados geográficos terão ao menos uma escala e uma descrição da área da superfície terrestre coberta por ele. Essa descrição é frequentemente um retângulo ou um paralelogramo cujos vértices são definidos por coordenadas em um dado sistema de referência (CRS). A escala, a descrição da área coberta e o CRS utilizado são tratados como metadados dos dados. Catálogos de metadados geográficos contém metadados de dados geográficos [8]. São a estratégia mais simples de compartilhamento de dados geográficos entre aplicações. Tais catálogos oferecem serviços de consulta e Dicionários e catálogos 18 manipulação de metadados, bem como, serviços de intermediação de recuperação de dados geográficos. Catálogos não armazenam o dado geográfico em si, mas possuem uma referência para o seu local de armazenamento. Assim, na recuperação de um dado, o serviço é redirecionado para o sistema de armazenamento do dado que o localiza e o retorna ao cliente. Para um compartilhamento efetivo de dados, não é suficiente a disponibilidade de descrições detalhadas. É necessário que o esquema de metadados e as interfaces de consulta e recuperação sejam internacionalmente padronizadas. Duas autoridades propõem esquemas de metadados para dados geográficos: US Federal Geographic Data Comittee (FGDC)1 e o International Organization of Standards (ISO)2. O FGDC é um comitê dos EUA que coordena o compartilhamento de dados geográficos através do portal Geodata3. Utiliza dados da National Spatial Data Infraestructure (NSDI) Clearing Network. Essa rede é uma coleção de catálogos de metadados conhecida como Clearinghouse Nodes. Cada nó é hospedado por uma organização diferente e contém metadados que descrevem dados sob sua área de responsabilidade. O FDGC está, atualmente, conduzindo o desenvolvimento de uma adaptação para os EUA do padrão ISO 19115:2003 que veremos a seguir. A ISO é uma organização internacional, formada por representantes de diversas empresas e governos, para estabelecer padrões internacionais. Seu trabalho é, normalmente, conduzido por comitês técnicos. Cada membro da organização interessado em algum assunto para o qual foi estabelecido um comitê tem o direito de se fazer representar nele. Organizações internacionais, governamentais e não governamentais, em colaboração com a ISO, também tomam parte no trabalho. 1 http://www.fgdc.gov 2 http://www.iso.org 3 http://www.geodata.com Dicionários e catálogos 19 O comitê técnico ISO/TC211, Geographic Information/ Geomatic foi constituído para especificar um esquema de metadados para dados geográficos. Esse esquema foi apresentado na norma ISO 19115:2003. O Open Geospatial Consortium (OGC)4 é uma organização não lucrativa, internacional, que está conduzindo o desenvolvimento de padrões para serviços geo-espaciais e serviços baseados em localização. A OGC atua com governos, indústria e universidades para criar interfaces de programação abertas e extensíveis para Sistemas de Informações Geográficas (GIS). O OGC desenvolveu uma especificação, atualmente na versão 2.0, para a interface de serviços de catálogo que suporta a publicação e consulta de metadados para dados e serviços geográficos, bem como a localização e recuperação de recipientes de dados geográficos selecionados. 2.1. Padrões de metadados 2.1.1. Padrão ISO 19115 A ISO 19115:2003 propõe um padrão de metadados para dados e serviços geográficos digitais. A norma define elementos de metadados (identificação, extensão, qualidade, esquema temporal e espacial, referência espacial e distribuição do dado) e fornece um esquema e uma terminologia de metadados comum. Ela faz referência a outras normas da série 191xx que devem ser consultadas para esclarecimentos mais específicos. Estruturas de dados básicas organizam os dados e seus relacionamentos com metadados. A Figura 2 apresenta o esquema dessas estruturas. Dados geográficos (DS_Dataset) são coleções de dados identificáveis. Podem representar abstrações menores do mundo real que, limitadas por alguma restrição como extensão espacial ou tipo de objeto, estão fisicamente localizados dentro de outra representação maior do mundo real ou outro dado. 4 http://www.opengeospatial.com Dicionários e catálogos 20 Dados podem representar tanto um único objeto geográfico, quanto um mapa, imagem geográfica, ou qualquer outro dado geográfico. Uma agregação de dados é uma abstração para agrupar conjuntos de dados geográficos relacionados. Pode ser especificada como um agrupamento de uso geral (DS_OtherAggregate), uma série de dados(DS_Series)5 ou como uma atividade especial (DS_Initiative). Por sua vez, uma série de dados pode ser do tipo plataforma de sensoriamento (DS_Platform), sensor (DS_Sensor) ou uma produção em série (DS_ProductionSeries). Uma agregação pode agrupar outras agregações e, assim formar uma hierarquia de dados. 0..* 0..* +propertyTypeMetadata +propertyType 0..* 0..* +featureAtributeMetadata +featureAtribute 0..* 0..* +featureTypeMetadata +featureType 0..* 1..* +describes +has 0..* 1..* +series +seriesMetadata 0..* 0..* +superset +subSet MultipleAggregation 0..* 1..* +partOf +composedOf Serializable DS_Aggregate Serializable DS_DataSet Serializable MD_Metadata DS_SeriesDS_OtherAggregate DS_Initiative DS_SensorDS_Platform DS_ProductionSeries GF_AtributeTypeGF_FeatureType GF_PropertyType DS_StereoMate Figura 2 – Esquema de organização de dados geográficos definidos pela ISO 19115 Os metadados são normalmente associados ao conjunto de dados, que deve possuir pelo menos uma estrutura de metadados. Ao tratar-se de séries de 5 Um conjunto de dados do tipo série é uma coleção de dados que compartilham a mesma especificação de produto. Dicionários e catálogos 21 dados a norma propõe que a agregação dos dados possua pelo menos uma estrutura de metadados. Os metadados estão distribuídos por várias estruturas de dados que organizam as informações segundo sua natureza. O esquema geral dessas estruturas pode ser visto na Figura 3. O conjunto principal de metadados (MD_Metadata) pode ser complementado com metadados sobre a representação espacial (MD_SpatialRepresentation) do dado geográfico, sistemas de geo-referenciamento (MD_ReferenceSystemInformation), qualidade do dado (MD_DataQuality), identificação do dado (MD_Identification), etc. 0..* +resourceConstraints 0..* 0..* +referenceSystemInfo 0..* +metadataExtensionInfo 0..1 +metadataMaintenance 0..* +metadataConatraints 0..* +applicationSchemaInfo 0..* +portrayalCatalogueInfo 0..* +contentInfo 0..1 +distributionInfo 0.. +dataQualityInfo 0..* 1..* +identificationInfo +resourceMaintenance +spatialRepresentationInfo Serializable MD_Metadata +featureType:GF_FeatureType +atributeType:GF_AtributeType +fileIdentifier:String +language:String +characterSet:String +parentIdentifier:String +hierarchyLevel:MD_ScopeCode +hierarchyLevelName:String +contact:CI_ResponsibleParty +dateStamp:Date +metadataStandardName:String +metadataStandardVersion:String +dataSetURI:String +series:DS_Aggregate -describes:DS_DataSet MD_PortrayalCatalogueReference MD_Conatraints MD_ApplicationSchemaInformation MD_MaintenanceInformation MD_Identification MD_ReferenceSystem DQ_DataQuality MD_Distribution MD_ContentInformation MD_MetadaExtensionInformationSerializable MD_SpatialRepresentation Figura 3 – Esquema geral de metadados geográficos definidos pela ISO19115 Existe um conjunto extenso de elementos de metadados, do qual somente um subconjunto é, normalmente, utilizado. Entretanto, é essencial que um conjunto básico, mínimo, de elementos de metadados seja utilizado para Dicionários e catálogos 22 descrever um conjunto de dados. A Tabela 2 lista os elementos de metadados principais para identificar dados geográficos, tipicamente para propósitos de catalogação. Os elementos com o símbolo (M) são definidos como obrigatórios, aqueles com (O) são opcionais e aqueles com (C) são obrigatórios em algumas circunstâncias. Essa lista contém elementos para responder às seguintes questões: “Existe dado sobre um tópico específico (‘O que’)?”, “Sobre algum lugar (‘Onde’)?”, “Em alguma data ou período (‘Quando’)?” e “Qual o ponto de contato para obter mais informações sobre o dado ou obter cópia (‘Quem’)?”. Elemento de metadado Descrição MD_Metadata>MD_DataIdentification.citation >CI_Citation.title Dataset title (M) MD_Metadata>MD_DataIdentification.spatial RepresentationType Spatial representation type (O) MD_Metadata>MD_DataIdentification.citation >CI_Citation.date Dataset reference date (M) MD_Metadata>MD_ReferenceSystem Reference system (O) MD_Metadata>MD_DataIdentification.pointOf Contact>CI_ResponsibleParty Dataset responsible party (O) MD_Metadata>DQ_DataQuality.lineage>LI_Li neage Lineage (O) MD_Metadata>MD_DataIdentification.extent> EX_Extent>EX_GeographicExtent>EX_Geog raphicBoundingBox or EX_GeographicDescription Geographic location of the dataset (by four coordinates or by geographic identifier) (C) MD_Metadata>MD_Distribution>MD_DigitalTr ansferOption.onLine>CI_OnlineResource On-line resource (O) MD_Metadata>MD_DataIdentification.langua ge Dataset language (M) MD_Metadata.fileIdentifier Metadata file identifier (O) MD_Metadata>MD_DataIdentification.charact erSet Dataset character set (C) Tabela 1 – Conjunto de metadados principal definidos pela ISO 19115 Dicionários e catálogos 23 Elemento de metadado Descrição MD_Metadata.metadataStandardName Metadata standard name (O) MD_Metadata>MD_DataIdentification.topicCa tegory Dataset topic category (M) MD_Metadata.metadataStandardVersion Metadata standard version (O) MD_Metadata>MD_DataIdentification.spatial Resolution>MD_Resolution.equivalentScale or MD_Resolution.distance Spatial resolution of the dataset (O) MD_Metadata.language Metadata language (C) MD_Metadata>MD_DataIdentification.abstrac t Abstract describing the dataset (M) MD_Metadata.characterSet Metadata character set (C) MD_Metadata>MD_Distribution>MD_Format. nameandMD_Format.version Distribution format (O) MD_Metadata.contact>CI_ResponsibleParty Metadata point of contact (M) MD_Metadata>MD_DataIdentification.extent> EX_Extent>EX_TemporalExtent or EX_VerticalExtent Additional extent information for the dataset (vertical and temporal) (O) MD_Metadata.dateStamp Metadata date stamp (M) Tabela 2 – Conjunto de metadados principal definidos pela ISO 19115 (cont.) A utilização de itens opcionais, além dos itens obrigatórios aumentará a interoperabilidade entre aplicações, permitindo aos usuários compreender os dados geográficos e os metadados relacionados livres de ambigüidades. Versões customizadas do conjunto de metadados devem incluir os últimos. 2.1.2. Padrão FGDC O Content Standard for Digital Metadata (CSDGM) (FGDC 1998) estabelece um conjunto de terminologias e definições para a documentação de dados geográficos digitais, incluindo elementos de metadados para os seguintes tópicos: • Identificação: nome, desenvolvedor, área geográfica coberta, temas de informação incluídos, restrições de acesso. • Qualidade de dado: precisão de posição e de atributos, integridade, consistência, procedência. Dicionários e catálogos 24 • Organização espacial do dado: modelo de dados espacial utilizado para codificar o dado geográfico, número de objetos geográficos, métodos além de coordenadas, utilizados para codificar localizações, tais como ruas e endereços. • Referências espaciais: codificação das localizações das coordenadas, projeção de mapa ou sistema grade utilizado, parâmetros para converter o dado para outro sistema de coordenadas. • Informação de entidade e atributos: informação geográfica (estradas, casas, elevação, temperatura, etc.) • Distribuição: agência de distribuição, formatos e mídias disponíveis, preço, distribuição on-line. • Referência dos metadados: timestamp e agência responsável pela compilação dos metadados. A Tabela 3, a Tabela 4 e a Tabela 5 mostram os elementos de metadados obrigatórios no padrão FGDC. XML Tag Elemento de Metadado Descrição Data Originator /metadata/idinfo/citation/citeinfo/origin/ O nome de uma organização ou de um indivíduo que gerou o dado Data Title /metadata/idinfo/citation/citeinfo/title/ O nome pelo qual o dado é conhecido Abstract /metadata/idinfo/descript/abstract/Um a breve resumo sobre o dado Progress /metadata/idinfo/status/progress O estado do dado West Bounding Coordinate /metadata/idinfo/spdom/bounding/westbc/ Coordenada mais a oeste da area coberta pelo dado expressa em longitude East Bounding Coordinate /metadata/idinfo/spdom/bounding/eastbc/ Coordenada mais a leste da área coberta pelo dado expressa em longitude North Bounding Coordinate /metadata/idinfo/spdom/bounding/northbc/ Coordenada mais ao norte da área coberta pelo dado expressa em latitude Tabela 3 – Elementos de metadado obrigatórios no padrão FGDC Dicionários e catálogos 25 XML Tag Elemento de Metadado Descrição South Bounding Coordinate /metadata/idinfo/spdom/bounding/southbc/ Coordenada mais ao sul da área coberta pelo dado expressa em latitude Theme Keyword /metadata/idinfo/keywords/theme/themekey/ Palavra ou frase mais frequentemente utilizada para descrever o conteúdo do dado Metadata Contact Organization /metadata/metainfo/metc/cntinfo/cntorgp/cntorg/ O nome da organização para a qual o tipo de contato se aplica Metadata Contact Person /metadata/metainfo/metc/cntinfo/cntperp/cntper/ O nome do indivíduo para o qual o tipo de contato se aplica Metadata Contact Address City A cidade do endereço Metadata Contact Address State or Province /metadata/metainfo/metac/cntinfo/cntaddr/state/ O estado ou provincial do endereço Metadata Contact Address Postal Code /metadata/metainfo/metac/cntinfo/cntaddr/postal/ Código postal do endereço Publication Date /metadata/idinfo/citation/citeinfo/pubdate/ A data de liberação para publicação ou data de publicação Purpose /metadata/idinfo/descript/purpose/ Um resumo do propósito de geração do dado Time Period of Content: Single Date /metadata/idinfo/timeperd/timeinfo/sngdate/caldate Time Period of Content: Range of Dates, Beginning Date /metadata/idinfo/timeperd/timeinfo/rngdates/begdate/ Time Period of Content: Range of Dates, Ending Date /metadata/idinfo/timeperd/timeinfo/rngdates/enddate/ O período de tempo pelo qual o dado corresponde à referência Currentness Reference /metadata/idinfo/timeperd/current/ A base de tempo sob a qual o período de tempo é determinado Maintenance and Update Frequency /metadata/idinfo/status/update A freqüência com a qual alterações e adições são realizadas sobre o dado após sua primeira produção Tabela 4 – Elementos de metadado obrigatórios no padrão FGDC (cont.) Dicionários e catálogos 26 XML Tag Elemento de Metadado Descrição Theme Keyword Thesaurus /metadata/idinfo/keywords/theme/themekt/ Referência a um tesauro formalmente registrado ou a uma autoridade similar Access Constraints /metadata/idinfo/accconst/ Restrições e pré-requisitos para acesso ao dado Use Constraints /metadata/idinfo/useconst/ Restrições e pré-requisitos legais para utilizar o dado Metadata Contact Address Type /metadata/metainfo/metc/cntinfo/cntaddr/addrtype/ Tipo de endereço Metadata Contact Phone number /metadata/metainfo/metc/cntinfo/cntvoice/ O número de telefone do contado Metadata Date Data de criação ou última atualização do dado Tabela 5 – Elementos de metadado obrigatórios no padrão FGDC (cont.) 2.2. Interface de serviço de catálogos 2.2.1. OpenGIS Services Framework As especificações OGC seguem uma arquitetura de referência, chamada OpenGIS Services Framework (OSF) [19], que identifica serviços, interface e protocolos de troca de dados que as aplicações podem utilizar. Resumidamente o OSF consiste no seguinte (Figura 4): • Padrões de codificação: padrões que especificam intercâmbio e armazenamento de dados geográficos, incluindo sistemas de referenciamento espacial e topologia e geometria de objetos geográficos. Incluem a Geography Markup Language (GML). • Interface de serviços: componentes que, no lado cliente, interagem com usuários e no lado servidor, interagem com a aplicação de catálogo e servidores de dados. Dicionários e catálogos 27 • Serviços de registro: componentes que oferecem mecanismos para classificar, registrar, descrever, procurar, manter e acessar dados sobre recursos disponíveis. Incluem Web Registry Service (WRS). • Serviços de visualização: componentes que oferecem suporte específico para visualização de dados geográficos na forma de mapas, perspectivas tridimensionais de terreno, imagens anotadas, etc. Incluem o Web Map Service (WMS), o Coverage Portrayal Service (CPS) e o Style Management Service (SMS). • Serviços de dados: componentes que fornecem serviços básicos de acesso a dados geográficos. Incluem o Web Object Service (WOS), o Web Feature Service (WFS), o Sensor Collection Service (SCS), o Image Archive Service (IAS) e o Web Coverage Service (WCS). • Serviços de processamento: componentes que operam sobre dados geográficos e fornecem serviços especiais às aplicações. Incluem serviços de dicionários geográficos. Figura 4 – Componentes do OpenGIS Services Framework Dicionários e catálogos 28 2.2.2. Geospatial Web Services Architecture O OSF foi desenvolvido independentemente da arquitetura de protocolo para Web services do W3C. Somente recentemente, uma série de propostas de especificações coletivamente chamada de OpenGIS Web Service 2 Initiative, definiram interfaces que seguiam os padrões W3C. A OGC também iniciou uma experiência para testar o conceito de Web Geo-espacial Semântica. A arquitetura OGC Web Services (OWS) é uma arquitetura orientada a serviço, com todos os componentes fornecendo um ou mais serviços para outro serviço ou clientes. Essa arquitetura é baseada nos conceitos fundamentais de provedor e consumidor de serviço dentro de um sistema computacional distribuído. Trata, também, de interações entre componentes definindo requisições se serviço (service requests), respostas de serviços (service responses) e exceções ocorridas nas requisições (service exceptions). De acordo com Whiteside [20], definimos: • um serviço é uma parte distinta de funcionalidade que é fornecida por uma entidade através de interfaces; • uma interface é um conjunto nomeado de operações que caracterizam o comportamento de uma entidade; • uma operação é uma especificação de uma transformação ou consulta que um objeto pode ser solicitado a executar. A operação tem um nome e listas de dados de entrada e saída. As OGC Web service interfaces utilizam padrões abertos e fornecem algumas poucas operações estáticas por serviço. Formatos de codificação de dados e linguagens padrões baseados em XML são utilizados em muitas transferências de dados entre clientes e servidores. Serviços fracamente organizados em quatro camadas, como mostra a Figura 5. A camada de serviços de gerenciamento de informação contém adaptadores que encapsulam fontes de dados. Os serviços nessa camada normalmente incluem algum processamento sobre os dados recuperados. Por exemplo, WMS, WCS, e WFS podem executar transformação de coordenadas e Dicionários e catálogos 29 conversão de formatos. A camada de processamento de serviço contém serviços projetados para o processamento dos dados. A camada de serviços de aplicação contém serviços projetados para suportar clientes, especialmente “clientes magros” como Web browsers. Figura 5 – Camadas de serviços na arquitetura OWS 2.2.3. OGC Catalogue Service 2.0 A especificação OGC Catalogue Service (CS) 2.0 define interfaces que devem estar disponíveis em aplicações de catálogo de metadados sobre dados e serviços geográficos. Define operações para consulta e manutenção de metadados, localização e recuperação de recursos6 de dados e serviços e controle de sessão. Para auxiliar no processo de consulta dos metadados o CS traz, ainda, a especificação de uma linguagem de consulta de metadados baseada na sintaxe SQL.Toda a especificação é extensível de modo a acomodar heterogeneidade de ambientes e variedade de áreas de conhecimento. A especificação OGC CS apresenta um conjunto completo de operações de catálogo. Um serviço de catálogo para ser compatível com a OGC CS 2.0 deve implementar ao menos um subconjunto das operações de interface. Assim 6 Um recurso de um dado ou serviço geográfico é o local onde está armazenado o dado geográfico ou o ponto de acesso ao serviço. No caso de dados geográficos, o recurso é o recipiente do dado. Dicionários e catálogos 30 um serviço de catálogo poderá implementar operações de consulta, outro poderá permitir consulta e atualização de metadados, outro ainda poderá implementar consultas em federações de catálogos e assim por diante. Figura 6 – Arquitetura interna de um serviço de catálogo A Figura 6 ilustra a arquitetura interna do serviço de catálogo proposto. Além da interface, o esquema apresenta os componentes internos do serviço. A consulta ou a manutenção de metadados se faz por meio das interfaces de catálogo OGC. Nesse caso o serviço de catálogo irá utilizar seu próprio repositório de metadados ou desviará a operação para outro serviço de catálogo, como em uma federação de serviços. A recuperação de recursos de informação ocorre quando o recurso não está disponível ao cliente via rede e pode ser feito por meio de interfaces OGC ou proprietárias. O conjunto completo das operações de um serviço de catálogo é: Interface de serviço de catálogo • getCapabilities � retorna metadados sobre o próprio serviço de catálogo. Interface de consulta • query � procura no conjunto de metadados disponível (local ou em outros serviços) aqueles que atendam à consulta definida pelo usuário e retorna ao cliente um conjunto contendo referências aos dados e serviços descritos pelos metadados selecionados. Opcionalmente, o conjunto resultado poderá conter também metadados selecionados na consulta. Dicionários e catálogos 31 • present � retorna metadados selecionados referentes a dados previamente selecionados por uma consulta. • describeRecordType � retorna a definição de tipo para metadados. • getDomain � retorna valores válidos para algum metadado. Interface de transação • initialize � inicia uma transação. • close � encerra uma transação. • status � retorna o estado atual da transação. • cancel � termina uma transação previamente iniciada. Interface de gerenciamento • transaction � executa um conjunto especificado de operações de inclusão, alteração e atualização de metadados. • harvestRecords � carrega no repositório de metadados um conjunto de metadados de uma origem especificada. Interface de intermediação. • order � retorna um dado ou endereço de serviço identificado registrado no catálogo mas não acessível ao usuário. A especificação define, ainda, um conjunto de metadados mínimo como retorno de consultas para favorecer a interoperabilidade entre aplicações de diferentes características e ambientes. A Tabela 7 mostra a lista desses elementos utilizando a sintaxe Dublin Core (ISSO 15836). Elemento Descrição dc:title Um nome dado ao recurso dc:creator Uma entidade responsável por produzir o conteúdo do recurso dc:subject Um tópico do conteúdo do recurso É o lugar onde uma taxonomia de classificação poderia ser utilizada dct:abstract Um resumo do conteúdo do recurso dc:publisher Uma entidade responsável por tornar o recurso disponível Tabela 6 – Conjunto de metadados mínimo Dicionários e catálogos 32 Elemento Descrição dc:contributor Uma entidade responsável por fazer contribuições ao conteúdo do recurso dc:date Data de criação ou atualização dc:type Natureza do conteúdo do recurso dc:format Manifestação física ou digital do recurso dc:identifier Identificador não ambíguo em um contexto dc:source Referência a um recurso de origem dc:language Língua do conteúdo do recurso dc:relation Referência a recursos relacionados dct:spatial Extensão espacial do conteúdo do recurso dc:rights Direitos sobre o conteúdo do recurso Tabela 7 – Conjunto de metadados mínimo (cont.) 2.3. Dicionários geográficos 2.3.1. Exemplos de dicionários geográficos O sistema mais comum para identificação de objetos geográficos é a atribuição de um nome para cada objeto. Essa forma de referência geográfica é normalmente utilizada por muitos dicionários geográficos. Eles contém listas de nomes de objetos geográficos, suas respectivas localizações geográficas e outras informações descritivas. Muitos Atlas possuem uma seção de dicionário geográfico para auxiliar na localização das páginas que fazem referência a um nome específico. Dicionários geográficos disponíveis na Web têm sido desenvolvidos para atender às necessidade de sistemas de informação. Eles armazenam nome, tipo, coordenadas que representam o objeto, e uma área administrativa que contém o objeto para cada objeto. Eles também oferecem serviços para manipulação dos dados armazenados. A seguir, são apresentadas descrições breves de alguns dicionários geográficos disponíveis na Web. Dicionários e catálogos 33 • Getty Thesaurus of Geospatial Names (TGN)7 � É um vocabulário estruturado de abrangência mundial com cerca de 1,3 milhões de nomes e 892.000 objetos geográfico desenvolvido pelo Getty Research Institute. Tem o objetivo de auxiliar a criação de catálogos de arte e literatura de arquitetura. Para cada objeto, o TGN possui um identificador único, nome preferido, um conjunto de classificações obtido do Art Architecture Thesaurus (AAT), nomes alternativos, localização geográfica, entre outros. • U. S. Geographic Names Information System (GNIS)8 � Desenvolvido pelo U. S. Geological Survey (USGS) em cooperação com o U.S. Board on Geographic Names (BGN), contém informações sobre cerca de 2 milhões de objetos geográficos culturais e físicos, atuais e históricos dos Estados Unidos e de seus territórios. Alguns dos atributos mantidos são a localização geográfica, nome oficial, classificação segundo tipos definidos pelo BGN, entre outros. • GEOnet Names Server (GNS)9 � Desenvolvido pela National Geospatial-Intelligence Agency (NGA), possui cerca de 4 milhões de objetos geográficos com 5,5 milhões de nomes provenientes da NGA e BGN com abrangência mundial. Alguns atributos mantidos para cada objeto são identificador único, nome oficial, região, coordenadas geográficas classificação segundo o BGN, entre outros. • Alexandria Digital Library Gazetteer (ADL Gazetteer)10 � Desenvolvido no contexto do projeto Alexandria Digital Libray da Universidade da Califórnia em Santa Bárbara, possui cerca de 5.9 milhões de nomes provenientes do GNIS, GNS e outros dicionários, classificados segundo o ADL Feature Type Thesaurus (ADL FTT). Mantém para cada entrada um identificador único, nome oficial, nomes alternativos, classificação segundo o ADL FTT, coordenadas geográficas, descrição, entre outros. 7 http://www.getty.edu/research/conducting_research/vocabularies/tgn 8 http://nhd.usgs.gov/gnis.html 9 http://164.214.2.53/gns/html 10 http://www.alexandria.ucsb.edu/gazetteer/ Dicionários e catálogos 34 2.3.2. Classificação de objetos geográficos Um objeto é uma abstração de um fenômeno do mundo real e um objeto geográfico é um objeto associado a uma localização sobre a superfície terrestre [18]. Um objeto geográfico representa um lugar, tal como a cidade do Rio de Janeiro. No jargão familiar da Ciência da Computação possui um atributo especial que descreve sua posição na superfície da terra, usando um dado sistema de geo-referenciamento (Coordinate Reference System CRS). São normalmente classificados por tipos como, por exemplo, baías, rios, cidades,etc. que por sua vez são organizados de acordo com alguma característica como, por exemplo, rios e riachos são objetos hidrográficos e cidades e estados são unidades administrativas. Dados geográficos como, por exemplo, mapas e imagens de sensoriamento remoto, normalmente se referem a um conjunto de objetos geográficos. Atributo Abrev. Descrição Scope Note SN Descrição do significado do conceito Use USE o termo que se segue ao símbolo é o termo preferido quando é utilizado como sinônimo ou quase-sinômino11 Use For UF O termo que se segue ao símbolo não é o termo preferido quando é utilizado como sinônimo ou quase-sinômino Top Term TT O termo que se segue ao símbolo é o termo mais geral ao qual o termo anterior ao símbolo pertence Broader Term BT o termo que se segue ao símbolo é um termo de significado mais amplo do que o termo anterior ao símbolo Narrower Term NT o termo que se segue ao símbolo é um termo de significado mais específico do que o termo anterior ao símbolo Related Term RT o termo que se segue ao símbolo é um termo associado ao termo anterior ao símbolo mas não é um sinônimo ou quase-sinônimo Tabela 8 – Relacionamentos entre conceitos de um tesauro 11 Um quase-sinônimo é um termo com significado semelhante porém mais abrangente, por exemplo, rio pode ser um quase-sinônimo de riacho. Dicionários e catálogos 35 Um tesauro [9] é o vocabulário de uma linguagem controlada de indexação, formalmente organizada, de tal forma que os relacionamentos entre termos são feitos explícitos. São utilizados por dicionários geográficos para classificar suas entradas. Um tesauro usualmente fornece seis tipos de propriedades para cada termo (Tabela 8), cinco das quais expressam relacionamentos entre termos e uma é a descrição do significado do termo. O ADL Gazetteer Feature Type Thesaurus (FTT) é o resultado da mistura de vários vocabulários de classificação de vários dicionários geográficos. O FTT versão 2.0 de julho de 2002 contém perto de 200 termos e 3000 relacionamentos. A fig mostra um fragmento desse tesauro ilustrando a hierarquia entre os termos. regions . agricultural regions . biogeographic regions . . barren lands . . deserts . . forests . . . petrified forests . . . rain forests . . . woods . . grasslands . . habitats . . jungles . . oases . . shrublands . . snow regions . . tundras . . wetlands regions (cont.) . climatic regions . coastal zones . economic regions . land regions . . continents . . islands . . . archipelagos . . subcontinents . linguistic regions . map regions . . chart regions . . map quadrangle regions . . UTM zones Figura 7 – Fragmento da hierarquia de termos do ADL Gazetteer Feature Type Thesaurus 2.3.3. Padrões para dicionários geográficos Da mesma forma que catálogos utilizam especificações padrões para permitir interoperabilidade de aplicações e compartilhamento de dados, Dicionários e catálogos 36 dicionários também se beneficiam de padrões internacionalmente aceitos. O comitê técnico ISO/TC211, Geographic Information/ Geomatic publicou um padrão para dicionários geográficos, o ISO 19112:2003 Spatial Referencing by Geospatial Identifiers, que define um esquema conceitual de dados (Tabela 9) e linhas gerais para a descrição de sistemas de referenciamento indireto. O ADL Gazetteer Content Standard suporta descrições de dados geográficos bastante ricas que vão muito além de alguns dicionários geográficos tradicionais. A Tabela 10 contém as principais seções do ADL Standard, que pode ser subdividido em subseções para codificar informações mais detalhadamente. Por exemplo, streetAddressSection é dividido em streetAddress, city, stateProvince, postalCode e country. Attribute Comment geospatial identifier a unique identifier for the feature taken from a given identifier space alternative identifiers one or more alternative identifiers name the preferred name for the feature type the type of the feature, typically taken from a feature type thesaurus description a description of the feature position coordinates of a representative point of the feature temporal extent a description of the temporal extension of the feature geospatial extent a description of the geospatial extension of the feature administrator organization responsible for maintaining the feature’s name parent identifier of the parent feature of which the entry is a subdivision child identifiers of the features that the entry is a parent Tabela 9 – Alguns atributos selecionados do esquema conceitual da ISO 19112 Dicionários e catálogos 37 Attribute Comment featureID unique identifier for the feature featureName the names for the feature classSection the primary type of the feature codeSectionType the code associated with the feature spatialLocation the map location of the feature streetAddressSection the street address of the feature relatedFeature relationships of the feature with other features description a short narrative description of the feature featureData data about the feature, such as population or elevation featureLink website which provides information on the features supplementalNote note explaining unusual circumstance of the feature entryMetadata documents about entry and modification dates Tabela 10 – Alguns atributos selecionados do ADL Gazetteer Content Standard O Open GIS Consortium desenvolveu um padrão para serviços de dicionários geográficos [22] para acesso distribuído. A interface de serviço especifica quatro operações que podem ser solicitadas por um cliente e executadas pelo serviço de dicionário. • GetCapabilities: permite que um cliente recupere metadados sobre o service de dicionário sendo oferecido. • DescribeFeatureType: permite que um cliente obtenha um esquema XML descrevendo um objeto geográfico. • GetFeature: permite que um cliente obtenha instâncias de objetos geográficos. Além disso, o cliente pode escolher os atributos a recuperar e condições de seleção de objetos. • GetGMLObject: permite ao cliente obter instâncias através de referências aos identificadores de objetos geográficos. Dicionários e catálogos 38 2.3.4. Alexandria Digital Library Gazetteer A Alexandria Digital Library (ADL) é uma biblioteca digital distribuída contendo coleções de materiais geo-referenciados. O projeto visa modelar, prototipar e avaliar arquiteturas de bibliotecas digitais aplicações de dicionários geográficos, aplicações de educação e componentes de software. O ADL Gazetteer é um dicionário geográfico, disponível via Web, que utiliza a ADL como infra-estrutura. Oferece uma interface HTTP/XML para ser utilizada em aplicações geográficas. As entradas desse dicionário são classificadas segundo três tesauros independentes: • ADL Feature Type Thesaurus (ADL FTT) – É uma coleção de termos que classifica o tipo do objeto descrito por uma entrada do ADLGazetteer. Todas as entradas são classificados segundo o FTT. Nele existem termos hierarquicamente definidos como, por exemplo, “canais” e “estruturas hidrográficas”. O último é um subtipo do primeiro. Todas as entradas classificadas como “canais” são, também, uma “estrutura hidrográfica”. Diz-se que “estrutura hidrográfica” é o Broader term de “canal”. Entretanto, pode haver mais de uma hierarquia de conceitos admitida por um tipo. Tomemos o exemplo anterior do canal, segundo a visão apresentada um “canal” é um tipo de “estrutura hidrográfica”, mas poderíamos ainda pensar em uma outra classificação de objeto como “dispositivos de transporte” para a qual um “canal” estaria hierarquicamente subordinado, como uma espécie de dispositivo. Para acomodar esse conceito, uma vez que só é possível definir uma hierarquiano modelo do FTT, existem os Related terms. São todos os tipos que por alguma semântica se relacionam com o primeiro. Diz-se, então, que “dispositivos de transporte” é um “Related term” de “canal”. • Gazetteer type terms of U.S. Geological Survey – apenas algumas entradas são classificadas segundo esse dicionário • U.S. Geospatial-Intelligence – apenas algumas entradas são classificadas segundo esse dicionário Dicionários e catálogos 39 Cada entrada do ADL Gazetteer descreve único lugar geográfico conceitual. Seus atributos e cardinalidades, são: • um identificador � String que identifica univocamente a entrada. É único dentro do dicionário, mas não universalmente único. • Zero ou mais códigos � Identifica o lugar em um esquema de código específico, namespace ou sistema. • um status de lugar � Status da existência do lugar, pode ser: former (o lugar não existe mais), current (o lugar existe) ou proposed (o lugar não existe, mas sua criação foi antecipada). • um nome de exibição • um ou mais nomes • coordenadas da diagonal de um retângulo de contorno • um ou mais footprints � É uma aproximação, expressa em coordenadas de latitude e longitude, de uma região da superfície terrestre, coberta pelo lugar. Não precisa ser contínuo. • zero ou mais classes � Classifica o lugar conforme o dicionário utilizado. • Zero ou mais relacionamentos Os atributos nome, footprint e classes são qualificados por quatro descritores: • primary � indica que o valor do atributo é oficial ou preferido • former � indica que o valor do atributo não existe mais • current � indica que o valor do atributo existe • proposed � indica que o valor do atributo ainda não existe, mas foi criado antecipadamente. As seguintes condições devem existir para cada entrada do dicionário: • Exatamente um nome precisa ser marcado como primary. • Exatamente um footprint precisa ser marcado como primary. • Se houver classificação, ao menos uma delas precisa ser marcada como primary. Dicionários e catálogos 40 Os nomes geográficos do dicionário podem ser consultados através de um serviço Web utilizando-se o protocolo ADL Gazetteer Service Protocol, versão 1.212. Trata-se de um protocolo leve, sem estado, baseado em XML sobre HTTP. O protocolo suporta consulta ao dicionário (por nome de lugar, por área geográfica, por classe de objeto, por relacionamento entre nomes de lugares), recuperação de relatório padrão de nomes de lugares e download das entradas do dicionário. Os serviços oferecidos são: • get-capabilities � retorna um resumo de todos os recursos do dicionário: os tipos de serviços e consultas, o dicionário que o dicionário usa, etc. • query � retorna um relatório (padrão ou estendido) das entradas do dicionário selecionadas por uma consulta expressa em GQL (Gazetteer Query Language). • download � semelhante à query na seleção do tipo de relatório mas retorna todas as entradas do dicionário. Esses serviços são invocados enviando-se requisições HTTP POST, contento a descrição do serviço desejado codificada em XML, para uma URL que representa o ponto de acesso comum a todos os serviços. O Apêndice A apresenta o esquema XML utilizado na comunicação com dicionário pela Web. Uma consulta freqüente ao dicionário seria: “Quais os objetos contidos em uma região geográfica específica?”. O fragmento de código a seguir apresenta uma consulta ao dicionário, de acordo com o protocolo, buscando todos os objetos contidos na região geográfica de forma retangular cujas coordenadas da diagonal do retângulo são (latitude = -22,892, longitude = -43,26) e (latitude = -22,932, longitude = -43,203). 12 http://www.alexandria.ucsb.edu/gazetteer/protocol Dicionários e catálogos 41 <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" /> <gazetteer-service xmlns="http://www.alexandria.ucsb.edu/gazetteer" xmlns:gml="http://www.opengis.net/gml" version="1 .2"> <query-request> <gazetteer-query> <footprint-query operator="within"> <gml:Box> <gml:coordinates> -43.26,-22.891,-43.203,-22.932 </gml:coordinates> </gml:Box> </footprint-query> </gazetteer-query> <report-format>standard</report-format> </query-request> </gazetteer-service> 3 Arquitetura de software para catalogação automática de dados geográficos Este capítulo apresenta uma arquitetura de software para catalogação automática de dados geográficos. A seção 3.1 apresenta uma estratégia para geração automática de metadados. A seção 3.3 apresenta os requisitos de uma arquitetura de software, baseada em agentes, para catalogação automática. A seção 3.4 apresenta o detalhamento dos componentes responsáveis pela geração da descrição. Por fim, a seção 3.5 apresenta o esquema de metadados utilizado para armazenamento de metadados e os componentes responsáveis por distribuir essa descrição pelo esquema. 3.1. Estratégia de catalogação Propomos uma estratégia que combina um dicionário geográfico com um catálogo de metadados. Mostraremos como utilizar o tesauro do dicionário para classificar dados geográficos e como utilizar entradas do dicionário para descrever dados geográficos. Seja GA um dicionário geográfico e assuma que cada entrada E em GA, representando um objeto geográfico F, tem uma representação geo-refernciada geo(E) de uma localização de F e um type(E) para E, cujo valor é um termo extraído do tesauro ℑ[GA]. Seja MC um catálogo de metadados geográficos e assuma que cada entrada C em MC, representando um dado geográfico R, possui uma representação geo-referenciada geo(C) da área coberta por R e uma descrição scale(C) da escala de geo(C). Argumentamos que: Q1. ℑ[GA] pode ser estendido para prover também uma classificação para entradas de catálogo, isto é, para prover um type(C) para C. Arquitetura de software para catalogação automática de dados geográficos 43 Q2. Uma descrição desc(C) de C pode ser gerada relacionando-se C às entradas do dicionário de maneira adequada. Intuitivamente, assumindo que um dado geográfico R cobre uma área na superfície terrestre, podemos descrever R por uma coleção de objetos que ocorrem nessa área. Utilizamos somente os objetos cujos tipos são consistentes com a interpretação pretendida de R ou cujas extensões são menores do que a escala de R. Além disso, o tipo do objeto deve fornecer suficiente indicação se a escala do objeto é compatível com a escala de R. Por exemplo, seja R um dado. Se R deve ser interpretado como um mapa político, então R deve ser relacionado com cidades e divisões políticas de uma dada área. Dependendo da escala do mapa, somente cidades acima de determinada população devem, na verdade, ser incluídas. Se R deve ser interpretado como um mapa hidrográfico relacionamo-no com rios e riachos. Mais ainda, se o mapa possui uma grande escala, utilizamos somente os rios e suprimimos os riachos. Como um terceiro exemplo, se R é uma imagem de satélite de uma dada área, então R potencialmente representa todos os objetos que ocorrem na área. Entretanto, objetos cujas extensões são menores do que a resolução de R, não devem ser relacionados a R. Em geral, sugerimos: a. classificar os dados geográficos também utilizando ℑ[GA]; b. indicar a escala que é compatível com cada termo em ℑ[GA]. Isso é formalizado com uma função s: ℑ[GA] � R* que mapeia cada termo de ℑ[GA] em um número Real não negativo. Para cada t ∈ℑ[GA], se s(t)>0, interpretamos s(t)=n como indicação de que todos os objetos do tipo t são compatíveis com a escala 1:n, ou menores (no sentido de que podem ser representadas naquela escala). Se s(t)=0, interpretamos s(t) como indicaçãode que t pode ser utilizada para classificar dados geográficos. Arquitetura de software para catalogação automática de dados geográficos 44 Como um exemplo, considere o fragmento do ADL Feature Type Thesaurus mostrado na Figura 8 (a). Podemos então definir: • S(“creek”)=10.000 para indicar que objetos do tipo “creek” devem somente ser representados em escalas 1:10.000 ou menores; • S(“hydrographic features”)=0 para indicar que o termo “hydrographic features” podem ser utilizados para classificar dados. Em certas situações, a função s: ℑ[GA] � R* pode ser parcialmente calculada a partir de outros atributos de termos do tesauro do dicionário. Por exemplo, se cada termo t sob “streams” possui um atributo w indicando a largura do rio que é classificado como t, então o valor w para t pode ser utilizado para definir s(t). Para a questão Q2, primeiro definimos que uma entrada E do dicionário, representando um objeto geográfico F, é relevante para uma entrada C do catálogo, representando um dado R, se e somente se: • geo(E) e geo(C) são relacionadas por um dos relacionamentos topológicos usuais – toca, dentro, cruza, superpõe-se [1]; • Type(E) é compatível com scale(C). Definimos então desc(C) como o conjunto de pares (E,r) tais que E é relevante à C e geo(E) e geo(C) são relacionados por um relacionamento topológico r. Alguns dicionários geográficos também incluem o conceito de lugar conhecido, tal como uma atração turística, uma importante cidade, etc. [13]. Se o dicionário adotado implementa esse conceito, podemos expandir a noção relevância previamente definida para incluir lugares famosos como uma informação importante. Por exemplo, considere uma imagem de satélite da cidade de Friburgo, a qual se situa a noroeste da cidade do Rio de Janeiro. Arquitetura de software para catalogação automática de dados geográficos 45 Então, em vez de somente associar a imagem com a cidade de Friburgo, podemos também indicar que a imagem cobre uma área a noroeste da cidade do Rio de Janeiro, que é um lugar conhecido. Note que ao relacionarmos lugares conhecidos com recursos de informação, adotamos relacionamentos direcionais – a norte de, a sul de, a leste de, etc. – ou relacionamentos qualitativos, tal como perto. Como um exemplo da geração de desc(C), suponha que adotamos o ADL Gazetteer e o ADL Feature Type Thesaurus. Considere um fragmento de imagem da cidade do Rio de Janeiro, retirada do website Brasil visto do espaço13 [14], mostrado na Figura 8. Essa imagem será processada da seguinte forma: 1. Extrair os parâmetros de geo-referenciamento do dado geográfico. Nesse caso, o fragmento de imagem é consistente com a escala 1:25.000 e tem como retângulo de borda definido pelo par de coordenadas ((43o 15’ W, 22o 52’ 30’’ S), (43o 07’ 30’’ W, 23o S)). 2. Assuma que o usuário escolha relacionar o fragmento de imagem com “hydrographic features”, um termo do ADL FTT que, em nosso exemplo, pode ser usado para classificar dados geográficos. 3. Como as entradas do ADL Gazetteer não têm nenhuma informação de escala, ela será ignorada. 4. Acesse o ADL Gazetteer, usando os parâmetros extraídos no passo 1 e os termos ADL FTT sob “hydrographic features”, selecionado no passo 2. A consulta retornará nove entradas, das quais as três primeiras são: 4.1. Objeto (“Rodrigo de Freitas, Lagoa – Brazil”, “lakes”, “within”) 4.2. Objeto (“Comprido, Rio – Brazil”, “streams”, “within”) 4.3. Objeto (“Maracanã, Rio – Brazil, “streams”, “within”) 5. Armazene o resultado da consulta como uma descrição do dado, isto é, como uma lista de pares (N,r), onde N é o objeto geográfico recuperado no passo 4 e r é o relacionamento topológico entre a imagem e N (nesse exemplo r é “within”). 13 http://www.cdbrasil.cnpm.embrapa.br/ Arquitetura de software para catalogação automática de dados geográficos 46 Esse breve exemplo ilustra algumas das idéias básicas desse trabalho. Primeiro, o uso do dicionário para também classificar dados geográficos, evita adotar um segundo esquema de classificação, tal como, ISO19115 Topic Categories [10]. Entretanto, requer a definição de uma função de compatibilidade s: ℑ[GA] � R*. Figura 8 – Um fragmento do ADL Feature Type Thesaurus e uma imagem da cidade do Rio de Janeiro Segundo, uma descrição útil de um dado geográfico R pode ser criada como uma lista de pares (N,r), onde N é um objeto geográfico e r é o relacionamento topológico entre R e N, obtido pela consulta ao dicionário. Além disso, a lista contém somente objetos cujos tipos são compatíveis com a escala de R. 3.2. Requisitos da arquitetura Para compreendermos o processo de catalogação automática e identificarmos os requisitos de software necessários, consideremos a situação de uma empresa que recebe, periodicamente, imagens de satélite e deseja armazená-las de modo a poder selecionar aquelas que são adequadas a um projeto. Freqüentemente, imagens de satélite são gravadas em arquivos utilizando- se padrões de compactação como, por exemplo, o GeoTIFF que permitem c b a hydrogra phic features . . . . lakes . seas . . oceans . . . ocean currents . . . ocean regions . streams . . rivers . . . bends (river) . . . rapids . . . waterfalls . . springs (hydrographic) . thermal features Arquitetura de software para catalogação automática de dados geográficos 47 anexar aos dados da imagem, contidos no arquivo, as coordenadas geográficas da região na superfície terrestre coberta pela imagem. Tais imagens podem ser obtidas de várias fontes e serem utilizadas em vários setores da empresa. Por exemplo, poder-se-ia obter imagens da EMBRAPA14 e do LANDSAT15 para um departamento que desejasse analisar recursos hidrográficos. Outro departamento, no entanto, poderia estar interessado nos municípios cobertos pelas mesmas imagens. Podemos, então, conforme a seção 3.1, definir um algoritmo para catalogação automática de dados geográficos: catalogação de dados geográficos enquanto (interrupção não for solicitada) faça Obter novo dado; se houver novo dado então Extrair metadados do seu conteúdo; Criar descrição parcial; Classificar dado; para cada dicionário geográfico configurado faça Buscar metadados relacionados com o dado; Eliminar metadados incompatíveis com escala e classificação do dado; Acrescentar metadados à descrição; se houverem metadados provenientes dos dicionários então Catalogar dado; Para implementar o algoritmo propomos dois agentes de software. O primeiro deles, o agente rastreador (CrawlingAgent), é responsável por inspecionar repositórios de dados, buscando novos dados a serem catalogados. Uma vez encontrados, o agente extrai metadados do seu recipiente16 e, em seguida, envia uma mensagem a outro agente, o “agente catalogador”, 14 http://www.cdbrasil.cnpm.embrapa.br 15 http://landsat.gsfc.nasa.gov 16 Recipiente de um dado é a sua unidade elementar de armazenamento. Dados são freqüentemente armazenados em arquivos ou registros de bancos de dados. Arquitetura de software para catalogação automática de dados geográficos 48 solicitando a catalogação da imagem. Não limitamos o “agente rastreador” a somente uma instância. Podem ocorrer situações em que várias instâncias independentes estejam ativas para garantir robustez e flexibilidade ao processo. Poderíamos, por exemplo, configurar um agente para buscar as imagens geradas pela EMBRAPA e outro para as do LANDSAT. O agente catalogador (CataloguingAgent) é o agente responsável por buscar, em um dicionário geográfico, objetos relacionados ao dado geográfico e, caso seja bem sucedido, armazená-los no catálogo. Periodicamente, o agente verifica, em um canalde comunicação comum, se existem novos dados a serem catalogados. Em caso afirmativo, recupera suas coordenadas geográficas e extrai de dicionários objetos relacionados às coordenadas. Com base nos dados dos dicionários, cria descrições dos dados e as armazena no catálogo. Esperamos que um processo de catalogação manipule somente um catálogo, portanto, sugerimos somente uma instância do “agente catalogador”. 2.3: filterDescription(featureList) 2:*[for each gazetteer] 2.2: featureList:=getDescription(datasetDesc) 2.1: gazetteer:=get(index) 3: put(datasetDesc) 1.4:*[for each dataset] 1:*[for each repository] 1.1: repository:=get(index) 1.3: datasetDesc:=getDescription(datasetId) 1.2: datasetIdList:=listURI 1.5: catalog(datasetDesc) :CrawlingAgent :CataloguingAgent :Gazetteer :Catalog :Repository gazetteers:Listrepositories:List Assinchronous communication Figura 9 - Arquitetura de agentes para o processo de catalogação Outros catálogos podem ser alimentados utilizando-se outros processos de catalogação, cada qual com seu próprio conjunto de agentes e configurações específicas. Um esquema dessa arquitetura é mostrado na Figura 9. Os repositórios (Repository), na figura, são os locais nos quais se encontram novos recipientes de dados geográficos. Note que não está Arquitetura de software para catalogação automática de dados geográficos 49 representado no esquema o processo para captura desses dados do provedor. Por exemplo, se a EMBRAPA disponibiliza as imagens em algum endereço na internet e os arquivos são transferidos para o cliente, esse procedimento não está representado. O local em questão é o local final dos arquivos de imagens que os agentes irão consultar. Os dicionários (Dictionary) são os dicionários geográficos dos quais serão obtidos objetos geográficos relacionados ao dado. Pelo exposto até aqui podemos listar os seguintes requisitos funcionais para um software de catalogação automática: 1. Permitir a criação de processos de catalogação informando: repositórios, dicionários, catálogo e um identificador para o processo de catalogação; 2. Permitir a alteração das configurações dos processos de catalogação; 3. Permitir remover configurações de processos de catalogação; 4. Permitir armazenar as configurações dos processos de catalogação; 5. Permitir iniciar e interromper cada processo independentemente; 6. Exibir uma lista de falhas ocorridas nos processos de catalogação; 7. Exibir o estado dos processos de catalogação; Propomos, ainda, alguns requisitos não funcionais para flexibilizar o processo como um todo e garantir o bom desempenho dos equipamentos hospedeiros dos agentes. Uma atenção especial deve ser dedicada à questão do desempenho. A natureza da operação de catalogação pode produzir grande carga de processamento dos agentes. Para minimizar os efeitos do consumo excessivo de recursos do ambiente computacional os agentes devem ser capazes de interromper seu processamento por alguns instantes em intervalos regulares de tempo ou mesmo identificar períodos de ociosidade dos recursos e aproveitá-los. Um formato de imagem frequentemente utilizado na geração de imagens geográficas é o GeoTIFF, como já mencionado. Entretanto, podem ocorrer situações onde outros formatos para codificação de dados geográficos são Arquitetura de software para catalogação automática de dados geográficos 50 utilizados, por exemplo o ESRI Shapefile. É desejável que o software possa ser facilmente adaptado a novos padrões de arquivos contendo dados geográficos. Na arquitetura apresentada anteriormente os Agentes Rastreadores têm o papel de procurar por novos dados em repositórios previamente especificados no processo de catalogação. Tais repositórios podem estar disponíveis sob vários protocolos. Poderiam ser diretórios no sistema de arquivos, sites FTP, URL’s acessadas através de conexões HTTP, ou outro tipo de repositório qualquer. Deseja-se flexibilizar os tipos de repositórios com os quais o agente pode se comunicar. Finalmente, analogamente aos repositórios de dados, o software deveria poder se adaptar a diferentes dicionários, com protocolos de comunicação diferentes. Note que esses três últimos requisitos não se tratam de adaptação dinâmica, mas sim de conferir ao software uma arquitetura flexível o suficiente de modo que possa ser facilmente modificado para se compatibilizar com os novos componentes externos. 3.3. Processo de catalogação A Figura 10 apresenta um esquema dos componentes responsáveis pelo processo de catalogação. Podemos definir, de acordo com a seção 3.2, que um processo de catalogação (CataloguingProcess) possui as seguintes propriedades: nome (name), estado (state), coleção de repositórios (repositories), coleção de dicionários (dictionaries), catálogo (catalog) e repositório de falhas (fails). Ao iniciar-se a execução de um processo de catalogação (operação start( )), os agentes são criados e configurados. Os repositórios podem ser distribuídos entre vários agentes catalogadores, no entanto, cada agente catalogador deve consultar todos os dicionários. A cooperação entre eles ocorre na concorrência para catalogar os novos dados geográficos identificados. Para podermos distribuir a consulta aos dicionários entre vários agentes seria preciso definir Arquitetura de software para catalogação automática de dados geográficos 51 regras de interação entre os catalogadores de modo a garantir que, para cada novo dado todos os dicionários seriam consultados e que seria possível identificar quando isso teria ocorrido, permitindo, assim, a catalogação do dado. Essa coordenação, no entanto, não será tratada nesse trabalho. Ao menos um agente de cada tipo deve ser criado, mas a arquitetura não limita o número máximo. Há que se estudar cada situação para optar por um conjunto adequado de agentes e implementar o algoritmo apropriado. No protótipo foi implementado apenas um agente de cada tipo. +fails +catalog +tempCatalog 1..* query 2..* +fails +catalog +tempCatalog 0..* contains +commHandler 1..* searches SubjectImpl Serializable CataloguingProcess +start:void +stop:void +reportError:void dictionaries:String[][] catalog:String fails:String repositories:String[] name:String state:String DescriptionSource <<abstract>> Dictionary +getDescription:DatasetDescription CataloguingAgent <<abstract>> interface Catalog +put:DatasetDescription +get:DatasetDescription CrawlingAgent Runnable <<abstract>> Agent +sendMessage:void +readMessage:Message +agentBehavior:void DescriptionSource <<abstract>> Repository +listURI:String[] +getDescription:DatasetDescription LocalComm <<abstract>> interface Comm MsgChannel <<abstract>> Message NewDataset Figura 10 - Processo de catalogação automática Um catálogo temporário comum a todos os agentes serve para identificar os dados que ainda não foram catalogados, mas já foram carregados, evitando- se o seu reprocessamento. Cada agente rastreador solicita em intervalos regulares de tempo a lista dos identificadores de recipientes de dados existentes nos repositórios (operação Repository->listURI( )). Cada recipiente contém um dado geográfico a ser descrito e catalogado. O identificador do recipiente assumirá o papel de identificador da descrição do dado no sistema. Os identificadores que não Arquitetura de software para catalogação automática de dados geográficos 52 existirem no catálogo, nem no repositório temporário ou de falhas são considerados novos e os metadados do conteúdo dos respectivos recipientes são capturados (operação Repository->getDescription(String uri)). Uma descrição parcial do dado é criada, a partir dos metadados capturados, e enviada (operação CrawlingAgent->sendMessage(Message message)) ao agente catalogador em uma mensagem do tipo “novo
Compartilhar