geoc2geod

Convert geocentric latitude to geodetic latitude

Syntax

geodeticLatitude = geoc2geod(geocentricLatitude, radii)
geodeticLatitude = geoc2geod(geocentricLatitude, radii, model)
geodeticLatitude = geoc2geod(geocentricLatitude, radii, flattening, equatorialRadius)

Description

geodeticLatitude = geoc2geod(geocentricLatitude, radii) converts an array of m-by-1 geocentric latitudes and an array of radii from the center of the planet into an array of m-by-1 geodetic latitudes.

geodeticLatitude = geoc2geod(geocentricLatitude, radii, model) converts for a specific ellipsoid planet.

geodeticLatitude = geoc2geod(geocentricLatitude, radii, flattening, equatorialRadius) converts for a custom ellipsoid planet defined by flattening and the equatorial radius.

The function uses geometric relationships to calculate the geodetic latitude in this noniterative method.

This function has the limitation that this implementation generates a geodetic latitude that lies between ±90 degrees.

Input Arguments

geocentricLatitude

Array of m-by-1 geocentric latitudes, in degrees. Latitude values can be any value. However, values of +90 and -90 may return unexpected values because of singularity at the poles.

radii

Array of radii from the center of the planet, in meters.

model

Specific ellipsoid planet specified as a string. This function supports only 'WGS84'.

flattening

Custom ellipsoid planet defined by flattening.

equatorialRadius

Equatorial radius, in meters.

Output Arguments

geodeticLatitude

Array of m-by-1 geodetic latitudes, in degrees.

Examples

Determine geodetic latitude given a geocentric latitude and radius:

gd = geoc2geod(45, 6379136)


gd =

   45.1921

Determine geodetic latitude at multiple geocentric latitudes, given a radius, and specifying WGS84 ellipsoid model:

gd = geoc2geod([0 45 90], 6379136, 'WGS84')


gd =

         0   45.1921   90.0000

Determine geodetic latitude at multiple geocentric latitudes, given a radius, and specifying custom ellipsoid model:

f = 1/196.877360;
Re = 3397000;
gd = geoc2geod([0 45 90], 6379136, f, Re)


gd =

         0   45.1550   90.0000

References

Jackson, E.B., Manual for a Workstation-based Generic Flight Simulation Program (LaRCsim) Version 1.4, NASA TM 110164, April 1995

Hedgley, D. R., Jr., An Exact Transformation from Geocentric to Geodetic Coordinates for Nonzero Altitudes, NASA TR R-458, March, 1976

Clynch, J. R., Radius of the Earth — Radii Used in Geodesy, Naval Postgraduate School, 2002, http://www.oc.nps.navy.mil/oc2902w/geodesy/radiigeo.pdf

Stevens, B. L., and F. L. Lewis, Aircraft Control and Simulation, John Wiley & Sons, New York, NY, 1992

Edwards, C. H., and D. E. Penny, Calculus and Analytical Geometry, 2nd Edition, Prentice-Hall, Englewood Cliffs, NJ, 1986

Was this topic helpful?