Presentation on theme: "Introduction to GML (Geography Markup Language) as a tool to exchange geographic data David Sol, Professor - Researcher, UDLA Antonio Razo, Research Assistant,"— Presentation transcript:
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@example.com, firstname.lastname@example.org
Geo-Information Technologies Lab Center for Research in Information and Automation Technologies CENTIA – UDLA-P http://www.udlap.mx/~gisudla email@example.com +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 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.
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
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
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
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/ shapefile.pdf] File Header Record HeaderRecord Contents Record HeaderRecord Contents Record HeaderRecord Contents Record HeaderRecord Contents Shape 0 Null Shape 1 Point 3 Polyline 5 Polygon 8 MultiPoint
Database GMLReader to OpenGIS SQL ShapefileReader to OpenGIS SQL Input Geo database Output Server Client GML Features Layers Features Layers
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:.... more XML descriptions.......
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
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.
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 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 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
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 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 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 Client 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 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 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
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 OWS-3000 Workflow OWS-4000 Processing OWS-5000 Communication OWS-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)