Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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 类型

使用说明

  1. 返回仅包含 M 值大于或等于最小值且小于或等于最大值的顶点的几何图形。
  2. 如果省略最大值参数,则仅考虑最小值。
  3. 如果生成的几何图形的顶点太少,则将返回空几何图形。
  4. 该函数主要与 ST_SETEFFECTIVEAREA 结合使用。 ST_EFFECTIVEAREA 用其 M 值设置顶点的有效区域。
  5. 该函数无需任何计算,过滤,即可获得几何的简化版本。
  6. 当没有足够的点满足条件时, ST_SIMPLIFYVW 返回具有足够点的几何图形,而 ST_FILTERBYM 返回空几何图形。
  7. 返回的几何图形可能无效。
  8. 该函数返回所有维度,包括 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)