Bug report #13787
with invalid geometries centroid fill symbology fails (and prevent layer rendering) when force point inside polygon is active
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | - | ||
Category: | Symbology | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 21813 |
Description
Centroid fill symbology fails resulting in a failure to render layer when the [x] force point inside polygon is active.
Steps to reproduce:- Open the attached centroid_bug project
- You should see a bunch of polygons with red centroid points
- Do tiny pans left and right, sooner or later you'll see the rendering go broken
Incidentally, this centroid fill symbology floods the log panel with GEOS error messages.
Associated revisions
More robust GEOS pointOnSurface calculation (fix #13787)
More robust GEOS pointOnSurface calculation (fix #13787)
(cherry-picked from 5c9873c7949e183b2834c6a6f82b0477441038b6)
History
#1 Updated by Mathieu Pellerin - nIRV about 9 years ago
Disabling simplification does not resolve the issue.
#2 Updated by Giovanni Manghi about 9 years ago
- Priority changed from High to Normal
- Target version deleted (
Future Release - High Priority) - File cleaned.cpg.zip added
- Status changed from Open to Feedback
Your layer has same serious geometry issue. Clean it (I used GRASS v.clean in processing) and it will work as expected (shape attached) even if you will not get rid of those geos messages (that suggest more geometry issues).
#3 Updated by Mathieu Pellerin - nIRV about 9 years ago
- Priority changed from Normal to High
- Target version set to Future Release - High Priority
Giovanni, I don't think you get the issue here. Yes, the dataset has serious geometry issues. And it's an excellent stress test. There's no reason why a whole layer can't render because the centroid fill code crashes. If a polygon (here, I suspect it's a polygon with geometry issue + it being clipped to canvas) is too broken for a centroid to be determined, the symbology should skip it, not crash the whole rendering process for the layer.
#4 Updated by Giovanni Manghi about 9 years ago
- Subject changed from centroid fill symbology fails (and prevent layer rendering) when force point inside polygon is active to with invalid geometries centroid fill symbology fails (and prevent layer rendering) when force point inside polygon is active
- Status changed from Feedback to Open
Mathieu Pellerin - nIRV wrote:
Giovanni, I don't think you get the issue here. Yes, the dataset has serious geometry issues. And it's an excellent stress test. There's no reason why a whole layer can't render because the centroid fill code crashes. If a polygon (here, I suspect it's a polygon with geometry issue + it being clipped to canvas) is too broken for a centroid to be determined, the symbology should skip it, not crash the whole rendering process for the layer.
I slightly changed the title.
#5 Updated by Mathieu Pellerin - nIRV about 9 years ago
Giovanni, thanks.
#6 Updated by Nyall Dawson about 9 years ago
- Status changed from Open to Closed
Fixed in changeset 5c9873c7949e183b2834c6a6f82b0477441038b6.