Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_POINTN

📄字数 603
👁️阅读量 加载中...

功能描述

返回几何图形中第一个线串或圆形线串中的第 N 个点。

语法格式

sql
GEOMETRY ST_POINTN(GEOMETRY a_linestring, INTEGER n);

参数说明

  • a_linestring:目标 LineString 对象;
  • n:对象索引;

函数返回类型

GEOMETRY 类型

使用说明

  1. 如果几何图形中没有线串,则返回 NULL。
  2. n为负值时,从LineString的末尾开始算起,因此 -1 是最后一个点。
  3. 如果要获取 MULTILINESTRING 中每个 LINESTRING 的第 N 个点,请与 ST_DUMP 结合使用。
  4. 此方法实现了 SQL 1.1 的 OGC 简单功能规范。
  5. 该方法实现了SQL/MM规范。 SQL-MM 3: 7.2.5, 7.3.5
  6. 该函数支持 3d 并且不会丢失 z-index。
  7. 此方法支持圆形字符串(CIRCULAR STRINGS)和曲线(CURVES)。

示例

sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_POINTN(ST_GEOMFROMTEXT('LINESTRING(0 0 0, 1 1 1, 2 2 2)'), 3)));

+-----------------+
|      EXPR1      |
+-----------------+
| POINT Z (2 2 2) |
+-----------------+

圆形字符串:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_POINTN(ST_GEOMFROMTEXT('CIRCULARSTRING(1 2, 3 2, 1 2)'), 2)));

+------------+
|   EXPR1    |
+------------+
| POINT(3 2) |
+------------+

负索引:

sql

SQL> SELECT TO_CHAR(ST_ASTEXT(ST_POINTN(ST_GEOMFROMTEXT('LINESTRING(0 0 0, 1 1 1, 2 2 2)'), -2)));

+-----------------+
|      EXPR1      |
+-----------------+
| POINT Z (1 1 1) |
+-----------------+