ST_PointN 接受线条和整数索引,并返回线条路径中第 n 个顶点的点。
语法
db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)
返回类型
db2gse.ST_Point
示例
以下 CREATE TABLE 语句创建 POINTN_TEST 表,该表具有两列: GID 列(唯一地标识每行)和 LN1 线条列。
CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString)
下列 INSERT 语句插入两个线条值。第一条线条没有 Z 坐标或度量单位,而第二个线条则两者都有。
INSERT INTO POINTN_TEST VALUES(1, db2gse.ST_LineFromText('linestring (10.02 20.01,23.73 21.92,30.10 40.23)', db2gse.coordref()..srid(0))) INSERT INTO POINTN_TEST VALUES(2, db2gse.ST_LineFromText('linestring zm (10.02 20.01 5.0 7.0,23.73 21.92 6.5 7.1,30.10 40.23 6.9 7.2)', db2gse.coordref()..srid(0)))
以下 SELECT 语句和相应的结果集列示 GID 列和每个线条的第二个顶点。第一行产生没有 Z 坐标或度量单位的点,而第二行产生具有 Z 坐标和度量单位的点。 ST_PointN 函数返回具有 Z 坐标或度量单位的点(若它们在源线条中存在的话)。
SELECT gid, CAST(db2gse.ST_AsText(db2gse.ST_PointN(ln1,2)) AS varchar(60)) "The 2nd vertice" FROM POINTN_TEST GID The 2nd vertice ----------- ------------------------------------------------------------ 1 POINT ( 23.73000000 21.92000000) 2 POINT ZM ( 23.73000000 21.92000000 7.00000000 7.10000000) 2 record(s) selected.