根据Geometry对象的m值过滤掉其顶点。
语法
geometry ST_FilterByM(geometry geom , double precision min , double precision max , boolean returnM);
参数
参数名称 | 描述 |
geom | 目标Geometry对象。 |
min | 最小值,默认为null。 |
max | 最大值,默认为null。 |
returnM | 返回M值,默认为false。 |
描述
返回顶点的m值大于或等于最小值且小于或等于最大值的Geometry对象。
如果忽略了最大值参数,则仅考虑最小值。
如果生成的Geometry剩余的顶点太少,则将返回一个空的Geometry对象。
在GeometryCollection对象中,没有足够点的Geometry对象会被忽略掉。
与ST_FilterByM相比,当没有足够的点满足条件时,ST_SimplifyVW返回的内容有所不同。 ST_SimplifyVW返回具有足够点的几何图形,而ST_FilterByM返回空的Geometry对象。
返回的Geometry对象可能是无效的。
该函数将返回源对象的全部维度,包括Z和M值。
示例
默认调用:
SELECT ST_AsText(ST_FilterByM('LINESTRINGM(0 0 0,1 1 1,2 2 2,3 3 3)'::geometry,2,4,true)); st_astext ---------------------------- LINESTRING M (2 2 2,3 3 3) (1 row)
无法构成Geometry的情况:
SELECT ST_AsText(ST_FilterByM('LINESTRINGM(0 0 0,1 1 1,2 2 2,3 3 3)'::geometry,3,4,true)); st_astext -------------------- LINESTRING M EMPTY (1 row)
文档内容是否对您有帮助?