I’m on the quest for my own fully fledged, wall-sized map of the world - completely done in GMT.
Of course I call more than one commercially available map of the world my own – but on every map there are details that bother me. So, equipped with the mighty sword that is GMT, I set out to create my perfect map of the world … aaaand got stuck at the first step, selecting the “best” projection for a rectangular map of the world.
Cylindrical projections aren’t an option. Mercator is out. Way too much distortion.
It expands beyond -160/-160° (map centered on 020°E) in the four corners. Alaska is there in the upper left and right corner. Very nice when you are looking at details at the borders of the map and you need to cross to the other side. Orienting yourself on the map gets quite a bit easier.
Currently I would prefer the Winkel Tripel projection (-Jr-JR) but with that nice “wrapping around” of my map as seen above. Currently that isn’t possible with GMT as the projections don’t “wrap around”. -R doesn’t allow (to my knowledge) domains larger than 360° longitude.
Do you have a good idea for the “best” projection for a rectangular world map?
Experimenting a bit I found that, while the Winkel Tripel projection is more to my liking than the van der Grinten projection, the second is more advantageous when extending the domain beyond +/-180° longitude. It would take quite a big extension with the Winkel Tripel compared to the van der Grinten projection used by the nameless cartographer of my commercial map in the post above. That cartographer must have been on to something …
The red rectangle is supposed to be my final map with the four corners filled by extending the van der Grinten projection beyond +/-180° longitude. Right now -R doesn’t like that:
coast [ERROR]: Map region exceeds 360 degrees
Do you have a neat idea how to extend the map domain beyond 360° longitude? Risking a peek into gmt_proj.c showed me that
the 360° longitude model is deeply rooted in the core of GMT
my C fu isn’t good enough by a wide margin for meddling with the heart of GMT
As those extension experiments turned out to be fruitless I might need to resort back to the forbidden land of cylindrical projections. Your input is always welcome!
Before cartographers get a twitching eye – yes, I severely mangled the van der Grinten projection here. My extensions have nothing to do with a proper projection but are for illustrative purposes only.
Well, need to be more fancy than that using -R -X, maybe clipping etc etc. How about left half of red box using -R…+r then the right with another -R after X etc etc.
Also, -R+r doesn’t really work as it cuts away all the bulge on the eastern and western hemisphere. See this Winkel Tripel globe with -R-180/-90/180/90+r:
The missing landmasses looks like a bug, no? Please open an issue on that one. As for the rest, perhaps GMT cannot do it but perhaps with scripting - that was my point - unfortunately no time for me to look at this in any detail now.
Another approach would be to convert all the required geographical data (coastlines, grid lines, topography) into “Cartesian” coordinates. Normally one would use mapproject or grdproject to do this. However, to get the “corners” of the example map shown at the top filled out, I think one would have to implement the maths for the projection oneself. But for most of these projections the maths isn’t too bad if a spherical Earth is assumed. Then use GMT to do the plotting with -JX etc.