Bug report #13787

with invalid geometries centroid fill symbology fails (and prevent layer rendering) when force point inside polygon is active

Added by Mathieu Pellerin - nIRV about 4 years ago. Updated about 4 years ago.

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:
  1. Open the attached centroid_bug project
  2. You should see a bunch of polygons with red centroid points
  3. 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.

centroid_bug.zip (2.38 MB) Mathieu Pellerin - nIRV, 2015-11-08 01:02 AM

cleaned.cpg.zip (2.11 MB) Giovanni Manghi, 2015-11-08 03:09 AM

Associated revisions

Revision 5c9873c7
Added by Nyall Dawson about 4 years ago

More robust GEOS pointOnSurface calculation (fix #13787)

Revision 32cdd85f
Added by Nyall Dawson about 4 years ago

More robust GEOS pointOnSurface calculation (fix #13787)

(cherry-picked from 5c9873c7949e183b2834c6a6f82b0477441038b6)

History

#1 Updated by Mathieu Pellerin - nIRV about 4 years ago

Disabling simplification does not resolve the issue.

#2 Updated by Giovanni Manghi about 4 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 4 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 4 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 4 years ago

Giovanni, thanks.

#6 Updated by Nyall Dawson about 4 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF