Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol,...

Post on 11-Dec-2015

227 views 2 download

Transcript of Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol,...

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: sol@mail.udlap.mx, anrazo@mail.udlap.mx

Geo-Information Technologies Lab

Center for Research in

Information and Automation Technologies

CENTIA – UDLA-P

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

gisudla@mail.udlap.mx

+52 (222) 2-29-20-29

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.

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

OverviewOverview

GML Introduction GML in action GML in detail GML future

Geography Markup LanguageGeography Markup Language

Introduction

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.

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

What is GML ?What is GML ?

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

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

GML is a RecommendationGML is a Recommendation

OpenGIS® Consortium Recommendation Paper

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

GML specificationGML specification

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

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

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

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

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

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 !

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 )

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

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

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

PropertiesProperties

Properties have name type value description

GeometryGeometry

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

For exampleFor example

To model a school Properties

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

Geometry locationOf

Point

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.

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

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)

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

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

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

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

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

OverviewOverview

GML Introduction GML in action GML in detail GML future

Geography Markup LanguageGeography Markup Language

GML in action

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

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

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

GISELA X3-X2GISELA X3-X2

GML

XSLT

HTML

SVG

X3D

Geodatabase

GML

VRML

DBF

SHP

XSLT

GeometaXGeometaX

PocketGISPocketGISPDA Server

SourcesSources

Digital Cartography ArcView

Spatial Analyst 3D Analyst

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

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

DatabaseDatabase GMLReader to OpenGIS SQL ShapefileReader to OpenGIS SQL

Input

Geodatabase

Output

Server

ClientClient

GML GML

FeaturesLayers

FeaturesLayers

FunctionalityFunctionality

GML XSLT

HTML

SVG

X3D

XSL StylesheetsXSL Stylesheets

GML2SVG GML2VRML2D GML2VRML3D

OverviewOverview

GML Introduction GML in action GML in detail GML future

Geography Markup LanguageGeography Markup Language

GML in detail

GMLGML

GML is based on XML XML stands for

eXtensible Markup Language World Wide Web Consortium

www.w3.org Internet Standard

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

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>

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

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

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

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.

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

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

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)

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

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

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

OverviewOverview

GML Introduction GML in action GML in detail GML future

Geography Markup LanguageGeography Markup Language

GML future

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.

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

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.

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

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

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

GlossaryGlossary

GMLSVGX3DOGCXMLXSLXSLTSRSEPSG

OGC Web-OGC Web-ServicesServices

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

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”

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

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.

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.

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

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

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

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)

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

OGC Services OGC Services ArchitectureArchitecture

GML Validation Report

Registry Services

Data Access Services Transformation ServicesProcessing services

Browser Client

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)