[postgis-tickets] r16405 - Fix cast from box3d to geometry

Darafei komzpa at gmail.com
Thu Feb 22 03:09:37 PST 2018


Author: komzpa
Date: 2018-02-22 03:09:37 -0800 (Thu, 22 Feb 2018)
New Revision: 16405

Modified:
   trunk/NEWS
   trunk/postgis/lwgeom_box3d.c
   trunk/regress/regress_expected
   trunk/regress/sfcgal/regress_expected
Log:
Fix cast from box3d to geometry

Patch by Matthias Bay

Closes https://github.com/postgis/postgis/pull/214
Closes #4020


Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2018-02-22 10:09:36 UTC (rev 16404)
+++ trunk/NEWS	2018-02-22 11:09:37 UTC (rev 16405)
@@ -39,6 +39,8 @@
            (Darafei Praliaskouski)
   - #3986, ST_AsText now has second argument to limit decimal digits 
            (Marc Ducobu, Darafei Praliaskouski)
+  - #4020, Casting from box3d to geometry now returns correctly connected
+           PolyhedralSurface (Matthias Bay)
 
 PostGIS 2.4.0
 2017/09/30

Modified: trunk/postgis/lwgeom_box3d.c
===================================================================
--- trunk/postgis/lwgeom_box3d.c	2018-02-22 10:09:36 UTC (rev 16404)
+++ trunk/postgis/lwgeom_box3d.c	2018-02-22 11:09:37 UTC (rev 16405)
@@ -326,10 +326,10 @@
 				   	&points[0], &points[1], &points[2], &points[3]));
 		/* add top polygon */
 		geoms[1] = lwpoly_as_lwgeom(lwpoly_construct_rectangle(LW_TRUE, LW_FALSE,
-				   	&points[4], &points[5], &points[6], &points[7]));
+				   	&points[4], &points[7], &points[6], &points[5]));
 		/* add left polygon */
 		geoms[2] = lwpoly_as_lwgeom(lwpoly_construct_rectangle(LW_TRUE, LW_FALSE,
-				   	&points[0], &points[1], &points[5], &points[4]));
+				   	&points[0], &points[4], &points[5], &points[1]));
 		/* add right polygon */
 		geoms[3] = lwpoly_as_lwgeom(lwpoly_construct_rectangle(LW_TRUE, LW_FALSE,
 				   	&points[3], &points[2], &points[6], &points[7]));
@@ -338,7 +338,7 @@
 				   	&points[0], &points[3], &points[7], &points[4]));
 		/* add front polygon */
 		geoms[5] = lwpoly_as_lwgeom(lwpoly_construct_rectangle(LW_TRUE, LW_FALSE,
-				   	&points[1], &points[2], &points[6], &points[5]));
+				   	&points[1], &points[5], &points[6], &points[2]));
 
 		geom = (LWGEOM *) lwcollection_construct(POLYHEDRALSURFACETYPE,
 				SRID_UNKNOWN, NULL, ngeoms, geoms);

Modified: trunk/regress/regress_expected
===================================================================
--- trunk/regress/regress_expected	2018-02-22 10:09:36 UTC (rev 16404)
+++ trunk/regress/regress_expected	2018-02-22 11:09:37 UTC (rev 16405)
@@ -92,7 +92,7 @@
 107c|POLYGON((2 3 5,2 8 5,6 8 5,6 3 5,2 3 5))
 107d|POLYGON((1 -1 4,2 -1 4,2 -1 9,1 -1 9,1 -1 4))
 107e|POLYGON((-1 3 5,-1 6 5,-1 6 8,-1 3 8,-1 3 5))
-107f|POLYHEDRALSURFACE(((1 2 3,1 5 3,4 5 3,4 2 3,1 2 3)),((1 2 6,1 5 6,4 5 6,4 2 6,1 2 6)),((1 2 3,1 5 3,1 5 6,1 2 6,1 2 3)),((4 2 3,4 5 3,4 5 6,4 2 6,4 2 3)),((1 2 3,4 2 3,4 2 6,1 2 6,1 2 3)),((1 5 3,4 5 3,4 5 6,1 5 6,1 5 3)))
+107f|POLYHEDRALSURFACE(((1 2 3,1 5 3,4 5 3,4 2 3,1 2 3)),((1 2 6,4 2 6,4 5 6,1 5 6,1 2 6)),((1 2 3,1 2 6,1 5 6,1 5 3,1 2 3)),((4 2 3,4 5 3,4 5 6,4 2 6,4 2 3)),((1 2 3,4 2 3,4 2 6,1 2 6,1 2 3)),((1 5 3,1 5 6,4 5 6,4 5 3,1 5 3)))
 108|2
 109|4
 110|6

Modified: trunk/regress/sfcgal/regress_expected
===================================================================
--- trunk/regress/sfcgal/regress_expected	2018-02-22 10:09:36 UTC (rev 16404)
+++ trunk/regress/sfcgal/regress_expected	2018-02-22 11:09:37 UTC (rev 16405)
@@ -121,7 +121,7 @@
 107c|POLYGON((2 3 5,2 8 5,6 8 5,6 3 5,2 3 5))
 107d|POLYGON((1 -1 4,2 -1 4,2 -1 9,1 -1 9,1 -1 4))
 107e|POLYGON((-1 3 5,-1 6 5,-1 6 8,-1 3 8,-1 3 5))
-107f|POLYHEDRALSURFACE(((1 2 3,1 5 3,4 5 3,4 2 3,1 2 3)),((1 2 6,1 5 6,4 5 6,4 2 6,1 2 6)),((1 2 3,1 5 3,1 5 6,1 2 6,1 2 3)),((4 2 3,4 5 3,4 5 6,4 2 6,4 2 3)),((1 2 3,4 2 3,4 2 6,1 2 6,1 2 3)),((1 5 3,4 5 3,4 5 6,1 5 6,1 5 3)))
+107f|POLYHEDRALSURFACE(((1 2 3,1 5 3,4 5 3,4 2 3,1 2 3)),((1 2 6,4 2 6,4 5 6,1 5 6,1 2 6)),((1 2 3,1 2 6,1 5 6,1 5 3,1 2 3)),((4 2 3,4 5 3,4 5 6,4 2 6,4 2 3)),((1 2 3,4 2 3,4 2 6,1 2 6,1 2 3)),((1 5 3,1 5 6,4 5 6,4 5 3,1 5 3)))
 108|2
 109|4
 110|6



More information about the postgis-tickets mailing list