[Proj] Geocentric vs. Geodetic latitude
Paul Selormey
paul at toolscenter.org
Wed Apr 28 12:33:31 EDT 2004
Thanks for making a long story short.
Best regards,
Paul.
----- Original Message -----
From: "Glynn Clements" <glynn.clements at virgin.net>
To: <proj at remotesensing.org>
Sent: Thursday, April 29, 2004 12:39 AM
Subject: Re: [Proj] Geocentric vs. Geodetic latitude
>
> Frank Warmerdam wrote:
>
> > I was recently suprised to encounter locations identified as being
> > geocentric that were give as a latitude and longitude. I had expected
them
> > to be x/y/z values in meters.
> >
> > A client of mine, better versed in such things explained that there is
in
> > fact a distinction between geocentric and geodetic lat/long. He wrote:
> >
> > >"The angle L' is called "geocentric latitude" and is defined as the
> > > angle between the equatorial plane and the radius from the geocenter.
> > >
> > > The angle L is called "geodetic latitude" and is defined as the angle
> > > between the equatorial plane and the normal to the surface of the
> > > ellipsoid. The word "latitude" usually means geodetic latitude.
This
> > > is the basis for most of the maps and charts we use. The normal to
the
> > > surface is the direction that a plumb bob would hang were it not for
> > > local anomalies in the earth's gravitational field."
> >
> > I need to implement some code to convert geocentric latitude to geodetic
> > latitude. I think I can do from the above description, but I am
wondering
> > if anyone can confirm the above description, provide a forumla or most
> > importantly provide some sample latitudes in both systems I can check my
> > work against.
>
> Given the parametric equation for an ellipse:
>
> x = a.cos(t)
> y = b.sin(t)
>
> the tangent vector is:
>
> dx/dt = -a.sin(t)
> dy/dt = b.cos(t)
>
> and thus the outward normal is:
>
> nx = b.cos(t)
> ny = a.sin(t)
>
> By the above definitions, the geocentric latitude L' is given by:
>
> tan(L') = y / x
> = b.sin(t) / a.cos(t)
> = (b/a).tan(t)
>
> while the geodetic latitude L is given by:
>
> tan(L) = ny / nx
> = a.sin(t) / b.cos(t)
> = (a/b).tan(t)
>
> Thus the ratio of the two is:
>
> tan(L) / tan(L')
> = (a/b).tan(t) / (b/a).tan(t)
> = (a/b) / (b/a)
> = a²/b²
>
> So:
> L = atan((a²/b²).tan(L'))
> and:
> L' = atan((b²/a²).tan(L))
>
> where a is the equatorial axis and b the polar axis.
>
> --
> Glynn Clements <glynn.clements at virgin.net>
> _______________________________________________
> Proj mailing list
> Proj at remotesensing.org
> http://www.remotesensing.org/mailman/listinfo/proj
>
More information about the Proj
mailing list