Estudo do XML, GML, SVG e WEBSERVICES (WMS e WFS) para formatao e
divulgao de informaes geogrficas.
Fbio Brando Joo Arajo Ribeiro
1 Universidade do Estado do Rio de Janeiro (UERJ), PS-GRADUAO EM ENGENHARIA DE COMPUTAO - GEOMTICA. Rua So Francisco Xavier, 524, 5 andar, - Cep: 20550-013- Rio de Janeiro RJ-Brasil. fabios77@ig.com.br araujo@eng.uerj.br
Abstract. The technologies XML, GML, WMS, WFS and SVG became an active research area with many promising applications in Geotechnologies solutions. This paper gives a concrete contribution to the adoption of those open formats and standardized in GIS, what enable the use of geographical information on a Web browser and fosters data reuse throughout the Internet.
Palavras-chave: estudo, xml, gml, webservices, wms, wfs. 1. Introduo Com o aumento do uso e desenvolvimento da internet, os profissionais de GEOMTICA viram possibilidades de efetuar negcios via rede mundial e com isso agilizar e reduzir custos nos processos de tratamento e divulgao de informaes geogrficas. Entretanto, as trocas desses dados por meios digitais encontravam barreiras, j que estes no possuam um padro comum, o que desencadeava um ciclo de incompatibilidades, a nvel de ambiente operacional e a nvel de plataforma. O presente estudo baseia-se nestas dificuldades de comunicao de dados, para apresentar o uso de tecnologias multi-plataforma e multi-ambiente, as quais possam permitir a interoperabilidade de dados geogrficos, para que sejam disseminados por toda a rede. Essas tecnologias devem conter as informaes necessrias para descrever os tipos de dados que carregam, assim sendo, este estudo teve como base de desenvolvimento a linguagem de marcao XML. Este caminho foi definido devido s caractersticas peculiares dessa linguagem, que prov meios para que dados geogrficos sejam padronizados, permitindo sua divulgao independente do ambiente e da plataforma na qual sejam consultados, para tanto foram pesquisadas tecnologias adicionais como GML, SVG, WEBSERVICES (WMS e WFS) que so derivadas da linguagem XML, com o intuito de criar sistemas de informaes geogrficas voltados para WEB, e o importante diferencial de poderem se comunicar com outros sistemas, independente do formato ou da fonte do dado. 2. XML O eXtensible Markup Language um padro W3C (world wide web consortium) grupo responsvel por diversos padres existentes na internet. O uso de XML como formato para a troca de dados busca uma linguagem de padro aberto que tenha a facilidade de ser convertida para outros formatos, inclusive formatos proprietrios, alm disso, o XML texto, o que contribui para sua fcil leitura e processamento, gerando menos incompatibilidades. Como estamos falando de dados geogrficos, devemos levar em conta as necessidades destes, serem descritos por relacionamento semntico, esta a principal caracterstica da linguagem, que foi definitivamente um dos principais pontos na escolha do seu estudo, possibilitando mecanismos de busca muito mais eficientes que outras linguagens e por sua vez aumentando o reaproveitamento dessas informaes. 5611 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 4 3 artigo anterior 9 2 Para que possa ser manipulado como uma rvore semntica, o documento XML deve ser bem formado, seguindo uma gramtica que corresponde um apanhado de regras para um conjunto de documentos XML. Essas regras so definidas por mtodos como, o XML Schema e o DTD e devem ser os primeiros argumentos a serem estudado, s depois, vamos seguir para o processo de validao dos dados, que estar dentro das nossas aplicaes de sistemas de informaes geogrficas. Nesse momento o XML ser limitado por um vocabulrio, onde os atributos tero tipos e valores previamente definidos, obedecendo a uma estrutura hierrquica, padronizada pela linguagem GML e utilizados por Webservices voltados para divulgao de dados geogrficos. 2.1. Mapeamento do XML
Figura 1 - Mapeamento do XML Mapeando o XML, encontramos vrias estruturas que sero teis ao nosso estudo, como o caso do XSL-FO ou XHTML necessrio para formatar dados para impresso ou visualizao na tela (PDF, WORD, WEB), o XSLT e XPATH, para transformar os dados em outros formatos, o DTD ou XSCHEMA, que especifica o modelo de dados validando as informaes. O XLINK, XPOINTER e XQUERY so responsveis por criar vnculos lgicos entre os documentos e localizar seus componentes, j o DOM ou SAX geram e extraem dados dos documentos, alm de ler e gravar em bancos de dados e por ltimo o SVG, para gerar informaes e formato de grficos vetoriais. 3. GML A Geographic Markup Language (GML) uma codificao XML para transporte e armazenamento de informao geogrfica, incluindo suas propriedades espaciais e no espaciais. O objetivo da GML oferecer um conjunto de regras com as quais um usurio passa a definir sua prpria linguagem para descrever seus dados. A GML codificada a partir de XML Schemas baseados em modelos geomtricos, de feies e de superfcies. Os principais esquemas so: O BasicTypes, que engloba uma srie de componentes simples e genricos para representao arbitraria de atributos, nulos ou no.O Topology, o qual especifica as definies do esquema geomtrico dos dados, bem como sua descrio.O Coordinate Reference Systems, para sistemas de referncia de coordenadas.O Temporal Information and Dynamic Feature, este esquema estende aos elementos caractersticas temporais dos dados geogrficos e suas funes dinamicamente definidas.O Definitions and Dictionaries, definies das condies de uso dentro de documentos com certas propriedades ou informaes referentes propriedade padro.O Metadata, este esquema utilizado para definir as propriedades dos pacotes de dados que podem ser utilizados atravs de outros dados j existentes.
XSL-FO ou XHTML XSLT e XPath DTD ou XSchema XML SVG XLink, XPointer e XQuery DOM ou SAX 5612 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 3 3.1. Regras do GML: Desenvolvedores de esquemas de aplicao devem assegurar que seus tipos so subtipos dos correspondentes tipos da GML:
gml:AbstractFeatureType ou gml:AbstractFeatureCollectionType para feies
gml:AbstractGeometryType ou gml:GeometryCollectionType para a geometria.
Um esquema de aplicao no pode mudar o nome, definio ou tipo de dado dos elementos obrigatrios da GML. Definies de tipos abstratos podem ser livremente estendidas ou restritas. Esquema de aplicao deve estar disponvel a qualquer um que receba o dado estruturado por aquele esquema. Os esquemas relevantes devem especificar um namespace que no deve ser: http://www.opengis.net/gml. 3.2. Definio Inicial do GML Figura 2 Definio Inicial do GML 3.3. O Framework Define os objetos abstratos Feature e Geometry que iniciam a hierarquia de tipos de GML. Todas as aplicaes tm seus principais objetos derivados desses tipos. 3.4. Codificando Geometrias Implementa geometrias, com as seguintes classes: - Point; - LineString; - LinearRing; - Polygon; - MultiPoint; - MultiLineString; - MultiPolygon - MultiGeometry;
Possui ainda os elementos <coordinates> e <coord> para codificao de coordenadas.
LineString - possui as coordenadas do primeiro e ltimo ponto; LinearRing - a ltima coordenada deve coincidir com a primeira; Polygon - o limite do Polygon um conjunto de linearRings; MultiGeometry-contm todos os elementos geomtricos, possui a propriedade geometryMember que retorna o prximo elemento geomtrico na coleo. 3.5. Feature (feio) Feio o tomo da informao geogrfica. uma representao abstrata dos fenmenos do 5613 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 4 mundo real e est associada a uma localizao relativa Terra. As feies geogrficas contm informaes de sua posio em relao s coordenadas da Terra. A tcnica mais comum para descrever a forma e localizao de uma feio atravs de sua geometria.
Figura 3 Arquivo exemplo, xsd A Figura 2 um fragmento de um arquivo exemplo.xsd que define um esquema de aplicao, mostrando a criao de um tipo, no caso hidrografia. Seguindo as regras, a linha 3 faz com que hidrografia seja subtipo de gml:AbstractFeatureType. Este tipo pode ser usado na criao de uma tag, por exemplo:
Figura 4 Tag Figura 5 - Representao Geomtrica de uma cidade.
A cidade uma extenso do tipo GML AbstractFeatureCollectionType; Rio, rodovia, montanha e hospital so do tipo GML AbstractFeatureType; A delimitao da cidade deve conter o sistema de referncia espacial (SRS) e as informaes geomtricas de todas as features devem encontrar-se tambm nesse sistema; O rio uma propriedade geomtrica do tipo LineString; A estrada uma propriedade geomtrica do tipo LineString; A montanha uma propriedade geomtrica do tipo LineRing; O hospital uma propriedade geomtrica do tipo Point.
4. SVG Muitas vezes os dados em GML precisam ser convertidos para o padro SVG nas aplicaes, para fazer a apresentao grfica dos dados espaciais. Geralmente utiliza-se XSLT para fazer 5614 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 5 a converso.
Figura 6 - Transformao de um documento GML para um mapa SVG
Figura 7 - Visualizao de um mapa vetorial num web browser utilizando SVG 5. Web Services Os Web Services so softwares que oferecem servios a aplicaes remotas, denominadas consumidoras, utilizando a Internet como canal de comunicao. As aplicaes consumidoras e os Web Services podem ser desenvolvidos em diferentes plataformas, utilizando diferentes linguagens de programao, o que permitido pelo uso de um conjunto de padres, tais como XML, SOAP, HTTP, WSDL. Alm disso, uma aplicao pode utilizar simultaneamente, recursos de Web Services localizados em diferentes servidores [2]. 5.1 Arquitetura Web Services Provedor de servios - Oferece servios, alguns dos quais podem ser Web Services. Registro de servios - Catlogo de endereos: repositrio central que contm informaes sobre Web Services. Cliente de servios - Aplicao que descobre um Web Service, implementa sua interface de comunicao e usa o servio.
Figura 8 - Arquitetura WebService SVG Documento GML Folha de Estilo XSLT/SLD Processador Mapa 5615 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 6
Figura 9 Camadas da arquitetura Web Service
As mensagens trocadas so formatadas no protocolo SOAP (Simple Object Access Protocol), o que permite a interoperabilidade entre diferentes plataformas, em um processo denominado serializao XML. Porm, antes que as mensagens SOAP sejam trocadas, suas caractersticas so explicitadas atravs de documentos WSDL (Web Services Description Language), que descrevem quais dados estaro sendo trocados, e como estes dados estaro organizados nas mensagens SOAP. Adicionalmente, os servios dos Web Services podem ser publicados atravs de UDDI (Universal Description, Discovery and Integration), que um formato utilizado para seu armazenamento em repositrios disponveis na Internet. Assim, se um desenvolvedor precisar resolver uma determinada tarefa, pode encontrar o Web Service que mais se adequar sua necessidade [2]. 5.2. Web Map Service (WMS) A funo de WMS criar uma forma padronizada para recuperao de mapas (imagens matriciais). Neste processo, os parmetros utilizados para a definio exata de qual mapa recuperar so: a representao do mapa, o tamanho do mesmo e o seu sistema de referncia. So definidas trs operaes :
GetCapabilities: prov metadados sobre o servio, oferecendo informaes sobre os valores de parmetros aceitveis para as demais operaes. GetMap: retorna um mapa para o cliente, com sistema de referncia, tamanho, formato e transparncias especificados. GetFeatureInfo: operao opcional que retorna informaes adicionais sobre pixels determinados pelo cliente, por meio de um mapa recuperado previamente. 5.3. Web Feature Service (WFS) Esta especificao suporta a comunicao padronizada entre clientes e servidores de dados geogrficos, permitindo a execuo de consultas, inseres, atualizaes e excluses de feies geogrficas. Para tanto, foram definidas as seguintes operaes: GetCapabilities: retorna um documento que descreve os tipos de feies suportados, bem como as operaes permitidas por cada um destes tipos. DescribeFeatureType: retorna a descrio de um determinado tipo de feio, suportado pelo WFS. GetFeature: responsvel por retornar instncias de dados oferecidos pelo servio, representadas por documentos no formato GML. Alm destas, que definem um WFS bsico, que somente-leitura, existem ainda as seguintes operaes, que definem um WFS transacional. Transaction: permitem a realizao de operaes de insero, atualizao e excluso sobre os dados mantidos sob o WFS. Camada de transporte Principais: HTTP (POST), FTP, SMTP. Emergentes: JRMP (Java RMI), IIOP (CORBA, EJB), JMS, IMAP, POP, BEEP, JXTA, ... Camada de mensagens SOAP Camada dados ou servios XML (formato de mensagens) XML-RPC Camada de descrio de servios WSDL Camada de descoberta (registro) UDDI, ebXML 5616 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617. 7 LockFeature: uma operao opcional, utilizada para bloquear um ou mais tens de dados na utilizao de um WFS transacional, permitindo a serializao. A seqncia natural na utilizao de Web Services que implementam a especificao WFS consiste de trs passos. O primeiro a utilizao do mtodo GetCapabilities pelo cliente, que retorna as capacidades do servio. Em seguida, o cliente pode invocar o mtodo DescribeFeatureType e ter detalhes de um determinado tipo de feio. O terceiro passo consiste de recuperar ou modificar dados, utilizando-se o mtodo Transaction ou GetFeature. 6. Concluses A informao a base para todos os setores da atividade humana, tanto no processo de planejamento como na tomada de decises. Na rea de geotecnologia, essa importncia ganha dimenses ainda maiores. A busca de uma linguagem universal est ligada necessidade de disseminao dessa informao para todos que a queiram usar. No trabalho apresentado podemos ver os bons resultados obtidos com os padres da OGC (Open Geospatial Consortium) e que o GML (XML) desponta como uma linguagem padro com um timo desenvolvimento. A linguagem GML j uma realidade no atual contexto, entretanto devemos observar que existe a necessidade do Brasil em participar do desenvolvimento desses padres para solues de geoprocessamento deixando de ser um mero consumidor de tecnologia passando a ser um produtor da mesma. Referncias Bastos, Iochpe, Lima 2004, Transformao de GML para SVG em uma Clearinghouse para disponibilizao de dados geogrficos na Internet. II Workshop de Tecn. da Inf. aplicada ao Meio Ambiente CBComp 2004.
FARIA, Rogrio Amorim de. Treinamento avanado em XML. So Paulo: Digerati Books, 2005. 126 p.
Brigitte Mathiak, Andreas Kupfer And Karl Neumann. Using Xml Languages For Modeling And Web- Visualization Of Geographical Legacy Data. Institut FUr Informationssysteme-TU Braunschweig MUhlenpfordtstr. 23, 38100 Braunschweig, Germany {Mathiak, Kupfer, Neumann}@Idb.Cs.Tu-Bs.De, 2003.
Open GIS Consortium, Geography Markup Language (GML) 3.0, Open GIS Implementation Specification, [Online]. Disponvel em: <http://www.opengis.org/docs/02-023r4.pdf>. Acesso em 20 jan. 2006.
ROCHA, Helder da, XML na gesto da informao. Disponvel em: <www.argonavis.com.br>. Acesso em: 17 jul. 2006.
Schuenck e Soares. Mecanismos Para Intercmbio De Dados Geogrficos Atravs De Web Services. Departamento de Informtica e Matemtica Aplicada - UFRN, Caixa Postal 515, 201, Natal, RN, Brasil, michael@ppgsc.ufrn.br, valeria@dimap.ufrn.br,
5617 Anais XIII Simpsio Brasileiro de Sensoriamento Remoto, Florianpolis, Brasil, 21-26 abril 2007, INPE, p. 5611-5617.