This allows Geometries to store their points using something other than the JTS Coordinate class. For example, a storage-efficient implementation might store coordinate sequences as an array of x's and an array of y's. Or a custom coordinate class might support extra attributes like M-values.
Implementing a custom coordinate storage structure requires implementing the CoordinateSequence and CoordinateSequenceFactory interfaces. To use the custom CoordinateSequence, create a new GeometryFactory parameterized by the CoordinateSequenceFactory The GeometryFactory can then be used to create new Geometrys. The new Geometries will use the custom CoordinateSequence implementation.
For an example, see the code for ExtendedCoordinateExample.
This total includes any measures, indicated by non-zero getMeasures().
The coordinate is created supporting the same number of getDimension() and getMeasures() as this sequence and is suitable for use with getCoordinate(int, Coordinate).
Note that in the future the semantics of this method may change to guarantee that the Coordinate returned is always a copy. Callers should not to assume that they can modify a CoordinateSequence by modifying the object returned by this method.
Ordinates indices greater than 1 have user-defined semantics (for instance, they may contain other dimensions or measure values as described by getDimension() and getMeasures()).