Class DefaultEllipsoidalCS

    • Constructor Detail

      • DefaultEllipsoidalCS

        public DefaultEllipsoidalCS​(EllipsoidalCS 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
      • DefaultEllipsoidalCS

        public DefaultEllipsoidalCS​(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.
      • 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 Detail

      • isCompatibleDirection

        protected boolean isCompatibleDirection​(AxisDirection direction)
        Returns true if the specified axis direction is allowed for this coordinate system. The default implementation accepts only the following directions: NORTH, SOUTH, EAST, WEST, UP and DOWN.
        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 decimal degrees (or meters in the special case of height). 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
      • getLongitude

        public double getLongitude​(double[] coordinates)
                            throws MismatchedDimensionException
        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

        public double getLatitude​(double[] coordinates)
                           throws MismatchedDimensionException
        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

        public double getHeight​(double[] coordinates)
                         throws MismatchedDimensionException
        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

        public DefaultEllipsoidalCS 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