SlideShare a Scribd company logo
Università degli Studi dell’Aquila
Facoltà di Ingegneria
Prof. Eliseo Clementini
Advances in GML for
Geospatial Applications
di Chang-Tien Lu · Raimundo F. Dos Santos Jr ·
Lakshmi N. Sripada · Yufeng Kou · 2007
Vittoriano Muttillo
214248
Introduction to GML
Geography Markup Language (GML) is an XML encoding designed for
use with geographic information
GML helps in the storage, exchange, and modeling of geographic
information containing both spatial and non-spatial attributes
GML uses the concepts provided in the Abstract Specification of the
Open Geospatial Consortium (OGC)
GML is a relatively new language still in development. Data
processing techniques need to be refined further in order for GML to
become a more efficient medium for geospatial applications
Support for more complex objects has been incorporated in GML 3,
whereas previous versions only accounted for simple features
Topics
 GML storage, schemas, and the differences between GML versions
GML parsers and query languages
Techniques for data transformation and visualization of GML
documents
Applications of GML for mobile devices, as well as GML Web Services
Various GML-related research
GML schemas and storage
Systems were not always based on XML grammar
Spatial data is heavy by nature
GML documents can be (and often are) very large, raising concerns
about processing and transport
The GML specification does not address (nor does it intend to)
functional aspects related to performance
The burden of efficient processing lies solely on user shoulders
GML can be used for storage of geospatial data in plain text files or
XML databases but many institutions implement their own storage
strategies in different ways
GML schemas (1)
The method of generating GML documents is irrelevant but
important is that the documents conform to the requirements in the
GML document specification
GML 1 used Document Type Descriptors (DTD) on Resource
Description Framework (RDF) schemas to define elements and
attributes. DTDs have some disadvantages. For instance they are not
written in XML, which makes them inconvenient to interpret.
GML 2 removed DTDs and RDF schemas
GML 3 extends the use of XML even further
GML schemas (2)
 A GML schema is an XML schema. A single interpreter can be used for
both the schema itself and the GML document.
 GML defines various XML schema types and elements such as features,
geometries, and topologies through a hierarchy of GML objects
 Designers can create different types of schemas by extending or
restricting the features from the GML base schema.
 Flexibility in using GML to represent a diverse range of spatial objects
 There have been initiatives towards the implementation of standard
application schemas to specific domains:
 Brodaric et al. describe the GeoSciML project as a tailored GML schema used
to manage scientifc data suited for geological mapping in “Standardizing
geologic data interchange: The CGI datamodel collaboration”
 Examples of GML documents and schema documents can be found in
the OGC GML specification
GML schemas (3)
 A spatial feature may be associated with one or more geographic
properties
 A feature is described by a set of properties
 Coordinates for feature are associated with a Spatial Reference system
(SRS)
 Element names corresponding to instances of GML classes start with an
uppercase letter (e.g., Curve), while property tags start with a lowercase
letter
 Envelope describes a region bounded by a pair of positions denoted by
its corners. The “coord” type has been deprecated with GML3.0. The
“pos” and “posList” elements are now used instead
A GML instance document “exampleRoad.xml ”
GML schemas (4)
The main body of GML instance document “exampleRoad.xml”
 CurveMember is a property of the CompositeCurve object
 Its children may have geometries with similar or different interpolations
 The two curve members in the example are Curve gml:id “c101” and Curve
gml:id “c102”
 Some of the elements that can be used as a value of gml:curveMember are
gml:LineStringSegment and gml:CubicSpline. These elements are new to GML
version 3
GML schemas (5)
A LineString is a type of curve that is composed of single segments.
It is defined by two or more coordinate tuples, with linear
interpolation between them
A CubicSpline is a spline constructed of piecewise third-order
polynomials which pass through a set of n control points
The control parameters record must contain vectorAtStart, and
vectorAtEnd which are the unit tangent vectors at controlPoint[1]
and controlPoint[n] where n = controlPoint.count
Only the direction of the vectors is
relevant, not their length
GML schemas (6)
Some of the other geometry elements supported by GML are:
 Point
 Linestring
 LinearRing
 Polygon
 MultiPoint
 MultiLineString
 GeometryCollection
 MultiPolygon
By using a few core schemas as defined in the GML specification,
new data types can be defined
Further details about GML standards, examples of GML documents,
and GML schemas can be found in the GML specification document
GML storage (1)
 Data can be stored in database format and converted into GML format
 There are several alternative approaches for the storage of
semistructured data or XML documents:
 a relational model
 an object-oriented model
 an object-relational model
 a specialized XML database
 full file storage on disk
 Oracle DBMS [1] and XML DB [2] are examples that support different
approaches
 Each approach must still be evaluated further in terms of the query
