I am trying to find out wether my implementation has faults and/or if there is a better method.

The problem:

Given two points (Lat/Long) defined over the WGS84 ellipsoid, find the point lying on the great circle that connect them and has a given Longitude

My approach:

  • Convert the two points to ECEF coordinates
  • Derive the orientation of the plane where the great circle lies (cross product of the two ECEF vectors)
  • Derive the orientation of the meridian plane containing the point we are looking for (we know the longitude and that is perpendicular to the equator, so we only need sin/cos of the longitude)
  • Derive the ECEF vector of the sought point (is the intersection of the two planes, we need only the cross product of the two plane orientations)
  • Find the latitude of the point (is the arcsin of the third vector component, when normalized)

My doubts:

  • When converting to ECEF I was using the fact that the local earth radius is not constant, and thus I was computing it to correctly weight the three components. When I tried to plot my computed points vs the great circle on online maps (googlemaps, skyvector) they seemed a little bit off and I solved the discrepancy by removing the weighting (i.e., ECEF on a perfect sphere). Who is right?

  • Is there a better way? (that maybe avoids mapping to ECEF?)

1 Answer 1


See the wikipedia page on great-circle navigation. Following the prescription there, you compute the heading of the great circle at the first point. Then you can compute the intersection of the resulting path with a particular meridian. (This addresses the problem on a sphere. The ellipsoidal problem is a little more involved. A good place to start is geodesics on an ellipsoid.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.