Name

ST_FilterByM — 根据顶点的M值移除顶点

Synopsis

geometry ST_FilterByM(geometry geom, double precision min, double precision max = null, boolean returnM = false);

描述

根据顶点的M值过滤掉顶点。返回仅具有M值大于或等于最小值且小于或等于最大值的顶点的几何体。如果省略了max-value参数,则只考虑最小值。如果省略了第四个参数,m值将不会出现在生成的几何图形中。如果生成的几何体对于其几何体类型剩余的顶点太少,则将返回空的几何体。在几何图形集合中,没有足够点的几何图形将被静默删除。

此函数主要与ST_SetEffectiveArea配合使用。ST_EffectiveArea以其m值设置顶点的有效面积。使用ST_FilterByM后,只需进行过滤即可获得几何的简化版本,而无需任何计算

[Note]

与ST_FilterByM相比,当没有足够的点数满足标准时,ST_SimplifyVW返回的结果与ST_FilterByM不同。ST_SimplifyVW返回具有足够点的几何,而ST_FilterByM返回空几何

[Note]

请注意,返回的几何可能无效

[Note]

此函数返回所有尺寸,包括Z值和M值

可用性:2.5.0

示例

对线串进行过滤

SELECT ST_AsText(ST_FilterByM(geom,30)) simplified
FROM (SELECT  ST_SetEffectiveArea('LINESTRING(5 2, 3 8, 6 20, 7 25, 10 10)'::geometry) geom) As foo;
-result
         simplified
----------------------------
 LINESTRING(5 2,7 25,10 10)
                

另请参阅

ST_SetEffectiveArea, ST_SimplifyVW