processing efficiency for large amounts of spatial and non-spatial data
[1] https://www.oracle.com/database/index.html
[2] http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html
GML storage (2)
Various approaches to storing GML/XML documents
GML storage (3)
 The approaches to designing relational database schemas for XML
documents can conveniently be divided into two categories:
 Structure-mapping
 Model-mapping
 Under structure-mapping, the design of the database schema is based on
the DTD (Document Type Descriptor), or GML schema that describes the
structure of the GML documents
 With the model-mapping approach, a fixed database schema is used to
store any GML documents without the assistance of GML schema or DTD.
These mappings are performed on element types, attributes, and text
 Three implementation of document-storing based on relational DB are:
 LegoDB (Structure-mapping) [1]
 Monet (Model-mapping) [2]
 XParent (Model-mapping) [3]
[1] https://wiki.csc.calpoly.edu/csc560/wiki/LegoDB
[2] http://www.cs.ucla.edu/classes/spring04/cs240B/presentations/june3a.ppt
[3] http://www.cse.unsw.edu.au/~weiw/files/ICDE02-XParent-Final.pdf
GML storage (4)
• Summarizes of various approaches that can be used for storing GML
data
GML/XML data models
Differences between GML
version (1)
The OGC is in version 3.1.1 (3.3) of GML [1]
GML 1 serves as the first evolutionary step towards the better
approach that is available today
GML 2 provides facilities to handle simple features, such as linear
geometries restricted to one or two dimensions. It allows developers
to model the real world using the features present in its
specification
GML 3 incorporates more intricate structures than either of the
previous versions, including support for complex geometries, spatial
and temporal reference systems, topology, units of measurement,
metadata, gridded data, and default styles for feature and coverage
[1] http://www.opengeospatial.org/standards/gml
Differences between GML
version (2)
 GML 3 includes support for complex 3D geometries, 2D topology, temporal
properties, and dynamic features
 GML 3 remains compatible with the previous versions
 GML Schemas in version 3.x have been expanded significantly from previous
versions
 GML 3 is eight times as large as GML 2
Differences in GML versions
XML parser (1)
 A parser reads a GML document, validates it against the schema, and
creates a representation of the document
 GML does not need a special parser. In fact, XML parsers can be used for
parsing GML files since GML is based on XML specifications
 Some available XML parsers are
 Xerces2 [1]
 XSV [2]
 MSXML4.0 [3]
 A software application should be able to understand the meaning of
each element in the GML dataset, whether the element refers to a
feature, a property of a feature, or a feature collection
 Validation may not always be needed, but ideally this functionality
should be available
[1] http://xerces.apache.org/xerces2-j/
[2] http://www.stylusstudio.com/xml_schema/xsv.html
[3] http://www.microsoft.com/it-it/download/details.aspx?id=19662
XML parser (2)
 There are two standard APIs that are currently used by software
applications to parse GML documents:
 Document Object Model (DOM) [1]
 Simple API for XML (SAX) [2]
 The choice of a DOM or SAX parser for GML documents depends on the
resource usage and efficiency
 DOM builds a tree structure as it processes the data, which tends to
require a large amount of memory in the case of spatial databases
 A SAX parser traverses the document sequentially, treating the
document as a data stream. This tends to consume fewer resources and
hence can be used for larger datasets
 A parser ideally should combine the advantages of both DOM and SAX.
The Galdos GMLSDK [1] is an example that combines features from both
approaches
[1] http://en.wikipedia.org/wiki/Document_Object_Model
[2] http://en.wikipedia.org/wiki/Simple_API_for_XML
XML parser (3)
Comparison between DOM and SAX parsers
GML query language (1)
Many query languages have been proposed for querying GML
documents
Although GML may utilize the readily available query
languages developed for XML, these languages must be
extended with spatial operators if they are to be used for GML
The objects represented in GML are often more complex than
those typically encoded in XML, since geographic objects have
both spatial and non-spatial attributes.
The data model for a GML query language therefore has to
reflect this complexity, and the queries must follow suit
GML query language (2)
 XML query language models can be extended to include the spatial query
attributes of GML. This takes advantage of the existing XML query processing
capabilities and at the same time provides the additional capabilities
required for GML data processing.
 GML queries differ from XML queries as they tend to involve larger joins
over large datasets. In addition, storing, indexing, and querying spatial data
requires more abundant resources than those needed for relatively simple
alphanumeric data
Comparison between XML and GML query languages
GML query language (3)
Xquery [1] has been designed to meet the requirements of an XML
query language, as identified by theW3C XML query working group.
Vatsavai [2] extended XQuery as a base for a GML query language.
XQuery also allows extension functions that can include spatial
operations such as intersects.
An important consideration when developing such languages is to
decide whether to
 extend an already existing XML query language
 develop a new query language for GML
