Friday, 7 July 2017

Issue rendering polygons at global scale when using the Robinson coordinate reference system in QGIS 2.10


I am trying to create a map using the Robinson coordinate reference system (ESRI:54030) in QGIS 2.10, on Mac. I used the 'on the fly projection' feature in the Project Properties.


My base layer is a polygon vector file of the world's countries. Some of my other vector layers render correctly at any scale (points, lines), but the world countries shapefile does not render correctly when visualizing the map at its full extent. A bounding box is rendered instead of the country's boundary.


Here is a picture of the issue (full extent):


enter image description here


As I zoom in, the polygons render correctly. I've tried with various world boundaries datasets from various sources but the issue remains.


Anyone has encountered this problem before ?



Answer




Simplify Geometries Setting


This might be down to "Simplify geometries" being applied. You can find this in Layer properties, under the rendering tab (paintbrush icon). If that's checked, try unchecking.


This was enabled by default for some versions, as it sped up rendering. I think it's been disabled by default for more recent versions. Not sure what the default is on the Mac.


More general case


If that's not it, it may be you have only very simple polygons.


QGIS is correctly projecting what it has; the 4 corner points of each polygon.


To get this to display properly you need to Densify the polygons (Vector > Geometry Tools > Densify Geometries)


This splits them up into smaller segments, so when the squares are warped you get smooth(er) curves. The more additional points you add, the smoother the results.


Here's the EPSG bounds, as 4-cornered polygons, in Robinson projection


enter image description here



After densification (20 additional points), in Robinson projection


enter image description here


No comments:

Post a Comment