Package org.geotools.referencing.cs
Class DefaultAffineCS
- Object
-
- Formattable
-
- AbstractIdentifiedObject
-
- AbstractCS
-
- DefaultAffineCS
-
- All Implemented Interfaces:
Serializable
,AffineCS
,CoordinateSystem
,IdentifiedObject
- Direct Known Subclasses:
DefaultCartesianCS
public class DefaultAffineCS extends AbstractCS implements AffineCS
A two- or three-dimensional coordinate system with straight axes that are not necessarily orthogonal. AnAffineCS
shall have two or three axis.Used with CRS type(s) Engineering
,Image
- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
DefaultCartesianCS
, Serialized Form
-
-
Field Summary
-
Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
-
Fields inherited from class Formattable
SINGLE_LINE
-
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
-
Constructor Summary
Constructors Constructor Description DefaultAffineCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1)
Constructs a two-dimensional coordinate system from a name.DefaultAffineCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2)
Constructs a three-dimensional coordinate system from a name.DefaultAffineCS(Map<String,?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1)
Constructs a two-dimensional coordinate system from a set of properties.DefaultAffineCS(Map<String,?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2)
Constructs a three-dimensional coordinate system from a set of properties.DefaultAffineCS(AffineCS cs)
Constructs a new coordinate system with the same values than the specified one.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
isCompatibleDirection(AxisDirection direction)
Returnstrue
if the specified axis direction is allowed for this coordinate system.protected boolean
isCompatibleUnit(AxisDirection direction, Unit<?> unit)
Returnstrue
if the specified unit is compatible with meters.-
Methods inherited from class AbstractCS
distance, equals, formatWKT, getAxis, getDimension, hashCode, standard, swapAndScaleAxis
-
Methods 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, nameMatches
-
Methods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
-
Methods inherited from interface CoordinateSystem
getAxis, getDimension
-
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
-
-
-
Constructor Detail
-
DefaultAffineCS
public DefaultAffineCS(AffineCS cs)
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
-
DefaultAffineCS
public DefaultAffineCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1)
Constructs a two-dimensional coordinate system from a name.- Parameters:
name
- The coordinate system name.axis0
- The first axis.axis1
- The second axis.
-
DefaultAffineCS
public DefaultAffineCS(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.
-
DefaultAffineCS
public DefaultAffineCS(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.
-
DefaultAffineCS
public DefaultAffineCS(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 superclass constructor.- Parameters:
properties
- Set of properties. Should contains at least"name"
.axis0
- The first axis.axis1
- The second axis.axis2
- The third axis.
-
-
Method Detail
-
isCompatibleDirection
protected boolean isCompatibleDirection(AxisDirection direction)
Returnstrue
if the specified axis direction is allowed for this coordinate system. The default implementation accepts all directions except temporal ones (i.e.FUTURE
andPAST
).- Overrides:
isCompatibleDirection
in classAbstractCS
- Parameters:
direction
- The direction to test for compatibility.- Returns:
true
if the given direction is compatible with this coordinate system.
-
isCompatibleUnit
protected boolean isCompatibleUnit(AxisDirection direction, Unit<?> unit)
Returnstrue
if the specified unit is compatible with meters. In addition, this method also acceptsUnit#ONE
, which is used for coordinates in a grid. This method is invoked at construction time for checking units compatibility.- Overrides:
isCompatibleUnit
in classAbstractCS
- Parameters:
direction
- The direction of the axis having the given unit.unit
- The unit to test for compatibility.- Returns:
true
if the given unit is compatible with this coordinate system.- Since:
- 2.2
-
-