Web Coverage Service
Transcrição
Web Coverage Service
Web Coverage Service Protótipo GIL, Nuno Resumo Esta comunicação tem a sua origem no desenvolvimento de um protótipo WebGIS realizado no âmbito de uma das cadeiras do mestrado em Sistemas de Informação Geográfica ministrado pela University College London (www.ge.ucl.ac.uk). Este protótipo está, neste momento, a ser desenvolvido e aperfeiçoado no contexto de um tema de dissertação do mesmo mestrado. O principal objectivo do estudo foi o de levar a cabo a implementação do referido protótipo baseado na especificação Web Coverage Service (WCS) do Open GIS Consortium (OGC, www.opengis.org). Para isso, foi utilizado software open-source e free for use, procedendo-se, posteriormente, à sua avaliação. O protótipo poderá servir, ou servirá, como ponto de partida para as agências espaciais membros do Committee for Earth Observing Satellites (CEOS, www.ceos.org) poderem disponibilizar os seus próprios dados de uma forma inter-operável. Desta forma, demonstra-se que é possível a implementação de um sistema com a mais-valia da interoperabilidade a custos bastante reduzidos. PALAVRAS-CHAVE: Coverage, Inter-operabilidade, OGC, OpenGIS, WCS, WebGIS INTRODUÇÃO Até há pouco tempo atrás, o típico Sistema de Informação Geográfica (SIG) era caracterizado como sendo um sistema capaz de facilitar diversas funcionalidades para a manipulação de dados geo-referenciados. Entre estas estavam incluídas o input de dados, o seu armazenamento, obtenção, gestão, manipulação, análise e output (Aronoff, 1989). Com a generalização do uso da Internet e com o seu consequente desenvolvimento, os SIG deixaram de ser sistemas monolíticos, fechados e centralizados. Assiste-se agora, cada vez mais, ao desenvolvimento de um novo conceito, o de Distributable Geographic Information Services (GIServices). O desenvolvimento da tecnologia SIG passou pela transição de sistemas do tipo mainframe e computador pessoal para os actuais Distributable GIServices, que tanto incluem wired Internet GIServices como wireless Internet GIServices. A nova arquitectura possibilita a ligação e interacção simultâneas entre múltiplos servidores e sistemas de tipo diversificado, sem as tradicionais restrições de sistemas cliente / servidor (Peng e Tsou, 2003). O conceito de Distributable GIServices, sugerido por Peng e Tsou (2003), é baseado na definição de uma aplicação SIG centrada na comunicação dinâmica e distribuída de serviços através de uma rede (wired ou wireless) como meio principal de acesso a dados, disseminação de informação espacial e condução de análises baseadas em SIG. Este tipo de ferramenta permite a uma variedade de clientes o acesso remoto a dados geo-espaciais e ferramentas de processamento alojadas em servidores, sem restrições de tipos temporal e geográfico. Estes clientes podem ser do tipo computador pessoal, computador portátil, Personal Digital Assistant (PDA) ou ainda telefone celular. Adicionalmente às funcionalidades disponíveis nos SIG tradicionais, estes sistemas podem beneficiar da utilização de variados protocolos de comunicação suportados pela plataforma de rede, tais como: HTTP, WAP, FTP, entre outros. O presente artigo irá centrar-se principalmente em Distributable GIServices baseados em redes wired, ou seja Internet que comunicam via World Wide Web. Serão então denominados WebGIS. Contudo, a velocidade do desenvolvimento dos SIG on-line revela que uma concepção orientada simplesmente pela tecnologia é problemática, dificultando o seu subsequente desenvolvimento. Derivado a este vazio na existência de standards, foram criadas, em 1994, duas organizações independentes, o Open GIS Consortium e o ISO/TC 211 Technical Committee (Buehler e McKee, 1998; Rowley, 1998 referenciados em Tsou e Buttenfield, 2002). O seu principal objectivo é o de promover a interoperabilidade entre dados geo-espaciais (Brodeur et al, 2003), sendo interoperabilidade definida por Goodchild et al (1997) como a possibilidade de dois sistemas poderem transferir/comunicar entre eles dados, software e outras quaisquer componentes de relevo. Descreve-se de seguida a tecnologia utilizada na implementação de um protótipo baseado numa das recentes especificações do OGC, o Web Coverage Service (WCS). Este protótipo foi desenvolvido com o intuito de servir uma pequena porção de um hillshaded Digital Elevation Model (DEM), obtido através do projecto GTOPO301. Este projecto possibilita o acesso a um DEM global, com resoluções verticais e horizontais de aproximadamente 1 km. A área seleccionada engloba o Reino Unido tendo sido processada recorrendo ao ArcGIG 8.3 e ao ERDAS IMAGINE 8.6. No fim do documento, apresentam-se alguns resultados preliminares de aplicação do protótipo, sendo questionado até que nível a tecnologia WCS já está suficientemente madura e aperfeiçoada para ser utilizada de forma generalizada pela comunidade geográfica com menos conhecimentos na óptica do programador. WEB COVERAGE SERVICE - CONCEITO Como já foi referido anteriormente, o OGC e o ISO/TC 211 Technical Committee têm um papel activo na promoção da interoperabilidade, através da definição de standards. Em particular, O OGCdefiniu nos últimos anos um número de especificações utilizadas na criação de sistemas WebGIS, entre as quais se incluem o Web Map Service (WMS), o Web Feature Service (WFS) e o Web Coverage Service (WCS). A última das especificações identificadas será fruto de detalhe no presente texto. Um sistema WebGIS é materializado na forma de comunicação cliente / servidor através de protocolos pré-definidos, na qual o cliente envia um pedido ao servidor sob a forma de um Uniform Resource Locator (URL). Posteriormente o servidor interpreta o pedido, obtendo de seguida os dados pretendidos, manipulando-os consoante ordem do cliente e enviandoos para serem então visualizados por este. Figura 1. Arquitectura cliente / servidor Fonte: http://www.gisdevelopment.net/technology/gis/techgi071pf.htm [Acesso: 13 Maio 2004] O WCS, tal como definido pelo OGC (2003), é um serviço que suporta a comunicação electrónica (baseada na arquitectura cliente / servidor) de dados geo-espaciais existentes sob a forma de coberturas multi-dimensionais. Estas são compostas por valores ou propriedades referentes a localizações geográficas espaçadas de forma regular através de um, dois ou três eixos de um sistema de coordenadas geográfico, podendo também conter informação temporal, regular ou irregularmente espaçada. Nesta sua versão 1.0.0, o WCS encontra-se limitado à descrição e solicitação de coberturas do tipo simples nas quais, em cada localização, se encontra ou um único valor (tal como elevação), ou um conjunto de valores definidos de forma homogénea (p.ex. reflectâncias electromagnéticas) (Evans, 2003). Em oposição ao WMS, que disponibiliza a comunicação de imagens criadas do lado do servidor, e ao WFS, que disponibiliza informação geo-espacial vectorial (Peng e Tsou, 2003), o WCS possibilita o acesso a conjuntos de informação geo-espacial detalhada e não simples imagens, que poderão posteriormente ser utilizados das mais variadas formas. Entre estas incluem-se a simples visualização pelo cliente e a possibilidade da sua utilização como input em modelos científicos (Evans, 2003). À semelhança do que acontece com o WMS e o WFS, também este serviço possibilita a selecção de porções de informação guardadas no servidor baseada em critérios espaciais. Para possibilitar a comunicação dos dados (coberturas), o WCS define três operações (Evans, 2003): 1. GetCapabilities: operação emitida pelo ciente e através da qual é devolvido um ficheiro do tipo eXtensible Markup Language (XML) no qual são descritas as capacidades do servidor, em termos de operações suportadas (p.ex. interpolação) e dados armazenados. Esta operação é de implementação obrigatória em qualquer software que suporte WCS. 2. GetCoverage: operação emitida pelo cliente e através da qual é devolvida a cobertura especificada. Esta operação é também de implementação obrigatória em qualquer software que suporte WCS. 3. DescribeCoverage: operação emitida pelo cliente, através da qual é devolvida a descrição completa de uma ou mais coberturas alojadas num servidor WCS. O output é materializado sob a forma de um ficheiro XML. Esta operação tem carácter opcional. Contudo, e devido ao grande volume das coberturas e tempo inerente à sua 1 Mais informação disponível em http://edcdaac.usgs.gov/gtopo30/gtopo30.asp [Acesso: 14 Abril 2004] transferência via Internet, é vantajoso a sua inclusão em qualquer aplicação que suporte WCS. Desta forma, o utilizador pode aperceber-se da informação contida na cobertura antes mesmo de a importar. No início deste projecto, foi efectuada uma pesquisa com o objectivo de identificar as diversas aplicações com licenças do tipo open-source ou free for use e que, no momento, suportavam o referido WCS. Procedeu-se de seguida à sua instalação e teste com o objectivo de efectuar uma avaliação qualitativa das mesmas. Duas aplicações foram testadas: deegree, desenvolvida em conjunto pela GIS and Remote Sensing Unit do Department of Geography, University of Bonn e pela lat/lon, e outra denominada NWGISS, desenvolvida e disponibilizada pelo Laboratory of Advanced Information Technology and Standards, na George Mason University. Para concluir o desenvolvimento do protótipo, foi elaborado um cliente Web (recorrendo a simples HTML) cuja interacção com o servidor é apenas possível através do envio de pedidos sob a forma de URL e da obtenção quer de ficheiros do tipo XML quer do tipo cobertura. DEEGREE De uma forma geral, deegree é um projecto constituído por um grupo de aplicação do tipo Java™, podendo ser utilizadas isoladamente ou em conjunto. Estas, suportam variadas especificações do OGC. Além das já mencionadas, estão ainda incluídas o Web Coordinate Transformation Service, Web Gazetteer Service, Web Terrain Service e Catalog Service. No WebSite do projecto (http://deegree.sourceforge.net/) estão disponíveis o código fonte e versões pré-compiladas para Microsoft® Windows® e Linux. De um ponto de vista conceptual, deegree tem de ser reutilizável, independente da plataforma de funcionamento, baseado em componentes e inter-operável. A leitura e escrita de dados é suportada em variados formatos: ORACLE® Spatial, PostGres / PostGIS, MySQL, ESRI™ shapefiles, GML e raster (JPEG, PNG, BMP, entre outros) (Fitzke et al, 2003). Em particular, o deegree WCS na sua versão 1.1.5 é baseada na especificação WCS 1.0.0, suportando as operações GetCapabilities e GetCoverage, e os formatos TIFF, GIF, BMP, PNG, JPEG e IMG (IDRISI), quer como input quer como output. Em virtude dos ficheiros raster apresentarem normalmente grandes dimensões (na ordem das centenas de Mb), existe a necessidade de serem optimizados de forma a poderem posteriormente ser transferidos através da Internet. Exactamente por esta razão, deegree vem equipado com uma ferramenta que possibilita a criação de mosaicos de rasters (TileImageTree) e a sua fácil indexação quer através de quadtrees, quer de um método de indexação baseado no registo da coordenada do canto inferior esquerdo de cada um dos ficheiros. Desta forma, apenas é enviada ao cliente a sub-área que este solicitar (Fitzke et al, 2003). Após a aplicação estar operacional, existe no servidor um ficheiro capabilities.xml que será enviado ao cliente cada vez que este utilizar a opção GetCapabilities. Este ficheiro contém também apontadores para outro ficheiro, gvDesc.xml, onde está definida a estrutura de indexação resultante da utilização da aplicação TileImageTree acima referida. O facto do deegree ser composto por um conjunto de aplicações Java™ (servlets), significa que o próprio deegree WCS é um servlet, ou seja, uma pequena aplicação localizada no servidor. Esta aplicação é despoletada de cada vez que um cliente envia um pedido que é a si dirigido. Estes servlets são geridos por um servlet executor. No presente caso escolheu-se o Apache Tomcat como servlet executor, na sua versão 4.1.29, uma vez que se encontra amplamente disseminado sendo também disponibilizado gratuitamente. Como descrito no diagrama abaixo representado, o cliente envia um simples URL ao servidor. Este pedido é primeiramente recebido pelo servidor Web e depois comunicado ao servlet executor. O deegree WCS é então encarregue de obter os dados requeridos pelo cliente, manipulá-los (se for caso disso) e finalmente enviá-los. Figura 2. deegree, arquitectura da aplicação Este sistema foi instalado num servidor com as seguintes características: Sistema Operativo: Microsoft® Windows® Server 2003, standard edition Processador: Pentium III CPU 497 MHz Memória RAM: 512 Mb Servidor Web: Internet Information Services 6.0 Servlet executor: Apache Tomcat 4.1.29 NWGISS O NASA Web GIS Software suite (NWGISS) é composto por um conjunto de componentes WebGIS: Web Map Service, Web Coverage Service, Catalog Service, Multi-Protocol Geoinformation Client e uma toolbox, baseados em especificações do OGC, possibilitando o acesso a ficheiros do tipo HDF-EOS (Hierarchical Data Format – Earth Observing System) através da Internet. Esta aplicação suporta três tipos distintos de dados HDF-EOS: ponto, swath e grid. A toolbox é constituída por uma ferramenta de importação / exportação entre formatos HDF-EOS e outros formatos SIG comummente utilizados e por outra ferramenta que possibilita a criação automática de um ficheiro XML capabilities.xml. As componentes atrás descritas podem ser utilizadas de forma individual ou conjunta (Liping et al, 2001). Todas estas componentes também se encontram disponíveis no WebSite do projecto (http://www.laits.gmu.edu/), contudo apenas existem versões previamente compiladas. O NWGISS WCS, implementado sobre as especificações WCS, versões 0.5 e 0.6 do OGC, permite aos clientes o acesso a coberturas HDF-EOS através das três operações definidas pelo OGC, GetCapabilities, GetCoverage e DescribeCoverage. Esta aplicação possibilita como input apenas dados no formato HDF-EOS. Como output, outros formatos, além do atrás mencionado, são disponibilizados: binário, HDF-EOS, NITF (National Image Transfer Format) e GeoTIFF. A geo-rectificação das coberturas, o acesso a sub-áreas das mesmas e a possibilidade de utilização de variados sistemas de coordenadas são também suportados de modo instantâneo nesta aplicação (Yang e Di, 2002). Após a aplicação estar operacional, existe no servidor um ficheiro capabilities.xml, que será enviado ao cliente cada vez que este utilizar a opção GetCapabilities, e ficheiros describecoverage.xml, com informação sobre cada uma das coberturas disponíveis. O NWGISS WCS é uma aplicação CGI que corre via Common Gateway Interface. Serve de aplicação middleware entre o servidor Web e o servidor de dados. Neste caso, o cliente envia um pedido do tipo URL para o servidor. Este pedido é recebido pelo servidor Web que invoca posteriormente o WCS via CGI. A aplicação obtém os dados requeridos do servidor de dados, manipula-os, consoante ordem do cliente, e envia-os a este. Figura 3. NWGISS WCS, arquitectura da aplicação Este sistema foi instalado num servidor com as seguintes características: Sistema Operativo: SuSE 9 Linux distribution Processador: Pentium 4 CPU 2.66 GHz Memória RAM: 512 Mb Servidor Web: Apache 2.0 Devido ao facto de nem todos os componentes pré-compilados do NWGISS WCS estarem disponíveis para o mesmo sistema operativo, não houve a possibilidade de instalação completa desta aplicação. Contudo, a operação GetCapabilities foi testada com um ficheiro demonstração. COMPARAÇÃO DEEGREE WCS, NWGISS WCS No presente capítulo resumem-se as características de cada um dos sistemas analisados, apresentando-se de seguida alguns pontos fortes e fracos de cada um deles. Deve-se porem enfatizar que as aplicações utilizadas são elas próprias protótipos e que não foi objectivo deste trabalho a extensão das suas funcionalidades recorrendo a programação. Devido à impossibilidade de criação do ficheiro capabilities.xml por parte da aplicação NWGISS WCS, o protótipo foi apenas implementado recorrendo ao deegree WCS. deegree WCS NWGISS WCS Versão 1.1.5 0.7 Especificação WCS 1.0.0 0.7 Windows® e Linux Windows®, Unix®, Linux Sistemas Operativos (SO) suportados Formato de Input suportado TIFF, GIF, BMP, PNG, JPEG e IMG HDF-EOS Formato de Output suportado TIFF, GIF, BMP, PNG, JPEG e IMG Binário, HDF-EOS, NITF, e GeoTIFF Operações WCS disponibilizadas GetCapabilities e GetCoverage GetCapabilities, GetCoverage e DescribeCoverage Gestão dos dados Indexação com criação de mosaicos Formato binário Comentários Nem todas as componentes estão disponíveis em todos os SO HDF-EOS não é suportado pela maioria dos SIG existentes e não foi possível a utilização do formato IMG como input HDF-EOS não é suportado pela maioria dos SIG existentes e não foi possível a utilização do formato IMG como output Tabela 1. NWGISS WCS, arquitectura da aplicação deegree WCS Vantagens Versões pré-compiladas para Windows® Código fonte pode ser compilado em outros SO Suporte de variados formatos de input e output Ferramenta de indexação Software open-source Compatível com WCS 1.0.0 Desvantagens DescribeCoverage não suportado Código fonte ilegível para um leigo Necessidade de configuração do Apache Tomcat Impossibilidade de obter dados no formato IMG NWGISS WCS Versões pré-compiladas para Windows®, Unix® e Linux Suporte de todas as operações definidas pelo WCS Suporta vários formatos de output Suporta geo-rectificação e variados sistemas de coordenadas Free for use software Compatível com WCS 0.7 Apenas suporta formato HDF-EOS como input Componentes não estão todas disponíveis em todos os SO acima descritos Impossibilidade de obtenção do código fonte Tabela 2. NWGISS WCS, arquitectura da aplicação CLIENTE Optou-se pela implementação de um cliente estático sob a forma de página Web. Nesta foi colocada informação sobre o projecto, bem como hiper-ligações teste dirigidas ao servidor. Apresentam-se de seguida um extracto do ficheiro capabilities.xml, devolvido após o envio de uma operação GetCapabilities e uma captura de ecrã, na qual se visualiza o resultado de uma operação GetCoverage. URL enviado: http://webtest.ge.ucl.ac.uk:8080/deegreewcs/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCapabilities Resultado: <?xml version="1.0" encoding="ISO88591" ?> <wcs:WCSCapabilities xmlns:wcs="http://www.opengis.net/wcs"> <Service> <Name>WebCoverageServer</Name> <Title>deegree WCS</Title> <Abstract>Web Coverage Service maintained by the lat/lon GmbH</Abstract> <OnlineResource>http://127.0.0.1:8080/deegree?</OnlineResource> </Service> <wcs:CoverageLayerList> <wcs:GridCoverageLayer descriptorResource="file:///C:/deegreewcs/WEBINF/data/gvDesc.xml"> <wcs:LayerID>dem</wcs:LayerID> <wcs:Title>dem</wcs:Title> <wcs:LatLonBoundingBox minx="19.9948320203915" miny="39.9791253693285" maxx="20.0156661086155" maxy="89.9948320203915" /> <wcs:SRS>EPSG:4326</wcs:SRS> ... URL enviado: http://webtest.ge.ucl.ac.uk:8080/deegreewcs/wcs?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&LAYER=dem&SR S=EPSG:4326&BBOX=-20,45,20,70&WIDTH=600&HEIGHT=400&FORMAT=jpg Resultado: Figura 4. Resultado da operação GetCoverage CONCLUSÃO Este projecto possibilitou o desenvolvimento de um protótipo WCS utilizado para servir um Digital Elevation Model de dimensões reduzidas (área do Reino Unido). Para a sua implementação, foram analisadas duas aplicações WCS disponíveis em fase embrionária, deegree WCS e NWGISS WCS. Devido ao facto da última estar apenas disponível em versão pré-compilada e de nem todas as suas ferramentas estarem disponíveis para o mesmo sistema operativo, optou-se por proceder à sua instalação apenas com dados de demonstração. Esta instalação teve como principal finalidade a posterior análise comparativa entre ambas as aplicações. Desta forma, o protótipo foi desenvolvido tendo apenas por base a aplicação deegree WCS. Nesta fase, a tecnologia WCS ainda não se encontra suficiente madura para ser facilmente utilizada por alguém sem conhecimentos na óptica da programação. Ambos os projectos analisados derivam de investigação, tendo sido recentemente lançada a primeira aplicação comercial a suportar o serviço (IONIC Red Spider Web 3.12). A não disponibilização do código fonte, no que diz respeito ao NWGISS WCS, deixa qualquer utilizador impossibilitado de proceder a alterações, não havendo outra alternativa a não ser a de esperar pela disponibilização de outras versões por parte do LAITS. Caso contrário é o que sucede com a aplicação deegree WCS, onde o código fonte é acessível. Desta forma, através de programação, é possível a sua expansão e melhoramento. De qualquer forma, a existência de iniciativas deste tipo, possibilita a criação de um servidor WCS a custos bastante reduzidos. Este projecto encontra-se neste momento a ser aperfeiçoado sob a forma da tese de mestrado do autor. Espera-se, aquando da conclusão da mesma, ter criado um sistema que possibilite o acesso a Modelos Digitais de Terreno de toda a África e Europa provenientes da Shuttle Radar Topography Mission e do programa Landsat. Um dos maiores desafios será o da gestão de tamanha quantidade de informação, tendo sempre subjacente a sua comunicação eficaz via Internet. AGRADECIMENTOS Agradeço a Alois Ndambuki, Neil Kashishian, Adam Bradley, Ariana Simplício, Joana Rodrigues, Hugo Fonseca e Luís Figueira todo o contributo prestado neste trabalho. BIBLIOGRAFIA ARONOFF, S., 1989. Geographic Information Systems: A Management Perspective. Otawa: WDL Publications. BRODEUR, J. et al, 2003. Revisiting the Concept of Geospatial Data Interoperability within the Scope of Human Communication Processes. Transactions in GIS. 7(2), 243-265. BUEHLER, K. e MCKEE, L. (eds), 1998. The Open GIS™ Guide: Introduction to Interoperable Geoprocessing and the OpenGIS Specification. 3ª ed. Wayland: Open GIS Consortium, Inc. Referenciado em: TSOU, M. H. e BUTTENFIELD, B. P., 2002. A Dynamic Architecture for Distributed Geographic Information Services. Transactions in GIS. 6(4), 355-381. EVANS, JOHN D. (eds), 2003. Web Coverage Service (WCS), Version 1.0.0. [online]. Open GIS Consortium. http://www.opengis.org/docs/03-065r6.pdf [Acesso: 10 Maio 2004]. GOODCHILD, M. et al, 1997. Interoperating GISs: Report of a specialist meeting held under the auspices of the Varenius Project Panel on Computational Implementations of Geographic Concepts [online]. Santa Barbara: National Center for Geographical Analysis. http://www.ncgia.ucsb.edu/conf/interop97/report.html [Acesso: 10 Maio 2004]. DI, L. et al, 2001. The Prototypical NASA HDF-EOS Web GIS Software Suite (NWGISS). In: Proceedings of Earth Science Technology Conference (ESTC). College Station, Maryland, 143-147. FITZKE et al, 2003. deegree Web Coverage Service [online]. Bonn: lat/lon e Dep. Geography, Bonn University. http://131.220.106.104/deegree/demos/wcs/deegree_sample_wcs_1.1.5_lite.zip [Acesso: 10 Maio 2004]. PENG, Z. R. e TSOU, M. H., 2003. Internet GIS: Distributes Geographic Information Services for the Internet and Wireless Networks. New Jersey: John Wiley & Sons, Inc. ROWLEY, J., 1998. Draft business case for the harmonization between ISO/TC 211 and the Open GIS Consortium, Inc. Geneva: International Organization for Standardization Report No ISO / TC 211-N472 Referenciado em : TSOU, M. H. e BUTTENFIELD, B. P., 2002. A Dynamic Architecture for Distributed Geographic Information Services. Transactions in GIS. 6(4), 355-381. YANG, W. e DI, L., 2002. Serving NASA HDF-EOS Data through NWGISS Coverage Server. In: Proceedings of the NASA Earth Science Technologies Conference. Pasadena, CA, 11-13. Nuno GIL [email protected] Nuno Gil é licenciado em Engenharia do Território pelo Instituto Superior Técnico, Universidade Técnica de Lisboa (2000), estando neste momento a frequentar o mestrado em Geographic Information Science, University College London. A sua experiência profissional em Sistemas de Informação Geográfica esteve ligada a projectos de consultoria na área da tecnologia de comunicação UMTS, na Siemens S.A., e posteriormente na área do planeamento e transportes, na CISED Consultores e TIS.pt S.A. 2 Mais informação disponível em http://www.ionicsoft.com/products/pdf/RedSpiderWeb3.pdf [Acesso: 14 Abril 2004]