[postgis-tickets] r15776 - ST_ConcaveHull fix for ExteriorRing is not a polygon

Regina Obe lr at pcorp.us
Tue Sep 19 17:19:17 PDT 2017


Author: robe
Date: 2017-09-19 17:19:16 -0700 (Tue, 19 Sep 2017)
New Revision: 15776

Modified:
   branches/2.3/NEWS
   branches/2.3/postgis/postgis.sql.in
Log:
ST_ConcaveHull fix for ExteriorRing is not a polygon
References #2836 for PostGIS 2.3.4

Modified: branches/2.3/NEWS
===================================================================
--- branches/2.3/NEWS	2017-09-20 00:12:52 UTC (rev 15775)
+++ branches/2.3/NEWS	2017-09-20 00:19:16 UTC (rev 15776)
@@ -18,6 +18,8 @@
             also reenable cunit loader tess to always run.
   - #3774, Trigonometric length for CompoundCurves
   - #3731, Crash on very small table of homogenous data
+  - #2836, Receiving ERROR: ExteriorRing: geom is
+           not a polygon with ST_ConcaveHull
 
 
 PostGIS 2.3.3

Modified: branches/2.3/postgis/postgis.sql.in
===================================================================
--- branches/2.3/postgis/postgis.sql.in	2017-09-20 00:12:52 UTC (rev 15775)
+++ branches/2.3/postgis/postgis.sql.in	2017-09-20 00:19:16 UTC (rev 15776)
@@ -5720,8 +5720,10 @@
 					var_tempgeom := @extschema at .ST_ForceSFS(@extschema at .ST_Intersection(var_tempgeom, var_convhull));
 					IF param_allow_holes THEN
 						var_param_geom := var_tempgeom;
+					ELSIF @extschema at .ST_GeometryType(var_tempgeom) = 'ST_Polygon' THEN
+						var_param_geom := @extschema at .ST_MakePolygon(@extschema at .ST_ExteriorRing(var_tempgeom));
 					ELSE
-						var_param_geom := @extschema at .ST_MakePolygon(@extschema at .ST_ExteriorRing(var_tempgeom));
+						var_param_geom := @extschema at .ST_ConvexHull(var_param_geom);
 					END IF;
 					return var_param_geom;
 				ELSIF @extschema at .ST_IsValid(var_tempgeom) THEN



More information about the postgis-tickets mailing list