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

LocateBetween

LocateBetween は 2 つの図形オブジェクトと 2 つの測定位置を引き数とし、図形を戻します。この図形は、2 つの測定位置の間にある切断されたパスのセットを表しています。

構文

db2gse.LocateBetween(g db2gse.ST_Geometry, [measure] Double, [measure]5 Double)

戻りタイプ

db2gse.ST_Geometry

以下の CREATE TABLE ステートメントによって LOCATEBETWEEN_TEST 表が作成されます。 LOCATEBETWEEN_TEST には 2 つの列があります。 GID 列はそれぞれの行を一意的に識別し、 G1 複数折れ線列にはサンプルの図形が格納されます。

CREATE TABLE LOCATEBETWEEN_TEST (gid integer, g1 db2gse.ST_Geometry)

以下の INSERT ステートメントによって 2 つの行が LOCATEBETWEEN_TEST 表に挿入されます。最初の行は複数折れ線であり、2 番目は複数ポイントです。

INSERT INTO db2gse.LOCATEBETWEEN_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.LOCATEBETWEEN_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 8)',
                        db2gse.coordref()..srid(0)))

以下の SELECT ステートメントおよび対応する結果セットによって、 LocateBetween 関数が測定値 6.5 と測定値 7.5 の間 (境界を含む) にある測定値を見付ける方法が示されています。最初の行は、複数の折れ線を含んでいる複数折れ線を戻します。 2 番目の行は、ソース・データが複数ポイントであったため、複数ポイントを戻します。ソース・データの次元が 0 (ポイントまたは複数ポイント) の時は、完全に一致することが必要です。

SELECT gid, CAST(db2gse.ST_AsText(db2gse.LocateBetween (g1,6.5,7.5))
       AS varchar(96)) "Geometry"
FROM LOCATEBETWEEN_TEST
 
GID      Geometry
----------- -------------------------------------------------------------------
          1 MULTILINESTRING M ( 27.01000000 19.38000000 6.50000000, 31.19000000
18.47000000 7.00000000,38.09000000 19.61000000 7.50000000),(27.40000000 22.1400
0000 6.50000000, 30.98000000 23.98000000 7.00000000,36.95000000 24.98000000 7.5
0000000)
          2 MULTIPOINT M ( 30.19000000 18.47000000 7.00000000, 30.98000000 23.9
8000000 7.00000000)
 
  2 record(s) selected.


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