1

I am having an issue in both QGIS 2.18.17 and QGIS 3.0.1. It is to do with holes/rings. Where there are meant to be holes/rings, actual polygons are showing, these are effectively coming in as polygons on top of polygons. I haven't produced these shapefiles but this is a problem for display purposes. A workaround to this is to upload the shapefiles to a postgres database, this displays the polygons as they should with the holes/rings.

Is there a setting in QGIS that can be turned on or configured to consume these polygons in the correct way?

UPDATE

The problem appears to be with converting from MapInfo .TAB to .SHP. The .TAB is displaying properly, the conversion to .SHP loses the rings.


I have attached screenshots showing the issue (green correct, red issue).enter image description here

7
  • Try this solution: https://gis.stackexchange.com/a/279839/29431. Hope it helps Apr 18, 2018 at 13:34
  • Thank you @Kadir, a good suggestion but it does not answer how QGIS doesn't display the shapefile right in the first place. Also, the suggested fix only makes those polygons topologically correct, the polygons which should be rings then have to be manually deleted - this is not a solution for a file / area that the end user does not know. The solution needs to be that the file is properly displaying all the assocuited rings without having to run a fix every time.
    – Ian
    Apr 18, 2018 at 13:53
  • 1
    This is a GIGO stiuation. If you provide an invalid shapefile, undefined behavior results. You need to repair the corrupt data before having a valid complaint on how it is rendered. If the repair process doesn't work correctly, then there may be a valid issue, but the root cause is with the software generating the invalid shapefile; it alone should take the brunt of the damage.
    – Vince
    Apr 18, 2018 at 14:15
  • Thanks @Vince, the overarching problem is that I work in a GIS Data Management section where we receive data from all over the country, it goes through another section prior to us handling it. This data when testing in MapInfo displays in the correct manner, the issue/mystery is why does it not display properly in QGIS - is there some sort of configuration that can be done on the QGIS side to make it display the same way it does in MapInfo, which is the correct way, as confirmed when the data is uploaded to postgres.
    – Ian
    Apr 18, 2018 at 14:26
  • The data is invalid. Conversion to PostGIS might be correcting it, or just making enough changes that it's rendered correctly. This is something you will need to determine. By definition, "undefined behavior" could result in microscopic black hole generation, destroying the device on which the data was stored, and that would still be a correct result.
    – Vince
    Apr 18, 2018 at 14:37

1 Answer 1

1

according to this http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf (page 8) polygons vertice are stored clockwise except for interior polygon hole parts which are stored counter-clockwise.

Your problem may come from MapInfo not respecting this during the conversion or from qgis not respecting this.

I got the same problem (correct display in arcgis, hole missing in qgis) re-exporting the shapefile from arcgis solve the problem.

hope this help....

1
  • Hi @J.R, yes it appears to be a conversion issue, we are currently investigating this: the QGIS .TAB to .SHP appears to create the errors, I will update when we have access to the MapInfo conversion.
    – Ian
    Apr 18, 2018 at 16:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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