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 SAIF
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)
Modelo de Geometria “Simple Fetaures”
Geography Markup Language
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 interligados: 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 locationbased 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.
GML: o que é?
OGC Web Feature Service
getData()
GML Data
Links para outros dados
geográficos
Base para a Geo-Web !!
Geographic Data
Server
GML: o que é?
GML Data
ESRI
getData()
MapServer
Oracle
iGIS
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 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!
Arquitetura de LBS em
larga escala
Location Services
• routing
• tracking
• access to services
Location-Based Services
Information Infrastructures
Área vasta, dados espaciais integrados –
“the geo-spatial world wide web !”
Infra-estrutura de informções
Telco
Telephone
Anexos
Postes
CELB
Municipalidade
<tc:TelephonePole gml:id = “WECO1”>
<tc:carries>
<tc:TelephoneDrop>
…
</tc:TelephoneDrop>
</tc:carries>
<position xlink:href = “… UtilityPole/gml:position” />
….
</tc:TelephonePole>
<rt:UtilityPole gml:id = “P32”>
<gml:position>
<gml:Point srsName = “..”>
<gml:coordinates> … </gml:coordinates>
</gml:Point>
</gml:position>
<rt:UtilityPole>
Infra-estrutura de Informação
Serving
Area
Municipal Land
Parcels
Serving Area
Interfaces
<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>
sa66
</gml:extentOf>
<servedBy xlink:href = “… #SAI36” />
….
</tc: ServingArea >
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: _______________
Street Address (gml:StreetAddress)
Date: _____________
StreetAddress: _____________
Vehicle Route (gml:Route)
Vehicle Route: _____________
Wiring Diagram (gml:Topology)
Wiring Diagram: ____________
Work Order como um documento
XML
Construindo comunidades de
informação
GML Application Schemas
Transportation Constructs
Location Service Constructs
GML
W3C
Logistical Constructs
Network Constructs
Outside Plan Constructs
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;
LinearRing;
MultiPoint;
MultiPolygon
- LineString;
- Polygon;
- MultiLineString;
- 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.
G-XML
Muitas Influências
Muitos objetivos !
GML 3.0
ISO TC/211
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) (GXML, 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
O Framework

Feature

Exemplo de um feição geométrica:
O Framework

Geometry


Supertipo de todos os tipos de geometria
Tem uma referência para o sistema de referência
espacial
Exemplo
Arquitetura(GML 3.0)
Utilizando o GML



Pode lidar com dados espaciais e não espaciais;
Importar esquemas que serão utilizados;
Desenvolvedores devem decidir entre:



1) Utilizar GML para definir os esquemas e transportar
os dados, e também para armazenar esses dados
(XML);
2) Utilizar o GML apenas para definição dos esquemas
e transporte dos dados;
Devem codificar os próprios tipos herdando as
propriedades dos tipos abstratos definidos no
GML, ou inserindo restrições, ou utilizando
objetos concretos existentes;
Utilizando GML

A aplicação deve importar(exportar) de (para)
GML;


Ex: exportar dados espaciais de um banco dados
Oracle para GML;
Ex: obter dados GML em um servidor WEB de
uma determinada aplicação e inserir esses dados
num bancos de dados PostgreSQL.
Exemplo

Definindo tipo Abstrato
Exemplo

Definir o tipo pessoa:
Exemplo

Criando objeto com campo geométrico
Exemplo

Array
GML 3.0

As versões anteriores tinham limitações:



1.0: Definições DTD;
2.0: Já usa XML Schema, mas tem apenas
geometrias simples(Point, Line, Polygon) e de até
2 dimensões.
Maior conformidade com o padrão ISO
19100.
GML 3.0

Principais características:







Geometrias
Topologia
Dados temporais
Observações
Sistema de referências de coordenadas
Unidades de medida
Meta-dados
GML 3.0 - Geometrias

Novas geometrias:



Curves, surfaces, solids
Toda geometria deve ser associada com
algum sistema de referência (srsName)
Permite coleções de geometrias
GML 3.0 - Topologia

Relacionamento espacial entre objetos

Adequado para dados 3D

Topologia é baseada nos elementos: nodes,
edges, faces e solids.
GML 3.0 Características
temporais e dados dinâmicos




Pode ser aplicado para features e attributes
Facilidades para lidar com dados dinâmicos,
principalmente com objetos móveis;
Tem um formato padrão para representar um
instante de tempo, mas suporta outros padrões;
Características dinâmicas podem ter:

Localização, velocidade, direção, elevação e aceleração
GML 3.0 Observações

Elemento que modela o ato de observar

Ex: medidas de temperatura

Útil para armazenar dados de sensoriamento
remoto;

Armazena a forma de aquisição, qual a propriedade
a ser lida, e a medida atual.
GML 3.0 Observações
Exemplo
GML 3.0 Sistema de
Referências

Todas as geometrias têm uma referências
para algum sistema de coordenadas

Novos sistemas podem ser definidos.
GML 3.0 – Unidades de Medida

O framework tem suporte para definição de
unidades de medida para as propriedades
dos elementos; o desenvolver define a
unidade base da propriedade e a conversão
é facilitada, pois as unidades de medidas
mais comuns já estão definidas em GML ;
Exemplo (gml:TimeUnitType)
GML 3.0 Metadata

É muito importante, e GML provê um
framework extensível para adicionar
metadados a features / attributes.
GML para SVG


Muitas vezes os dados em GML precisam
ser convertidos para o padrão SVG nas
aplicações, para fazer a apresentação gráfica
dos dados espaciais;
Geralmente utiliza-se XSLT para fazer a
conversão;
Conclusões



GML 3.0 estende GML 2.0 para adicionar: mais
geometrias, topologia, cobertura, dados temporais,
observações, sistemas de referência espacial,
unidades de medida e metadados;
GML 3.0 fornece um rico conjunto de esquemas que
podem ser utilizados quando necessário;
O framework é extensível, principalmente as
features.
Recursos

GML specification
http://www.opengeospatial.org

GML Dev Days (July 22-26)
http://www.gmldev.org
Download

Unidade 9: Padrões