ST_SetEndM — LINESTRING, CIRCULARSTRING, NURBSCURVEの終端のM値を設定します。
geometry ST_SetEndM(geometry geom, float8 m);
LINESTRING, CIRCULARLINESTRING, NURBSCURVEの入力ジオメトリーに対して、最後のポイントに指定したM値を設定した複製を返します。入力ジオメトリーがM値を持っていない場合には、M軸を追加します。 入力ジオメトリーがLINESTRING, CIRCULARLINESTRING, NURBSCURVEでない場合には、NULLを返します。
このメソッドは曲線ストリングと曲線に対応しています。
LINESTRINGの終端のM値を設定します
SELECT ST_AsText(ST_SetEndM('LINESTRING M(0 0 10, 1 1 20, 2 0 30)'::geometry, 999));
LINESTRING M (0 0 10,1 1 20,2 0 999)
M軸を追加して終端のM値を設定します
SELECT ST_AsText(ST_SetEndM('LINESTRING(0 0, 1 1, 2 0)'::geometry, 75));
LINESTRING M (0 0 0,1 1 0,2 0 75)
CIRCULARSTRINGの終端のM値を設定します
SELECT ST_AsText(ST_SetEndM('CIRCULARSTRING M(0 0 5, 1 1 10, 2 0 15)'::geometry, 88));
CIRCULARSTRING M (0 0 5,1 1 10,2 0 88)
NURBSCURVEの終端のM値を設定します
SELECT ST_AsText(ST_SetEndM('NURBSCURVE M(2, (0 0 100, 1 1 200, 2 0 300))'::geometry, 999));
NURBSCURVE M (DEGREE 2,CONTROLPOINTS M (NURBSPOINT(WEIGHTEDPOINT M (0 0 100),WEIGHT 1),NURBSPOINT(WEIGHTEDPOINT M (1 1 200),WEIGHT 1),NURBSPOINT(WEIGHTEDPOINT M (2 0 999),WEIGHT 1)),KNOTS (KNOT(0,3),KNOT(1,3)))