Identifies a particular reference level surface used as a zero-height surface. There are several types of vertical datums, and each may place constraints on the {@linkplain org.opengis.referencing.cs.CoordinateSystemAxis coordinate system axis} with whichit is combined to create a {@linkplain org.opengis.referencing.crs.VerticalCRS vertical CRS}. {@section Creating new vertical datum instances}New instances can be created either directly by specifying all information to a factory method (choices 3 and 4 below), or indirectly by specifying the identifier of an entry in a database (choices 1 and 2 below). Choice 1 in the following list is the easiest but most restrictive way to get a vertical datum. The other choices provide more freedom.
- Create a {@code VerticalDatum} from one of the static convenience shortcuts listed in{@link org.apache.sis.referencing.CommonCRS.Vertical#datum()}.
- Create a {@code VerticalDatum} from an identifier in a database by invoking{@link org.opengis.referencing.datum.DatumAuthorityFactory#createVerticalDatum(String)}.
- Create a {@code VerticalDatum} by invoking the {@code createVerticalDatum(…)}method defined in the {@link org.opengis.referencing.datum.DatumFactory} interface.
- Create a {@code DefaultVerticalDatum} by invoking the{@linkplain #DefaultVerticalDatum(Map,VerticalDatumType) constructor}.
Example: the following code gets a vertical datum for height above the geoid: {@preformat javaVerticalDatum datum = CommonCRS.Vertical.GEOID.datum();}{@section Immutability and thread safety}This class is immutable and thus thread-safe if the property
values (not necessarily the map itself) given to the constructor are also immutable. Unless otherwise noted in the javadoc, this condition holds if all components were created using only SIS factories and static constants.
@author Martin Desruisseaux (IRD, Geomatys)
@since 0.4 (derived from geotk-1.2)
@version 0.4
@module
@see org.apache.sis.referencing.CommonCRS.Vertical#datum()
@see org.apache.sis.referencing.cs.DefaultVerticalCS
@see org.apache.sis.referencing.crs.DefaultVerticalCRS