From 0b735b027b430b297f7d2472c49269f8bc60ac0a Mon Sep 17 00:00:00 2001 From: Paul Ramsey Date: Wed, 14 Nov 2012 22:29:23 +0000 Subject: [PATCH] #2028, ST_Multi() does not make a TIN git-svn-id: http://svn.osgeo.org/postgis/trunk@10675 b70326c6-7e19-0410-871a-916f4a2858ee --- liblwgeom/lwgeom.c | 20 ++++++++++---------- regress/tickets.sql | 4 ++++ regress/tickets_expected | 1 + 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/liblwgeom/lwgeom.c b/liblwgeom/lwgeom.c index 4d4ccbef2..7466fee38 100644 --- a/liblwgeom/lwgeom.c +++ b/liblwgeom/lwgeom.c @@ -262,19 +262,19 @@ LWGEOM *lwpoint_as_lwgeom(const LWPOINT *obj) /** ** Look-up for the correct MULTI* type promotion for singleton types. */ -static uint8_t MULTITYPE[16] = +static uint8_t MULTITYPE[17] = { 0, - MULTIPOINTTYPE, - MULTILINETYPE, - MULTIPOLYGONTYPE, + MULTIPOINTTYPE, /* 1 */ + MULTILINETYPE, /* 2 */ + MULTIPOLYGONTYPE, /* 3 */ 0,0,0,0, - MULTICURVETYPE, - MULTICURVETYPE, - MULTISURFACETYPE, - POLYHEDRALSURFACETYPE, - 0, - TINTYPE, + MULTICURVETYPE, /* 8 */ + MULTICURVETYPE, /* 9 */ + MULTISURFACETYPE, /* 10 */ + POLYHEDRALSURFACETYPE, /* 11 */ + 0, 0, + TINTYPE, /* 14 */ 0,0 }; diff --git a/regress/tickets.sql b/regress/tickets.sql index ef5b741b8..32c8eeb95 100644 --- a/regress/tickets.sql +++ b/regress/tickets.sql @@ -731,6 +731,9 @@ SELECT '#1996', ST_AsGeoJSON(ST_GeomFromText('POINT EMPTY')); -- #2001 -- SELECT '#2001', ST_AsText(ST_CurveToLine(ST_GeomFromText('CURVEPOLYGON((0 0, 0 1, 1 1, 0 0))'), 2)); +-- #2028 -- +SELECT '#2028', ST_AsText(ST_Multi('TRIANGLE((0 0, 0 1, 1 1, 0 0))')); + -- #2084 -- SELECT '#2048', num, ST_Within('POINT(-54.394 56.522)', "the_geom"), ST_CoveredBy('POINT(-54.394 56.522)', "the_geom") FROM ( VALUES @@ -739,5 +742,6 @@ FROM ( VALUES (3, '010300000001000000100000008D57CD101A214BC0AECDD34E072C4C400DBB72E6EC274BC0A8088D60E32C4C40CF8FD7E6734E4BC0B22695BE4A324C40BFA74213934F4BC020BE505D4C354C4057CD4BEE454E4BC0BA6CF3940F3D4C40E7BDC5FD263E4BC09A4B297D5B484C4073A46A86701C4BC0B287F08D93364C4045501F86701C4BC05EBDB78D93364C40A37DB6586D1C4BC0841E7D2891364C409FBF445F6D1C4BC01E225C5690364C40D1BA97726D1C4BC06E2AF7EA8D364C4019B60C9B751C4BC0D2FD702575364C40FDE4394B5E1F4BC08C40F231CC2F4C402343DF40F51F4BC022008E3D7B2E4C400BB57B45F9204BC0908CE2EA3A2C4C408D57CD101A214BC0AECDD34E072C4C40'::geometry) ) AS f(num, the_geom); + -- Clean up DELETE FROM spatial_ref_sys; diff --git a/regress/tickets_expected b/regress/tickets_expected index 36e67a3d6..737e79da1 100644 --- a/regress/tickets_expected +++ b/regress/tickets_expected @@ -231,6 +231,7 @@ ERROR: invalid GML representation #1978|3.1413 #1996|{"type":"Point","coordinates":[]} #2001|POLYGON((0 0,0 1,1 1,0 0)) +#2028|TIN(((0 0,0 1,1 1,0 0))) #2048|1|f|f #2048|2|t|t #2048|3|f|f -- 2.40.0