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.