Name

ST_LocateBetween — 指定したM値の範囲内にある要素からなる、派生ジオメトリコレクション値を返します。ポリゴン要素には対応していません。

Synopsis

geometry ST_LocateBetween(geometry geomA, float8 measure_start, float8 measure_end, float8 offset);

説明

指定したM値の範囲内にある要素からなる、派生ジオメトリコレクション値を返します。ポリゴン要素には対応していません。

意味は ISO/IEC CD 13249-3:200x(E) - Text for Continuation CD Editing Meeting で決められています。

Availability: 1.1.0 それより前はST_Locate_Between_Measuresでした。

Changed: 2.0.0 以前の版でST_Locate_Between_Measuresと呼ばれていましたが、古い名前は非推奨となり、将来的には削除しますが現時点では後方互換のため有効になっています。

This function supports M coordinates.

SELECT ST_AsText(the_geom)
                FROM
                (SELECT ST_LocateBetween(
                        ST_GeomFromText('MULTILINESTRING M ((1 2 3, 3 4 2, 9 4 3),
                (1 2 3, 5 4 5))'),1.5, 3) As the_geom) As foo;

                                                         st_asewkt
------------------------------------------------------------------------
 GEOMETRYCOLLECTION M (LINESTRING M (1 2 3,3 4 2,9 4 3),POINT M (1 2 3))

-- ジオメトリコレクションは難しいものですので、
-- 簡略化するためにダンプしています。
SELECT ST_AsText((ST_Dump(the_geom)).geom)
                FROM
                (SELECT ST_LocateBetween(
                        ST_GeomFromText('MULTILINESTRING M ((1 2 3, 3 4 2, 9 4 3),
                (1 2 3, 5 4 5))'),1.5, 3) As the_geom) As foo;

                   st_asewkt
--------------------------------
 LINESTRING M (1 2 3,3 4 2,9 4 3)
 POINT M (1 2 3)

関連情報

ST_Dump, ST_LocateAlong