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 >
