[PostGIS] #5725: Undocumented st_offsetcurve behaviour change between 3.2 and 3.3
PostGIS
trac at osgeo.org
Tue Apr 30 16:00:15 PDT 2024
#5725: Undocumented st_offsetcurve behaviour change between 3.2 and 3.3
-------------------------+-------------------------------------------------
Reporter: | Owner: pramsey
gbartonowenstl |
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.3.7
Component: postgis | Version: 3.3.x
Resolution: | Keywords: offsetcurve, release notes,
| st_offsetcurve, reversing
-------------------------+-------------------------------------------------
Description changed by gbartonowenstl:
Old description:
> I've read all the release notes and searched the internet generally for
> this but I cannot find anything.
>
> It appears that between 3.2 and 3.3, st_offsetcurve started reversing the
> curves when a negative offset was given (the documented behaviour), where
> as previously it did not.
>
> Reproduction SQL:
>
> {{{
> select
> PostGIS_Version(),
> st_startpoint(geom),
> st_startpoint(st_offsetcurve(geom, -0.1)),
> st_distance(st_startpoint(geom), st_startpoint(st_offsetcurve(geom,
> -0.1)))
>
> from
>
> (values (st_geomfromtext('LINESTRING (2302997.443737494
> 116854.4859950367, 2303083.234236186 117132.01622010056)',2163))) as vals
> (geom)
> }}}
>
> One env:
> 3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 POINT (2302997.443737494
> 116854.4859950367) POINT (2303083.3297756314 117131.98668682482)
> 290.48759954576633
> Older env:
> 3.2 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 POINT (2302997.443737494
> 116854.4859950367) POINT (2302997.5392769394 116854.45646176096)
> 0.10000000013339401
>
> I think this is due to a geos change: https://github.com/dr-
> jts/geos/commit/7561b50f943305b1419bd655e10e7dcad2cb9492
>
> I'd say this was mostly a bug in the documentation/release notes but I
> suspect it will cause subtle sadness for many
New description:
I've read all the release notes and searched the internet generally for
this but I cannot find anything.
It appears that between 3.2 and 3.3, st_offsetcurve started reversing the
curves when a negative offset was given (the documented behaviour), where
as previously it did not.
Reproduction SQL:
{{{
select
PostGIS_Version(),
st_startpoint(geom),
st_startpoint(st_offsetcurve(geom, -0.1)),
st_distance(st_startpoint(geom), st_startpoint(st_offsetcurve(geom,
-0.1)))
from
(values (st_geomfromtext('LINESTRING (2302997.443737494 116854.4859950367,
2303083.234236186 117132.01622010056)',2163))) as vals (geom)
}}}
One env:
{{{3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 POINT (2302997.443737494
116854.4859950367) POINT (2303083.3297756314 117131.98668682482)
290.48759954576633}}}
Older env:
{{{3.2 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 POINT (2302997.443737494
116854.4859950367) POINT (2302997.5392769394 116854.45646176096)
0.10000000013339401}}}
I think this is due to a geos change: https://github.com/dr-
jts/geos/commit/7561b50f943305b1419bd655e10e7dcad2cb9492
I'd say this was mostly a bug in the documentation/release notes but I
suspect it will cause subtle sadness for many
--
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5725#comment:1>
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