-
Notifications
You must be signed in to change notification settings - Fork 803
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
Fix and additional options for Peirce Quincuncial projections #2978
Conversation
…ern hemisphere; addition of diamond version of projection peirce_q_d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tests in ./test/gie/peirce_q.gie (they are run by ctest typically) will need to be adjusted for the southern hemisphere. Note: IMHO there are far more test points than needed. You could likely reduce to just what is needed to test each code branch.
CI Plot job: build PROJ from source (fixes OSGeo#2961)
Remove git stash holdover in news.rst
…with optional type param instead of separate projection
…ern hemisphere; addition of diamond version of projection peirce_q_d
…with optional type param instead of separate projection
…to feature_fix_peirce_q
Have set the default type to |
I don't think restricting to nhemisphere makes sense at all. This option shouldn't be available |
…compatibility and real-world usefulness also added comments, doi reference and attribution about the addition of horizontal and vertical types
Can think of mapping applications where this and shemisphere would make more sense than convoluted alternatives (e.g. diamond with points above lat>0 will produce a square, but lat<0 will produce the four triangular spokes only). But agree that these are edge cases and doesn't make sense as default even if backward compatible. Is |
…st for individual alt params
This fixes the current forward implementation of Peirce Quincuncial proj to correctly flip/reflect out the southern hemisphere to four triangles, and rotate entire result to a square or diamond. (It there resolves the issues identified with pull request #2230 , where southern hemisphere was wrongly projected over northern, and reverses the restriction to northern hemisphere introduced there). It also adds additional lateral projection of the hemispheres. - This PR adds an optional parameter `+type` which allows selection of projection. The `+type=square` and `+type=diamond` types match in principle ESRI's twin implementations of square and diamond PQ projs. The **default** if not specified is `+type=diamond`. - The previous behaviour restricted to the northern hemisphere can be reproduced using the `+type=nhemisphere`, though this is an edge case only. - An additional `+type=horizontal` and `+type=vertical` rectangular lateral versions have been added that place each hemisphere side-by-side. This is primarily to allow creation of projections such as Greiger Triptychial, which also require the additional optional params `scrollx` or `scrolly` in order to shift parts of the projection from one side of the map to the other. - Additional documentation has been added to proj description, including quoting the usual meridian used in common usage of projection, and images showing the different types.
This fixes the current forward implementation of Peirce Quincuncial proj to correctly flip/reflect out the southern hemisphere to four triangles, and rotate entire result to a square or diamond. (It there resolves the issues identified with pull request #2230 , where southern hemisphere was wrongly projected over northern, and reverses the restriction to northern hemisphere introduced there). It also adds additional lateral projection of the hemispheres.
This PR adds an optional parameter
+type
which allows selection of projection. The+type=square
and+type=diamond
types match in principle ESRI's twin implementations of square and diamond PQ projs. The default if not specified is+type=diamond
.The previous behaviour restricted to the northern hemisphere can be reproduced using the
+type=nhemisphere
, though this is an edge case only.An additional
+type=horizontal
and+type=vertical
rectangular lateral versions have been added that place each hemisphere side-by-side. This is primarily to allow creation of projections such as Greiger Triptychial, which also require the additional optional paramso_scrollx
oro_scrolly
in order to shift parts of the projection from one side of the map to the other.Additional documentation has been added to proj description, including quoting the usual meridian used in common usage of projection, and images showing the different types.
Would be grateful for review and any suggestions especially from @kbevers @rouault who are familier with these implementations.
docs/source/*.rst
for new API