#2409, ST_Summary support for curve geometries

git-svn-id: http://svn.osgeo.org/postgis/trunk@13833 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
Paul Ramsey 2015-07-22 17:05:18 +00:00
parent ef5c3e4b69
commit 304680fabc
3 changed files with 19 additions and 0 deletions

View file

@ -151,12 +151,19 @@ lwgeom_summary(const LWGEOM *lwgeom, int offset)
case POINTTYPE:
return lwpoint_summary((LWPOINT *)lwgeom, offset);
case CIRCSTRINGTYPE:
case TRIANGLETYPE:
case LINETYPE:
return lwline_summary((LWLINE *)lwgeom, offset);
case POLYGONTYPE:
return lwpoly_summary((LWPOLY *)lwgeom, offset);
case TINTYPE:
case MULTISURFACETYPE:
case MULTICURVETYPE:
case CURVEPOLYTYPE:
case COMPOUNDTYPE:
case MULTIPOINTTYPE:
case MULTILINETYPE:
case MULTIPOLYGONTYPE:

View file

@ -825,6 +825,8 @@ round(ST_Length(St_Segmentize(ST_GeographyFromText('LINESTRING(-89.3000030518 28
-- #2307 --
SELECT '#2307', ST_AsText(ST_SnapToGrid(ST_MakeValid('0106000020E6100000010000000103000000010000000A0000004B7DA956B99844C0DB0790FE8B4D1DC010BA74A9AF9444C049AFFC5B8C4D1DC03FC6CC690D9844C0DD67E5628C4D1DC07117B56B0D9844C0C80ABA67C45E1DC0839166ABAF9444C0387D4568C45E1DC010BA74A9AF9444C049AFFC5B8C4D1DC040C3CD74169444C0362EC0608C4D1DC07C1A3B77169444C0DC3ADB40B2641DC03AAE5F68B99844C0242948DEB1641DC04B7DA956B99844C0DB0790FE8B4D1DC0'::geometry),0.0001));
SELECT '#2409', ST_Summary('GEOMETRYCOLLECTION(MULTISURFACE(POLYGON((0 0, 0 1, 1 1, 1 0, 0 0)),CURVEPOLYGON(COMPOUNDCURVE((0 0, 0 1, 1 1, 1 0, 0 0),CIRCULARSTRING(0 0, 0 1, 1 1, 1 2, 0 0)))),TIN(((0 0, 0 1, 1 1, 0 0))))'::geometry);
SELECT '#2415.1', ST_AsText(ST_Multi(
'COMPOUNDCURVE((0 0, 10 0),CIRCULARSTRING(10 0, 15 1, 20 10))'
));

View file

@ -245,6 +245,16 @@ ERROR: invalid GML representation
#2110.3|t
#2145|6792004
#2307|MULTIPOLYGON(((-41.1932 -7.3257,-41.1616 -7.3257,-41.1569 -7.3257,-41.1569 -7.3483,-41.1932 -7.3483,-41.1932 -7.3257),(-41.1616 -7.3257,-41.1879 -7.3257,-41.1879 -7.3425,-41.1616 -7.3425,-41.1616 -7.3257)))
#2409|GeometryCollection[B] with 2 elements
MultiSurface[] with 2 elements
Polygon[] with 1 rings
ring 0 has 5 points
CurvePolygon[] with 1 elements
CompoundCurve[] with 2 elements
LineString[] with 5 points
CircularString[] with 5 points
Tin[] with 1 elements
Triangle[] with 4 points
#2415.1|MULTICURVE(COMPOUNDCURVE((0 0,10 0),CIRCULARSTRING(10 0,15 1,20 10)))
#2415.2|MULTISURFACE(CURVEPOLYGON(CIRCULARSTRING(10 0,15 1,20 0,18 5,20 10,10 10,10 0)))
#2412|LINESTRING(0 0,10 0,20 0)