]> granicus.if.org Git - postgis/commitdiff
#2028, ST_Multi(<triangle>) does not make a TIN
authorPaul Ramsey <pramsey@cleverelephant.ca>
Wed, 14 Nov 2012 22:29:23 +0000 (22:29 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Wed, 14 Nov 2012 22:29:23 +0000 (22:29 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@10675 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/lwgeom.c
regress/tickets.sql
regress/tickets_expected

index 4d4ccbef253abb73b3eb5c81a73fd3600c7ba922..7466fee3849be65bbceb72392d72d85a7acc8b33 100644 (file)
@@ -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
 };
 
index ef5b741b83aef215b1b0977c40ab0eac82c684bd..32c8eeb95c635365c84dbd2e4f85048e90eacf6a 100644 (file)
@@ -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;
index 36e67a3d61360089539228b82fe710a408fe830c..737e79da115d5e189bc17cd5fc0ee6aba81f59e3 100644 (file)
@@ -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