org.geotoolkit.referencing.cs
Class DefaultCoordinateSystemAxis

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by DefaultCoordinateSystemAxis
All Implemented Interfaces:
Serializable, Formattable, LenientComparable, CoordinateSystemAxis, IdentifiedObject

@Immutable
public class DefaultCoordinateSystemAxis
extends AbstractIdentifiedObject
implements CoordinateSystemAxis

Definition of a coordinate system axis. This is used to label axes, and indicate the orientation. See axis name constraints.

In some case, the axis name is constrained by ISO 19111 depending on the coordinate reference system type. These constraints are identified in the javadoc by "ISO 19111 name is..." sentences. This constraint works in two directions; for example the names "geodetic latitude" and "geodetic longitude" shall be used to designate the coordinate axis names associated with a geographic coordinate reference system. Conversely, these names shall not be used in any other context.

Since:
2.0
Version:
3.19
Author:
Martin Desruisseaux (IRD, Geomatys)
See Also:
AbstractCS, Unit, Serialized Form
Module:
referencing/geotk-referencing (download)    View source code for this class

Field Summary
static DefaultCoordinateSystemAxis ALTITUDE
          The default axis for altitude values.
static DefaultCoordinateSystemAxis COLUMN
          A default axis for column indices in a grid coverage.
static DefaultCoordinateSystemAxis DEPTH
          The default axis for depth.
static DefaultCoordinateSystemAxis DISPLAY_X
          A default axis for x values in a display device.
static DefaultCoordinateSystemAxis DISPLAY_Y
          A default axis for y values in a display device.
static DefaultCoordinateSystemAxis EASTING
          Default axis info for Easting values in a projected CRS.
static DefaultCoordinateSystemAxis ELLIPSOIDAL_HEIGHT
          The default axis for height values above the ellipsoid in a geographic CRS.
static DefaultCoordinateSystemAxis GEOCENTRIC_RADIUS
          Default axis info for radius in a geocentric CRS using spherical CS.
static DefaultCoordinateSystemAxis GEOCENTRIC_X
          Default axis info for x values in a geocentric CRS using Cartesian CS.
static DefaultCoordinateSystemAxis GEOCENTRIC_Y
          Default axis info for y values in a geocentric CRS using Cartesian CS.
static DefaultCoordinateSystemAxis GEOCENTRIC_Z
          Default axis info for z values in a geocentric CRS using Cartesian CS.
static DefaultCoordinateSystemAxis GEODETIC_LATITUDE
          Default axis info for geodetic latitudes in a geographic CRS.
static DefaultCoordinateSystemAxis GEODETIC_LONGITUDE
          Default axis info for geodetic longitudes in a geographic CRS.
static DefaultCoordinateSystemAxis GRAVITY_RELATED_HEIGHT
          The default axis for height values measured from gravity.
static DefaultCoordinateSystemAxis LATITUDE
          Default axis info for latitudes.
static DefaultCoordinateSystemAxis LONGITUDE
          Default axis info for longitudes.
static DefaultCoordinateSystemAxis NORTHING
          Default axis info for Northing values in a projected CRS.
static DefaultCoordinateSystemAxis ROW
          A default axis for row indices in a grid coverage.
static DefaultCoordinateSystemAxis SOUTHING
          Default axis info for Southing values in a projected CRS.
static DefaultCoordinateSystemAxis SPHERICAL_LATITUDE
          Default axis info for latitudes in a geocentric CRS using spherical CS.
static DefaultCoordinateSystemAxis SPHERICAL_LONGITUDE
          Default axis info for longitudes in a geocentric CRS using spherical CS.
static DefaultCoordinateSystemAxis TIME
          A default axis for time values in a time CS.
static DefaultCoordinateSystemAxis UNDEFINED
          Undefined or unknown axis.
static DefaultCoordinateSystemAxis WESTING
          Default axis info for Westing values in a projected CRS.
static DefaultCoordinateSystemAxis X
          Default axis info for x values in a Cartesian CS.
