760 likes | 882 Vues
Unidade 8: Padr ões em SIG. Cláudio de Souza Baptista UFCG/CCT/DSC Grupo de Sistemas de Informações e Banco de Dados http://www.lsi.dsc.ufcg.edu.br. Introdução. Geralmente padrões auxiliam no compartilhamento, integração e transferência de dados
E N D
Unidade 8: Padrões em SIG Cláudio de Souza Baptista UFCG/CCT/DSC Grupo de Sistemas de Informações e Banco de Dados http://www.lsi.dsc.ufcg.edu.br
Introdução • Geralmente padrões auxiliam no compartilhamento, integração e transferência de dados • Em SIG existem padrões para linguagem de especificação, transferência de dados, geocodificação e documentação de metadados e formatos, qualidade de dados e bibliotecas digitais de objetos espaciais • Existem padrões em vários níveis: internacional, nacional, regional
Introdução • Exemplos: • ISO TC 211 - Informações geográficas e Geomática (http://www.isotc211.org/) • FGDC (Federal Geographic Data Committee) • ANSI TC X3L1 (1993) juntamente com OGC (Open Geospatial Consortium) • SAIF (Spatial Archive and Interchange Format) Canadá • DIGIWG (Digital Geographic Information Work Group) - OTAN desenvolveu o DIGEST • SDTS • Shapefile (Formato proprietário da ESRI) • CEN TC 287 – Europa • GML
O Padrão SAIF • Padrão canadense que propõe uma linguagem para especificação e troca de dados, baseada no modelo de orientação a objetos • Influenciou o padrão OGIS • Especifica as classes espaciais, mas não contempla métodos • distingue entre representações de fenômenos do mundo real e representações do espaço e tempo em que estes existem.
O Padrão SDTS • Padrão para transferência de dados espaciais entre SIGs. • Contém especificações lógicas para uso na transferência de dados • modelo conceitual, • descrição de componentes de qualidade e • descrição de formatos de troca • Um glossário de termos
O Padrão SDTS • Possui 3 partes: • modelo de entidades espaciais do mundo real (cidades, rodovias etc) • modelo de objetos espaciais: linhas, pontos, etc • modelo de fenômenos espaciais: descreve o relacionamento entre os dois primeiros.
O Padrão OGC (antigo OpenGIS) • Padrão desenvolvido por um consórcio de fabricantes de SIG denomindo de OpenGeospatialConsortium (OGC) • Objetivo: permitir acesso aos dados espaciais localmente ou remotamente sem se preocupar com modelo de dados proprietários, formato de arquivos ou SIGs que gerenciam os dados
O Padrão OGC • Usa 3 conceitos básicos: • Todos os dados, processos e servidores são objetos baseados em tecnologia de objetos distribuidos (ex. CORBA). • Modelo de objetos geográficos é proposto (baseado no SAIF e compatível com SDTS e DIGEST) • Permitirá que serviços sejam implementados fornecendo ligações entre o modelo de objetos e formatos de dados privados, definindo uma API. • OGC contém um conjunto de especificações para Aplicações geoespaciais (http://www.opengeospatial.org)
GML - OGC • Uma linguagem baseada em XML • • Para transporte e armazenamento de geo-informação • Incluindo feições espaciais e não-espaciais • • Desenvolvida pelo OpenGeospatial Consortium - OGC • • GML versions • Initial release: GML specification • Fev/2002: GML2 specification • Desde Jan/2003: GML 3.0 specification • • baseada em XMLSchema • – Futuro: GML4, … specifications • Incluir relacionamentos espaciais, geometria 3D, • e tempo
Introdução • Aplicações com dados espaciais (SIG’s) • Problema: cada aplicação utiliza uma modelagem distinta de armazenamento dos dados geográficos; • Necessidade de um padrão para representar dados espaciais • Surge o padrão GML
O que é GML ? • A Geographic Markup Language (GML) é uma codificação XML para transporte e armazenamento de informação geográfica, incluindo suas propriedades espaciais e não espaciais; • Baseado em XML Schemas.
GML: O que é? • OGC endossou “Adopted Specification” (GML 2.0 passou em março 2001) para representação de informação espacial. • Um conjunto de tecnologias XML para manipular dados espaciais na Internet. • Padrão internacional emergente para dados espaciais—endossado por 200 + indústrias e agências no mundo. • Convergiu com G-XML (Japão) – 600+ industrias.
GML: o que é? • Representação XML de geografia • Permite o uso do mundo de tecnologias XML. • Permite mapas vectoriais em Web browsers. • Permite feições complexas e associações entre estas.
Porquê GML ? • A “lingua franca” para informação geográfica. • Dados GML podem ser lidos e entendidos por pessoas e máquinas. • GML permite o uso de dados espaciais distribuidos que são inter-ligados: manutenção local & acesso e desenvolvimento global. Custo reduzido para dados. • Dados GML podem facilmente ser misturados com dados não-espaciais incluindo texto, video, e imagem. • GML pode construir esquemas de aplicações compartilhadas para telecomunicações, utilitários, florestas, turismo, e location-based services.
Porquê GML ? • GML é facilmente transformado – conversão de coordenadas etc. • Serviços podem ser criados com tipos específicos e então facilmente descobertos. Serviços podem agir em feições. Serviços podem retornar rotas. GML provê um PADRÃO • GML é não-proprietário e aberto! Qualquer cliente pode falar com qualquer servidor! • GML abilita servidores web de feições não-proprietários, anotação de imagem/mapa, análise espacial e estilo de mapa.
OGC Web Feature Service getData() GML Data Links para outros dados geográficos GML: o que é? Geographic Data Server Base para a Geo-Web !!
iGIS GML: o que é? getData() GML Data MapServer ESRI Oracle Geographic Data Server Apenas com email você pode obter dados espaciais?
História • Fev 99 – White paper da Galdos sobre “XML for spatial”. • Jul 99 – Grupo Xbed liderado pela Galdos Systems, desenvolve SFXML (Oracle, NTT Data, MapInfo) • Out 99 – Galdos Systems escreve GML RFC • Dez 99 – GML RFC se torna pública • Mai 2000 – GML 1.0 Passa como “recommendation paper”. • Febv 2001 – OGC publica GML 2.0 • Mar 2001 – GML 2.0 votado como “adopted specification” • Jul 2001 – GML 3.0 Workshop em Vancouver • Set 2001 – OGC vota enviar GML ao ISO • Jul 2002 – GML Dev Days ! • Out 2002 – Release de GML 3.0
GML - usa padrões da W3C GML XSLT RDF/S XML XPath SVG/VML XSD XPointer XLink
GML foca em conteúdo Desenho de mapa vetorial num web browser (SVG) GML separa conteúdo & apresentação !
Aplicações chaves • Location-Based Services e Mobile GIS • Internet GIS (governos local/regional & nacional) • Gestão de Desastres • Investigação de acidentes • Planejamento e Monitoração de telecomunicações e utilitários (energia, água, gás)
Implicações de GML • Torna possível construir uma infra-estrutura espacial – reduz o custo incremental cost construir dados de aplicações específicas. • Facilita a integração da informação espacial com não-espacial – “e-mail me a map I can interact with”! => Melhor utilizaçao da informação espacial. • Direciona para padrões geográficos para vários domínios de aplicação - vocabulários compartilhado e padronizado – diminui o custo de compartilhamento de dados e aumenta interoperabilidade. • Provê um padrão aberto e flexível para transportar informação geográfica para aplicações baseadas em localização. Permite vendedores focar no conteúdo!
Location Services • routing • tracking • access to services Location-Based Services Information Infrastructures Área vasta, dados espaciais integrados – “the geo-spatial world wide web !” Arquitetura de LBS em larga escala
Infra-estrutura de informções <tc:TelephonePole gml:id = “WECO1”> <tc:carries> <tc:TelephoneDrop> … </tc:TelephoneDrop> </tc:carries> <position xlink:href = “… UtilityPole/gml:position” /> …. </tc:TelephonePole> Telco Telephone Anexos Postes CELB <rt:UtilityPole gml:id = “P32”> <gml:position> <gml:Point srsName = “..”> <gml:coordinates> … </gml:coordinates> </gml:Point> </gml:position> <rt:UtilityPole> Municipalidade
Infra-estrutura de Informação <tc:ServingArea gml:id = “Biloxia”> <gml:extentOf> <gml:Polygon srsName=“..”> <gml:outerBoundaryIs> <gml:Ring> <gml:curveMember xlink:href = “ … “ /> <gml:curveMember xlink:href = “ … “ /> <gml:curveMember xlink:href = “ … “ /> <gml:Ring> <gml:outerBoundaryIs> … </gml:Polygon> </gml:extentOf> <servedBy xlink:href = “… #SAI36” /> …. </tc: ServingArea > Serving Area sa66 Municipal Land Parcels Serving Area Interfaces sa68 Serving Area Boundary shared with municipal boundary
Integração de Dados GML pode integrar dados espaciais e não-espaciais Work Order Assigned To: _______________ Date: _____________ StreetAddress: _____________ Vehicle Route: _____________ Wiring Diagram: ____________ Street Address (gml:StreetAddress) Vehicle Route (gml:Route) Wiring Diagram (gml:Topology) Work Order como um documento XML
W3C Construindo comunidades de informação Logistical Constructs GML Application Schemas Transportation Constructs Network Constructs Outside Plan Constructs Location Service Constructs GML Common Geographic and Geometric Constructs Numbers Strings
Transporte de Dados espaciais • GML pode transportar informação: • Pontos de interesses (POI) • Rotas • Observações • Localização qualitativa/ endereço postal
Tecnologias Dependentes • GML não está sozinha — mas usa/direciona muitas especificações da OGC. • Web Feature Server (WFS) é uma especificação OGC. • Web Coverage Server • Geo-coder e Gazetteer Specifications. • Especificações de estilo.
GML2.0 • Features, Feature Collections • Geometries • Feature properties e outras associações; • Associações complexas
Codificação GML(cont.) • Codificando Geometrias • Utiliza o esquema Geometry; • Implementa geometrias, com as seguintes classes: • Point; - LineString; • LinearRing; - Polygon; • MultiPoint; - MultiLineString; • MultiPolygon - MultiGeometry; • Possui ainda os elementos <coordinates> e <coord> para codificação de coordenadas: • <coordinates>5.0,40.0</coordinates> • <coord><X>5.0</X><Y>40.0</Y></coord> -><element name="coord" type="gml:CoordType" /> <complexType name="CoordType"> <sequence> <element name="X" type="decimal"/> <element name="Y" type="decimal" minOccurs="0"/> <element name="Z" type="decimal" minOccurs="0"/> </sequence> </complexType>
Codificação GML(cont.) • O elemento <box> usado para codificar extensões; • Utiliza os elementos <coordinates> e <coord>; • O primeiro elemento possui a medida dos menores valores ao longo dos eixos, o segundo ponto a medida dos maiores valores; <Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <coord><X>0.0</X><Y>0.0</Y></coord> <coord><X>100.0</X><Y>100.0</Y></coord> </Box> • LineString- possui as coordenadas do primeiro e último ponto; • LinearRing- a última coordenada deve coincidir com a primeira;
Codificação GML(cont.) • Polygon- o limite do Polygon é um conjunto de linearRings; • MultiGeometry- contêm todos os elementos geométricos, possui a propriedade geometryMember que retorna o próximo elemento geométrico na coleção. Exemplo: <MultiGeometry gid="c731“ srsName= "http://www.opengis.net/gml/srs/epsg.xml#4326"> <geometryMember> <Point gid="P6776"> <coord><X>50.0</X><Y>50.0</Y></coord> </Point> </geometryMember> --- <geometryMember> <LineString gid="L21216"> <coord><X>0.0</X><Y>0.0</Y></coord> <coord><X>0.0</X><Y>50.0</Y></coord> <coord><X>100.0</X><Y>50.0</Y></coord> </LineString> </geometryMember>
Codificação GML(cont.) • Codificando Características com Geometrias • GML provê um conjunto pré-definido de propriedades geométricas que podem ser usadas em geometrias de um tipo particular. • Exemplo: O tipo de característica Dean possui uma propriedade ponto chamada location, que substitui o nome formal pointProperty. <gml:location> <gml:Point> <gml:coord><gml:X>1.0</gml:X><gml:Y>1.0</gml:Y></gml:coord> </gml:Point> <gml:location>
Exemplos • Schema GEOMETRY: <cityMember> <River> <gml:description>The river that runs through Cambridge. </gml: description> <gml:name>Cam</gml:name> <gml:centerLineOf> <gml:LineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coord><gml:X>0</gml:X><gml:Y>50</gml:Y></gml:coord> <gml:coord><gml:X>70</gml:X><gml:Y>60</gml:Y></gml:coord> <gml:coord><gml:X>100</gml:X><gml:Y>50</gml:Y></gml:coord> </gml:LineString> </gml:centerLineOf> </River> </cityMember>
Exemplos(cont.) • Schema FEATURE: <cityMember> <Mountain> <gml:description>World's highest mountain is in Nepal!</gml:description> <gml:name>Everest</gml:name> <elevation>8850</elevation> </Mountain> </cityMember> ----------------------------------------------------------------------------------- <complexType name="SchoolType"> <complexContent> <extension base="gml:AbstractFeatureType"> <sequence> <element ref="ex:address"/> <element ref="gml:location"/> </sequence> </extension> </complexContent> </complexType>
GML 3.0! GML 2. ISO TC/211 G-XML Muitas Influências Muitos objetivos ! GML 3.0
GML 3.0 Process • 12 membros OGC RWG trabalharam em GML 3.0 • Schemas para GML 3.0 congelados em maio 03/2002
GML 3.0 • Localização: (G-XML, OGC) • Geometric point (like GML 2.0) mas outras geometrias também. • Endereço postal com suporte à internacionalização. (FGDC compliant) • Endereço na forma de strings também. (“corner of 5th and Hornby”) • Palavras-chave (de um dicionário – ex. “Holanda” ) • Temporal: (baseado em ISO 19108) (G-XML, OGC) • Feature timestamps (time intervals, time positions) • Dynamic Features • Moving Object States
GML 3.0 • Topologia: (baseada em ISO 19107) (OGC, G-XML) • Topologias separadas de geometry. • Primitivas para nodos, arcos, faces e sólidos. • Manipula orientação. • Melhoras em Geometry (baseadas no ISO 19107) • Geometrias não-lineares – tamanho de dados reduzidos. • Polígonos com curvas • “composite curve” curvas compostas de curvas ou primitivas de curvas. • “composite surface” surperfícies compostas de surperfícies ou primitivas de superfícies.
GML 3.0 • Sistemas de Referência: (G-XML, OGC, ISO) • ISO/OGC gramática compatível com sistemas de coordenadas. • Dicionário de sistema de referência • Sistemas de referência definidos pelo usuário • Observações: (para G-XML) • Conteúdo de Images/multimídia • Dependente de posição e tempo • Quandades medidas, observações
GML 3.0 • Coverages: (baseado no ISO 19123). (OGC) • Distribuição de quantidades sobre surperfície da terra. • Imagens de sensoriamento remoto – dados customizados • Modelo de redes • Unidades de Medidas: (OGC. G-XML) • Quantidades físicas arbitrárias – uso de dicionários • Consistente com coverages e features.
GML 3.0 • Mecanismos de Metadados (OGC, G-XML) • Mecanismo de metadados genéricos para features, coverages etc. • Esquemas de Metadados podem ser publicados e compartilhados. • Esquemas/ instâncias de metadados para domínios específicos (ex. telecom) • Estilo default: (G-XML) • Estilos persistentes para features. • Animação • Estilos de topologia.
Características de GML • Geração de um framework aberto para definição de esquemas e objetos de aplicações geoespaciais • Suporte à descrição de esquemas de aplicações geoespaciais específicas para um domínio; • Suporte ao armazenamento e transporte de aplicações e conjunto de dados; • Aumento da capacidade das organizações compartilharem dados espaciais
O Framework • Especificação do padrão através de definições dos tipos em XML Schema; • Variedade de tipos de objetos para descrição geográfica( Features, Geometry, Topology ); • O usuário deve reutilizar as definições, estendendo-as. E pode criar novos tipos específicos para sua aplicação.
O Framework • Define os objetos abstratos que iniciam a hierarquia de tipos de GML: • Feature • Geometry • Todas as aplicações têm seus principais objetos derivados desses tipos.
O Framework • Feature • Abstração de um fenômeno do mundo real [ISO 19101] • Geographic feature – localização na terra • Estado = coleção de propriedades <nome, tipo, valor> • Também pode conter referências para outros objetos