ST_AddMeasure — ラインに沿った M 値を補間します。
geometry ST_AddMeasure(geometry geom_mline, float8 measure_start, float8 measure_end);
開始点と終了点の間で線形補間した M 値を持つ派生ジオメトリーを返します。ジオメトリーが M 値を持たない場合には M 値が追加されます。ジオメトリーが M 値を持つ場合には新値に置き換えられます。LINESTRING と MULTILINESTRING だけに対応しています。
Availability: 1.5.0
この関数は3次元に対応し、Z値を削除しません。
SELECT ST_AddMeasure( 'LINESTRING(1 0,2 0,4 0)', 1, 4) As ewelev;
LINESTRING M (1 0 1,2 0 2,4 0 4)
SELECT ST_AddMeasure( 'LINESTRING(1 0 4,2 0 4,4 0 4)', 10, 40) As ewelev;
LINESTRING ZM (1 0 4 10,2 0 4 20,4 0 4 40)
SELECT ST_AddMeasure( 'LINESTRINGM(1 0 4, 2 0 4, 4 0 4)', 10, 40) As ewelev;
LINESTRING M (1 0 10,2 0 20,4 0 40)
SELECT ST_AddMeasure( 'MULTILINESTRINGM((1 0 4, 2 0 4, 4 0 4),(1 0 4, 2 0 4, 4 0 4))', 10, 70) As ewelev;
MULTILINESTRING M ((1 0 10,2 0 20,4 0 40),(1 0 40,2 0 50,4 0 70))