static DefaultCoordinateSystemAxis Y
          Default axis info for y values in a Cartesian CS.
static DefaultCoordinateSystemAxis Z
          Default axis info for z values in a Cartesian CS.
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultCoordinateSystemAxis(CharSequence name, String abbreviation, AxisDirection direction, Unit<?> unit)
          Constructs an axis with the given name and abbreviation.
DefaultCoordinateSystemAxis(CoordinateSystemAxis axis)
          Constructs a new coordinate system axis with the same values than the specified one.
DefaultCoordinateSystemAxis(Map<String,?> properties, String abbreviation, AxisDirection direction, Unit<?> unit)
          Constructs an unbounded axis from a set of properties.
DefaultCoordinateSystemAxis(Map<String,?> properties, String abbreviation, AxisDirection direction, Unit<?> unit, double minimum, double maximum, RangeMeaning rangeMeaning)
          Constructs an axis from a set of properties.
DefaultCoordinateSystemAxis(String abbreviation, AxisDirection direction, Unit<?> unit)
          Constructs an axis with the same name as the abbreviation.
 
Method Summary
static DefaultCoordinateSystemAxis castOrCopy(CoordinateSystemAxis object)
          Returns a Geotk axis implementation with the same values than the given arbitrary implementation.
protected  int computeHashCode()
          Computes a hash value for this identified object.
 boolean equals(Object object, ComparisonMode mode)
          Compares the specified object with this axis for equality.
 String formatWKT(Formatter formatter)
          Format the inner part of a Well Known Text (WKT) element.
 String getAbbreviation()
          The abbreviation used for this coordinate system axes.
static double getAngle(AxisDirection source, AxisDirection target)
          Returns the arithmetic (counterclockwise) angle from the first direction to the second direction, in decimal degrees.
 AxisDirection getDirection()
          Direction of this coordinate system axis.
static AxisDirection getDirection(String direction)
          Returns an axis direction constants from its name.
 double getMaximumValue()
          Returns the maximum value normally allowed for this axis, in the unit of measure for the axis.
 double getMinimumValue()
          Returns the minimum value normally allowed for this axis, in the unit of measure for the axis.
static DefaultCoordinateSystemAxis getPredefined(String name, AxisDirection direction)
          Returns one of the predefined axis for the given name and direction, or null if none.
 RangeMeaning getRangeMeaning()
          Returns the meaning of axis value range specified by the minimum and maximum values.
 Unit<?> getUnit()
          The unit of measure used for this coordinate system axis.
static boolean isCompassDirection(AxisDirection direction)
          Returns true if the specified direction is a compass direction.
 boolean nameMatches(String name)
          Returns true if either the primary name or at least one alias matches the specified string.
static boolean perpendicular(AxisDirection first, AxisDirection second)
          Returns true if the specified directions are perpendicular.
static DefaultCoordinateSystemAxis wrap(CoordinateSystemAxis object)
          Deprecated. Renamed castOrCopy.
 
Methods inherited from class AbstractIdentifiedObject
equals, getAlias, getIdentifier, getIdentifiers, getName, getName, getRemarks, hashCode
 
Methods inherited from class FormattableObject
getDefaultIndentation, print, setDefaultIndentation, toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

GEODETIC_LONGITUDE

public static final DefaultCoordinateSystemAxis GEODETIC_LONGITUDE
Default axis info for geodetic longitudes in a geographic CRS. Increasing ordinates values go East and units are decimal degrees. The ISO 19111 name is "geodetic longitude" and the abbreviation is "λ" (lambda).

This axis is usually part of a GEODETIC_LONGITUDE, GEODETIC_LATITUDE, ELLIPSOIDAL_HEIGHT set.

See Also:
LONGITUDE, SPHERICAL_LONGITUDE, GEODETIC_LATITUDE

GEODETIC_LATITUDE

public static final DefaultCoordinateSystemAxis GEODETIC_LATITUDE
Default axis info for geodetic latitudes in a geographic CRS. Increasing ordinates values go North and units are decimal degrees. The ISO 19111 name is "geodetic latitude" and the abbreviation is "φ" (phi).

