Opened 2 years ago
Closed 2 years ago
#4824 closed defect (fixed)
GEOS 3.9 + nowagyu = failure(4348Clip)
|Reported by:||pramsey||Owned by:||Algunenano|
|Component:||postgis||Version:||2.5.x -- EOL|
The regression test 4348Clip in mvt.sql fails when run with —nowagyu against GEOS 3.9. The test expects an error between 21950 and 22050, but the area returned is
?column? | st_area -----------+---------- #4348Clip | 110888.5
It looks like the makevalid in 3.9 is coming up with a different answer than in 3.8 which is unfortunate to say the least. It's possible that the latest version of GEOS 3.9, which includes a change to buffer(0) would allow a zero-radius buffer to do a "better" valid formation than makevalid.
Change History (6)
by , 2 years ago
comment:1 by , 2 years ago
comment:2 by , 2 years ago
It is definitely worth trying out buffer(0) as a way of fixing invalidity caused by precision reduction. For that use case the behaviour of buffer(0) in dropping small loops should be totally acceptable. And it might be faster.
comment:3 by , 2 years ago
This is ticketed under GEOS https://trac.osgeo.org/geos/ticket/1038. The area returned by GEOS 3.9 is not the expected one. It was supposed to be fixed (and I remember passing the tests with 3.9 locally) so I don't know what happened.
To be honest, at this point I would rather drop non-wagyu builds rather than keep fighting GEOS.
comment:4 by , 2 years ago
Drop non-wagyu builds. It's not like it's an option we encourage and we've vendored wagyu so there's no practical reason to maintain it that I can see.
comment:5 by , 2 years ago
|Status:||new → closed|
Just for the backlink, this is coming out of upgrading the CI suite to 3.9 and in the —nowagyu build configuration, hitting tests from #4348.