org.geotoolkit.referencing.crs
Class DefaultGeographicCRS

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by AbstractReferenceSystem
              extended by AbstractCRS
                  extended by AbstractSingleCRS
                      extended by DefaultGeographicCRS
All Implemented Interfaces:
Serializable, Formattable, LenientComparable, CoordinateReferenceSystem, GeodeticCRS, GeographicCRS, SingleCRS, IdentifiedObject, ReferenceSystem

@Immutable
public class DefaultGeographicCRS
extends AbstractSingleCRS
implements GeographicCRS

A coordinate reference system based on an ellipsoidal approximation of the geoid; this provides an accurate representation of the geometry of geographic features for a large portion of the earth's surface.

Used with CS type(s)
Ellipsoidal

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

Field Summary
static DefaultGeographicCRS SPHERE
          A two-dimensional geographic coordinate reference system using a spherical datum.
static DefaultGeographicCRS WGS84
          A two-dimensional geographic coordinate reference system using the WGS84 datum.
static DefaultGeographicCRS WGS84_3D
          A three-dimensional geographic coordinate reference system using the WGS84 datum.
 
Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Fields inherited from interface ReferenceSystem
DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultGeographicCRS(GeodeticDatum datum, EllipsoidalCS cs)
          Constructs a geographic CRS with the same properties than the given datum.
DefaultGeographicCRS(GeographicCRS crs)
          Constructs a new geographic CRS with the same values than the specified one.
DefaultGeographicCRS(Map<String,?> properties, GeodeticDatum datum, EllipsoidalCS cs)
          Constructs a geographic CRS from a set of properties.
DefaultGeographicCRS(String name, GeodeticDatum datum, EllipsoidalCS cs)
          Constructs a geographic CRS from a name.
 
Method Summary
 Measure distance(double[] coord1, double[] coord2)
          Computes the orthodromic distance between two points.
 String formatWKT(Formatter formatter)
          Formats the inner part of a Well Known Text (WKT) element.
 EllipsoidalCS getCoordinateSystem()
          Returns the coordinate system.
 GeodeticDatum getDatum()
          Returns the datum.
static DefaultGeographicCRS wrap(GeographicCRS object)
          Returns a Geotk CRS implementation with the same values than the given arbitrary implementation.
 
Methods inherited from class AbstractSingleCRS
computeHashCode, equals, getAxis, getDimension
 
Methods inherited from class AbstractReferenceSystem
getDomainOfValidity, getScope
 
Methods inherited from class AbstractIdentifiedObject
equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, hashCode, nameMatches, nameMatches, nameMatches
 
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 ReferenceSystem
getDomainOfValidity, getScope
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

WGS84

public static final DefaultGeographicCRS WGS84
A two-dimensional geographic coordinate reference system using the WGS84 datum. This CRS uses (longitude, latitude) ordinates with longitude values increasing towards the East and latitude values increasing towards the North. The angular units are decimal degrees and the prime meridian is Greenwich.

This CRS is equivalent to EPSG:4326 except for axis order, since EPSG puts latitude before longitude.

See Also:
DefaultGeodeticDatum.WGS84

WGS84_3D

public static final DefaultGeographicCRS WGS84_3D
A three-dimensional geographic coordinate reference system using the WGS84 datum. This CRS uses (longitude, latitude, height) ordinates with longitude values increasing towards the East, latitude values increasing towards the North and height positive above the ellipsoid. The angular units are decimal degrees, the height unit is the metre, and the prime meridian is Greenwich.

This CRS is equivalent to EPSG:4979 (the successor to EPSG:4329, itself the successor to EPSG:4327) except for axis order, since EPSG puts latitude before longitude.

See Also:
DefaultGeodeticDatum.WGS84

SPHERE

public static final DefaultGeographicCRS SPHERE
A two-dimensional geographic coordinate reference system using a spherical datum. This CRS uses (longitude, latitude) ordinates with longitude values increasing towards the East and latitude values increasing towards the North. The angular units are decimal degrees and the prime meridian is Greenwich.
Note: This CRS is close, but not identical, to the geographic CRS based on the GRS 1980 Authalic Sphere (EPSG:4047). This CRS uses a sphere radius of 6371000 metres, while the GRS 1980 Authalic Sphere uses a sphere radius of 6371007 metres.

Since:
3.15
See Also:
DefaultGeodeticDatum.SPHERE
Constructor Detail

DefaultGeographicCRS

public DefaultGeographicCRS(GeographicCRS crs)
Constructs a new geographic CRS with the same values than the specified one. This copy constructor provides a way to wrap 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:
crs - The coordinate reference system to copy.
Since:
2.2

DefaultGeographicCRS

public DefaultGeographicCRS(GeodeticDatum datum,
                            EllipsoidalCS cs)
Constructs a geographic CRS with the same properties than the given datum. The inherited properties include the name and aliases.

Parameters:
datum - The datum.
cs - The coordinate system.
Since:
2.5

DefaultGeographicCRS

public DefaultGeographicCRS(String name,
                            GeodeticDatum datum,
                            EllipsoidalCS cs)
Constructs a geographic CRS from a name.

Parameters:
name - The name.
datum - The datum.
cs - The coordinate system.

DefaultGeographicCRS

public DefaultGeographicCRS(Map<String,?> properties,
                            GeodeticDatum datum,
                            EllipsoidalCS cs)
Constructs a geographic CRS from a set of properties. The properties are given unchanged to the super-class constructor.

Parameters:
properties - Set of properties. Should contains at least "name".
datum - The datum.
cs - The coordinate system.
Method Detail

wrap

public static DefaultGeographicCRS wrap(GeographicCRS object)
Returns a Geotk CRS 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 wrap in 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

getCoordinateSystem

public EllipsoidalCS getCoordinateSystem()
Returns the coordinate system.

Specified by:
getCoordinateSystem in interface CoordinateReferenceSystem
Specified by:
getCoordinateSystem in interface GeographicCRS
Specified by:
getCoordinateSystem in interface SingleCRS
Overrides:
getCoordinateSystem in class AbstractCRS

getDatum

public GeodeticDatum getDatum()
Returns the datum.

Specified by:
getDatum in interface GeodeticCRS
Specified by:
getDatum in interface SingleCRS
Overrides:
getDatum in class AbstractSingleCRS
Returns:
The datum.

distance

public Measure distance(double[] coord1,
                        double[] coord2)
                 throws UnsupportedOperationException,
                        MismatchedDimensionException
Computes the orthodromic distance between two points. This convenience method delegates the work to the underlying ellipsoid, if possible.

Overrides:
distance in class AbstractCRS
Parameters:
coord1 - Coordinates of the first point.
coord2 - Coordinates of the second point.
Returns:
The distance between coord1 and coord2.
Throws:
UnsupportedOperationException - if this coordinate reference system can't compute distances.
MismatchedDimensionException - if a coordinate doesn't have the expected dimension.

formatWKT

public String formatWKT(Formatter formatter)
Formats the inner part of a Well Known Text (WKT) element.

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


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