Class DefaultDerivedCRS

All Implemented Interfaces:
Serializable, Formattable, Deprecable, Lenient­Comparable, Coordinate­Reference­System, Derived­CRS, General­Derived­CRS, Single­CRS, Identified­Object, Reference­System

public class DefaultDerivedCRS extends AbstractCRS implements DerivedCRS
A coordinate reference system that is defined by its coordinate conversion from another CRS (not by a datum). Derived­CRS cannot be projected CRS themselves, but may be derived from a projected CRS (for example in order to use a polar coordinate system).

A Derived­CRS instance may also implement one of the interfaces listed below, provided that the conditions in the right column are met (derived from ISO 19162):

Derived CRS types
Type Conditions
GeodeticCRS Base CRS is also a Geodetic­CRS and is associated to the same type of coordinate system.
VerticalCRS Base CRS is also a Vertical­CRS and coordinate system is a Vertical­CS.
TemporalCRS Base CRS is also a Temporal­CRS and coordinate system is a Time­CS.
ParametricCRS Base CRS is also a Parametric­CRS and coordinate system is a Parametric­CS.
EngineeringCRS Base CRS is a Geodetic­CRS, Projected­CRS or Engineering­CRS.
Those specialized subclasses can be inferred automatically by the create(…) static method. Alternatively, users can create their own Default­Derived­CRS subclass implementing the desired interface.

Immutability and thread safety

This base class is immutable and thus thread-safe if the property values (not necessarily the map itself) 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, General­Derived­CRS instances created using only SIS factories and static constants can be shared by many objects and passed between threads without synchronization.
Since:
0.6
See Also: