ST_LocateBetween — 指定したM値の範囲内にある要素からなる、派生ジオメトリコレクション値を返します。
geometry ST_LocateBetween(
geometry geom, float8 measure_start, float8 measure_end, float8 offset)
;
指定したM値の範囲内にある要素からなる、派生ジオメトリコレクションを返します。
凸でないPOLYGONを抜き出すと不正なジオメトリを返すことがあります。
offsetを与えた場合には、結果は入力ラインの右または左に、指定した数字分ずれます。正のオフセットでは左に、負のオフセットでは右にずれます。
意味は 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と呼ばれていました。
Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。
This function supports M coordinates.
SELECT ST_AsText(the_geom) FROM ( SELECT ST_LocateBetween( '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( '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)