Opened 4 years ago
Closed 4 years ago
#4824 closed defect (fixed)
GEOS 3.9 + nowagyu = failure(4348Clip)
Reported by: | pramsey | Owned by: | Algunenano |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.1.1 |
Component: | postgis | Version: | 2.5.x -- EOL |
Keywords: | Cc: |
Description
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.
Attachments (1)
Change History (6)
by , 4 years ago
Attachment: | screenshot_556.png added |
---|
comment:1 by , 4 years ago
Owner: | changed from | to
---|
comment:2 by , 4 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 , 4 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 , 4 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.
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.