Package org.geotools.referencing.cs
Class DefaultEllipsoidalCS
Object
Formattable
AbstractIdentifiedObject
AbstractCS
DefaultEllipsoidalCS
- All Implemented Interfaces:
Serializable,CoordinateSystem,EllipsoidalCS,IdentifiedObject
A two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic
longitude, and (in the three-dimensional case) ellipsoidal height. An
EllipsoidalCS shall have two or three
axis.
| Used with CRS type(s) |
|---|
Geographic,
Engineering
|
- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic DefaultEllipsoidalCSA two-dimensional ellipsoidal CS with geodetic longitude, geodetic latitude axis in decimal degrees.static DefaultEllipsoidalCSA three-dimensional ellipsoidal CS with geodetic longitude, geodetic latitude, ellipsoidal height axis.Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATORFields inherited from class Formattable
SINGLE_LINEFields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY -
Constructor Summary
ConstructorsConstructorDescriptionDefaultEllipsoidalCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1) Constructs a two-dimensional coordinate system from a name.DefaultEllipsoidalCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2) Constructs a three-dimensional coordinate system from a name.DefaultEllipsoidalCS(Map<String, ?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1) Constructs a two-dimensional coordinate system from a set of properties.DefaultEllipsoidalCS(Map<String, ?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2) Constructs a three-dimensional coordinate system from a set of properties.Constructs a new coordinate system with the same values than the specified one. -
Method Summary
Modifier and TypeMethodDescriptiondoublegetHeight(double[] coordinates) Returns the height found in the specified coordinate point, always in meters.doublegetLatitude(double[] coordinates) Returns the latitude found in the specified coordinate point, always in decimal degrees.doublegetLongitude(double[] coordinates) Returns the longitude found in the specified coordinate point, always in decimal degrees.protected booleanisCompatibleDirection(AxisDirection direction) Returnstrueif the specified axis direction is allowed for this coordinate system.protected booleanisCompatibleUnit(AxisDirection direction, Unit<?> unit) Returnstrueif the specified unit is compatible with decimal degrees (or meters in the special case of height).usingUnit(Unit<?> unit) Returns a new coordinate system with the same properties than the current one except for axis units.Methods inherited from class AbstractCS
distance, equals, formatWKT, getAxis, getDimension, hashCode, standard, swapAndScaleAxisMethods inherited from class AbstractIdentifiedObject
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatchesMethods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKTMethods inherited from interface CoordinateSystem
getAxis, getDimensionMethods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
Field Details
-
GEODETIC_2D
A two-dimensional ellipsoidal CS with geodetic longitude, geodetic latitude axis in decimal degrees. -
GEODETIC_3D
A three-dimensional ellipsoidal CS with geodetic longitude, geodetic latitude, ellipsoidal height axis.
-
-
Constructor Details
-
DefaultEllipsoidalCS
Constructs a new coordinate system with the same values than the specified one. This copy constructor provides a way to wrap an arbitrary implementation into a Geotools one or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API. This constructor performs a shallow copy, i.e. the properties are not cloned.- Parameters:
cs- The coordinate system to copy.- Since:
- 2.2
-
DefaultEllipsoidalCS
Constructs a two-dimensional coordinate system from a name.- Parameters:
name- The coordinate system name.axis0- The first axis.axis1- The second axis.
-
DefaultEllipsoidalCS
public DefaultEllipsoidalCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2) Constructs a three-dimensional coordinate system from a name.- Parameters:
name- The coordinate system name.axis0- The first axis.axis1- The second axis.axis2- The third axis.
-
DefaultEllipsoidalCS
public DefaultEllipsoidalCS(Map<String, ?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1) Constructs a two-dimensional coordinate system from a set of properties. The properties map is given unchanged to the super-class constructor.- Parameters:
properties- Set of properties. Should contains at least"name".axis0- The first axis.axis1- The second axis.
-
DefaultEllipsoidalCS
public DefaultEllipsoidalCS(Map<String, ?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2) Constructs a three-dimensional coordinate system from a set of properties. The properties map is given unchanged to the super-class constructor.- Parameters:
properties- Set of properties. Should contains at least"name".axis0- The first axis.axis1- The second axis.axis2- The third axis.
-
-
Method Details
-
isCompatibleDirection
Returnstrueif the specified axis direction is allowed for this coordinate system. The default implementation accepts only the following directions:NORTH,SOUTH,EAST,WEST,UPandDOWN.- Overrides:
isCompatibleDirectionin classAbstractCS- Parameters:
direction- The direction to test for compatibility.- Returns:
trueif the given direction is compatible with this coordinate system.
-
isCompatibleUnit
Returnstrueif the specified unit is compatible with decimal degrees (or meters in the special case of height). This method is invoked at construction time for checking units compatibility.- Overrides:
isCompatibleUnitin classAbstractCS- Parameters:
direction- The direction of the axis having the given unit.unit- The unit to test for compatibility.- Returns:
trueif the given unit is compatible with this coordinate system.- Since:
- 2.2
-
getLongitude
Returns the longitude found in the specified coordinate point, always in decimal degrees.- Parameters:
coordinates- The coordinate point expressed in this coordinate system.- Returns:
- The longitude in the specified array, in decimal degrees.
- Throws:
MismatchedDimensionException- is the coordinate point doesn't have the expected dimension.
-
getLatitude
Returns the latitude found in the specified coordinate point, always in decimal degrees.- Parameters:
coordinates- The coordinate point expressed in this coordinate system.- Returns:
- The latitude in the specified array, in decimal degrees.
- Throws:
MismatchedDimensionException- is the coordinate point doesn't have the expected dimension.
-
getHeight
Returns the height found in the specified coordinate point, always in meters.- Parameters:
coordinates- The coordinate point expressed in this coordinate system.- Returns:
- The height in the specified array, in meters.
- Throws:
MismatchedDimensionException- is the coordinate point doesn't have the expected dimension.
-
usingUnit
Returns a new coordinate system with the same properties than the current one except for axis units.- Parameters:
unit- The unit for the new axis.- Returns:
- A coordinate system with axis using the specified units.
- Throws:
IllegalArgumentException- If the specified unit is incompatible with the expected one.- Since:
- 2.2
-