sis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Desruisseaux <>
Subject Tiny introduction to ISO 19107
Date Mon, 17 Dec 2012 18:30:23 GMT
Hello all

Following on the addition of Envelope classes, there is a tiny 
introduction to the most basic ISO 19107 (geometry) objects.

The root of all geometric objects in ISO 19107 is GM_Object. But GeoAPI 
uses the Geometry name instead.

There is two objects representing points in ISO 19107:

  * GM_Point (simply named Point in GeoAPI) is a GM_Object (GeoAPI:
    Geometry) sub-type. Like every geometries, it may be relatively
    heavy depending on the geometry library implementation.
  * DirectPosition is a lightweight structure containing only ordinate
    values associated to a Coordinate Reference System (CRS).
    DirectPosition are *not* geometries in the classes hierarchy.
  * In C/C++, Position is an /union/ (in the C/C++ sense) of GM_Point
    and DirectPosition, allowing the same API to work with one or other
    type. Since unions do not exist in Java, GeoAPI simulate the union
    effect by defining Position as a parent interface of both Point and

In ISO 19107, Envelope is simply defined by the DirectPosition of 2 
corners. Like DirectPosition, Envelope is a relatively lightweight 
structure, not a geometry sub-type.

GeoAPI and SIS defines many additional methods for envelopes, but the 
internal structure stay lightweight: only the corner ordinate values and 
the CRS.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message