[Gdal-dev] Re: Information about GML in GDAL library

Frank Warmerdam warmerdam at pobox.com
Sat Apr 24 11:25:03 EDT 2004


luca.arcara wrote:
> Dear Mr Warmerdam,
> 
>    I'm a student of the Politecnico di Milano in Computer Science Engineering; I'm attending a course of Geographic Information System.
> 
> For the exam I've to develop a project. The topic of this project is about the GML format. So, I've seen the GDAL library and more approfonditamente the classes linked to GML. These files have been developed by you and so I want ask you you something about them:
> 
> - What's the version that is supported by your GML files and classes? (2.0 , 2.1.2 , 3.0)

Luca,

Generally GML 2.x.

> - Can you give some more details about these GML classes and the possibility 
 > to update them in order to meet the specifications of new versions of GML
 > (like 3.1)?
> 
> I look forward to hearing from you.

It is my general intention to support GML 3 at some point in the future, though
likely only a subset since the geometry model of OGR is fundamentally "Simple
Features".

This to realize about the GDAL/OGR GML support:
  o It does *not* read the GML schema.   It inspects an instance document,
    and tries to guess what elements are features and geometries based on
    identifying elements that seem to match core GML geometry element names.

  o It does not attempt to do anything with coordinate systems, though I am
    planning quite a push this summer to support GML 3 coordinate systems.

  o It does not support "complex" attributes.  That is attribute properties
    with sub-nested XML structure are not supported.  Only simple properties
    with stringish values.

  o Parsing GML geometries is handled by a seperate portion of code.  The
    gdal/ogr/{ogr2gmlgeometry.cpp,gml2ogrgeometry.cpp} modules.

  o Nested feature collections are not supported.  The reader basically treats
    all features of a given feature class in a file as a layer regardless of the
    logical nesting of feature collections that might be present.

In a sense, because it ignores the schema this GML parser is very non-rigerous.

Are you interested in just using it directly?  Improving it?  Are there
particular issues with GML you are interested in addressing?

There are a variety of good GML libraries written in Java, but I am not
aware of many available libraries in C++.

If you are interested in improving the GML support as part of your project,
some potentially interesting things would be:

  o Adding optional support for schemas when reading.  Possibly just for
    the new GML Level 0 specification (this is a simplified schema system -
    much easier to support).

  o Adding some degree of GML 3 support (at the geometry and general feature
    level).

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent




More information about the Gdal-dev mailing list