1

This question already has an answer here:

I'm working with a 3D model of the earth (WGS84).

The input to my problem is a geocentric lat-long. Is there an efficient way to convert this to a geodetic lat-long?

My initial attempt to solve this seems to work correctly: First, convert the geocentric lat-long back to it's corresponding point in 3D space. Then, feed that XYZ into a library function that returns the geodetic latitude.

It's straightforward, but the conversion from XYZ to geodetic lat-long is not cheap because it uses some fixed number of iterations to come up with a reasonably accurate result... I am looking for something that runs faster.

Given the geocentric latitude, is there a more efficient route I can take to get the corresponding geodetic latitude?

marked as duplicate by whuber Aug 4 '15 at 14:29

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    I provide references at gis.stackexchange.com/a/108220/664, conversion formulas (among geocentric, geodetic, and 3D earth-centered coordinates) at gis.stackexchange.com/a/30512/664, a discussion of these and other spheroidal reference systems (plus more references) at gis.stackexchange.com/a/26021/664, and more formulas at gis.stackexchange.com/a/20250/664, where the fundamental relationship between the geodetic latitude f and geocentric latitude t is given in terms of the semimajor axis a and semiminor axis b as (b/a)tan(f) = tan(t). – whuber Aug 4 '15 at 14:29
  • One of the links that was referenced (the Wikipedia article on Latitude) uses a different equation: t = atan((1 - eccintricity^2) * tan(f)). This formula gave me more accurate results than the aforementioned formula using major and minor radii. (I don't know what the relationship between eccentricity and the radii is, but maybe those equations are nearly equivalent.) – user8709 Aug 4 '15 at 23:59