From 304680fabc4a231b03241b97b0fee1e6bc4b27f6 Mon Sep 17 00:00:00 2001 From: Paul Ramsey Date: Wed, 22 Jul 2015 17:05:18 +0000 Subject: [PATCH] #2409, ST_Summary support for curve geometries git-svn-id: http://svn.osgeo.org/postgis/trunk@13833 b70326c6-7e19-0410-871a-916f4a2858ee --- liblwgeom/lwgeom_debug.c | 7 +++++++ regress/tickets.sql | 2 ++ regress/tickets_expected | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/liblwgeom/lwgeom_debug.c b/liblwgeom/lwgeom_debug.c index ffda90f47..a25c6e96b 100644 --- a/liblwgeom/lwgeom_debug.c +++ b/liblwgeom/lwgeom_debug.c @@ -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: diff --git a/regress/tickets.sql b/regress/tickets.sql index 71687bd3e..ca7558fa7 100644 --- a/regress/tickets.sql +++ b/regress/tickets.sql @@ -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))' )); diff --git a/regress/tickets_expected b/regress/tickets_expected index 860cdc2e1..c67fbcd13 100644 --- a/regress/tickets_expected +++ b/regress/tickets_expected @@ -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) -- 2.50.1