This axis is usually part of a GEODETIC_LONGITUDE, GEODETIC_LATITUDE, ELLIPSOIDAL_HEIGHT set.

See Also:
LATITUDE, SPHERICAL_LATITUDE, GEODETIC_LONGITUDE

LONGITUDE

public static final DefaultCoordinateSystemAxis LONGITUDE
Default axis info for longitudes. Increasing ordinates values go East and units are decimal degrees. The abbreviation is "λ" (lambda).

This axis is usually part of a LONGITUDE, LATITUDE, ALTITUDE set.

See Also:
GEODETIC_LONGITUDE, SPHERICAL_LONGITUDE, LATITUDE

LATITUDE

public static final DefaultCoordinateSystemAxis LATITUDE
Default axis info for latitudes. Increasing ordinates values go North and units are decimal degrees. The abbreviation is "φ" (phi).

This axis is usually part of a LONGITUDE, LATITUDE, ALTITUDE set.

See Also:
GEODETIC_LATITUDE, SPHERICAL_LATITUDE, LONGITUDE

ELLIPSOIDAL_HEIGHT

public static final DefaultCoordinateSystemAxis ELLIPSOIDAL_HEIGHT
The default axis for height values above the ellipsoid in a geographic CRS. Increasing ordinates values go up and units are metres. The ISO 19111 name is "ellipsoidal heigt" and the abbreviation is lower case "h".

This axis is usually part of a GEODETIC_LONGITUDE, GEODETIC_LATITUDE, ELLIPSOIDAL_HEIGHT set.

See Also:
ALTITUDE, GEOCENTRIC_RADIUS, GRAVITY_RELATED_HEIGHT, DEPTH

GRAVITY_RELATED_HEIGHT

public static final DefaultCoordinateSystemAxis GRAVITY_RELATED_HEIGHT
The default axis for height values measured from gravity. Increasing ordinates values go up and units are metres. The ISO 19111 name is "gravity-related height" and the abbreviation is lower case "H".

See Also:
ALTITUDE, ELLIPSOIDAL_HEIGHT, GEOCENTRIC_RADIUS, DEPTH

ALTITUDE

public static final DefaultCoordinateSystemAxis ALTITUDE
The default axis for altitude values. Increasing ordinates values go up and units are metres. The abbreviation is lower case "h".

This axis is usually part of a LONGITUDE, LATITUDE, ALTITUDE set.

See Also:
ELLIPSOIDAL_HEIGHT, GEOCENTRIC_RADIUS, GRAVITY_RELATED_HEIGHT, DEPTH

DEPTH

public static final DefaultCoordinateSystemAxis DEPTH
The default axis for depth. Increasing ordinates values go down and units are metres. The ISO 19111 name is "depth".

See Also:
ALTITUDE, ELLIPSOIDAL_HEIGHT, GEOCENTRIC_RADIUS, GRAVITY_RELATED_HEIGHT

GEOCENTRIC_RADIUS

public static final DefaultCoordinateSystemAxis GEOCENTRIC_RADIUS
Default axis info for radius in a geocentric CRS using spherical CS. Increasing ordinates values go up and units are metres. The ISO 19111 name is "geocentric radius" and the abbreviation is lower case "r".

This axis is usually part of a SPHERICAL_LONGITUDE, SPHERICAL_LATITUDE, GEOCENTRIC_RADIUS set.

See Also:
ALTITUDE, ELLIPSOIDAL_HEIGHT, GRAVITY_RELATED_HEIGHT, DEPTH

SPHERICAL_LONGITUDE

public static final DefaultCoordinateSystemAxis SPHERICAL_LONGITUDE
Default axis info for longitudes in a geocentric CRS using spherical CS. Increasing ordinates values go East and units are decimal degrees. The ISO 19111 name is "spherical longitude" and the abbreviation is "Ω" (omega).

This axis is usually part of a SPHERICAL_LONGITUDE, SPHERICAL_LATITUDE, GEOCENTRIC_RADIUS set.

