ST_SetEndM — Sets the M coordinate of the last point of a LineString, CircularLineString, or NURBSCurve.
geometry ST_SetEndM(geometry geom, float8 m);
Returns a copy of the input LINESTRING, CIRCULARLINESTRING, or NURBSCURVE geometry with the M coordinate of the last point set to the specified value. If the input geometry does not have an M dimension, it will be added. Returns NULL if the input is not a LINESTRING, CIRCULARLINESTRING, or NURBSCURVE.
このメソッドは曲線ストリングと曲線に対応しています。
Set end M value of a LineString
SELECT ST_AsText(ST_SetEndM('LINESTRING M(0 0 10, 1 1 20, 2 0 30)'::geometry, 999));
st_astext
------------------------
LINESTRING M (0 0 10,1 1 20,2 0 999)
Add M dimension and set end M value
SELECT ST_AsText(ST_SetEndM('LINESTRING(0 0, 1 1, 2 0)'::geometry, 75));
st_astext
------------------------
LINESTRING M (0 0 0,1 1 0,2 0 75)
Set end M value of a CircularString
SELECT ST_AsText(ST_SetEndM('CIRCULARSTRING M(0 0 5, 1 1 10, 2 0 15)'::geometry, 88));
st_astext
------------------------
CIRCULARSTRING M (0 0 5,1 1 10,2 0 88)
Set end M value of a NURBSCurve
SELECT ST_AsText(ST_SetEndM('NURBSCURVE M(2, (0 0 100, 1 1 200, 2 0 300))'::geometry, 999));
st_astext
------------------------
NURBSCURVE M (2,(0 0 100,1 1 200,2 0 999))