-
Notifications
You must be signed in to change notification settings - Fork 791
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
Add Interrupted Mollweide (land and ocean view) projections #3139
Conversation
Great addition. For now just a review concerning the docs.
Do you have some examples? It might be time to give the figures and overhaul. I'd like you to add some more information in the two doc pages. I learned more from reading your PR text than the doc pages. Put some of the information you've written here in the docs. Also, I see that you reference the original paper in the code. This also needs to be referenced in the docs (see https://github.com/OSGeo/PROJ/blob/master/docs/source/references.bib). |
Yeah, I think that would be better.
Wow! This is awesome. Very happy to see this, I never figured out how to do this when I wrote the plotting code back in the day. One of the shortcuts I did back then was to not fill in the continents with black since it absolutely screwed up the image. The alternative was slightly better (i.e. you could make out the projection but had the criss-crossing lines). I wonder if this change will fix that as well? If it does it would be great to have the continents filled in with black as the rest of the figures in the docs. I realize this might not be a fix to everything but we do have some figures that could be improved. Again I'm wondering if this change can make a difference but its worth a try. I went trough all the figures and this is a list of candidates for improvement:
|
Okay, I'll make a new PR with plotting improvements, cherry-picking the plotting commits from this branch, and I'll take a look at the other problematic figures. As for filling in the continents, the trick that I did here with the lines (which I figured out when developing skyproj) isn't trivially extended to filling in the polygons except for the simplest cases. In particular, Antarctica is split into multiple regions in igh, and continents such as South America are half-split in the igh oceanic view. I have a couple ideas on how to make this work, but if it looks like it's getting too complicated, I'd rather leave the relatively simple plotting tool, just improved so that the lines don't go crazy. |
Sounds good, very much appreciated!
Don't spend too much time on making that work, it's already a great improvement. |
Yeah, I spent a few minutes looking at it and have come to the conclusion that it's not a quick fix. However, I do have some good news. I was looking at the problem with the ob_tran plot and realized that (a) there's a typo ( I'll have this fixed on the new PR. |
See #3144 . |
With #3144 merged this needs to be rebased off of it. Otherwise I think it is good to go! |
66ecb14
to
4228557
Compare
Ah yes! I spent so much time tweaking the (more challenging) imoll_o plot that I didn't notice that. |
Go with (a), it is barely noticeable. If you feel like it a a later stage you can always come back and do (c). |
Let me know if there's anything else that needs to be changed here, but I think it's in good shape (and passes tests). |
It looks very good and is absolutely fit for merging. Thanks for the contributions! |
docs/source/*.rst
for new APIThis PR is in response to #3122.
I've recently been trying to learn about various map projections and how PROJ works, and this seemed like an interesting exercise. In this case I went back to read the original Goode (1919) paper which introduced the Interrupted Homolographic Projection (his name for the Interrupted Mollweide Projection) and the Goode (1925) paper which introduced the Interrupted Goode Homolosine Projection (combining Mollweide at high latitude with Sinusoidal at low latitude). I agree with the oceanographers (such as @lukegre) who think that Goode's original trade-off of equatorial distortion for a discontiguous derivative at +/-40°44'11.8" is not the best aesthetic choice, particularly for the Oceanic View.
One thing I should note is that the built-in plotting code for the
proj
documentation does not do a very good job of rendering interrupted projections. Attached please find examples of the new Interrupted Mollweide (imoll
) and Interrupted Mollweide Oceanic View (imoll_o
) projections as rendered byproj
+pyproj
+cartopy
.The code here is adapted from the
igh.cpp
andigh_o.cpp
source files, keeping to the same style.