That makes sense to me, Martin. I'm going to look forward to learning more
about this while integrating into Tika.

Cheers,
Chris

On 12/17/12 10:30 AM, "Martin Desruisseaux"
<[email protected]> 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