[ 
https://issues.apache.org/jira/browse/SIS-465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Desruisseaux updated SIS-465:
------------------------------------
    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 
geodesics|https://doi.org/10.1007/s00190-012-0578-z]. A slightly older 
publication, [Karney 2011, Geodesics on an ellipsoid of 
revolution|https://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 double-precision 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. [Multiple-Angle 
formulas|http://mathworld.wolfram.com/Multiple-AngleFormulas.html] for 7θ and 
8θ can be determined by [Chebyshev polynomial of the second 
kind|http://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 
geodesics|https://link.springer.com/content/pdf/10.1007%2Fs00190-012-0578-z.pdf].
 A slightly older publication, [Karney 2011, Geodesics on an ellipsoid of 
revolution|https://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 double-precision 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. [Multiple-Angle 
formulas|http://mathworld.wolfram.com/Multiple-AngleFormulas.html] for 7θ and 
8θ can be determined by [Chebyshev polynomial of the second 
kind|http://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: SIS-465
>                 URL: https://issues.apache.org/jira/browse/SIS-465
>             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 
> geodesics|https://doi.org/10.1007/s00190-012-0578-z]. A slightly older 
> publication, [Karney 2011, Geodesics on an ellipsoid of 
> revolution|https://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 double-precision 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. [Multiple-Angle 
> formulas|http://mathworld.wolfram.com/Multiple-AngleFormulas.html] for 7θ and 
> 8θ can be determined by [Chebyshev polynomial of the second 
> kind|http://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)

Reply via email to