Class 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. An AffineCS shall have two or three axis.
Used with CRS type(s)
Engineering, Image
Since:
2.1
Author:
Martin Desruisseaux (IRD)
See Also:
  • Constructor Details

    • 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 Details

    • isCompatibleDirection

      protected boolean isCompatibleDirection(AxisDirection direction)
      Returns true if the specified axis direction is allowed for this coordinate system. The default implementation accepts all directions except temporal ones (i.e. FUTURE and PAST).
      Overrides:
      isCompatibleDirection in class AbstractCS
      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)
      Returns true if the specified unit is compatible with meters. In addition, this method also accepts Unit#ONE, which is used for coordinates in a grid. This method is invoked at construction time for checking units compatibility.
      Overrides:
      isCompatibleUnit in class AbstractCS
      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