Class DefaultCartesianCS

All Implemented Interfaces:
Serializable, AffineCS, CartesianCS, CoordinateSystem, IdentifiedObject

public class DefaultCartesianCS extends DefaultAffineCS implements CartesianCS
A 1-, 2-, or 3-dimensional coordinate system. Gives the position of points relative to orthogonal straight axes in the 2- and 3-dimensional cases. In the 1-dimensional case, it contains a single straight coordinate axis. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three axis.
Used with CRS type(s)
Geocentric, Projected, Engineering, Image
Since:
2.1
Author:
Martin Desruisseaux (IRD)
See Also:
  • Field Details

  • Constructor Details

    • DefaultCartesianCS

      public DefaultCartesianCS(CartesianCS 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
    • DefaultCartesianCS

      public DefaultCartesianCS(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.
    • DefaultCartesianCS

      public DefaultCartesianCS(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.
    • DefaultCartesianCS

      public DefaultCartesianCS(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.
    • DefaultCartesianCS

      public DefaultCartesianCS(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

    • distance

      public Measure distance(double[] coord1, double[] coord2) throws MismatchedDimensionException
      Computes the distance between two points.
      Overrides:
      distance in class AbstractCS
      Parameters:
      coord1 - Coordinates of the first point.
      coord2 - Coordinates of the second point.
      Returns:
      The distance between coord1 and coord2.
      Throws:
      MismatchedDimensionException - if a coordinate doesn't have the expected dimension.
    • usingUnit

      public DefaultCartesianCS usingUnit(Unit<?> unit) throws IllegalArgumentException
      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