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