[ https://issues.apache.org/jira/browse/SIS465?page=com.atlassian.jira.plugin.system.issuetabpanels:alltabpanel
]
Martin Desruisseaux updated SIS465:

Description:
Some map projections or geodesic calculations use series expansions as approximations of integrals.
Those series expansions are published in books like _Map Projections  A Working Manual_ (John
P. Snyder, U.S. Geological Survey Professional Paper 1395, 1987) or _Coordinate Conversions
and Transformations including Formulas_ (EPSG Geomatics Guidance Note Number 7, part 2). But
the number of terms in those series expansions is chosen for planets with a flattening factor
like Earth. For celestial bodies with higher flattening factor, the number of terms may be
insufficient. This JIRA issue lists some work that needs to be done if we want Apache SIS
to support higher flattening factors. There is two strategies: increase the number of terms,
or use iterative methods.
h2. Mercator, Lambert conic, Polar stereographic
{{ConformalProjection}} is the base class of {{LambertConicConformal}}, {{Mercator}} and {{PolarStereographic}}
projections and provides the algorithm described here. Apache SIS starts with series expansion.
Then if the ellipsoid eccentricity is greater than 0.16 (determined empirically for centimetric
precision), it continues with iterative method. For comparison, Earth eccentricity is about
0.082.
*Status:* {color:green}done{color}, but does not converge for very high eccentricity.
h2. Albers equal area, Cylindrical equal area
{{EqualAreaProjection}} is the base class of {{AlbersEqualArea}} and {{CylindricalEqualArea}}
projections and provides the algorithm described here. Apache SIS starts with series expansion.
Then if the ellipsoid eccentricity is greater than 0.1 (determined empirically for centimetric
precision), it continues with iterative method. For comparison, Earth eccentricity is about
0.082.
*Status:* {color:green}done{color}, but does not converge for very high eccentricity.
h2. Polyconic, Sinusoidal
{{MeridianArcBased}} is the base class of {{Polyconic}} and {{Sinusoidal}} projections and
provides the algorithm described here. Apache SIS uses series expansion only. We can increase
the amount of terms by at least one by uncommenting the {{cf5}} term, but it requires updating
the {{dM_dφ}} method too.
*Status:* {color:red}*to do:* increase the number of terms at least with {{cf5}}.{color} We
still have to determine at which eccentricity threshold we lost centrimetric accuracy for
a planet the size of Earth.
h2. Transverse Mercator
There is currently no check of eccentricity limits. Note that Transverse Mercator projection
is approximate anyway (even on Earth) for coordinates far from central meridian. The effect
of high flattening factor may be that the area validity become smaller, but it needs to be
verified.
*Status:* {color:red}*to do:* determine how area of validity varies with flattening factor.{color}
h2. Geodesics on ellipsoid
Formulas currently implemented in {{GeodesicsOnEllipsoid}} class are derived from [Karney
2013, Algorithms for geodesicshttps://doi.org/10.1007/s001900120578z]. A slightly older
publication, [Karney 2011, Geodesics on an ellipsoid of revolutionhttps://arxiv.org/pdf/1102.1215.pdf],
gives more terms. Those additional terms were omitted in more recent publication because they
are smaller than IEEE 754 doubleprecision when the flattening factor is Earth's one, but
they can be useful for other celestial bodies. Incorporating those additional terms in Apache
SIS requires that we update the Clenshaw summation formulas that we use. [MultipleAngle formulashttp://mathworld.wolfram.com/MultipleAngleFormulas.html]
for 7θ and 8θ can be determined by [Chebyshev polynomial of the second kindhttp://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html].
Another way to find the Clenshaw summation formulas is to use the iterative algorithm given
by Karney 2011 equation 59.
*Status:* {color:red}*to do:* add more terms in series expansions from Karney (2011).{color}
We will still have to determine at which eccentricity threshold we lost centimetric precision
for a planet of the size of Earth. The domain given by Karney 2013 (_f_ ≤ 1/150, equivalent
to an eccentricity of about 0.12) is for finer accuracy than centimetric.
was:
Some map projections or geodesic calculations use series expansions as approximations of integrals.
Those series expansions are published in books like _Map Projections  A Working Manual_ (John
P. Snyder, U.S. Geological Survey Professional Paper 1395, 1987) or _Coordinate Conversions
and Transformations including Formulas_ (EPSG Geomatics Guidance Note Number 7, part 2). But
the number of terms in those series expansions is chosen for planets with a flattening factor
like Earth. For celestial bodies with higher flattening factor, the number of terms may be
insufficient. This JIRA issue lists some work that needs to be done if we want Apache SIS
to support higher flattening factors. There is two strategies: increase the number of terms,
or use iterative methods.
h2. Mercator, Lambert conic, Polar stereographic
{{ConformalProjection}} is the base class of {{LambertConicConformal}}, {{Mercator}} and {{PolarStereographic}}
projections and provides the algorithm described here. Apache SIS starts with series expansion.
Then if the ellipsoid eccentricity is greater than 0.16 (determined empirically for centimetric
precision), it continues with iterative method. For comparison, Earth eccentricity is about
0.082.
*Status:* {color:green}done{color}, but does not converge for very high eccentricity.
h2. Albers equal area, Cylindrical equal area
{{EqualAreaProjection}} is the base class of {{AlbersEqualArea}} and {{CylindricalEqualArea}}
projections and provides the algorithm described here. Apache SIS starts with series expansion.
Then if the ellipsoid eccentricity is greater than 0.1 (determined empirically for centimetric
precision), it continues with iterative method. For comparison, Earth eccentricity is about
0.082.
*Status:* {color:green}done{color}, but does not converge for very high eccentricity.
h2. Polyconic, Sinusoidal
{{MeridianArcBased}} is the base class of {{Polyconic}} and {{Sinusoidal}} projections and
provides the algorithm described here. Apache SIS uses series expansion only. We can increase
the amount of terms by at least one by uncommenting the {{cf5}} term, but it requires updating
the {{dM_dφ}} method too.
*Status:* {color:red}*to do:* increase the number of terms at least with {{cf5}}.{color} We
still have to determine at which eccentricity threshold we lost centrimetric accuracy for
a planet the size of Earth.
h2. Transverse Mercator
There is currently no check of eccentricity limits. Note that Transverse Mercator projection
is approximate anyway (even on Earth) for coordinates far from central meridian. The effect
of high flattening factor may be that the area validity become smaller, but it needs to be
verified.
*Status:* {color:red}*to do:* determine how area of validity varies with flattening factor.{color}
h2. Geodesics on ellipsoid
Formulas currently implemented in {{GeodesicsOnEllipsoid}} class are derived from [Karney
2013, Algorithms for geodesicshttps://link.springer.com/content/pdf/10.1007%2Fs001900120578z.pdf].
A slightly older publication, [Karney 2011, Geodesics on an ellipsoid of revolutionhttps://arxiv.org/pdf/1102.1215.pdf],
gives more terms. Those additional terms were omitted in more recent publication because they
are smaller than IEEE 754 doubleprecision when the flattening factor is Earth's one, but
they can be useful for other celestial bodies. Incorporating those additional terms in Apache
SIS requires that we update the Clenshaw summation formulas that we use. [MultipleAngle formulashttp://mathworld.wolfram.com/MultipleAngleFormulas.html]
for 7θ and 8θ can be determined by [Chebyshev polynomial of the second kindhttp://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html].
Another way to find the Clenshaw summation formulas is to use the iterative algorithm given
by Karney 2011 equation 59.
*Status:* {color:red}*to do:* add more terms in series expansions from Karney (2011).{color}
We will still have to determine at which eccentricity threshold we lost centimetric precision
for a planet of the size of Earth. The domain given by Karney 2013 (_f_ ≤ 1/150, equivalent
to an eccentricity of about 0.12) is for finer accuracy than centimetric.
> Referencing on celestial bodies with high flattening factor
> 
>
> Key: SIS465
> URL: https://issues.apache.org/jira/browse/SIS465
> Project: Spatial Information Systems
> Issue Type: Improvement
> Components: Referencing
> Affects Versions: 0.6, 0.7, 0.8, 1.0
> Reporter: Martin Desruisseaux
> Priority: Major
>
> Some map projections or geodesic calculations use series expansions as approximations
of integrals. Those series expansions are published in books like _Map Projections  A Working
Manual_ (John P. Snyder, U.S. Geological Survey Professional Paper 1395, 1987) or _Coordinate
Conversions and Transformations including Formulas_ (EPSG Geomatics Guidance Note Number 7,
part 2). But the number of terms in those series expansions is chosen for planets with a flattening
factor like Earth. For celestial bodies with higher flattening factor, the number of terms
may be insufficient. This JIRA issue lists some work that needs to be done if we want Apache
SIS to support higher flattening factors. There is two strategies: increase the number of
terms, or use iterative methods.
> h2. Mercator, Lambert conic, Polar stereographic
> {{ConformalProjection}} is the base class of {{LambertConicConformal}}, {{Mercator}}
and {{PolarStereographic}} projections and provides the algorithm described here. Apache SIS
starts with series expansion. Then if the ellipsoid eccentricity is greater than 0.16 (determined
empirically for centimetric precision), it continues with iterative method. For comparison,
Earth eccentricity is about 0.082.
> *Status:* {color:green}done{color}, but does not converge for very high eccentricity.
> h2. Albers equal area, Cylindrical equal area
> {{EqualAreaProjection}} is the base class of {{AlbersEqualArea}} and {{CylindricalEqualArea}}
projections and provides the algorithm described here. Apache SIS starts with series expansion.
Then if the ellipsoid eccentricity is greater than 0.1 (determined empirically for centimetric
precision), it continues with iterative method. For comparison, Earth eccentricity is about
0.082.
> *Status:* {color:green}done{color}, but does not converge for very high eccentricity.
> h2. Polyconic, Sinusoidal
> {{MeridianArcBased}} is the base class of {{Polyconic}} and {{Sinusoidal}} projections
and provides the algorithm described here. Apache SIS uses series expansion only. We can increase
the amount of terms by at least one by uncommenting the {{cf5}} term, but it requires updating
the {{dM_dφ}} method too.
> *Status:* {color:red}*to do:* increase the number of terms at least with {{cf5}}.{color}
We still have to determine at which eccentricity threshold we lost centrimetric accuracy for
a planet the size of Earth.
> h2. Transverse Mercator
> There is currently no check of eccentricity limits. Note that Transverse Mercator projection
is approximate anyway (even on Earth) for coordinates far from central meridian. The effect
of high flattening factor may be that the area validity become smaller, but it needs to be
verified.
> *Status:* {color:red}*to do:* determine how area of validity varies with flattening factor.{color}
> h2. Geodesics on ellipsoid
> Formulas currently implemented in {{GeodesicsOnEllipsoid}} class are derived from [Karney
2013, Algorithms for geodesicshttps://doi.org/10.1007/s001900120578z]. A slightly older
publication, [Karney 2011, Geodesics on an ellipsoid of revolutionhttps://arxiv.org/pdf/1102.1215.pdf],
gives more terms. Those additional terms were omitted in more recent publication because they
are smaller than IEEE 754 doubleprecision when the flattening factor is Earth's one, but
they can be useful for other celestial bodies. Incorporating those additional terms in Apache
SIS requires that we update the Clenshaw summation formulas that we use. [MultipleAngle formulashttp://mathworld.wolfram.com/MultipleAngleFormulas.html]
for 7θ and 8θ can be determined by [Chebyshev polynomial of the second kindhttp://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html].
Another way to find the Clenshaw summation formulas is to use the iterative algorithm given
by Karney 2011 equation 59.
> *Status:* {color:red}*to do:* add more terms in series expansions from Karney (2011).{color}
We will still have to determine at which eccentricity threshold we lost centimetric precision
for a planet of the size of Earth. The domain given by Karney 2013 (_f_ ≤ 1/150, equivalent
to an eccentricity of about 0.12) is for finer accuracy than centimetric.

This message was sent by Atlassian JIRA
(v7.6.14#76016)
