st_removepoint 函数

适用于:已勾选“是”的 Databricks Runtime 17.1 及更高版本

Important

此功能目前以公共预览版提供。

从输入线串 GEOGRAPHYGEOMETRY 中删除第 n 个点。

Syntax

st_removepoint ( geoExpr, indexExpr )

Arguments

  • geoExpr:一个GEOGRAPHY或者GEOMETRY值,用以表示线字符串。
  • indexExpr:一个 INTEGER 值,指示要删除的点在线串中的位置(从 1 开始)。

Returns

GEOGRAPHYGEOMETRY 类型的值,表示第 indexExpr 个位置处的点被移除后的线串。

输出行字符串的 SRID 值等于输入GEOGRAPHY的值或输入GEOMETRY的值。

输出线字符串的维度与输入 GEOGRAPHYGEOMETRY 值的维度相同。

如果任何输入为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)