Hello all

A note in case some peoples are interested in planetary mapping. Often,
the methods for going from Cartesian coordinates (e.g. map projection or
geocentric system) to geographic coordinates have no exact formulas. The
solution is approximated in various ways, but two common approaches are:

  * iteration until the error become sufficiently small,
  * or series expansions.

The series expansions are often preferred since they are faster than
iterations (at least twice faster for Lambert Conic Conformal according
my measurement) for equivalent precision. They can be found in the EPSG
guidance notes for instances, and their accuracy are quite good. However
precision of series expansions depend on the number of terms, and that
number is usually chosen for a planet having an eccentricity like Earth.
Empirical tests suggest that for a planet having an eccentricity twice
larger than Earth, series expansion precision become lower than iteration.

Apache SIS currently focus about Earth. However I opportunistically made
some provisions for planetary usages when I could identify a possible
issue with high eccentricities. The strategy is:

 1. Begin with series expansion. For geographic coordinates on Earth,
    this is the only step.
 2. Only if we know that series expansion may not be enough (e.g.
    eccentricity is above some threshold), continue with iteration.

For Lambert Conic Conformal projection this was relatively easy. For the
"Geocentric to Geographic conversion" just committed today it is more
difficult, because the precision is impacted by two parameters:

  * high eccentricity (e)
  * high altitude (h)

I did not tried to resolve how those parameters interact with each
others. However if there is any peoples in this list who have an
interest for extraterrestrial planetary mapping, this is an area where
some research could be done. A first step could be to maintain a wiki
page listing known issues like this one.

    Martin


Reply via email to