Name

ST_AddMeasure — ラインに沿ったM値を補間します。

Synopsis

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_AsText(ST_AddMeasure(
    ST_GeomFromEWKT('LINESTRING(1 0, 2 0, 4 0)'),
    1,
    4)) As ewelev;
LINESTRING M (1 0 1,2 0 2,4 0 4)
SELECT ST_AsText(ST_AddMeasure(
    ST_GeomFromEWKT('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_AsText(ST_AddMeasure(
    ST_GeomFromEWKT('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_AsText(ST_AddMeasure(
    ST_GeomFromEWKT('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))