适用于: Databricks Runtime 17.1 及更高版本
重要
此功能目前以公共预览版提供。
从输入线串 GEOGRAPHY
或 GEOMETRY
中删除第 n 个点。
语法
st_removepoint ( geoExpr, indexExpr )
论据
-
geoExpr
:一个GEOGRAPHY
或者GEOMETRY
值,用以表示线字符串。 -
indexExpr
:指示线串中应移除点的基于 1 的位置的INTEGER
值。
退货
GEOGRAPHY
或 GEOMETRY
类型的值,表示第 indexExpr
个位置处的点被移除后的线串。
输出行字符串的 SRID 值等于输入GEOGRAPHY
的值或输入GEOMETRY
的值。
输出线字符串的维度与输入 GEOGRAPHY
或 GEOMETRY
值的维度相同。
如果任何输入为NULL
,该函数将返回NULL
。
错误条件
- 如果值
geoExpr
不是线字符串或为空行字符串,则函数将返回 ST_INVALID_ARGUMENT。 - 如果
indexExpr
的绝对值为 0 或大于线串中的点数量,则函数返回 ST_INVALID_INDEX_VALUE
例子
-- Returns the linestring after removing the second point counting from the left.
> SELECT st_astext(st_removepoint(st_geomfromtext('LINESTRING(1 2,3 4,5 6)'), 2));
LINESTRING(1 2,5 6)
-- Returns the linestring after removing the first point counting from the right.
> SELECT st_asewkt(st_removepoint(st_geogfromtext('LINESTRING(1 2,3 4,5 6)'), -1));
SRID=4326;LINESTRING(1 2,3 4)