4

I got this dataset from Natural Earth which contains every country on Earth as a shapefile. When I load it into QGIS, the easternmost part of Russia is cut and find itself west of Alaska, and I would like to offset the extent of the map so that no country is cut.

I assumed this was because the extent of the map projection is [-90,-180,90,180], and the land masses are getting cut at 180°. I thus tried to change it to [-90,-185,90,175] through a custom projection in Settings -> Custom Projections. I copy/pasted the Winkel_I WKT data from Properties -> CRS, and modified the extent to BBOX[-90,-185,90,175]],, but I couldn't get it to validate, probably because it was to similar to Winkel I. I also couldn't find a way to create a custom CRS with custom extent on the wiki.

While switching between different project and layer CRS, I ended up with this set of two horizontal abominations, which happened in Russia and New Zealand, where the shapefile crossed the extent of the map. I really don't know how this has happened and was not able to reproduce it after reloading the file. I found two similar (first one, second one) questions, but none of them provided a satisfactory answer.

My questions are:

  • how do I prevent Russia from being cut in the east? Was I right to assume it was caused by the map extent?
  • why did the strips appear in the image?

enter image description here

7
  • 1
    What is your question? How to create an offset? How you created the stripes? Or how to properly display the data? It's a bit unclear to me, sorry.
    – Erik
    Jun 17 '20 at 7:06
  • It's my fault if it's unclear, I've edited the post so it should be a bit clearer. Basically, I want Russia not to be cut, and my research indicated that it was caused by the map extent, so I'd like to know how to solve that, and secondly, I would like to know how I managed to create the stripes on the picture.
    – Actinium-k
    Jun 17 '20 at 7:16
  • 1
    You need to split your shapefile at the new edge of your desired projection. See gis.stackexchange.com/q/70411/1931 for a step-by-step guide on this.
    – Jake
    Jun 17 '20 at 7:32
  • Thanks, I got it to work, but this is absurdly complex. ArcGIS is vastly superior in that regard...
    – Actinium-k
    Jun 17 '20 at 9:38
  • 2
    @Actinium-k: Ah yes, that is certainly a bit more user-friendly. It might be worth opening a feature request to add something like this to QGIS
    – Jake
    Jun 17 '20 at 10:15
1

This question has the relevant steps that have to be followed exactly. What you need to change is the position of the polygon, then go to Project -> Properties -> CRS, select Robinson/Winkel I/whichever you need. Then, in the WKT tab at the bottom, scroll down until you reach the "Proj4" paragraph. There, copy the +proj command and paste it into a custom CRS (Settings -> Custom Projection), and change +long=0 which is the central meridian (usually, you want 180 minus the longitude of the polygon).

If you need to add another layer to the map, intersect it with your basemap and avoid tweaking the projection any further.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.