Introduction to GML
(Geography Markup Language)
as a tool to exchange
geographic data
David Sol, Professor - Researcher, UDLA
Antonio Razo, Research Assistant, UDLA
Tel: +52 (222)-229 20 29
Fax: +52 (222)-229 21 38
Email: [email protected],
[email protected]
Geo-Information Technologies Lab
Center for Research in
Information and Automation Technologies
CENTIA – UDLA-P
http://www.udlap.mx/~gisudla
[email protected]
+52 (222) 2-29-20-29
Instructors
David Ricardo Sol Martinez is director of the Computer Systems Engineering
Department at Universidad de las Americas Puebla (UDLA-P), Mexico. He holds a PhD.
degree in Information Science from the Universite de Savoie in France, and a B.Eng.
degree in Computer Systems Engineering from UDLA-P. Since 1998, he works as a
Professor of the Computer Systems Engineering Department at UDLA-P. He also heads
the Laboratory of Geo-Information Technologies from the Center for Research in
Information and Automation Technologies (CENTIA) at his university. His main
research interests lie in the areas of Geographic Databases. He has worked in several
projects supported by the National Council of Science and Technology (CONACYT) of
Mexico and has directed several Master and Bachelor theses.
Antonio Felipe Razo Rodriguez works as a research assistant at the Laboratory of GeoInformation Technologies from the CENTIA at UDLA-P. He holds MSc. degree in
Computer Science and a B.Eng. degree in Computer Systems Engineering from UDLAP. His subjects of research involves the use of XML, 3D and OpenGis specifications for
Geographic Databases.
References

World Wide Web Consortium (XML,SVG,XSLT)
 www.w3.org

OpenGis Consortium (GML)
 www.opengis.org

European Petroleum Survey Group EPSG (SRS)
 www.ihsenergy.com/epsg/epsg.html

Web 3D Consortium (VRML, GeoVRML)
 www.vrml.org
Overview




GML Introduction
GML in action
GML in detail
GML future
Geography Markup Language
Introduction
Introduction

...for the first time spatial information have
a truly public encoding standard, GML... it
will revolutionize the treatment of spatial
information
Ron Lake, Galdos Systems, Inc.
GML topics include






map making
data transformations
spatial queries
geographic analysis
GML-based spatial databases
GML applications for mobile computing
systems, web feature services...
What is GML ?

GML or Geography Markup Language
is an XML based encoding standard for
geographic information
Definition

The Geography Markup Language (GML)
is an XML encoding for the transport and
storage of geographic information,
including both the geometry and properties
of geographic features
GML is a Recommendation



OpenGIS® Consortium Recommendation
Paper
OGC Document Number: 00-029
Date: 12-May-2000
GML specification

...this specification defines the mechanisms
and syntax that GML uses to encode
geographic information in XML...
GML specification

... GML will make a significant impact on
the ability of organizations to share
geographic information with one another,
and to enable linked geographic datasets...
GML specification

...the initial release of this specification is
concerned with the XML encoding of what
the OpenGIS® Consortium (OCG) calls
‘Simple Features’...
What is OpenGIS ?





www.opengis.org
International Consortium
over 220 members
Universities, Government Agencies,
Companies
MIT, Harvard, NASA, FEMA, ESRI,
MapInfo, Oracle, Galdos Systems Inc
Geographic data


geographic data vs. graphic interpretation
When we talk about geographic data we are
trying to capture information about the
properties and geometry of the objects
which populate the world
GML is XML

Just as XML is now helping the Web to
clearly separate content from presentation,
GML will do the same in the world of
geography
Graphic interpretation


When we talk about graphic interpretations
of that data we are talking about a map or
other form of visualization. How we
symbolize data on a map, colors or line
weights
A GML document is not a Map !
GML and Maps

To make a map from GML we need to style
the GML elements into a form that can be
interpreted for graphical display in a web
browser ( or any other device )
GML and Maps


Potential graphical display formats include
W3C Scalable Vector Graphics (SVG), the
Microsoft Vector Markup Language (VML),
and the X3D
Image formats as well; png, gif, jpeg, pdf
GML is Text



GML represents geographic information in
the form of text
Text is easy to create, read (inspect),
modify, transport and to store
human and machine readable
GML



Encodes Feature Geometry and Properties
Based on the Abstract Model of Geography
developed by the OGC that describes the
world in terms of geographic entities called
features.
Essentially a feature is nothing more than a
list of properties and geometries
Properties

