introduction to gml (geography markup language) as a tool to exchange geographic data david sol,...

85
Introduction to GML Introduction to GML (Geography Markup (Geography Markup Language) Language) as a tool to exchange as a tool to exchange geographic data 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]

Upload: bailey-chafe

Post on 11-Dec-2015

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Introduction to GMLIntroduction to GML (Geography Markup Language) (Geography Markup Language)

as a tool to exchange as a tool to exchange geographic datageographic 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]

Page 2: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

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

Page 3: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

InstructorsInstructors

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 Geo-Information Technologies from the CENTIA at UDLA-P. He holds MSc. degree in Computer Science and a B.Eng. degree in Computer Systems Engineering from UDLA-P. His subjects of research involves the use of XML, 3D and OpenGis specifications for Geographic Databases.

Page 4: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

ReferencesReferences

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

Page 5: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OverviewOverview

GML Introduction GML in action GML in detail GML future

Page 6: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Geography Markup LanguageGeography Markup Language

Introduction

Page 7: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

IntroductionIntroduction

...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.

Page 8: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML topics includeGML topics include

map making data transformations spatial queries geographic analysis GML-based spatial databases GML applications for mobile computing

systems, web feature services...

Page 9: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

What is GML ?What is GML ?

GML or Geography Markup Language is an XML based encoding standard for geographic information

Page 10: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

DefinitionDefinition

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

Page 11: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML is a RecommendationGML is a Recommendation

OpenGIS® Consortium Recommendation Paper

OGC Document Number: 00-029 Date: 12-May-2000

Page 12: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML specificationGML specification

...this specification defines the mechanisms and syntax that GML uses to encode geographic information in XML...

Page 13: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML specificationGML 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...

Page 14: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML specificationGML specification

...the initial release of this specification is concerned with the XML encoding of what the OpenGIS® Consortium (OCG) calls ‘Simple Features’...

Page 15: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

What is OpenGIS ?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

Page 16: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GGeographic dataeographic 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

Page 17: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML is XMLGML 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

Page 18: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GGraphic interpretationraphic 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 !

Page 19: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML and MapsGML 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 )

Page 20: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML and MapsGML 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

Page 21: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML is Text 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

Page 22: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML 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

Page 23: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

PropertiesProperties

Properties have name type value description

Page 24: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GeometryGeometry

Geometries are composed of basic geometry building blocks such as points lines curves surfaces and polygons

Page 25: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

For exampleFor example

To model a school Properties

Name – text Description - text Id - number Level - text

Geometry locationOf

Point

Page 26: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,
Page 27: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML GeometryGML 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.

Page 28: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML GeometryGML 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

Page 29: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Spatial Reference SystemsSpatial 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)

Page 30: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Why encode a spatial Why encode a spatial reference system ?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

Page 31: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML Feature CollectionsGML 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

Page 32: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML Feature CollectionsGML 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

Page 33: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML - More than a Data GML - More than a Data Transport 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

Page 34: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

ObjectivesObjectives of GML 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

Page 35: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OverviewOverview

GML Introduction GML in action GML in detail GML future

Page 36: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Geography Markup LanguageGeography Markup Language

GML in action

Page 37: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Our experienceOur experience

Geo-Information Technologies Laboratory

http://www.udlap.mx/~gisudla

Working with OpenGis standards for 4 years

Working with GML for 2 years

Page 38: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

PresentationsPresentations

“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

Page 39: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Current ProyectsCurrent 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

Page 40: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GISELA X3-X2GISELA X3-X2

GML

XSLT

HTML

SVG

X3D

Geodatabase

GML

VRML

DBF

SHP

XSLT

Page 41: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GeometaXGeometaX

Page 42: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

PocketGISPocketGISPDA Server

Page 43: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

SourcesSources

Digital Cartography ArcView

Spatial Analyst 3D Analyst

Page 44: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Generating GMLGenerating 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

Page 45: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Generating GMLGenerating GML

Java program Shapefile binary format to GML Shapefile Technical Description

[http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf]

File Header

