# Package org.apache.sis.referencing.crs

package org.apache.sis.referencing.crs
Coordinate Reference System (CRS) definitions as coordinate systems related to the earth through datum. An explanation for this package is provided in the OpenGIS® javadoc. The remaining discussion on this page is specific to the SIS implementation.

The root class for this package is `AbstractCRS`. Coordinate Reference System (CRS) can have various number of dimensions, but some restrictions apply depending on the CRS type:

Common Coordinate Reference System types
Dimension | CRS type examples | Remarks
--- | --- | ---
3 | Geographic, Geocentric | ISO 19111 uses the same class, `GeodeticCRS`, for those two cases.
2 | Geographic, Projected | `GeographicCRS` can also be 3D.
1 | Vertical, Temporal. |
Any | Compound | Often used for adding a time axis to the above CRS.

## Apache SIS extensions

Some SIS implementations provide additional methods that are not part of OGC/ISO specifications:

- `AbstractCRS​.forConvention(AxesConvention)`
- `DefaultTemporalCRS​.toDate(double)`
- `DefaultTemporalCRS​.toValue(Date)`

In addition Apache SIS provides two distinct classes for geographic and geocentric CRS where OGC/ISO defines a single `GeodeticCRS` type. OGC/ISO distinguishes the geographic/geocentric cases according the type of the coordinate system associated to that CRS:

- A geodetic CRS associated to an ellipsoidal CS is geographic.
- A geodetic CRS associated to a spherical or Cartesian CS is geocentric.

SIS keeps the geographic and geocentric CRS as distinct types since such distinction is in wide use.

Since:
  0.4

- Related Packages
  Module
  Package
  Description
  org.apache.sis.referencing
  org.apache.sis.referencing
  Base classes for reference systems used for general positioning.
  org.apache.sis.referencing
  org.apache.sis.referencing.cs
  Coordinate System (CS) definitions as the set of coordinate system axes that spans the coordinate space.
  org.apache.sis.referencing
  org.apache.sis.referencing.datum
  Relationship of a `CoordinateSystem` (an abstract mathematical entity) to the earth or other system.
  org.apache.sis.referencing
  org.apache.sis.referencing.factory
  Creates Coordinate Reference System (CRS) objects from given properties or authority codes.
  org.apache.sis.referencing.gazetteer
  org.apache.sis.referencing.gazetteer
  Mapping between geographic identifiers (addresses, grid indexes…) and locations (descriptions, coordinates…).
  org.apache.sis.referencing
  org.apache.sis.referencing.operation
  Relationship between any two Coordinate Reference Systems (CRS).
- Classes
  Class
  Description
  AbstractCRS
  Coordinate reference system, defined by a coordinate system and (usually) a datum.
  DefaultCompoundCRS
  A CRS describing the position of points through two or more independent coordinate reference systems.
  DefaultDerivedCRS
  A coordinate reference system that is defined by its coordinate conversion from another CRS.
  DefaultEngineeringCRS
  A 1-, 2- or 3-dimensional contextually local coordinate reference system.
  DefaultGeocentricCRS
  A 2- or 3-dimensional coordinate reference system with the origin at the approximate centre of mass of the earth.
  DefaultGeographicCRS
  A 2- or 3-dimensional coordinate reference system based on an ellipsoidal approximation of the geoid.
  DefaultImageCRS
  Deprecated, for removal: This API element is subject to removal in a future version.
  The `ImageCRS` class has been removed in ISO 19111:2019.
  DefaultParametricCRS
  A 1-dimensional coordinate reference system which uses parameter values or functions.
  DefaultProjectedCRS
  A 2-dimensional coordinate reference system used to approximate the shape of the earth on a planar surface.
  DefaultTemporalCRS
  A 1-dimensional coordinate reference system used for the recording of time.
  DefaultVerticalCRS
  A 1-dimensional coordinate reference system used for recording heights or depths.