[postgis-tickets] [PostGIS] #5392: Aggregate ST_Union fails to join some "circles" when radius is too large - lwgeom_unaryunion_prec: GEOS Error: TopologyException
PostGIS
trac at osgeo.org
Mon Jun 5 08:01:41 PDT 2023
#5392: Aggregate ST_Union fails to join some "circles" when radius is too large -
lwgeom_unaryunion_prec: GEOS Error: TopologyException
----------------------+---------------------------
Reporter: rotten | Owner: pramsey
Type: defect | Status: closed
Priority: medium | Milestone: PostGIS 3.3.4
Component: postgis | Version: 3.3.x
Resolution: invalid | Keywords:
----------------------+---------------------------
Comment (by rotten):
If I understand this, something is wrong when we increase the radius on
ST_Buffer by one meter. But less than that, and the output is valid.
Shouldn't ST_Buffer fail or emit some sort of warning instead of ST_Union?
Or do we always have to check our ST_Buffer output for validity because
we'll never know ahead of time where it is going to fail?
I'm still not clear as to why that particular threshold is an invalid
input for that location on earth, and why other locations have different
radius thresholds. Obviously we need to catch or prevent this from
happening rather than waiting until something downstream fails.
I could have sworn I did an ST_IsValid check on this example before
submitting it. I apologize for not catching that. It really seems like
ST_Buffer should emit some sort of "Invalid Input - buffer overflow -
creating an invalid geometry" output if it is going to emit garbage that
we can't use downstream without us needing to check it every time we use
it.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5392#comment:7>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list