适用于:
Databricks SQL
Databricks Runtime 17.1 及更高版本
Important
此功能目前以公共预览版提供。
注释
此功能在 Databricks SQL 经典仓库上不可用。 若要详细了解 Databricks SQL 仓库,请参阅 SQL 仓库类型。
从输入线字符串 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。
错误条件
- 如果值
geoExpr不是线字符串或为空行字符串,则函数将返回 ST_INVALID_ARGUMENT。INVALID_TYPE。 - 如果
indexExpr的绝对值为 0 或大于线串中的点数,则函数将返回错误代码 ST_INVALID_ARGUMENT.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)