Record Header Record ContentsRecord Header Record ContentsRecord Header Record Contents

Record Header Record Contents

•Shape•0 Null Shape

•1 Point

•3 Polyline

•5 Polygon

•8 MultiPoint

Page 46: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

DatabaseDatabase GMLReader to OpenGIS SQL ShapefileReader to OpenGIS SQL

Input

Geodatabase

Output

Server

ClientClient

GML GML

FeaturesLayers

FeaturesLayers

Page 47: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

FunctionalityFunctionality

GML XSLT

HTML

SVG

X3D

Page 48: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

XSL StylesheetsXSL Stylesheets

GML2SVG GML2VRML2D GML2VRML3D

Page 49: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OverviewOverview

GML Introduction GML in action GML in detail GML future

Page 50: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Geography Markup LanguageGeography Markup Language

GML in detail

Page 51: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GMLGML

GML is based on XML XML stands for

eXtensible Markup Language World Wide Web Consortium

www.w3.org Internet Standard

Page 52: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GML is based on XMLGML 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

Page 53: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

XML Version 1.0XML 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>

Page 54: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Validating XMLValidating 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

Page 55: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

XML AttributesXML 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

Page 56: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Parsing XMLParsing 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

Page 57: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

XML advantagesXML advantages

Using XML is it is comparatively easy to generate and validate complex hierarchical data structures. Such structures are common in geographic applications.

Page 58: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Transforming XMLTransforming 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

Page 59: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Transforming XMLTransforming 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

Page 60: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Visualizing XMLVisualizing 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)

Page 61: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Visualizing XMLVisualizing 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

Page 62: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Visualizing GMLVisualizing 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

Page 63: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GMLGML

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

Page 64: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OverviewOverview

GML Introduction GML in action GML in detail GML future

Page 65: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Geography Markup LanguageGeography Markup Language

GML future

Page 66: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Why GML ?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.

Page 67: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Why GML ?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

Page 68: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Why 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.

Page 69: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Why XML ?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

Page 70: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

So with GML we haveSo 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 geo-spatial 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

Page 71: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Future of GMLFuture 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

Page 72: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

GlossaryGlossary

GMLSVGX3DOGCXMLXSLXSLTSRSEPSG

Page 73: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OGC Web-OGC Web-ServicesServices

Page 74: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OGC Web ServicesOGC 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

Page 75: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Tightly Coupled Data Tightly Coupled Data ServicesServices

Processing Service

Client

Input message contains the data or reference to the data

Public standard interface “provided” by the client

“free”

Data Access Service

Client

Input message does not specify where the data is located Service

operates upon specific datasets

“coupled”

Page 76: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Registering data access Registering data access servicesservices

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

Page 77: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Web Map ServiceWeb Map Service

Web Map

ServiceClient

Request specifies: (area of the world, scale, data layers, styling parameters, transparency, map projection)

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.

Page 78: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Web Feature Service

Web Feature Service

Client

Request specifies: region of interest, feature type names/properties (OGC Filter Expression), return format

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.

Page 79: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

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

Page 80: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Web Feature Service

Web Feature Service

Client

Client can request the schema or content model of a feature or set of features

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

Page 81: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

WFS: typical interactions

Web Feature Service

Client

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

Page 82: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Web Coverage Service

Spatial-

Temporal Domain

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)

Page 83: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

Web Coverage Service

Spatial-

Temporal Domain

Range or Values of a Coverage

A coverage is a feature!

Coverages include:• remotely sensed images• aerial photographs• soil distributions• digital elevation models

Page 84: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OGC Services OGC Services ArchitectureArchitecture

GML Validation Report

Registry Services

Data Access Services Transformation ServicesProcessing services

Browser Client

Page 85: Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,

OWS service taxonomy OWS service taxonomy (based on categories from (based on categories from

19119)19119)OWS-1000 Human Interaction 1100 PortrayalOWS-2000 Information Management 2100 Feature access 2200 Coverage access 2300 Map accessOWS-3000 WorkflowOWS-4000 ProcessingOWS-5000 CommunicationOWS-6000 System Management

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)