st_removepoint 函数

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

重要

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

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

语法

st_removepoint ( geoExpr, indexExpr )

论据

  • geoExpr:一个GEOGRAPHY或者GEOMETRY值,用以表示线字符串。
  • indexExpr:指示线串中应移除点的基于 1 的位置的 INTEGER 值。

退货

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

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

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

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