Properties have




name
type
value
description
Geometry

Geometries are composed of basic geometry
building blocks such as





points
lines
curves
surfaces
and polygons
For example


To model a school
Properties





Name – text
Description - text
Id - number
Level - text
Geometry
 locationOf
 Point
GML Geometry

For simplicity, the initial GML specification
is restricted to 2D geometry, however,
extensions will appear shortly which will
handle 2 1/2 and 3D geometry, as well as
topological relationships between features.
GML Geometry


GML encoding already allows for quite complex
features. The geometry of a geographic feature
can also be composed of many geometry elements.
A simple feature such as a radio transmission
tower may have a point property (its location), and
an area (multi-polygon) property which is its
coverage zone
Spatial Reference Systems


An essential component of a geographic system is
a means of referencing the geographic features to
the earth's surface or to some structure related to
the earth's surface
GML incorporates earth based spatial reference
system which is extensible and which incorporates
the main projection and geocentric reference
frames in use today by the European Petroleum
Survey Group (EPSG)
Why encode a spatial
reference system ?



Client validation of a server specified Spatial
Reference System
A Coordinate Transformation Service can compare
the SRS description with its own specifications to
see if the SRS is consistent with the selected
transformation
To control automated coordinate transformation
by supplying input and output reference system
names and argument values
GML Feature Collections


The XML 1.0 Recommendation from the
W3C is based on the notion of a document
The current version of GML is based on
XML 1.0 and uses a FeatureCollection as
the basis of its document
GML Feature Collections


A FeatureCollection is a collection of GML
Features together with a bounding Box
element (which bounds the set of Features)
A FeatureCollection can also contain other
FeatureCollections, provided that the
bounding Box of the bounding
FeatureCollection bounds the bounding Box
of all of the contained FeatureCollections
GML - More than a Data
Transport


GML is an effective means for transporting
geographic information from one place to
another
But it will also become an important means
of storing geographic information for
building complex and distributed
geographic data sets
Objectives of GML

If it is implemented as a Standard Format
 data could be developed on the local scale and
readily integrated to the regional and the global
scale

If it is implemented for Specific
Applications
 data developed for one purpose could be readily
integrated with data developed for another
Overview




GML Introduction
GML in action
GML in detail
GML future
Geography Markup Language
GML in action
Our experience
Geo-Information Technologies Laboratory
http://www.udlap.mx/~gisudla


Working with OpenGis standards for 4
years
Working with GML for 2 years
Presentations



“Standard 2D and 3D geo-spatial data formats”
Encuentro Nacional de Computación 2001
“GISELA: A web-based interface using XML and
open standards” Vancouver GML Dev Days July
22nd-26th, 2002
“GML: Compartición de Datos Geográficos”
Conferencia Latinoamericana de usuarios de ESRI
y ERDAS 2002
Current Proyects

GISELA X3-X2
 A web-based interface using XML and open
standards, HTML-SVG-X3D

GeometaX
 Metadata geographic standards using XML

PocketGIS
 XML-based mobile information system
GISELA X3-X2
Geo
database
GML
GML
DBF
SHP
XSLT
VRML
HTML
X3D
SVG
XSLT
GeometaX
PocketGIS
PDA
Server
Sources


Digital Cartography
ArcView
 Spatial Analyst
 3D Analyst
Generating GML

Avenue Script
 ExportGML.ave
'Fecha: 10 de Diciembre de 2001
'Modificado: 15 de Agosto de 2002
'Autor: Laboratorio de Tecnologías de Geoinformación (XALTAL)
'
CENTIA - Universidad de las Americas-Puebla
'
Ing. Antonio Razo Rodriguez
'Nombre: ExportGML.ave
'Version: 0.73
'Exporta los puntos de puntos, polilineas y poligonos en 2D y 3D
'ademas copia sus atributos descriptivos a un archivo con la extensión .xml
'de acuerdo a la especificacion del Geography Markup Language v 1.0
'del OpenGis Consortium (www.opengis.org)
'- Actualizado para exportar multipoligonos y poligonos con huecos
'- Actualizado para exportar bounding box con los elementos seleccionados 18/07/02
'- Actualizado para exportar MultiPoint (falta MultiPointZ ) 15/08/02
'- Actualizado para exportar MultiLineString (falta MultiLineStringZ ) 15/08/02
'- Corregido error de MultiLineString 29/08/02
Generating GML