See Also:
LONGITUDE, GEODETIC_LONGITUDE, SPHERICAL_LATITUDE

SPHERICAL_LATITUDE

public static final DefaultCoordinateSystemAxis SPHERICAL_LATITUDE
Default axis info for latitudes in a geocentric CRS using spherical CS. Increasing ordinates values go North and units are decimal degrees. The ISO 19111 name is "spherical latitude" and the abbreviation is "Θ" (theta).

This axis is usually part of a SPHERICAL_LONGITUDE, SPHERICAL_LATITUDE, GEOCENTRIC_RADIUS set.

See Also:
LATITUDE, GEODETIC_LATITUDE, SPHERICAL_LONGITUDE

X

public static final DefaultCoordinateSystemAxis X
Default axis info for x values in a Cartesian CS. Increasing ordinates values go East and units are metres. The abbreviation is lower case "x".

This axis is usually part of a X, Y, Z set.

See Also:
EASTING, WESTING, GEOCENTRIC_X, DISPLAY_X, COLUMN

Y

public static final DefaultCoordinateSystemAxis Y
Default axis info for y values in a Cartesian CS. Increasing ordinates values go North and units are metres. The abbreviation is lower case "y".

This axis is usually part of a X, Y, Z set.

See Also:
NORTHING, SOUTHING, GEOCENTRIC_Y, DISPLAY_Y, ROW

Z

public static final DefaultCoordinateSystemAxis Z
Default axis info for z values in a Cartesian CS. Increasing ordinates values go up and units are metres. The abbreviation is lower case "z".

This axis is usually part of a X, Y, Z set.


GEOCENTRIC_X

public static final DefaultCoordinateSystemAxis GEOCENTRIC_X
Default axis info for x values in a geocentric CRS using Cartesian CS. Increasing ordinates values goes typically toward prime meridian, but the actual axis direction is GEOCENTRIC_X. In legacy OGC 01-009 specification (still in use for WKT format), it was OTHER).

The units are metres. The ISO 19111 name is "geocentric X" and the abbreviation is upper case "X".

This axis is usually part of a GEOCENTRIC_X, GEOCENTRIC_Y, GEOCENTRIC_Z set.


GEOCENTRIC_Y

public static final DefaultCoordinateSystemAxis GEOCENTRIC_Y
Default axis info for y values in a geocentric CRS using Cartesian CS. Increasing ordinates values goes typically toward East, but the actual axis direction is GEOCENTRIC_Y. In legacy OGC 01-009 specification (still in use for WKT format), it was EAST).

The units are metres. The ISO 19111 name is "geocentric Y" and the abbreviation is upper case "Y".

This axis is usually part of a GEOCENTRIC_X, GEOCENTRIC_Y, GEOCENTRIC_Z set.


GEOCENTRIC_Z

public static final DefaultCoordinateSystemAxis GEOCENTRIC_Z
Default axis info for z values in a geocentric CRS using Cartesian CS. Increasing ordinates values goes typically toward North, but the actual axis direction is GEOCENTRIC_Z. In legacy OGC 01-009 specification (still in use for WKT format), it was NORTH).

The units are metres. The ISO 19111 name is "geocentric Z" and the abbreviation is upper case "Z".

This axis is usually part of a GEOCENTRIC_X, GEOCENTRIC_Y, GEOCENTRIC_Z set.


EASTING

public static final DefaultCoordinateSystemAxis EASTING
Default axis info for Easting values in a projected CRS. Increasing ordinates values go East and units are metres. The ISO 19111 name is "easting" and the abbreviation is upper case "E".

This axis is usually part of a EASTING, NORTHING set.

See Also:
X, EASTING, WESTING

WESTING

public static final DefaultCoordinateSystemAxis WESTING
Default axis info for Westing values in a projected CRS. Increasing ordinates values go West and units are metres. The ISO 19111 name is "westing" and the abbreviation is upper case "W".

See Also:
X, EASTING, WESTING

NORTHING

