Class AbstractCS

All Implemented Interfaces:
Serializable, Formattable, Deprecable, Lenient­Comparable, Coordinate­System, Identified­Object
Direct Known Subclasses:
Default­Affine­CS, Default­Compound­CS, Default­Cylindrical­CS, Default­Ellipsoidal­CS, Default­Linear­CS, Default­Parametric­CS, Default­Polar­CS, Default­Spherical­CS, Default­Time­CS, Default­User­Defined­CS, Default­Vertical­CS

public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSystem
The set of coordinate system axes that spans a given coordinate space. The type of the coordinate system implies the set of mathematical rules for calculating geometric properties like angles, distances and surfaces.

This class is conceptually abstract, even if it is technically possible to instantiate it. Typical applications should create instances of the most specific subclass with Default prefix instead. An exception to this rule may occurs when it is not possible to identify the exact type. For example it is not possible to infer the exact coordinate system from Well Known Text (WKT) version 1 in some cases (e.g. in a LOCAL_CS element). In such exceptional situation, a plain Abstract­CS object may be instantiated.

Immutability and thread safety

This base class is immutable and thus thread-safe if the property values (not necessarily the map itself) and the Coordinate­System­Axis instances given to the constructor are also immutable. Most SIS subclasses and related classes are immutable under similar conditions. This means that unless otherwise noted in the javadoc, Coordinate­System instances created using only SIS factories and static constants can be shared by many objects and passed between threads without synchronization.
Since:
0.4
See Also:

Defined in the sis-referencing module