It is not clear that creating a completely new language would be
either efficient or successful.
[1] http://www.w3.org/XML/Query/
[2] http://www.cobblestoneconcepts.com/ucgis2summer2002/vatsavai/vatsavai.htm
GML query language (4)
Another research area in the field of query processing is
how to index GML data. Indexes contain data storage
information that can be used to speed up searches.
GML documents can either be stored as is or the data
can be stored in a database and converted to GML when
required.
Existing spatial indexing techniques can be used for
storing GML data in databases.
[1] http://en.wikipedia.org/wiki/R-tree
GML query language (5)
R-Trees [1], have a hierarchical structure that is suitable for fast
retrieval of spatial data, though such an implementation may
consume a great deal of computation power
R* Trees [1] and R+ Trees [2] insert objects in distinct paths, making
them exclusive to a node.
Z-order B-Trees [3] provide access control to objects while
permitting concurrency control, though this may impose a high
performance cost.
Quad Trees [4], may or may not be as suitable for spatial data as the
other approaches, though they still offer a fast search method.
[1] http://en.wikipedia.org/wiki/R*_tree
[2] http://en.wikipedia.org/wiki/R%2B_tree
[3] http://en.wikipedia.org/wiki/Z-order_curve
[4] http://en.wikipedia.org/wiki/Quadtree
GML query language (6)
Comparison of indexing techniques for spatial data
Using SVG for GML
visualization (1)
 There are several approaches to generating mapping products
in either web or local environments.
 SVG (Scalable Vector Graphics) is a common two-dimensional
vector graphics standard. SVG is a XML product that is well
suited for context-sensitive mapping based on the layers that
the system developer wants to make available externally.
Visualization approaches for geospatial data
Using SVG for GML
visualization (2)
 In the first, the GML file is converted into SVG format through a
parser in conjunction with styling tools. Once the SVG file is
available, it can be used by a visualization tool in rendering the map
 The second alternative is to utilize a spatial database (e.g., Oracle
Spatial or Arc SDE) and query the data based upon ad-hoc user
requests to convert the SVG data into a format that the application
can understand. This approach imposes a greater processing burden
on the script itself, and less on the visualization tool
SVG rendering process for GML data
GML and XML viewers (1)
 Visualizing geographical data is one of the primary goals of
Geographic Information Systems (GIS).
 Graphical optimization can be achieved with standard XML
viewers without any required changes to handle the newer
constructs released in GML 3. No adapters are needed. Rule
validation, for instance, can be enforced on GML constructs.
XML Viewers
GML and XML viewers (2)
Before a map can be made from a GML document, the geo-
spatial features must be extracted from the document and
transformed to a suitable graphical representation with styling
tools.
The process of interpreting the GML data in symbols, such as
line styles, area, and volume filling, is known as map styling.
X3D (XML 3D), for example, is one technology that can be
used for the presentation of GML data in a graphical format.
The graphical representation is then rendered into a viewable
image.
GML and XML viewers (3)
Making a vector map on the web with GML data involves
three steps:
 feature extraction
 map styling
 graphic rendering.
To view an SVG or X3D data file, it is necessary to have a
suitable graphical data viewer
While some of the viewers have been built into Internet
Explorer and Mozilla web browsers, several plug-ins are
currently being developed for other applications.
GML and XML viewers (4)
An effective visual tool for the representation of geographic
data should provide for the display and modification of maps .
Virtual Reality Modeling Language (VRML) describes 3D
objects and virtual environments, allowing the representation
of both static and dynamic data.
GeoVRML is an extension to VRML that provides geoscientists
with the ability to model 3-D geographic data that can be
distributed over the web
GML and XML viewers (5)
 Such data can be interactively visualized using a standard VRML97
browser configuration and these features of GeoVRML facilitate
widespread use of GML and geographic data by common users
 GeoVRML provides several capabilities, such as precision, scalability,
animation, and navigation, that have proven to be very important in
representing GML data in a 3D world.
 X3D, an open standards XML-enabled 3D file format, can also be a
