Bug report #16772
check validity algorithm with GEOS method does not detect ring self-intersection
Status: | Rejected | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | Processing/QGIS | ||
Affected QGIS version: | 2.16.3 | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | up/downstream |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 24671 |
Description
see sample...
sql request in DbManager (virtual layer) : select st_isvalidreason(geometry), st_isvalidDetail(geometry) as new_geom, * from sample_ringselfintersection
return : Ring Self-intersection[196397.283 6776906.7204]
but
check validity algorithm with GEOS method return a valid output.
History
#1 Updated by Regis Haubourg over 7 years ago
- Assignee deleted (
Victor Olaya)
#2 Updated by Regis Haubourg over 7 years ago
You mean the check validity being done while editing ? if so, I confirm that.
#3 Updated by Alain FERRATON over 7 years ago
not only.
It's the same if you use the processing algorithm.
#4 Updated by Nyall Dawson over 7 years ago
- Resolution set to up/downstream
- Status changed from Open to Rejected
This is an upstream issue - it would need to be fixed in the GEOS library.
#5 Updated by Regis Haubourg over 7 years ago
Nyall, what I don't get is that GEOS is correctly detecting the error when used via sqlite in virtual layers, but not when QGIS uses GEOS for validity check when editing. Are there different ways to call the GEOSisValid() or precision issues ?