[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