ST_FILTERBYM
📄字数 610
👁️阅读量 加载中...
功能描述
根据 M 值过滤掉顶点。
语法格式
sql
GEOMETRY ST_FILTERBYM(GEOMETRY geom, DOUBLE min, DOUBLE max = NULL, BOOLEAN returnM = FALSE);参数说明
- geom:目标 GEOMETRY 对象。
- min: 最小值。
- max:最大值,可选,默认为 NULL。
- returnM:是否返回 M 值,默认 FALSE,即 M 值将不会出现在生成的几何图形中。
函数返回类型
GEOMETRY 类型
使用说明
- 返回仅包含 M 值大于或等于最小值且小于或等于最大值的顶点的几何图形。
- 如果省略最大值参数,则仅考虑最小值。
- 如果生成的几何图形的顶点太少,则将返回空几何图形。
- 该函数主要与 ST_SETEFFECTIVEAREA 结合使用。 ST_EFFECTIVEAREA 用其 M 值设置顶点的有效区域。
- 该函数无需任何计算,过滤,即可获得几何的简化版本。
- 当没有足够的点满足条件时, ST_SIMPLIFYVW 返回具有足够点的几何图形,而 ST_FILTERBYM 返回空几何图形。
- 返回的几何图形可能无效。
- 该函数返回所有维度,包括 Z 和 M 值。
示例
线串被过滤:
sql
SQL> 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;
+----------------------------+
| SIMPLIFIED |
+----------------------------+
| LINESTRING(5 2,7 25,10 10) |
+----------------------------+
(1 row)