[postgis-tickets] r17786 - Fix ST_Simplify output having an outdated bbox
Raul
raul at rmr.ninja
Thu Aug 29 08:17:07 PDT 2019
Author: algunenano
Date: 2019-08-29 08:17:07 -0700 (Thu, 29 Aug 2019)
New Revision: 17786
Modified:
trunk/NEWS
trunk/postgis/lwgeom_functions_analytic.c
trunk/regress/core/simplify.sql
trunk/regress/core/simplify_expected
Log:
Fix ST_Simplify output having an outdated bbox
References #4494
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2019-08-29 11:56:36 UTC (rev 17785)
+++ trunk/NEWS 2019-08-29 15:17:07 UTC (rev 17786)
@@ -6,6 +6,7 @@
* Major highlights *
- #4492, Fix ST_Simplify ignoring the value of the 3rd parameter (Raúl Marín)
+ - #4494, Fix ST_Simplify output having an outdated bbox (Raúl Marín)
PostGIS 3.0.0alpha4
2019/08/10
Modified: trunk/postgis/lwgeom_functions_analytic.c
===================================================================
--- trunk/postgis/lwgeom_functions_analytic.c 2019-08-29 11:56:36 UTC (rev 17785)
+++ trunk/postgis/lwgeom_functions_analytic.c 2019-08-29 15:17:07 UTC (rev 17786)
@@ -84,7 +84,8 @@
if ( ! out ) PG_RETURN_NULL();
/* COMPUTE_BBOX TAINTING */
- if ( in->bbox ) lwgeom_add_bbox(out);
+ if (in->bbox)
+ lwgeom_refresh_bbox(out);
result = geometry_serialize(out);
lwgeom_free(out);
Modified: trunk/regress/core/simplify.sql
===================================================================
--- trunk/regress/core/simplify.sql 2019-08-29 11:56:36 UTC (rev 17785)
+++ trunk/regress/core/simplify.sql 2019-08-29 15:17:07 UTC (rev 17786)
@@ -14,4 +14,11 @@
SELECT '12', ST_astext(ST_Simplify('MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 5 6, 6 6, 8 5, 5 5)),((100 100, 100 130, 130 130, 130 100, 100 100)))', 20));
SELECT '13', ST_astext(ST_Simplify('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 20, false));
-SELECT '14', ST_astext(ST_Simplify('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 20, true));
\ No newline at end of file
+SELECT '14', ST_astext(ST_Simplify('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 20, true));
+
+-- Updates the geometry bbox
+WITH geom AS
+(
+ SELECT ST_Simplify('POLYGON((0 0, 10 0, 10 10, 10.6 10, 10.5 10.5, 10 10, 0 10, 0 0))', 1) as g
+)
+Select '15', ST_AsText(g) as geometry, postgis_getbbox(g) AS box from geom;
\ No newline at end of file
Modified: trunk/regress/core/simplify_expected
===================================================================
--- trunk/regress/core/simplify_expected 2019-08-29 11:56:36 UTC (rev 17785)
+++ trunk/regress/core/simplify_expected 2019-08-29 15:17:07 UTC (rev 17786)
@@ -12,3 +12,4 @@
12|MULTIPOLYGON(((100 100,100 130,130 130,130 100,100 100)))
13|
14|POLYGON((0 0,10 0,10 10,0 0))
+15|POLYGON((0 0,10 0,10.5 10.5,0 10,0 0))|BOX(0 0,10.5 10.5)
More information about the postgis-tickets
mailing list