public final class SpheroidUtil extends Object
Constructor and Description |
---|
SpheroidUtil() |
Modifier and Type | Method and Description |
---|---|
static double |
curvatureMeridional(double latRad,
Datum d)
Computes a spheroid's radius of curvature in the plane
of the meridian at a given latitude.
|
static double |
curvatureNormal(double latRad,
Datum d)
Computes a spheroid's radius of curvature in the plane perpendicular
to both the plane of the meridian and the tangent plane at
a given latitude.
|
static PositionAzimuth |
forward(Datum datum,
LatLonGeo from,
double dist,
double azimuth)
Solution of the geodetic direct problem using T.
|
static double |
geocentricToGeodetic(double geocentricLatRad,
double e2)
Projects a geocentric latitude onto a geodetic latitude
using a ray through the center of the sphere.
|
static double |
geodeticToGeocentric(double geodeticLatRad,
double e2)
Projects a geodetic latitude onto a geocentric latitude
using a ray through the center of the spheroid.
|
static DistanceAzimuth |
inverse(Datum datum,
LatLonGeo from,
LatLonGeo to)
Solution of the geodetic inverse problem using T.
|
static double |
meridionalDistance(Datum datum,
double startLatRad,
double endLatRad) |
static LatLonGeo |
toLatLonGeo(double x,
double y,
double z,
Datum d)
Direct transformation from ECEF-r to ECEF-g coordinates.
|
static LatLonRect |
toLatLonRect(double northLatRad,
double eastLonRad,
double altitude,
Datum d)
Transformation from ECEF-g to ECEF-r coordinates.
|
public static double geodeticToGeocentric(double geodeticLatRad, double e2)
geodeticLatRad
- geodetic latitude to project (in radians)e2
- squared eccentricity of new latitude's underlying spheroidpublic static double geocentricToGeodetic(double geocentricLatRad, double e2)
geocentricLatRad
- geocentric latitude to project (in radians)e2
- squared eccentricity of the input latitude's underlying spheroidpublic static double curvatureMeridional(double latRad, Datum d)
public static double curvatureNormal(double latRad, Datum d)
public static LatLonGeo toLatLonGeo(double x, double y, double z, Datum d)
H. Vermeille, Journal of Geodesy (2002) 76:451-454.
public static LatLonRect toLatLonRect(double northLatRad, double eastLonRad, double altitude, Datum d)
public static PositionAzimuth forward(Datum datum, LatLonGeo from, double dist, double azimuth)
Solution of the geodetic direct problem using T. Vincenty modified Rainsford's method with Helmert's elliptical terms.
Code adapted from the Fortran implementation used in NOAA's "The Geodetic Toolkit."
NOTE: Effective in any azimuth and at any distance short of antipodal.
datum
- underlying datum for geodesicfrom
- starting positiondist
- distance to travelazimuth
- initial azimuth of geodesicpublic static DistanceAzimuth inverse(Datum datum, LatLonGeo from, LatLonGeo to)
LIMITATION: Effective in any azimuth and at any distance short of antipodal.
LIMITATION: From/to stations must not be the geographic pole.
NOTE: Be aware of lift-off and be careful on the equator.
datum
- datum on which to invert geodesicfrom
- start positionto
- end positionpublic static double meridionalDistance(Datum datum, double startLatRad, double endLatRad)
Copyright © 2013 Metron, Inc.. All rights reserved.