9

I'm trying to figure out how to use QGIS to print a map so that it can be wrapped around a sphere. I haven't found a projection that will display the map in a way similar to these. enter image description here enter image description here

It sounds like the first projection is also referred to as Geode Homolsine. Using either of the two projections with that name in QGIS shows up like this, enter image description here

cndnflyr
  • 3,392
  • 2
  • 25
  • 43
  • This post, https://gis.stackexchange.com/questions/158637/projecting-a-world-map-on-6-segments-to-print-on-ball?rq=1, is an answer I guess, but I was hoping for something to have improved from 6 years ago. – cndnflyr Nov 17 '21 at 18:25
  • 1
    This may be useful https://gis.stackexchange.com/questions/1775/discontinuous-or-interrupted-map-projections – jbalk Nov 17 '21 at 20:58
  • 1
    @Underdark says here, https://gis.stackexchange.com/a/17267/9248, that proj4 does not handle interrupted projections. But in the same question there are signs that Geode Homolsine might work, if the parameters are fiddled with. Still looking into it... – cndnflyr Nov 17 '21 at 23:57

1 Answers1

4

You need what is called an "interrupted" projection, which (to the best of my knowledge) is not (yet) supported by proj, the open-source projection engine used under the hood by QGIS.

However, all is not lost. Such projections are supported by extensions of d3.js. See https://www.d3indepth.com/geographic/ for a tutorial on using d3.js for map-making, and https://github.com/d3/d3-geo-projection#interrupted-projections for support of interrupted projections in particular.

Finally, d3.js supports the plotting of geoJson data, so that is how (I think, have not tried this) you can bridge the gap to QGIS, exporting (vector) layer data in this format.

A number of examples are shown at https://www.jasondavies.com/maps/. You'll have to inspect the source to see how it's been done; some are rendered pngs which won't be helpful, but some use the above techniques.

Houska
  • 7,976
  • 19
  • 48