public static final DefaultCoordinateSystemAxis NORTHING
Default axis info for Northing values in a projected CRS. Increasing ordinates values go North and units are metres. The ISO 19111 name is "northing" and the abbreviation is upper case "N".

This axis is usually part of a EASTING, NORTHING set.

See Also:
Y, NORTHING, SOUTHING

SOUTHING

public static final DefaultCoordinateSystemAxis SOUTHING
Default axis info for Southing values in a projected CRS. Increasing ordinates values go South and units are metres. The ISO 19111 name is "southing" and the abbreviation is upper case "S".

See Also:
Y, NORTHING, SOUTHING

TIME

public static final DefaultCoordinateSystemAxis TIME
A default axis for time values in a time CS. Increasing time go toward future and units are days. The abbreviation is lower case "t".


COLUMN

public static final DefaultCoordinateSystemAxis COLUMN
A default axis for column indices in a grid coverage. Increasing values go toward positive column number. The abbreviation is lower case "i".


ROW

public static final DefaultCoordinateSystemAxis ROW
A default axis for row indices in a grid coverage. Increasing values go toward positive row number. The abbreviation is lower case "j".


DISPLAY_X

public static final DefaultCoordinateSystemAxis DISPLAY_X
A default axis for x values in a display device. Increasing values go toward display right. The abbreviation is lower case "x".

Since:
2.2

DISPLAY_Y

public static final DefaultCoordinateSystemAxis DISPLAY_Y
A default axis for y values in a display device. Increasing values go toward display down. The abbreviation is lower case "y".

Since:
2.2

UNDEFINED

public static final DefaultCoordinateSystemAxis UNDEFINED
Undefined or unknown axis. Axis direction is OTHER and the unit is dimensionless. This constant is sometime used as a placeholder for axes that were not properly defined.

Since:
3.00
Constructor Detail

DefaultCoordinateSystemAxis

public DefaultCoordinateSystemAxis(CoordinateSystemAxis axis)
Constructs a new coordinate system axis with the same values than the specified one. This copy constructor provides a way to convert an arbitrary implementation into a Geotk 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:
axis - The coordinate system axis to copy.
Since:
2.2

DefaultCoordinateSystemAxis

public DefaultCoordinateSystemAxis(Map<String,?> properties,
                                   String abbreviation,
                                   AxisDirection direction,
                                   Unit<?> unit,
                                   double minimum,
                                   double maximum,
                                   RangeMeaning rangeMeaning)
Constructs an axis 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".
abbreviation - The abbreviation used for this coordinate system axes.
direction - The direction of this coordinate system axis.
unit - The unit of measure used for this coordinate system axis.
minimum - The minimum value normally allowed for this axis.
maximum - The maximum value normally allowed for this axis.
rangeMeaning - The meaning of axis value range specified by the minimum and maximum values.
Since:
2.3

DefaultCoordinateSystemAxis

public DefaultCoordinateSystemAxis(Map<String,?> properties,
                                   String abbreviation,
                                   AxisDirection direction,
                                   Unit<?> unit)
Constructs an unbounded axis from a set of properties. The properties map is given unchanged to the super-class constructor. The minimum and maximum values are inferred from the axis unit and direction.

Parameters:
properties - Set of properties. Should contains at least "name".
abbreviation - The abbreviation used for this coordinate system axes.
direction - The direction of this coordinate system axis.
unit - The unit of measure used for this coordinate system axis.

DefaultCoordinateSystemAxis

public DefaultCoordinateSystemAxis(String abbreviation,
                                   AxisDirection direction,
                                   Unit<?> unit)
Constructs an axis with the same name as the abbreviation.

Parameters:
abbreviation - The abbreviation used for this coordinate system axes.
direction - The direction of this coordinate system axis.
unit - The unit of measure used for this coordinate system axis.

DefaultCoordinateSystemAxis

public DefaultCoordinateSystemAxis(CharSequence name,
                                   String abbreviation,
                                   AxisDirection direction,
                                   Unit<?> unit)
Constructs an axis with the given name and abbreviation. Special case:

