[PostGIS] #5663: ST_GeometryN cannot access sections of CompoundCurve
PostGIS
trac at osgeo.org
Thu Feb 1 16:44:56 PST 2024
#5663: ST_GeometryN cannot access sections of CompoundCurve
---------------------+---------------------------
Reporter: dbaston | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.4.2
Component: postgis | Version: 3.4.x
Keywords: |
---------------------+---------------------------
ST_NumGeometries reports that the following curve has two sub-geometries:
{{{
SELECT ST_NumGeometries('COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 1, 1 0),
(1 0, 0 1))'::geometry);
st_numgeometries
------------------
2
}}}
However, attempting to access the first section of the curve with
ST_GeometryN returns the entire CompoundCurve:
{{{
SELECT ST_AsText(ST_GeometryN('COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 1, 1
0), (1 0, 0 1))'::geometry, 1));
st_astext
------------------------------------------------------
COMPOUNDCURVE(CIRCULARSTRING(0 0,1 1,1 0),(1 0,0 1))
}}}
This behavior differs from OGR:
{{{
from osgeo import ogr
g = ogr.CreateGeometryFromWkt('COMPOUNDCURVE (CIRCULARSTRING (0 0, 1 1, 1
0), (1 0, 0 1))')
g.GetGeometryCount()
# 2
g.GetGeometryRef(1).ExportToWkt()
# LINESTRING (1 0,0 1)
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5663>
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