useful language in assisting GML data visualization. If used in
conjunction with a rendering tool, it can translate GML directly into GIF,
JPEG, Postscript, and other formats.
Comparison between various visualization techniques
GML in a mobile devices (1)
GML documents usually require a significant amount of
memory due to their large size and a reasonable amount of
bandwidth for efficient transmittal
cGML, or compact GML, has been developed specifically for
mobile devices. The tags used in cGML are shorter in length
than those in standard GML, which reduces the bandwidth
and memory requirements by as much as 60%.
Other important standards and proprietary systems that have
been developed especially for use in mobile devices are C-
HTML, XHTML, Web clipping, Handheld Device Markup
language (HDML), Website Meta Language (WML), Mobile
Execution Environment (MExE), and Wireless Application
Protocol (WAP)
GML in a mobile devices (2)
Another important issue currently limiting the use of GML on
mobile devices is the display of geographic information.
A GML document therefore has to be transformed into a
different format (e.g., SVG) to be displayed on the mobile
device.
An important consideration when designing wireless
geographic systems is that wireless users are usually doing
concurrent activities (e.g., driving a car, talking on the phone)
and hence have a limited attention span for visual information
display or for devices that require the use of hands such as a
trackball
GML in a mobile devices (3)
 Due to these constraints, the information presented to a mobile user
has to be customized for the user’s task, as well as for the device itself.
 The heterogeneous nature of mobile devices, in conjunction with the
limitations imposed by the low-bandwidth and low-reliability wireless
networks, has proven to be a challenge in such situations.
 GML could play a major role in providing such services in constrained
environments.
Challenges to the deployment of GML to mobile devices
GML web services
 GIS web services have been grouped into three categories: data
services, processing services and registry or catalog services
 Web Map Service (WMS), Web Coverage Services (WCS), and Web
Feature Services (WFS) are examples of data services
GIS web services (data services)
Other web services
technologies
Other technologies that are used in the area of web services
are Simple Object Access Protocol (SOAP), Universal
Description Discovery and Integration (UDDI), and Web
Service Definition Language (WSDL)
SOAP is a XML-based protocol for information exchange
among programs in a heterogeneous Internet environment
using HTML and XML
UDDI is an XML-based registry that allows service providers or
businesses to advertise their web services on the Internet
WSDL is an optional XML-based language that is used by
service providers to list their services in the registry. GML
types (Application Schema) can be used in the types section of
a WSDL document to define geographic objects that are part
of the web service interface.
Summary
Summary of current GML technologies
Conclusion
 The efficient storage of GML documents is one of the problems that
must first be resolved. In addition, porting GML data into other formats
raises several questions.
 The choice of parsers depends on efficient memory usage as well as the
ability to retrieve random data, but XML parsers can be efficiently used
with GML.
 Query languages rely primarily on the efficiency of the data model and
its operators. The design of a GML query language has to account for
both spatial and non-spatial data.
 Integrating GML with mobile device applications is a relatively new area.
Adapting GML for low-bandwidth networks is a problem due to the
detailed nature of geographic data.
 Finally, web services and GML will play an important role in providing
GIS services to common users.
GML Research issues
Grazie per
l’attenzione

More Related Content

PDF
A spatial data model for moving object databases
PDF
Towards and adaptable spatial processing architecture
PDF
Field Programmable Gate Array for Data Processing in Medical Systems
PDF
Iaetsd vlsi architecture for exploiting carry save arithmetic using verilog hdl
PDF
INVESTIGATING BINARY STRING ENCODING FOR COMPACT REPRESENTATION OF XML DOCUMENTS
PDF
Crdom cell re ordering based domino on-the-fly mapping
PDF
Towards an adaptable spatial processing architecture
PPT
Poster 2D Thinning
A spatial data model for moving object databases
Towards and adaptable spatial processing architecture
Field Programmable Gate Array for Data Processing in Medical Systems
Iaetsd vlsi architecture for exploiting carry save arithmetic using verilog hdl
INVESTIGATING BINARY STRING ENCODING FOR COMPACT REPRESENTATION OF XML DOCUMENTS
Crdom cell re ordering based domino on-the-fly mapping
Towards an adaptable spatial processing architecture
Poster 2D Thinning

Similar to Advances in gml for geospatial applications slide (20)

PPTX
AIRM Derivation: Generating ATM Exchange Models
PDF
Towards a More Efficient Paradigm of Storing and Querying Spatial Data on the...
PPT
Sgml and xml
PPT
PMML - Predictive Model Markup Language
PPTX
PDF
Enhanced xml validation using srml01
PPTX
Granules and ISO Metadata
PDF
Er2000
PDF
Module 5 XML Notes.pdf
PDF
Dremel
PDF
Fuzzy Rules for HTML Transcoding
PPT
AIXM, WXXM, FIXM a unified approach to Modelling
PDF
Application Parameter Description Scheme For Multiple Job Generation In Probl...
PDF
MODIGEN: MODEL-DRIVEN GENERATION OF GRAPHICAL EDITORS IN ECLIPSE
PPTX
Building Standards-Based Geoprocessing Mobile Clients
PPS
ogr2gui - english version
PDF
XML-athon with Don and Dean
PPTX
Stranger in a Srange Land;Exploring 3D and CityGML
PDF
A Survey on Heterogeneous Data Exchange using Xml
AIRM Derivation: Generating ATM Exchange Models
Towards a More Efficient Paradigm of Storing and Querying Spatial Data on the...
Sgml and xml
PMML - Predictive Model Markup Language
Enhanced xml validation using srml01
Granules and ISO Metadata
Er2000
Module 5 XML Notes.pdf
Dremel
Fuzzy Rules for HTML Transcoding
AIXM, WXXM, FIXM a unified approach to Modelling
Application Parameter Description Scheme For Multiple Job Generation In Probl...
MODIGEN: MODEL-DRIVEN GENERATION OF GRAPHICAL EDITORS IN ECLIPSE
Building Standards-Based Geoprocessing Mobile Clients
ogr2gui - english version
XML-athon with Don and Dean
Stranger in a Srange Land;Exploring 3D and CityGML
A Survey on Heterogeneous Data Exchange using Xml
Ad