Parameters:
name - The name of this axis. Also stored as an alias for localization purpose.
abbreviation - The abbreviation used for this coordinate system axis.
direction - The direction of this coordinate system axis.
unit - The unit of measure used for this coordinate system axis.
Method Detail

castOrCopy

public static DefaultCoordinateSystemAxis castOrCopy(CoordinateSystemAxis object)
Returns a Geotk axis implementation with the same values than the given arbitrary implementation. If the given object is null, then this method returns null. Otherwise if the given object is already a Geotk implementation, then the given object is returned unchanged. Otherwise a new Geotk implementation is created and initialized to the attribute values of the given object.

Parameters:
object - The object to get as a Geotk implementation, or null if none.
Returns:
A Geotk implementation containing the values of the given object (may be the given object itself), or null if the argument was null.
Since:
3.18

wrap

@Deprecated
public static DefaultCoordinateSystemAxis wrap(CoordinateSystemAxis object)
Deprecated. Renamed castOrCopy.

Parameters:
object - The object to get as a Geotk implementation, or null if none.
Returns:
The given object as a Geotk implementation.

getPredefined

public static DefaultCoordinateSystemAxis getPredefined(String name,
                                                        AxisDirection direction)
Returns one of the predefined axis for the given name and direction, or null if none. This method searches only in predefined constants like GEODETIC_LATITUDE, not in any custom axis instantiated by a public constructor. The name of those constants match ISO 19111 names or some names commonly found in Well Known Text (WKT) formats.

This method first checks if the specified name matches the abbreviation of a predefined axis. The comparison is case-sensitive (for example the GEOCENTRIC_X abbreviation is uppercase "X", while the abbreviation for the generic X axis is lowercase "x").

If the specified name doesn't match any abbreviation, then this method compares the name against predefined axis name in a case-insensitive manner. Examples of valid names are "Geodetic latitude" and "Northing".

The direction argument is optional and can be used in order to resolve ambiguity like X and DISPLAY_X axis. If this argument is null, then the first axis with a matching name or abbreviation will be returned.

Parameters:
name - The axis name or abbreviation.
direction - An optional direction, or null.
Returns:
One of the constants declared in this class, or null.
Since:
2.4

getDirection

public static AxisDirection getDirection(String direction)
                                  throws NoSuchElementException
Returns an axis direction constants from its name.

Parameters:
direction - The direction name (e.g. "north", "east", etc.).
Returns:
The axis direction for the given name.
Throws:
NoSuchElementException - if the given name is not a know axis direction.

getDirection

public AxisDirection getDirection()
Direction of this coordinate system axis. In the case of Cartesian projected coordinates, this is the direction of this coordinate system axis locally. Examples: north or south, east or west, up or down.

Within any set of coordinate system axes, only one of each pair of terms can be used. For earth-fixed coordinate reference systems, this direction is often approximate and intended to provide a human interpretable meaning to the axis. When a geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate direction.

Note that an DefaultEngineeringCRS often requires specific descriptions of the directions of its coordinate system axes.

Specified by:
getDirection in interface CoordinateSystemAxis

getAbbreviation

public String getAbbreviation()
The abbreviation used for this coordinate system axes. This abbreviation is also used to identify the ordinates in coordinate tuple. Examples are "X" and "Y".

Specified by:
getAbbreviation in interface CoordinateSystemAxis
Returns:
The coordinate system axis abbreviation.

getUnit

public Unit<?> getUnit()
The unit of measure used for this coordinate system axis. The value of this coordinate in a coordinate tuple shall be recorded using this unit of measure, whenever those coordinates use a coordinate reference system that uses a coordinate system that uses this axis.

Specified by:
getUnit in interface CoordinateSystemAxis

getMinimumValue

public double getMinimumValue()
Returns the minimum value normally allowed for this axis, in the unit of measure for the axis. If there is no minimum value, then this method returns negative infinity.

Specified by:
getMinimumValue in interface CoordinateSystemAxis
Since:
2.3

getMaximumValue

