public class Ellipsoid extends IdentifiableComponent
It is only an approximation of the Earth surface, but it is used as a reference surface for the expression of coordinates as a latitude and a longitude.
The definition of an ellipsoid is based on two parameters :
| Modifier and Type | Class and Description |
|---|---|
static class |
Ellipsoid.SecondParameter
The second parameter use to create the ellipsoid, this parameter can be
the inverse flattening, the semi-minor axis or the eccentricity.
|
| Modifier and Type | Field and Description |
|---|---|
static Ellipsoid |
AIRY
Airy 1830.
|
static Ellipsoid |
AIRYMOD
Airy Modified 1849.
|
static Ellipsoid |
AustSA
GRS 1967 (SAD 1969) ellipsoid, used in Australian Geodetic Datum and in
South American Datum 1969.
|
static Ellipsoid |
BESSEL1841
Bessel 1841.
|
static Ellipsoid |
BESSNAM
Bessel Namibia (GLM).
|
static Ellipsoid |
CLARKE1866
Clarke 1866.
|
static Ellipsoid |
CLARKE1880ARC
Clarke 1880 (Arc).
|
static Ellipsoid |
CLARKE1880IGN
Clarke 1880 (IGN).
|
static Ellipsoid |
CLARKE1880RGS
Clarke 1880 (RGS) or Clarke 1880 modified.
|
static Map<String,Ellipsoid> |
ellipsoidFromName
ellipsoidFromName associates each ellipsoid to a short string used to
recognize it in CTS.
|
static Ellipsoid |
EVERESTSS
Everest 1830 (1967 definition).
|
static Ellipsoid |
GRS67
GRS 1967 ellipsoid, used in Australian Geodetic Datum and in South
American Datum 1969.
|
static Ellipsoid |
GRS80
GRS 1980 ellipsoid, used in most recent spatial geodetic system (1990 and
after).
|
static Ellipsoid |
HELMERT
Helmert 1906.
|
static Ellipsoid |
INTERNATIONAL1924
International 1924.
|
static Ellipsoid |
KRASSOWSKI
Krassowski 1940.
|
static Ellipsoid |
SPHERE
Perfect SPHERE.
|
static Ellipsoid |
WGS66
WGS 66.
|
static Ellipsoid |
WGS72
WGS 72.
|
static Ellipsoid |
WGS84
WGS84 ellipsoid, used with the WGS84 spatial geodetic datum.
|
DEFAULT, LOCAL, UNKNOWN| Modifier and Type | Method and Description |
|---|---|
double |
arcFromLat(double phi)
Computes the meridian arc from equator to point with ellipsoidal latitude
phi.
|
static Ellipsoid |
createEllipsoidFromEccentricity(double semiMajorAxis,
double eccentricity)
Creates a new Ellipsoid whose definition is based on semi-major axis and
eccentricity and initializes common parameters such as a, b, e, e2, f,
1/f, e'2 and coefficients for the meridian arc.
|
static Ellipsoid |
createEllipsoidFromEccentricity(Identifier identifier,
double semiMajorAxis,
double eccentricity)
Creates a new Ellipsoid whose definition is based on semi-major axis and
eccentricity and initializes common parameters such as a, b, e, e2, f,
1/f, e'2 and coefficients for the meridian arc.
|
static Ellipsoid |
createEllipsoidFromInverseFlattening(double semiMajorAxis,
double invFlattening)
Creates a new Ellipsoid whose definition is based on semi-major axis and
inverse flattening and initializes common parameters such as a, b, e, e2,
f, 1/f, e'2 and coefficients for the meridian arc.
|
static Ellipsoid |
createEllipsoidFromInverseFlattening(Identifier identifier,
double semiMajorAxis,
double invFlattening)
Creates a new Ellipsoid whose definition is based on semi-major axis and
inverse flattening and initializes common parameters such as a, b, e, e2,
f, 1/f, e'2 and coefficients for the meridian arc.
|
static Ellipsoid |
createEllipsoidFromSemiMinorAxis(double semiMajorAxis,
double semiMinorAxis)
Creates a new Ellipsoid whose definition is based on semi-major axis and
semi-minor axis and initializes common parameters such as a, b, e, e2, f,
1/f, e'2 and coefficients for the meridian arc.
|
static Ellipsoid |
createEllipsoidFromSemiMinorAxis(Identifier identifier,
double semiMajorAxis,
double semiMinorAxis)
Creates a new Ellipsoid whose definition is based on semi-major axis and
semi-minor axis and initializes common parameters such as a, b, e, e2, f,
1/f, e'2 and coefficients for the meridian arc.
|
double |
curvilinearAbscissa(double latitude)
Returns the curvilinear abscissa of the meridian arc for this latitude on
an ellipsoid with eccentricity = this.e and semi-major axis = 1.0.
|
boolean |
equals(Object o)
Returns true if this Ellipsoid can be considered as equals to another
one.
|
double[] |
getArcCoeff()
Get coefficients for the meridian arc length.
|
double |
getEccentricity()
Return the eccentricity of this ellipsoid (fr : excentricit�).
|
double |
getFlattening()
Return the flattening of this ellipsoid (fr : aplatissement).
|
double |
getInverseFlattening()
Return the inverse flattening of this ellipsoid (fr : aplatissement
inverse).
|
double[] |
getKCoeff(int max)
Get k coefficients computed with an iterative method.
|
double |
getSecondEccentricitySquared()
Return the second eccentricity ((a-b)/b) of this ellipsoid (fr : seconde
excentricité).
|
double |
getSemiMajorAxis()
Return the semi-major axis of this ellipsoid (fr : demi grand axe).
|
double |
getSemiMinorAxis()
Return the semi-minor axis of this ellipsoid (fr : demi petit axe).
|
double |
getSquareEccentricity()
Return the square eccentricity of this ellipsoid (fr : carré de
l'excentricité).
|
double |
grandeNormale(double latitude) |
int |
hashCode()
Returns the hash code for this Ellipsoid.
|
void |
initKCoeff(int max)
This second method to compute the meridian arc length is taken from .
|
double |
isometricLatitude(double latitude)
Computes isometric latitude from geographic (or geodetic) latitude.
|
double |
latFromArc(double s)
Computes the ellipsoidal latitude from meridian arc length.
|
double |
latitude(double isoLatitude)
Computes geographic latitude from isometric latitude.
|
double |
latitude(double isoLatitude,
double epsilon)
Computes the geographic latitude from the isometric latitude (fr : calcul
de la latitude géographique à partir de la latitude isometrique).
|
double |
meridionalRadiusOfCurvature(double latitude)
The Meridional Radius of Curvature is the radius of curvature, at a
specific latitude, of the ellipse used to generate the ellipsoid.
|
String |
toString()
Return a string representtaion of this ellipsoid.
|
String |
toWKT()
Returns a WKT representation of the ellipsoid.
|
double |
transverseRadiusOfCurvature(double latitude)
The Transverse Radius of Curvature or radius of the first vertical
section or prime vertical radius of curvature (fr : Grande Normale).
|
addAlias, addRemark, getAliases, getAuthorityKey, getAuthorityName, getCode, getComponent, getIdentifier, getName, getRemarks, getShortName, setIdentifier, setRemarks, setShortNamepublic static final Ellipsoid SPHERE
public static final Ellipsoid GRS80
public static final Ellipsoid WGS84
public static final Ellipsoid INTERNATIONAL1924
public static final Ellipsoid BESSEL1841
public static final Ellipsoid CLARKE1866
public static final Ellipsoid CLARKE1880IGN
public static final Ellipsoid CLARKE1880RGS
public static final Ellipsoid CLARKE1880ARC
public static final Ellipsoid KRASSOWSKI
public static final Ellipsoid EVERESTSS
public static final Ellipsoid GRS67
public static final Ellipsoid AustSA
public static final Ellipsoid AIRY
public static final Ellipsoid BESSNAM
public static final Ellipsoid HELMERT
public static final Ellipsoid AIRYMOD
public static final Ellipsoid WGS66
public static final Ellipsoid WGS72
public double getSemiMajorAxis()
public double getInverseFlattening()
public double getSemiMinorAxis()
public double getFlattening()
public double getEccentricity()
public double getSquareEccentricity()
public double getSecondEccentricitySquared()
public double[] getArcCoeff()
public double[] getKCoeff(int max)
public static Ellipsoid createEllipsoidFromInverseFlattening(double semiMajorAxis, double invFlattening) throws IllegalArgumentException
semiMajorAxis - length of the semi-major axis in metersinvFlattening - inverse flattening of the ellipsoidIllegalArgumentExceptionpublic static Ellipsoid createEllipsoidFromInverseFlattening(Identifier identifier, double semiMajorAxis, double invFlattening) throws IllegalArgumentException
identifier - ellipsoid identifiersemiMajorAxis - length of the semi-major axis in metersinvFlattening - inverse flattening of the ellipsoidIllegalArgumentExceptionpublic static Ellipsoid createEllipsoidFromSemiMinorAxis(double semiMajorAxis, double semiMinorAxis) throws IllegalArgumentException
semiMajorAxis - length of the semi-major axis in meterssemiMinorAxis - semi-minor-axis of the ellipsoidIllegalArgumentExceptionpublic static Ellipsoid createEllipsoidFromSemiMinorAxis(Identifier identifier, double semiMajorAxis, double semiMinorAxis) throws IllegalArgumentException
identifier - ellipsoid identifiersemiMajorAxis - length of the semi-major axis in meterssemiMinorAxis - semi-minor-axis of the ellipsoidIllegalArgumentExceptionpublic static Ellipsoid createEllipsoidFromEccentricity(double semiMajorAxis, double eccentricity) throws IllegalArgumentException
semiMajorAxis - length of the semi-major axis in meterseccentricity - semi-minor-axis of the ellipsoidIllegalArgumentExceptionpublic static Ellipsoid createEllipsoidFromEccentricity(Identifier identifier, double semiMajorAxis, double eccentricity) throws IllegalArgumentException
identifier - ellipsoid identifiersemiMajorAxis - length of the semi-major axis in meterseccentricity - semi-minor-axis of the ellipsoidIllegalArgumentExceptionpublic void initKCoeff(int max)
public double arcFromLat(double phi)
phi - the ellipsoidal latitudepublic double latFromArc(double s)
throws ArithmeticException
s - the meridian arc length in metersArithmeticExceptionpublic final double meridionalRadiusOfCurvature(double latitude)
latitude - the geographic latitudepublic final double transverseRadiusOfCurvature(double latitude)
This is the radius of curvature in the plane which is normal to (i.e. perpendicular to) both the surface of the ellipsoid at, and the meridian passing through, the specific point of interest.
latitude - geographic latitude in radianspublic final double grandeNormale(double latitude)
public final double isometricLatitude(double latitude)
Geographic latitude of a point P located on the surface of the ellipsoid is the angle between the perpendicular to the ellipsoid surface at P and the equatorial plan.
Isometric latitude is a function of geographic latitude L(lat) such as (lambda, L) is a symmetric parametric form of the ellipsoid surface.
Ref. IGN ALG0001
latitude - geographic latitudepublic final double latitude(double isoLatitude,
double epsilon)
Geographic latitude of a point P located on the surface of the ellipsoid is the angle between the perpendicular to the ellipsoid surface at P and the equatorial plan.
Isometric latitude is a function of geographic latitude L(lat) such as (lambda, L) is a symmetric parametric form of the ellipsoid surface.
Geographic latitude is computed as the limit of a convergent suite. The loop is stopped when two consecutive terms of the suite is less than epsilon.
Ref. IGN ALG0002
isoLatitude - latitude isometriqueepsilon - value controlling the stop condition of this convergent
sequence. Use 1E-10 for a precision of about 0.6 mm, 1E-11 for a
precision of about 0.06 mm and 1E-12 for a preciison of about 0.006 mmpublic final double latitude(double isoLatitude)
fr : Calcul la latitude géographique d'un point P à partir de sa latitude isométrique.
La latitude géographique est définie comme étant la limite d'une suite convergente. Le calcul de cette suite est interrompu lorsque la différence entre deux termes consécutifs est plus petit que 1E-11 (soit environ 0.006 mm).
isoLatitude - isometric latitudepublic double curvilinearAbscissa(double latitude)
Usually noted beta, the meridian arc length is obtained by multiplying this result by the semi-major axis.
latitude - latitude.public String toWKT()
public String toString()
toString in class IdentifiableComponentpublic boolean equals(Object o)
equals in class IdentifiableComponento - the object to compare this Ellipsoid againstpublic int hashCode()
hashCode in class IdentifiableComponentCopyright © 2019 CNRS. All rights reserved.