There are two implementations available on trunk:
- Geometry - an experimental module implementing ISO 19107 (a.k.a. Topic 1 - Feature Geometry). This implementation is a project of Prof. Dr. Jackson Roehrig and Sanjay Dominik Jena of the University of Applied Sciences Cologne, Germany (Fachhochschule Köln).
- JTS Wrapper - JTS Wrapper provides mission critical implementations of ISO 19107 GeoAPI interfaces backed by the Java Topology Suite, empowering other GeoTools modules to migrate off of direct dependency on JTS.
Implementation Options for ISO 19107 Geometry
We also have the need for speed, especially in the reading to renderer department. In an ideal world we would make several 'GeometryFactory' interfaces which the DataStores could make use of as needed.
- SFSQLGeometryFactory - would produce JTS implementations matching the SFSQL specification
- ISOGeometryFactory - would produce ISO Geometry implementations matching the GeoAPI interfaces / TC211 abstractions
- ShapeGeometryFactory - would directly produce Java 2D Shapes at the required level of decimation
It should be noted that this GeometryFactory API will need to:
- Construct the usual suspects (Point, LineString, Polygon)
- Their plurals (MultiPoint, MultiLineString, MultiPolygon, GeometryCollection)
- The additional ISO contstructs (Curve, Surface, etc...)
- Be able to directly work with double arrays (as this is the internal format used by many things like Oracle SDO Structs, and Shapefiles)
We may need to produce our own flavour of CoordianteSequence to act as a bridge between what DataStore "Reader" can provide and what GeometryFactory can produce.