LocateAlong 使用幾何物件與測量, 以多點方式傳回測量時發現的點集。
語法
db2gse.LocateAlong(g db2gse.ST_Geometry, adistance Double)
回覆類型
db2gse.ST_Geometry
範例
下列 CREATE TABLE 陳述式建立 LOCATEALONG_TEST 表格。 LOCATEALONG_TEST 有兩個直欄︰GID 直欄唯一定義每一列; G1 幾何直欄儲存範例幾何。
CREATE TABLE LOCATEALONG_TEST (gid integer, g1 db2gse.ST_Geometry)
下列 INSERT 陳述式插入兩列。第一列是多線串;第二列是多點。
INSERT INTO db2gse.LOCATEALONG_TEST VALUES( 1, db2gse.ST_MLineFromText('multilinestring m ((10.29 19.23 5,23.82 20.29 6,30.19 18.47 7,45.98 20.74 8), (23.82 20.29 6,30.98 23.98 7,42.92 25.98 8))', db2gse.coordref()..srid(0))) INSERT INTO db2gse.LocateAlong_TEST VALUES( 2, db2gse.ST_MPointFromText('multipoint m (10.29 19.23 5,23.82 20.29 6,30.19 18.47 7, 45.98 20.74 8,23.82 20.29 6,30.98 23.98 7,42.92 25.98)', db2gse.coordref()..srid(0)))
在下列的 SELECT 陳述式與對應的結果集中, LocateAlong 函數將被導向,以尋找測量為 6.5 的點。 第一列傳回含有兩點的多點。不過,第二列則傳回空點。 針對線形圖徵 (維度大於 0 的幾何), LocateAlong 可內插點;不過,對多點而言, 目標測量必須完全相符。
SELECT gid, CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,6.5)) AS varchar(96)) "Geometry" FROM LOCATEALONG_TEST GID Geometry ----------- -------------------------------------------------------------- 1 MULTIPOINT M ( 27.01000000 19.38000000 6.50000000, 27.40000000 22.14000000 6.50000000) 2 POINT EMPTY 2 record(s) selected.
在下列的 SELECT 陳述式與對應的結果集中, LocateAlong 函數在兩列中皆傳回多點。目標測量 7 符合多線串與多點來源資料兩者。
SELECT gid,CAST(db2gse.ST_AsText(db2gse.LocateAlong (g1,7)) AS varchar(96)) "Geometry" FROM LOCATEALONG_TEST GID Geometry ----------- -------------------------------------------------------------- 1 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000 23.98000000 7.00000000) 2 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000 23.98000000 7.00000000) 2 record(s) selected.