More from Vittoriano Muttillo (6)

PDF
AIPHS: AdaptIve Profiling Hardware Sub-system
PDF
A-LOOP: AMP system: 2-cores ARM Cortex A9/Linux OS and 4-cores Leon3/Linux OS...
PDF
Progettazione e realizzazione di un sistema software per il time logging
PDF
Invarianza di un politopo
PDF
Ieee 802.15.4e nel wirelessHART
PDF
Algoritmi per l'ottimizzazione convessa
AIPHS: AdaptIve Profiling Hardware Sub-system
A-LOOP: AMP system: 2-cores ARM Cortex A9/Linux OS and 4-cores Leon3/Linux OS...
Progettazione e realizzazione di un sistema software per il time logging
Invarianza di un politopo
Ieee 802.15.4e nel wirelessHART
Algoritmi per l'ottimizzazione convessa
Ad

Recently uploaded (20)

PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
DOCX
573137875-Attendance-Management-System-original
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Safety Seminar civil to be ensured for safe working.
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Artificial Intelligence
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
web development for engineering and engineering
PDF
Well-logging-methods_new................
PPTX
Geodesy 1.pptx...............................................
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
573137875-Attendance-Management-System-original
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
UNIT 4 Total Quality Management .pptx
OOP with Java - Java Introduction (Basics)
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Foundation to blockchain - A guide to Blockchain Tech
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Safety Seminar civil to be ensured for safe working.
Lecture Notes Electrical Wiring System Components
Artificial Intelligence
Operating System & Kernel Study Guide-1 - converted.pdf
web development for engineering and engineering
Well-logging-methods_new................
Geodesy 1.pptx...............................................
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...

