适用于: Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
从输入线串 GEOGRAPHY
或 GEOMETRY
中删除第 n 个点。
Syntax
st_removepoint ( geoExpr, indexExpr )
Arguments
-
geoExpr
:一个GEOGRAPHY
或者GEOMETRY
值,用以表示线字符串。 -
indexExpr
:一个INTEGER
值,指示要删除的点在线串中的位置(从 1 开始)。
Returns
GEOGRAPHY
或 GEOMETRY
类型的值,表示第 indexExpr
个位置处的点被移除后的线串。
输出行字符串的 SRID 值等于输入GEOGRAPHY
的值或输入GEOMETRY
的值。
输出线字符串的维度与输入 GEOGRAPHY
或 GEOMETRY
值的维度相同。
如果任何输入为NULL
,该函数将返回NULL
。
Error conditions
- 如果值
geoExpr
不是线字符串或为空行字符串,则函数将返回 ST_INVALID_ARGUMENT。 - 如果
indexExpr
的绝对值为 0 或大于线串中的点数量,则函数返回 ST_INVALID_INDEX_VALUE
Examples
-- 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)