使用者の手引きおよび解説書

ST_PointN

ST_PointN は linestring と整数インデックスを引き数とし、折れ線のパスにある n 番目の頂点であるポイントを戻します。

構文

db2gse.ST_PointN(l db2gse.ST_Curve, n Integer)

戻りタイプ

db2gse.ST_Point

以下の CREATE TABLE ステートメントによって POINTN_TEST 表が作成されます。この表には、それぞれの行を一意的に識別する GID 列と LN1 折れ線列の 2 つの列があります。

CREATE TABLE POINTN_TEST (gid integer, ln1 db2gse.ST_LineString) 

以下の INSERT ステートメントによって 2 つの折れ線値が挿入されます。最初の折れ線には Z 座標や測定値がありませんが、2 番目の折れ線にはどちらもあります。

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 列と、それぞれの折れ線の 2 番目の頂点がリストされます。最初の行の結果は Z 座標や測定値のないポイントであり、 2 番目の行の結果は 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.


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]