Package org.apache.sis.referencing
Enum CommonCRS
- All Implemented Interfaces:
Serializable
,Comparable<CommonCRS>
,Constable
Frequently-used geodetic CRS and datum that are guaranteed to be available in SIS.
Methods in this enumeration are shortcuts for object definitions in the EPSG database.
If there is no EPSG database available, or if the query failed, or if there is no EPSG definition for an object,
then
CommonCRS
fallback on hard-coded values. Consequently, those methods never return null
.
Referencing objects are cached after creation. Invoking the same method on the same CommonCRS
instance twice will return the same IdentifiedObject
instance, unless the internal cache has been cleared
(e.g. the application is running in a container environment and some modules have been installed or uninstalled).
Example: the following code fetches a geographic Coordinate Reference System using
(longitude, latitude) axis order on the WGS84
geodetic datum:
For each enumeration value, the name of the CRS, datum and ellipsoid objects may or may not be the same. Below is an alphabetical list of object names available in this enumeration:GeographicCRS crs = CommonCRS.WGS84.normalizedGeographic();
Geodetic objects accessible by enumeration constants Name or alias Object type Enumeration value Clarke 1866 Ellipsoid NAD27
European Datum 1950 (ED50) CRS, datum ED50
European Terrestrial Reference Frame (ETRS) 1989 CRS, datum ETRS89
European Terrestrial Reference System (ETRF) 1989 CRS, datum ETRS89
Greenwich Prime meridian WGS84
,WGS72
,ETRS89
,NAD83
,NAD27
,ED50
,SPHERE
GRS 1980 Ellipsoid GRS1980
,ETRS89
,NAD83
GRS 1980 Authalic Sphere Ellipsoid SPHERE
Hayford 1909 Ellipsoid ED50
International 1924 Ellipsoid ED50
International 1979 Ellipsoid ETRS89
,NAD83
North American Datum 1927 CRS, datum NAD27
North American Datum 1983 CRS, datum NAD83
NWL 10D Ellipsoid WGS72
World Geodetic System (WGS) 1972 CRS, datum, ellipsoid WGS72
World Geodetic System (WGS) 1984 CRS, datum, ellipsoid WGS84
- Since:
- 0.4
- See Also:
Defined in the sis-referencing
module
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Frequently-used engineering CRS and datum that are guaranteed to be available in SIS.static enum
Frequently-used temporal CRS and datum that are guaranteed to be available in SIS.static enum
Frequently-used vertical CRS and datum that are guaranteed to be available in SIS.Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionEuropean Datum 1950.European Terrestrial Reference System 1989.Unknown datum based upon the GRS 1980 ellipsoid.North American Datum 1927.North American Datum 1983.Unspecified datum based upon the GRS 1980 Authalic Sphere.World Geodetic System 1972.World Geodetic System 1984. -
Method Summary
Modifier and TypeMethodDescriptiondatum()
Returns the geodetic datum associated to this geodetic object.static GeographicCRS
Returns the default two-dimensional normalized geographic CRS.Returns the ellipsoid associated to this geodetic object.static CommonCRS
Returns theCommonCRS
enumeration value for the datum of the given CRS.Returns the geocentric CRS using a Cartesian coordinate system.Returns the two-dimensional geographic CRS with axes in the standard (latitude, longitude) order.Returns the three-dimensional geographic CRS with axes in the standard (latitude, longitude, height) order.Returns a two-dimensional geographic CRS with axes in the non-standard but computationally convenient (longitude, latitude) order.Returns the prime meridian associated to this geodetic object.Returns the geocentric CRS using a spherical coordinate system.universal
(double latitude, double longitude) Returns a Universal Transverse Mercator (UTM) or a Universal Polar Stereographic (UPS) projection for the zone containing the given point.static CommonCRS
Returns the enum constant of this type with the specified name.static CommonCRS[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.Methods inherited from class Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Enum Constant Details
-
WGS84
World Geodetic System 1984. This is the default CRS for mostorg.apache.sis
packages.WGS84 properties WMS identifier: CRS:84 EPSG identifiers: 4326 (datum: 6326, ellipsoid: 7030) Primary names: "WGS 84" (datum: "World Geodetic System 1984") Abbreviations or aliases: (datum: "WGS 84", ellipsoid: "WGS84") Prime meridian: Greenwich Semi-major axis length: 6378137 Semi-minor axis length: 6356752 (approximated) Inverse flattening: 298.257223563 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 1 to 60 in North and South hemispheres -
WGS72
World Geodetic System 1972.WGS72 properties EPSG identifiers: 4322 (datum: 6322, ellipsoid: 7043) Primary names: "WGS 72" (datum: "World Geodetic System 1972") Abbreviations or aliases: (datum: "WGS 72", ellipsoid: "NWL 10D") Prime meridian: Greenwich Semi-major axis length: 6378135 Semi-minor axis length: 6356751 (approximated) Inverse flattening: 298.26 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 1 to 60 in North and South hemispheres -
NAD83
North American Datum 1983. The ellipsoid is "GRS 1980", also known as "International 1979". This ellipsoid is very close, but not identical, to the WGS84 one.NAD83 properties WMS identifier: CRS:83 EPSG identifiers: 4269 (datum: 6269, ellipsoid: 7019) Primary names: "NAD83" (datum: "North American Datum 1983", ellipsoid: "GRS 1980") Abbreviations or aliases: "NAD83 (1986)" (ellipsoid: "International 1979") Prime meridian: Greenwich Semi-major axis length: 6378137 Semi-minor axis length: 6356752 (approximated) Inverse flattening: 298.257222101 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 1 to 23 in the North hemisphere Note:ETRS89
uses the same ellipsoid for a different datum. The Web Map Server"CRS:83"
authority code uses the NAD83 datum, while the"IGNF:MILLER"
authority code uses the GRS80 datum. -
NAD27
North American Datum 1927.NAD27 properties WMS identifier: CRS:27 EPSG identifiers: 4267 (datum: 6267, ellipsoid: 7008) Primary names: "NAD27" (datum: "North American Datum 1927", ellipsoid: "Clarke 1866") Abbreviations or aliases: (datum: "NAD27") Prime meridian: Greenwich Semi-major axis length: 6378206.4 Semi-minor axis length: 6356583.8 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 1 to 22 in the North hemisphere -
ETRS89
European Terrestrial Reference System 1989. The ellipsoid is "GRS 1980", also known as "International 1979". This ellipsoid is very close, but not identical, to the WGS84 one.ETRS89 properties EPSG identifiers: 4258 (datum: 6258, ellipsoid: 7019) Primary names: "ETRS89" (datum: "European Terrestrial Reference System 1989", ellipsoid: "GRS 1980") Abbreviations or aliases: "ETRF89", "EUREF89", "ETRS89-GRS80" (ellipsoid: "International 1979") Prime meridian: Greenwich Semi-major axis length: 6378137 Semi-minor axis length: 6356752 (approximated) Inverse flattening: 298.257222101 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 28 to 37 in the North hemisphere Note:NAD83
uses the same ellipsoid for a different datum. The Web Map Server"CRS:83"
authority code uses the NAD83 datum, while the"IGNF:MILLER"
authority code uses the GRS80 datum. -
ED50
European Datum 1950.ED50 properties EPSG identifiers: 4230 (datum: 6230, ellipsoid: 7022) Primary names: "ED50" (datum: "European Datum 1950", ellipsoid: "International 1924") Abbreviations or aliases: (datum: "ED50", ellipsoid: "Hayford 1909") Prime meridian: Greenwich Semi-major axis length: 6378388 Semi-minor axis length: 6356912 (approximated) Inverse flattening: 297 (definitive) Ellipsoid axes unit: Units.METRE
UTM zones: 28 to 38 in the North hemisphere -
GRS1980
Unknown datum based upon the GRS 1980 ellipsoid. Use only in cases where geodetic datum is unknown.GRS1980 properties EPSG identifiers: 4019(datum: 6019, ellipsoid: 7019)Primary names: "Unknown datum based upon the GRS 1980 ellipsoid." Prime meridian: Greenwich Semi-major axis length: 6378137 Semi-minor axis length: 6356752 (approximated) Inverse flattening: 298.257222101 (definitive) Ellipsoid axes unit: Units.METRE
- Since:
- 1.0
-
SPHERE
Unspecified datum based upon the GRS 1980 Authalic Sphere.Sphere properties EPSG identifiers: 4047(datum: 6047, ellipsoid: 7048)Primary names: "Unspecified datum based upon the GRS 1980 Authalic Sphere" Prime meridian: Greenwich Semi-major axis length: 6371007 Semi-minor axis length: 6371007 (definitive) Ellipsoid axes unit: Units.METRE
- See Also:
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
forDatum
Returns theCommonCRS
enumeration value for the datum of the given CRS. The given CRS shall comply to the following conditions (otherwise anIllegalArgumentException
is thrown):- The
crs
is either an instance ofSingleCRS
, or an instance ofCompoundCRS
with an horizontal component. - The
crs
or the horizontal component ofcrs
is associated to aGeodeticDatum
. - The geodetic datum either
- has the same EPSG code than one of the
CommonCRS
enumeration values, or - has no EPSG code but is equal, ignoring metadata,
to the
datum()
value of one of theCommonCRS
enumeration values.
- has the same EPSG code than one of the
geographic()
,geocentric()
or other convenience methods when the set of datums supported byCommonCRS
is known to be sufficient.- Parameters:
crs
- the coordinate reference system for which to get aCommonCRS
value.- Returns:
- the
CommonCRS
value for the geodetic datum of the given CRS. - Throws:
IllegalArgumentException
- if noCommonCRS
value can be found for the given CRS.- Since:
- 0.8
- See Also:
- The
-
defaultGeographic
Returns the default two-dimensional normalized geographic CRS. The CRS returned by this method has the following properties:- Axis order is (longitude, latitude).
- Axis directions are (East, North).
- Angular unit is
Units.DEGREE
. - Prime meridian in Greenwich.
Note: This method makes no guarantees about the datum. The current default datum is WGS 84, but this may change in future SIS versions if a WGS 84 replacement become in wide use.This default CRS is assigned to envelopes created from a geographic bounding box. Since ISO 19115GeographicBoundingBox
is approximated by definition, their datum can be arbitrary.- Returns:
- the default two-dimensional geographic CRS with (longitude, latitude) axis order.
-
normalizedGeographic
Returns a two-dimensional geographic CRS with axes in the non-standard but computationally convenient (longitude, latitude) order. The coordinate system axes will be oriented toward East and North respectively, with units in degrees. The following table summarizes the coordinate reference systems known to this class, together with an enumeration value that can be used for fetching that CRS:Commonly used geographic CRS Name or alias Enum Code ED50 ED50
ETRS89 ETRS89
NAD27 NAD27
CRS:27 NAD83 NAD83
CRS:83 GRS 1980 GRS1980
GRS 1980 Authalic Sphere SPHERE
WGS 72 WGS72
WGS 84 WGS84
CRS:84 - Returns:
- the geographic CRS with non-standard (longitude, latitude) axis order.
- See Also:
-
geographic
Returns the two-dimensional geographic CRS with axes in the standard (latitude, longitude) order. The coordinate system axes will be oriented toward North and East respectively, with units in degrees. The following table summarizes the coordinate reference systems known to this class, together with an enumeration value that can be used for fetching that CRS:Commonly used geographic CRS Name or alias Enum EPSG ED50 ED50
4230 ETRS89 ETRS89
4258 NAD27 NAD27
4267 NAD83 NAD83
4269 GRS 1980 GRS1980
4019GRS 1980 Authalic Sphere SPHERE
4047WGS 72 WGS72
4322 WGS 84 WGS84
4326 - Returns:
- the geographic CRS with standard (latitude, longitude) axis order.
- See Also:
-
geographic3D
Returns the three-dimensional geographic CRS with axes in the standard (latitude, longitude, height) order. The following table summarizes the coordinate reference systems known to this class, together with an enumeration value that can be used for fetching that CRS:Commonly used geographic CRS Name or alias Enum EPSG ED50 ED50
ETRS89 ETRS89
4937 NAD27 NAD27
NAD83 NAD83
GRS 1980 GRS1980
GRS 1980 Authalic Sphere SPHERE
WGS 72 WGS72
4985 WGS 84 WGS84
4979 - Returns:
- the three-dimensional geographic CRS associated to this enum.
- See Also:
-
geocentric
Returns the geocentric CRS using a Cartesian coordinate system. Axis units are metres. The following table summarizes the coordinate reference systems known to this class, together with an enumeration value that can be used for fetching that CRS:Commonly used geocentric CRS Name or alias Enum EPSG ED50 ED50
ETRS89 ETRS89
4936 NAD27 NAD27
NAD83 NAD83
GRS 1980 GRS1980
GRS 1980 Authalic Sphere SPHERE
WGS 72 WGS72
4984 WGS 84 WGS84
4978 - Returns:
- the geocentric CRS associated to this enum.
- See Also:
-
spherical
Returns the geocentric CRS using a spherical coordinate system. Axes are:- Returns:
- the geocentric CRS associated to this enum.
- Since:
- 0.7
- See Also:
-
datum
Returns the geodetic datum associated to this geodetic object. The following table summarizes the datums known to this class, together with an enumeration value that can be used for fetching that datum:Commonly used geodetic datums Name or alias Enum EPSG European Datum 1950 ED50
6230 European Terrestrial Reference System 1989 ETRS89
6258 North American Datum 1927 NAD27
6267 North American Datum 1983 NAD83
6269 Not specified (based on GRS 1980 ellipsoid) GRS1980
6019 Not specified (based on GRS 1980 Authalic Sphere) SPHERE
6047 World Geodetic System 1972 WGS72
6322 World Geodetic System 1984 WGS84
6326 - Returns:
- the geodetic datum associated to this enum.
- See Also:
-
ellipsoid
Returns the ellipsoid associated to this geodetic object. The following table summarizes the ellipsoids known to this class, together with an enumeration value that can be used for fetching that ellipsoid:Commonly used ellipsoids Name or alias Enum EPSG Clarke 1866 NAD27
7008 GRS 1980 Authalic Sphere SPHERE
7048 International 1924 ED50
7022 International 1979 / GRS 1980 ETRS89
7019 World Geodetic System (WGS) 1972 WGS72
7043 World Geodetic System (WGS) 1984 WGS84
7030 - Returns:
- the ellipsoid associated to this enum.
- See Also:
-
primeMeridian
Returns the prime meridian associated to this geodetic object. The following table summarizes the prime meridians known to this class, together with an enumeration value that can be used for fetching that prime meridian:Commonly used prime meridians Name or alias Enum EPSG Greenwich WGS84
8901 - Returns:
- the prime meridian associated to this enum.
- See Also:
-
universal
Returns a Universal Transverse Mercator (UTM) or a Universal Polar Stereographic (UPS) projection for the zone containing the given point. There is a total of 120 UTM zones, with 60 zones in the North hemisphere and 60 zones in the South hemisphere. The projection zone is determined from the arguments as below:- If the latitude argument is less than 80°S or equal or greater than 84°N, then a Universal Polar Stereographic projection is created.
- Otherwise a Universal Transverse Mercator projection is created as below:
- The sign of the latitude argument determines the hemisphere: North for positive latitudes (including positive zero) or South for negative latitudes (including negative zero). The latitude magnitude is ignored, except for the special cases documented below and for ensuring that the latitude is inside the [-90 … 90]° range.
- The value of the longitude argument determines the 6°-width zone, numbered from 1 for the zone starting at 180°W up to 60 for the zone finishing at 180°E. Longitudes outside the [-180 … 180]° range will be rolled as needed before to compute the zone.
- Calculation of UTM zone involves two special cases (if those special cases are not desired,
they can be avoided by making sure that the given latitude is below 56°N):
- Between 56°N and 64°N, zone 32 is widened to 9° (at the expense of zone 31) to accommodate southwest Norway.
- Between 72°N and 84°N, zones 33 and 35 are widened to 12° to accommodate Svalbard. To compensate for these 12° wide zones, zones 31 and 37 are widened to 9° and zones 32, 34, and 36 are eliminated.
Tip: for "straight" UTM zone calculation without any special case (neither Norway, Svalbard or Universal Polar Stereographic projection), one can replace theThe map projection uses the following parameters:latitude
argument byMath.signum(latitude)
. For using a specific zone number, one can additionally replace thelongitude
argument byzone * 6 - 183
.Universal Transverse Mercator (UTM) and Universal Polar Stereographic (UPS) projection parameters Parameter name UTM parameter value UPS parameter value Latitude of natural origin 0° 90°N or 90°S depending on the sign of given latitude Longitude of natural origin Central meridian of the UTM zone containing the given longitude 0° Scale factor at natural origin 0.9996 0.994 False easting 500 000 metres 2 000 000 metres False northing 0 (North hemisphere) or 10 000 000 (South hemisphere) metres 2 000 000 metres Warning: be aware of parameter order! For this method, latitude is first. This order is for consistency with the non-normalized geographic CRS of all items in thisCommonCRS
enumeration.- Parameters:
latitude
- a latitude in the desired UTM or UPS projection zone.longitude
- a longitude in the desired UTM or UPS projection zone.- Returns:
- a Universal Transverse Mercator or Polar Stereographic projection for the zone containing the given point.
- Since:
- 0.8
-