Java program
 Shapefile binary format to GML
 Shapefile Technical Description
[http://www.esri.com/library/whitepapers/pdfs/s
hapefile.pdf]
•Shape
File Header
Record Header Record Contents
Record Header Record Contents
Record Header Record Contents
Record Header Record Contents
•0 Null Shape
•1 Point
•3 Polyline
•5 Polygon
•8 MultiPoint
Database


GMLReader to OpenGIS SQL
ShapefileReader to OpenGIS SQL
Input
GML
Features
Layers
Client
Output
Geo
database
Server
GML
Features
Layers
Client
Functionality
HTML
GML
XSLT
SVG
X3D
XSL Stylesheets



GML2SVG
GML2VRML2D
GML2VRML3D
Overview




GML Introduction
GML in action
GML in detail
GML future
Geography Markup Language
GML in detail
GML


GML is based on XML
XML stands for
 eXtensible Markup Language

World Wide Web Consortium
 www.w3.org

Internet Standard
GML is based on XML


XML is a language for expressing data
description languages
XML is not a programming language.
There are no mechanisms in XML to
express behaviour or to perform
computations
XML Version 1.0

XML 1.0 provides a means of describing (marking
up) data using user defined tags. Each segment of
an XML document is bounded by starting and end
tags. This looks as follows:
<Feature>
.... more XML descriptions ...
....
</Feature>
Validating XML


The valid tag names are determined by the
Document Type Definition.
Which tags can appear enclosed within an
opening and closing tag pair is also
determined by the DTD
XML Attributes


XML tags can also have attributes
associated with them.
These are also constrained by the DTD in
name and in some cases in terms of the
values that the attributes can assume
Parsing XML


XML is typically read by an XML parser.
All XML parsers check that the data is well
formed so that data corruption (e.g. missing
closing tag) cannot pass undetected
Many XML parsers are also validating,
meaning that they check that the document
conforms to the associated DTD
XML advantages

Using XML is it is comparatively easy to
generate and validate complex hierarchical
data structures. Such structures are common
in geographic applications.
Transforming XML





XSLT (the T stands for Transformation), is
focused on the transformation of XML
XSL (XSLT) provides a clean declarative means
for expressing these transformations.
XSLT is as essential to GML as XML itself
XSL is a fairly simple language. It provides a
powerful syntax for expressing pattern matching
and replacement.
It is declarative
Transforming XML

XPath and XQL you can specify some very
powerful queries on an XML document

XSLT incorporates the ability to call
functions in another programming language
such as VBScript or Java through the use of
Extension Functions
Visualizing XML


SVG, VML and X3D - Vector Graphics for the
Web
Several XML based specifications for describing
vector graphic elements have been developed,
including Scalable Vector Graphics (SVG),
Microsoft's Vector Markup Language (VML), and
X3D, the XML incarnation of the syntax and
behaviour of VRML (Virtual Reality Markup
Language)
Visualizing XML



Each has a means of describing geometry.
The graphical specifications, however, are focused
on appearance and hence include properties and
elements for colors, line weights and transparency
to name but a few aspects
To view an SVG, VML or X3D data file, it is
necessary to have a suitable graphical data viewer
Visualizing GML


To draw a map from GML data you need to
transform the GML into one of the graphical
vector data formats such as SVG, VML or
VRML
This means to associate a graphical "style"
(e.g. symbol, colour, texture) with each type
of GML feature or feature instance
GML

GML v1.0 Specification
 http://www.opengis.net/gml/00-029/GML.html

Tutorial XML
 http://www.w3schools.com

References GML
 http://www.gmlcentral.com
Overview




GML Introduction
GML in action
GML in detail
GML future
Geography Markup Language
GML future
Why GML ?



Why introduce GML at all ?
There are already encoding standards for
geographic information including COGIF,
MDIFF, SAIF, DLG, SDTS to name only a
few
What is so different about GML ? In some
ways nothing. GML is a simple text based
encoding of geographic features.
Why GML ?


GML is based on a common model of
geography (OGC Abstract Specification)
which has been developed and agreed to by
the vast majority of all GIS vendors in the
world
More importantly, however, GML is based
on XML
Why XML ?




There are several reasons why XML is important.
To begin with XML provides a method to verify
data integrity.
Secondly, any XML document can be read and
edited using a simple text editor.
Thirdly, since there are an increasing number of
XML languages, it will be more and more easy to
integrate GML data with non spatial data. Even in
the case of non-XML non-spatial data this is the
case.
Why XML ?


