This is fantastic, Martin! Thanks a lot and keep it up...

On Dec 17, 2012, at 1:30 PM, Martin Desruisseaux wrote:

> 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
>   DirectPosition.
> 
> 
> 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.
> 
>    Martin
> 

Reply via email to