public double getMaximumValue()
Returns the maximum value normally allowed for this axis, in the unit of measure for the axis. If there is no maximum value, then this method returns negative infinity.

Specified by:
getMaximumValue in interface CoordinateSystemAxis
Since:
2.3

getRangeMeaning

public RangeMeaning getRangeMeaning()
Returns the meaning of axis value range specified by the minimum and maximum values. This element shall be omitted when both minimum and maximum values are omitted. It may be included when minimum and/or maximum values are included. If this element is omitted when minimum or maximum values are included, the meaning is unspecified.

Specified by:
getRangeMeaning in interface CoordinateSystemAxis
Since:
2.3

isCompassDirection

public static boolean isCompassDirection(AxisDirection direction)
Returns true if the specified direction is a compass direction. Compass directions include "North", "North-North-East", "North-East", etc.

Parameters:
direction - The axis direction to test.
Returns:
true if the given direction is a compass direction.
Since:
2.4

getAngle

public static double getAngle(AxisDirection source,
                              AxisDirection target)
Returns the arithmetic (counterclockwise) angle from the first direction to the second direction, in decimal degrees. This method returns a value between -180° and +180°, or NaN if no angle can be computed.

A positive angle denotes a right-handed system, while a negative angle denotes a left-handed system. Example:

Parameters:
source - The source axis direction.
target - The target axis direction.
Returns:
The arithmetic angle (in degrees) of the rotation to apply on a line pointing toward the source direction in order to make it point toward the target direction, or Double.NaN if this value can't be computed.
Since:
2.4

perpendicular

public static boolean perpendicular(AxisDirection first,
                                    AxisDirection second)
Returns true if the specified directions are perpendicular.

Parameters:
first - The first axis direction to test.
second - The second axis direction to test.
Returns:
true if the given axis direction are perpendicular.
Since:
2.4

nameMatches

public boolean nameMatches(String name)
Returns true if either the primary name or at least one alias matches the specified string. This method performs all the search done by the super-class, with the addition of special processing for latitudes and longitudes:

The above special cases are needed in order to workaround a conflict in specifications: ISO 19111 states explicitly that the latitude and longitude axis names shall be "Geodetic latitude" and "Geodetic longitude", while the legacy OGC 01-009 (where the WKT format is defined) saids that the default values shall be "Lat" and "Lon".

Overrides:
nameMatches in class AbstractIdentifiedObject
Parameters:
name - The name to compare.
Returns:
true if the primary name of at least one alias matches the specified name.
See Also:
IdentifiedObjects.nameMatches(IdentifiedObject, String)

equals

public boolean equals(Object object,
                      ComparisonMode mode)
Compares the specified object with this axis for equality.

Specified by:
equals in interface LenientComparable
Overrides:
equals in class AbstractIdentifiedObject
Parameters:
object - The object to compare to this.
mode - STRICT for performing a strict comparison, or IGNORE_METADATA for comparing only properties relevant to transformations.
Returns:
true if both objects are equal.

computeHashCode

protected int computeHashCode()
Computes a hash value for this identified object. This method is invoked by AbstractIdentifiedObject.hashCode() when first needed.

Implementation specific feature
In the Geotk implementation, the name, identifiers and remarks are not used for hash code computation. Consequently two identified objects will return the same hash value if they are equal in the sense of equals(…, ComparisonMode.IGNORE_METADATA). This feature allows users to implement metadata-insensitive HashMap.

Overrides:
computeHashCode in class AbstractIdentifiedObject
Returns:
The hash code value. This value may change between different execution of the Geotk library.

formatWKT

public String formatWKT(Formatter formatter)
Format the inner part of a Well Known Text (WKT) element. WKT is returned by the toString method and looks like AXIS["name", NORTH].

Specified by:
formatWKT in interface Formattable
Overrides:
formatWKT in class FormattableObject
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name, which is "AXIS".
See Also:
FormattableObject.toWKT(), FormattableObject.toString()


Copyright © 2009-2011 Geotoolkit.org. All Rights Reserved.