Converting from Geographic to Geocentric Coordinates

The Rant.

The Earth is, as you may have heard, not a perfect sphere. We usually just assume that the Earth is spherical as a first approximation, good for when accuracy isn't very important. But sometimes we want a better approximation, so we move to a slightly different model: the ellipsoid model.

The ellipsoid model for the Earth's shape takes the equatorial bulge of the planet into account in a general way. Of course, even this improved approximation isn't perfect, but it will do most of the time. The ellipsoid model's surface is taken to be "sea level," and the deviations in the height of a point on the Earth's surface are described as being some number of meters above or below the sea level for that latitude.

The fact that an ellipsoid isn't a sphere causes a difference in what the word "latitude" refers to. In a geocentric coordinate system, the latitude is measured at the center of the Earth and up (or down) from the equator. But in the ellipsoid model for the Earth's shape, the place where latitude is measured isn't the center of the Earth. No indeed. Instead, the geodedic latitude (i.e., latitude in the ellipsoid model) is measured at being a point inside the Earth between the center and the point on the equator at the Earth's surface having the same longitude as the place that we are interested in.

The latitude given on maps is nearly always the geographical or geodedic latitude. But sometimes you might want to know the geocentric latitude instead, and in that case you will want to know how to convert from one kind of latitude to the other. For example, if you are tracking objects that are orbiting the Earth in space, you will probably want to use the geocentric coordinate system rather than the geographical one.

Longitude is not affected by converting from geodedic coordinates to geocentric coordinates.


The Procedure.

L' is geographic latitude (geographic and geodedic mean the same thing)
H is the height above sea level (meters)
a = 0.99664719 (ratio of polar radius to equatorial radius)
b = 6378140.0 meters

u = Arctan { a tan L' }
No quadrant correction is necessary for u.

r sin L = a sin u + (H/b) sin L'

r cos L = cos u + (H/b) cos L'

L = Arctan { (r sin L) / (r cos L) }
No quadrant correction is necessary for L.

r = b { (r cos L)2 + (r sin L)2 }1/2

r is the geocentric distance
L is the geocentric latitude


The Example.

L' = +31.78 degrees
H = 733 meters

u = Arctan { 0.99664719 tan (31.78 degrees) }
u = 31.6939159 degrees

r sin L = 0.99664719 sin (31.6939159 deg) + (733/6378140) sin (31.78 deg)
r sin L = 0.523680324

r cos L = cos (31.6939159 deg) + (733/6378140) cos (31.78 deg)
r cos L = 0.850964597

L = Arctan { 0.523680324 / 0.850964597 }
L = 31.60798097 degrees

r = 6378140.0 { (0.523680324)2 + (0.850964597)2 }1/2
r = 6372977.444 meters


Jerry's Posts Index Page
Jerry's Aryan Battle Page