[postgis-tickets] [PostGIS] #4886: ST_Normalize() has different behavior with GEOS < 3.9.0 and => 3.9.0

PostGIS trac at osgeo.org
Thu Mar 18 02:24:59 PDT 2021


#4886: ST_Normalize() has different behavior with GEOS < 3.9.0 and => 3.9.0
---------------------+--------------------------
 Reporter:  strk     |      Owner:  pramsey
     Type:  defect   |     Status:  new
 Priority:  medium   |  Milestone:  PostGIS GEOS
Component:  postgis  |    Version:
 Keywords:           |
---------------------+--------------------------
 {{{ ST_Normalize('LINESTRING(2 8,2 2,8 2,8 8,2 8)'::geometry) }}}

 The above query gives a  different result in GEOS-3.8 or earlier and
 GEOS-3.9 or later. In the first case (older GEOS) the LINESTRING is
 returned untouched, while in the second case (GEOS-3.9.0+) is returned
 changed in winding to become clockwise.

 As ST_Normalize is used to avoid these kind of differences across versions
 this is, I think, and unwanted behavioural change.

 I do understand we might want to ensure a winding direction for closed
 Linestrings, but maybe it should be a user choice to decide whether or not
 to do that, given not all GEOS versions support it ? Maybe we should do
 the reordering in PostGIS to be immune of behavioural changes

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4886>
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