[xquery-talk] xquery and geospatial request

Jeff Dexter jeff.dexter at rainingdata.com
Fri Jun 1 13:28:24 PDT 2007

Our approach in the TigerLogic XDMBS was to integrate in R-Tree indexes and
then essentially treat any GML fragment within documents as "special", and
capable of being registered into the index. This means the GML can be
embedded and queried anywhere in the document, mixed with any other type of
XML, images, etc. We then present spatial comparisons as XQuery functions
(similar to how the spatial operators are defined in spatial-enabled SQL
engines) so they can be mixed with standard XQuery, full-text, etc.

GML works nicely with XQuery and the indexing since it allows the engine to
determine what to index, and it can be nested anywhere in an XML document.
Furthermore, XQuery, with some additional functions to convert from the
Well-Known Text/Binary formats used in other engines, is quite useful for
building new GML on the fly, and parsing/validating existing GML.


-----Original Message-----
From: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] On Behalf
Of Ken North
Sent: Friday, June 01, 2007 12:08 PM
To: talk at x-query.com
Subject: Re: [xquery-talk] xquery and geospatial request

> I need to store GML feature in  a database and to be able to make 
> geospatial request on them.
> Do we have a language (extension to xquery) to make such request on a 
> XML native database ?

For an engine to store and retrieve geospatial data, it needs to operate
with metadata for geospatial information and use something like R-tree
indexing to provide query performance. Then there might be a requirement to
do content-based image retrieval and support OpenGIS data types.

Support for geospatial processing has matured in platforms such as Informix
Spatial DataBlade, Oracle Spatial, DB2 Spatial and ESRI SDE. It would be
bleeding edge for a native XML database with limited indexing capability.
(B-tree indexing is adequate for alphanumeric types but not for geospatial

Oak Ridge National Labs has done some interesting work on indexing
geospatial data. It uses a markup agent to create an XML file with
properties and metadata for each satellite image. Another agent uses those
XML files when analyzing the images to create feature vectors for segment
clustering and index creation.

You might want to look at something like the PostGIS extension for
It's used for GeoServer, available with a GPL license, and supports R-tree
indexing. There's also an open source product for using spatial types with
Microsoft SQL Server. A client seems happy with the Java Topology Suite and
GeoTools, which includes a GML parser.


JTS, GeoTools

talk at x-query.com

More information about the talk mailing list