Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cass: fix forward computation of easting (fixes #3432), … #3433

Merged
merged 3 commits into from
Nov 7, 2022

Conversation

rouault
Copy link
Member

@rouault rouault commented Nov 4, 2022

…and use iterative generic inversion to make GIGS 5108 roundtripping tests succeed

The error on the sign after "nu * A * (1. - A2 * T * (C1 ...") dates back to PROJ origins. All other independent implementations (Apache SIS cf
https://github.com/apache/sis/blob/a04bd4b29816c91fc4dfc66135b8de5e962933a0/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/CassiniSoldner.java, CSMAP cf
https://github.com/normanb/CS-Map/blob/1d8f2db7f13194a99dc218d4cd91754c64a2a774/Source/CS_csini.c) use the same formulas as EPSG guidance note which is consistent with Snyder's Map projections - A working manual). So align on them, so that everyone is consistent (and hopefully right).

While doing it, I've modified the inverse method to use the generic inversion method to improve its accuracy, which make it possible to enable the 5108.gie tests that were previously failing on the 1000 iterations roundtripping.

@kbevers
Copy link
Member

kbevers commented Nov 4, 2022

Do you mind splitting this in to different commits? One with the fix for Cassini-Soldner and one with the generic inverse improvement.

The error on the sign after "nu * A * (1. - A2 * T * (C1 ...") dates
back to PROJ origins. All other independent implementations (Apache SIS
cf
https://github.com/apache/sis/blob/a04bd4b29816c91fc4dfc66135b8de5e962933a0/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/CassiniSoldner.java,
CSMAP cf
https://github.com/normanb/CS-Map/blob/1d8f2db7f13194a99dc218d4cd91754c64a2a774/Source/CS_csini.c)
use the same formulas as EPSG guidance note which is consistent with
Snyder's Map projections - A working manual). So align on them, so that
everyone is consistent (and hopefully right).
… tests succeed

I've modified the inverse method to use the generic
inversion method to improve its accuracy, which make it possible to
enable the 5108.gie tests that were previously failing on the 1000
iterations roundtripping.
@rouault
Copy link
Member Author

rouault commented Nov 4, 2022

Do you mind splitting this in to different commits?

done

@kbevers
Copy link
Member

kbevers commented Nov 5, 2022

done

Thanks.

@rouault rouault merged commit 1116e0c into OSGeo:master Nov 7, 2022
github-actions bot pushed a commit that referenced this pull request Nov 7, 2022
cass: fix forward computation of easting (fixes #3432), …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants