Main Content


Convert geodetic latitude to geocentric latitude


geocentricLatitude = geod2geoc(geodeticLatitude,height)
[geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height)
geocentricLatitude = geod2geoc(geodeticLatitude,height,model)
[geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height,model)
geocentricLatitude = geod2geoc(geodeticLatitude,height,flattening,equatorialRadius)
[geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height,flattening,equatorialRadius)


geocentricLatitude = geod2geoc(geodeticLatitude,height) and [geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height) convert an array of geodetic latitudes, geodeticLatitude, and an array of mean sea level altitudes, height, into an array of geocentric latitudes, geocentricLatitude. The optional radii returns the radius from the center of the planet to the center of gravity.

geocentricLatitude = geod2geoc(geodeticLatitude,height,model) and [geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height,model) convert from geodetic to geocentric latitude for a specific ellipsoid planet.

geocentricLatitude = geod2geoc(geodeticLatitude,height,flattening,equatorialRadius) and [geocentricLatitude,radii] = geod2geoc(geodeticLatitude,height,flattening,equatorialRadius) convert from geodetic to geocentric latitude for a custom ellipsoid planet defined by flattening, flattening, and the equatorial radius, equatorialRadius.

Input Arguments


Array of geodetic latitudes, in degrees.


Scalar of mean sea-level altitude (MSL), in meters.


Specific ellipsoid planet. This function supports only 'WGS84'.


Custom ellipsoid planet defined by flattening.


Equatorial radius, in meters.

Output Arguments


Array of 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.


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


Determine geocentric latitude given a geodetic latitude and altitude:

[gc,r] = geod2geoc(45,1000)
gc =

r =

Determine geocentric latitude at multiple geodetic latitudes and altitudes, specifying WGS84 ellipsoid model:

[gc,r] = geod2geoc([0 45 90],[1000 0 2000],'WGS84')
gc =
         0   44.8076   90.0000

r =
   1.0e+06 *
    6.3791    6.3675    6.3588

Determine geocentric latitude at multiple geodetic latitudes, given an altitude and specifying custom ellipsoid model:

f = 1/196.877360;
Re = 3397000;
[gc,r] = geod2geoc([0 45 90],2000,f,Re)
gc =
         0   44.7084   90.0000

r =
   1.0e+06 *
    3.3990    3.3904    3.3817

Assumptions and Limitations

This implementation generates a geocentric latitude that lies between ±90 degrees.


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

Introduced in R2006b