- #4494, Fix ST_Simplify output having an outdated bbox (Raúl Marín)
- #4493, Fix ST_RemoveRepeatedPoints output having an outdated bbox (Raúl Marín)
- #4495, Fix ST_SnapToGrid output having an outdated bbox (Raúl Marín)
+ - #4496, Make ST_Simplify(TRIANGLE) collapse if requested (Raúl Marín)
PostGIS 3.0.0alpha4
2019/08/10
{
/* No-op! Cannot simplify points or triangles */
case POINTTYPE:
- case TRIANGLETYPE:
return;
+ case TRIANGLETYPE:
+ {
+ if (preserve_collapsed)
+ return;
+ LWTRIANGLE *t = lwgeom_as_lwtriangle(geom);
+ POINTARRAY *pa = t->points;
+ ptarray_simplify_in_place(pa, epsilon, 0);
+ if (pa->npoints < 3)
+ {
+ pa->npoints = 0;
+ }
+ }
case LINETYPE:
{
LWLINE *g = (LWLINE*)(geom);
(
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
+Select '15', ST_AsText(g) as geometry, postgis_getbbox(g) AS box from geom;
+
+-- Triangle should collapse if requested
+SELECT '16', ST_AsText(ST_Simplify('TRIANGLE ((0 0, 0 9, 9 0, 0 0))', 10, true));
+SELECT '17', ST_AsText(ST_Simplify('TRIANGLE ((0 0, 0 9, 9 0, 0 0))', 10, false));
\ No newline at end of file
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)
+16|TRIANGLE((0 0,0 9,9 0,0 0))
+17|