Advances in gml for geospatial applications slide

  • 1. Università degli Studi dell’Aquila Facoltà di Ingegneria Prof. Eliseo Clementini Advances in GML for Geospatial Applications di Chang-Tien Lu · Raimundo F. Dos Santos Jr · Lakshmi N. Sripada · Yufeng Kou · 2007 Vittoriano Muttillo 214248
  • 2. Introduction to GML Geography Markup Language (GML) is an XML encoding designed for use with geographic information GML helps in the storage, exchange, and modeling of geographic information containing both spatial and non-spatial attributes GML uses the concepts provided in the Abstract Specification of the Open Geospatial Consortium (OGC) GML is a relatively new language still in development. Data processing techniques need to be refined further in order for GML to become a more efficient medium for geospatial applications Support for more complex objects has been incorporated in GML 3, whereas previous versions only accounted for simple features
  • 3. Topics  GML storage, schemas, and the differences between GML versions GML parsers and query languages Techniques for data transformation and visualization of GML documents Applications of GML for mobile devices, as well as GML Web Services Various GML-related research
  • 4. GML schemas and storage Systems were not always based on XML grammar Spatial data is heavy by nature GML documents can be (and often are) very large, raising concerns about processing and transport The GML specification does not address (nor does it intend to) functional aspects related to performance The burden of efficient processing lies solely on user shoulders GML can be used for storage of geospatial data in plain text files or XML databases but many institutions implement their own storage strategies in different ways
  • 5. GML schemas (1) The method of generating GML documents is irrelevant but important is that the documents conform to the requirements in the GML document specification GML 1 used Document Type Descriptors (DTD) on Resource Description Framework (RDF) schemas to define elements and attributes. DTDs have some disadvantages. For instance they are not written in XML, which makes them inconvenient to interpret. GML 2 removed DTDs and RDF schemas GML 3 extends the use of XML even further
  • 6. GML schemas (2)  A GML schema is an XML schema. A single interpreter can be used for both the schema itself and the GML document.  GML defines various XML schema types and elements such as features, geometries, and topologies through a hierarchy of GML objects  Designers can create different types of schemas by extending or restricting the features from the GML base schema.  Flexibility in using GML to represent a diverse range of spatial objects  There have been initiatives towards the implementation of standard application schemas to specific domains:  Brodaric et al. describe the GeoSciML project as a tailored GML schema used to manage scientifc data suited for geological mapping in “Standardizing geologic data interchange: The CGI datamodel collaboration”  Examples of GML documents and schema documents can be found in the OGC GML specification
  • 7. GML schemas (3)  A spatial feature may be associated with one or more geographic properties  A feature is described by a set of properties  Coordinates for feature are associated with a Spatial Reference system (SRS)  Element names corresponding to instances of GML classes start with an uppercase letter (e.g., Curve), while property tags start with a lowercase letter  Envelope describes a region bounded by a pair of positions denoted by its corners. The “coord” type has been deprecated with GML3.0. The “pos” and “posList” elements are now used instead A GML instance document “exampleRoad.xml ”
  • 8. GML schemas (4) The main body of GML instance document “exampleRoad.xml”  CurveMember is a property of the CompositeCurve object  Its children may have geometries with similar or different interpolations  The two curve members in the example are Curve gml:id “c101” and Curve gml:id “c102”  Some of the elements that can be used as a value of gml:curveMember are gml:LineStringSegment and gml:CubicSpline. These elements are new to GML version 3
  • 9. GML schemas (5) A LineString is a type of curve that is composed of single segments. It is defined by two or more coordinate tuples, with linear interpolation between them A CubicSpline is a spline constructed of piecewise third-order polynomials which pass through a set of n control points The control parameters record must contain vectorAtStart, and vectorAtEnd which are the unit tangent vectors at controlPoint[1] and controlPoint[n] where n = controlPoint.count Only the direction of the vectors is relevant, not their length
  • 10. GML schemas (6) Some of the other geometry elements supported by GML are:  Point  Linestring  LinearRing  Polygon  MultiPoint  MultiLineString  GeometryCollection  MultiPolygon By using a few core schemas as defined in the GML specification, new data types can be defined Further details about GML standards, examples of GML documents, and GML schemas can be found in the GML specification document
  • 11. GML storage (1)  Data can be stored in database format and converted into GML format  There are several alternative approaches for the storage of semistructured data or XML documents:  a relational model  an object-oriented model  an object-relational model  a specialized XML database  full file storage on disk  Oracle DBMS [1] and XML DB [2] are examples that support different approaches  Each approach must still be evaluated further in terms of the query processing efficiency for large amounts of spatial and non-spatial data [1] https://www.oracle.com/database/index.html [2] http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html
  • 12. GML storage (2) Various approaches to storing GML/XML documents
  • 13. GML storage (3)  The approaches to designing relational database schemas for XML documents can conveniently be divided into two categories:  Structure-mapping  Model-mapping  Under structure-mapping, the design of the database schema is based on the DTD (Document Type Descriptor), or GML schema that describes the structure of the GML documents  With the model-mapping approach, a fixed database schema is used to store any GML documents without the assistance of GML schema or DTD. These mappings are performed on element types, attributes, and text  Three implementation of document-storing based on relational DB are:  LegoDB (Structure-mapping) [1]  Monet (Model-mapping) [2]  XParent (Model-mapping) [3] [1] https://wiki.csc.calpoly.edu/csc560/wiki/LegoDB [2] http://www.cs.ucla.edu/classes/spring04/cs240B/presentations/june3a.ppt [3] http://www.cse.unsw.edu.au/~weiw/files/ICDE02-XParent-Final.pdf
  • 14. GML storage (4) • Summarizes of various approaches that can be used for storing GML data GML/XML data models
  • 15. Differences between GML version (1) The OGC is in version 3.1.1 (3.3) of GML [1] GML 1 serves as the first evolutionary step towards the better approach that is available today GML 2 provides facilities to handle simple features, such as linear geometries restricted to one or two dimensions. It allows developers to model the real world using the features present in its specification GML 3 incorporates more intricate structures than either of the previous versions, including support for complex geometries, spatial and temporal reference systems, topology, units of measurement, metadata, gridded data, and default styles for feature and coverage [1] http://www.opengeospatial.org/standards/gml
  • 16. Differences between GML version (2)  GML 3 includes support for complex 3D geometries, 2D topology, temporal properties, and dynamic features  GML 3 remains compatible with the previous versions  GML Schemas in version 3.x have been expanded significantly from previous versions  GML 3 is eight times as large as GML 2 Differences in GML versions
  • 17. XML parser (1)  A parser reads a GML document, validates it against the schema, and creates a representation of the document  GML does not need a special parser. In fact, XML parsers can be used for parsing GML files since GML is based on XML specifications  Some available XML parsers are  Xerces2 [1]  XSV [2]  MSXML4.0 [3]  A software application should be able to understand the meaning of each element in the GML dataset, whether the element refers to a feature, a property of a feature, or a feature collection  Validation may not always be needed, but ideally this functionality should be available [1] http://xerces.apache.org/xerces2-j/ [2] http://www.stylusstudio.com/xml_schema/xsv.html [3] http://www.microsoft.com/it-it/download/details.aspx?id=19662
  • 18. XML parser (2)  There are two standard APIs that are currently used by software applications to parse GML documents:  Document Object Model (DOM) [1]  Simple API for XML (SAX) [2]  The choice of a DOM or SAX parser for GML documents depends on the resource usage and efficiency  DOM builds a tree structure as it processes the data, which tends to require a large amount of memory in the case of spatial databases  A SAX parser traverses the document sequentially, treating the document as a data stream. This tends to consume fewer resources and hence can be used for larger datasets  A parser ideally should combine the advantages of both DOM and SAX. The Galdos GMLSDK [1] is an example that combines features from both approaches [1] http://en.wikipedia.org/wiki/Document_Object_Model [2] http://en.wikipedia.org/wiki/Simple_API_for_XML
  • 19. XML parser (3) Comparison between DOM and SAX parsers
  • 20. GML query language (1) Many query languages have been proposed for querying GML documents Although GML may utilize the readily available query languages developed for XML, these languages must be extended with spatial operators if they are to be used for GML The objects represented in GML are often more complex than those typically encoded in XML, since geographic objects have both spatial and non-spatial attributes. The data model for a GML query language therefore has to reflect this complexity, and the queries must follow suit
  • 21. GML query language (2)  XML query language models can be extended to include the spatial query attributes of GML. This takes advantage of the existing XML query processing capabilities and at the same time provides the additional capabilities required for GML data processing.  GML queries differ from XML queries as they tend to involve larger joins over large datasets. In addition, storing, indexing, and querying spatial data requires more abundant resources than those needed for relatively simple alphanumeric data Comparison between XML and GML query languages
  • 22. GML query language (3) Xquery [1] has been designed to meet the requirements of an XML query language, as identified by theW3C XML query working group. Vatsavai [2] extended XQuery as a base for a GML query language. XQuery also allows extension functions that can include spatial operations such as intersects. An important consideration when developing such languages is to decide whether to  extend an already existing XML query language  develop a new query language for GML It is not clear that creating a completely new language would be either efficient or successful. [1] http://www.w3.org/XML/Query/ [2] http://www.cobblestoneconcepts.com/ucgis2summer2002/vatsavai/vatsavai.htm
  • 23. GML query language (4) Another research area in the field of query processing is how to index GML data. Indexes contain data storage information that can be used to speed up searches. GML documents can either be stored as is or the data can be stored in a database and converted to GML when required. Existing spatial indexing techniques can be used for storing GML data in databases. [1] http://en.wikipedia.org/wiki/R-tree
  • 24. GML query language (5) R-Trees [1], have a hierarchical structure that is suitable for fast retrieval of spatial data, though such an implementation may consume a great deal of computation power R* Trees [1] and R+ Trees [2] insert objects in distinct paths, making them exclusive to a node. Z-order B-Trees [3] provide access control to objects while permitting concurrency control, though this may impose a high performance cost. Quad Trees [4], may or may not be as suitable for spatial data as the other approaches, though they still offer a fast search method. [1] http://en.wikipedia.org/wiki/R*_tree [2] http://en.wikipedia.org/wiki/R%2B_tree [3] http://en.wikipedia.org/wiki/Z-order_curve [4] http://en.wikipedia.org/wiki/Quadtree
  • 25. GML query language (6) Comparison of indexing techniques for spatial data
  • 26. Using SVG for GML visualization (1)  There are several approaches to generating mapping products in either web or local environments.  SVG (Scalable Vector Graphics) is a common two-dimensional vector graphics standard. SVG is a XML product that is well suited for context-sensitive mapping based on the layers that the system developer wants to make available externally. Visualization approaches for geospatial data
  • 27. Using SVG for GML visualization (2)  In the first, the GML file is converted into SVG format through a parser in conjunction with styling tools. Once the SVG file is available, it can be used by a visualization tool in rendering the map  The second alternative is to utilize a spatial database (e.g., Oracle Spatial or Arc SDE) and query the data based upon ad-hoc user requests to convert the SVG data into a format that the application can understand. This approach imposes a greater processing burden on the script itself, and less on the visualization tool SVG rendering process for GML data
  • 28. GML and XML viewers (1)  Visualizing geographical data is one of the primary goals of Geographic Information Systems (GIS).  Graphical optimization can be achieved with standard XML viewers without any required changes to handle the newer constructs released in GML 3. No adapters are needed. Rule validation, for instance, can be enforced on GML constructs. XML Viewers
  • 29. GML and XML viewers (2) Before a map can be made from a GML document, the geo- spatial features must be extracted from the document and transformed to a suitable graphical representation with styling tools. The process of interpreting the GML data in symbols, such as line styles, area, and volume filling, is known as map styling. X3D (XML 3D), for example, is one technology that can be used for the presentation of GML data in a graphical format. The graphical representation is then rendered into a viewable image.
  • 30. GML and XML viewers (3) Making a vector map on the web with GML data involves three steps:  feature extraction  map styling  graphic rendering. To view an SVG or X3D data file, it is necessary to have a suitable graphical data viewer While some of the viewers have been built into Internet Explorer and Mozilla web browsers, several plug-ins are currently being developed for other applications.
  • 31. GML and XML viewers (4) An effective visual tool for the representation of geographic data should provide for the display and modification of maps . Virtual Reality Modeling Language (VRML) describes 3D objects and virtual environments, allowing the representation of both static and dynamic data. GeoVRML is an extension to VRML that provides geoscientists with the ability to model 3-D geographic data that can be distributed over the web
  • 32. GML and XML viewers (5)  Such data can be interactively visualized using a standard VRML97 browser configuration and these features of GeoVRML facilitate widespread use of GML and geographic data by common users  GeoVRML provides several capabilities, such as precision, scalability, animation, and navigation, that have proven to be very important in representing GML data in a 3D world.  X3D, an open standards XML-enabled 3D file format, can also be a useful language in assisting GML data visualization. If used in conjunction with a rendering tool, it can translate GML directly into GIF, JPEG, Postscript, and other formats. Comparison between various visualization techniques
  • 33. GML in a mobile devices (1) GML documents usually require a significant amount of memory due to their large size and a reasonable amount of bandwidth for efficient transmittal cGML, or compact GML, has been developed specifically for mobile devices. The tags used in cGML are shorter in length than those in standard GML, which reduces the bandwidth and memory requirements by as much as 60%. Other important standards and proprietary systems that have been developed especially for use in mobile devices are C- HTML, XHTML, Web clipping, Handheld Device Markup language (HDML), Website Meta Language (WML), Mobile Execution Environment (MExE), and Wireless Application Protocol (WAP)
  • 34. GML in a mobile devices (2) Another important issue currently limiting the use of GML on mobile devices is the display of geographic information. A GML document therefore has to be transformed into a different format (e.g., SVG) to be displayed on the mobile device. An important consideration when designing wireless geographic systems is that wireless users are usually doing concurrent activities (e.g., driving a car, talking on the phone) and hence have a limited attention span for visual information display or for devices that require the use of hands such as a trackball
  • 35. GML in a mobile devices (3)  Due to these constraints, the information presented to a mobile user has to be customized for the user’s task, as well as for the device itself.  The heterogeneous nature of mobile devices, in conjunction with the limitations imposed by the low-bandwidth and low-reliability wireless networks, has proven to be a challenge in such situations.  GML could play a major role in providing such services in constrained environments. Challenges to the deployment of GML to mobile devices
  • 36. GML web services  GIS web services have been grouped into three categories: data services, processing services and registry or catalog services  Web Map Service (WMS), Web Coverage Services (WCS), and Web Feature Services (WFS) are examples of data services GIS web services (data services)
  • 37. Other web services technologies Other technologies that are used in the area of web services are Simple Object Access Protocol (SOAP), Universal Description Discovery and Integration (UDDI), and Web Service Definition Language (WSDL) SOAP is a XML-based protocol for information exchange among programs in a heterogeneous Internet environment using HTML and XML UDDI is an XML-based registry that allows service providers or businesses to advertise their web services on the Internet WSDL is an optional XML-based language that is used by service providers to list their services in the registry. GML types (Application Schema) can be used in the types section of a WSDL document to define geographic objects that are part of the web service interface.
  • 38. Summary Summary of current GML technologies
  • 39. Conclusion  The efficient storage of GML documents is one of the problems that must first be resolved. In addition, porting GML data into other formats raises several questions.  The choice of parsers depends on efficient memory usage as well as the ability to retrieve random data, but XML parsers can be efficiently used with GML.  Query languages rely primarily on the efficiency of the data model and its operators. The design of a GML query language has to account for both spatial and non-spatial data.  Integrating GML with mobile device applications is a relatively new area. Adapting GML for low-bandwidth networks is a problem due to the detailed nature of geographic data.  Finally, web services and GML will play an important role in providing GIS services to common users.