Most important, XML is easy to transform
Using XSLT or almost any other
programming language (VB, VBScript,
Java, C++, Javascript) we can readily
transform XML from one form to another
So with GML we have



A single mechanism can thus be employed for a
host of transformations from data visualization to
coordinate transforms, spatial queries, and geospatial generalization
GML rests securely on a widely adopted public
standard, that of XML
This ensures that GML data can be viewed, edited
and transformed by a wide variety of commercial
and free ware tools. For the first time we can truly
talk about open geographic information
Future of GML


The current version of GML is based on linear
geometry and provides no notions of topology.
Over the next several months, new versions of
GML will be introduced adding







topology,
non-linear feature geometries,
2 1/2 and 3D geometry,
support for OGC Coverages,
XSLT spatial query extension functions,
XLink/XPointer support, and
an XML Schema implementation
Glossary

GML
SVG
X3D
OGC
XML
XSL
XSLT
SRS
EPSG
OGC WebServices
OGC Web Services





Employs existing standards/recommendations
where possible (i.e. SOAP, WSDL, ebXML
regrep, ISO TC211).
Started with Web Map Service (WMS)
Web Feature Service (WFS) about to be public.
Web Coverage Service, Web Registry Service
are under development (OWS tesbeds)
Many other services being considered
Tightly Coupled Data
Services
Public standard
interface
“provided” by the
client
Input message contains
the data or reference to
the data
Processing
Service
Client
“free”
Input message
does not specify
where the data is
located
Client
“coupled”
Data
Access
Service
Service
operates upon
specific
datasets
Registering data access
services
In ISO 19119 (aka OGC Topic 12), a service offer is
associated with a dataset description when a
service instance operates on a specific geographic
dataset.
Service offer
(e.g. WFS)
Dataset description
Web Map Service
Request specifies: (area of the world, scale, data
layers, styling parameters, transparency, map
projection)
Client
Web
Map
Service
Response is a graphic – a GIF/JPEG/PNG file which is a map – i.e. a
particular visualization of some geographic data. It is NOT the data.
Web Feature Service
Request specifies: region of interest, feature
type names/properties (OGC Filter Expression),
return format
Client
Web
Feature
Service
Response is a set of geographic features. All WFS implementations
must be able to return GML, but may also support vendor-specific formats
as well.
Web Feature Service
Capability profile is an XML document that includes:
• Description of abstract interfaces (WSDL ref)
• Description of implementation instance (WSDL ref)
• Quality of Service parameters
• Known feature types
• Supported query languages
Web Feature Service
Client can request the schema or content model of a feature or set of
features
Client
Web
Feature
Service
Response includes components from GML Application Schema(s)
A GML application schema describes the feature type names and their
properties in accordance with GML 2.1
WFS: typical interactions
Client
Web
Feature
Service
1.
Client sends getCapabilities and processes capabilities document.
2.
Client sends a describeFeatureType request to get Feature Schema.
3.
Client receives the GML Application Schema and constructs scripts, data
structures etc. for data processing.
4.
Client sends getFeature request and receives a Feature Collection.
5.
Client processes the received Feature Collection
Web Coverage Service
SpatialTemporal
Domain
f
Range or
Values of a
Coverage
A coverage incorporates a mapping from a spatial-temporal domain
(e.g. some part of the surface of the earth) to some value set. The
value set can be a list (e.g. soil types), a range of fixed point
numbers (e.g. reflectivity), or some complex vector space (e.g.
multi-spectral scanner)
Web Coverage Service
SpatialTemporal
Domain
A coverage is a
feature!
f
Range or
Values of a
Coverage
Coverages include:
• remotely sensed images
• aerial photographs
• soil distributions
• digital elevation models
OGC Services
Architecture
GML Validation
Report
Browser
Client
Registry
Services
Data Access Services
Transformation
Services
Processing services
OWS service taxonomy
(based on categories from
19119)
OWS-1000 Human
Interaction
1100 Portrayal
OWS-2000
Information
Management
2100 Feature
access
2200 Coverage
access
2300 Map access
 Six
top-level service
categories required for
19119 compliance, but
remainder is unconstrained
a service has semantics
and a defined interface; both
aspects are important to
service users (e.g. search by
category and/or interface)

Descargar

1era Parte