名前

ST_SetStartM — LINESTRING, CIRCULARSTRING, NURBSCURVEの最初のポイントのM値を設定します。

概要

geometry ST_SetStartM(geometry geom, float8 m);

説明

LINESTRING, CIRCULARLINESTRING, NURBSCURVEの入力ジオメトリーに対して、最初のポイントに指定したM値を設定した複製を返します。入力ジオメトリーがM値を持っていない場合には、M軸を追加します。 入力ジオメトリーがLINESTRING, CIRCULARLINESTRING, NURBSCURVEでない場合には、NULLを返します。

このメソッドは曲線ストリングと曲線に対応しています。

LINESTRINGの始端のM値を設定します

Code
SELECT ST_SetStartM('LINESTRING M(0 0 10,1 1 20,2 0 30)'::geometry, 100);
出力:
LINESTRING M (0 0 100,1 1 20,2 0 30)
Figure
Geometry figure for visual-st-setstartm-01

M軸を追加して始端にM値を設定します

Code
SELECT ST_SetStartM('LINESTRING(0 0,1 1,2 0)'::geometry, 50);
出力:
LINESTRING M (0 0 50,1 1 0,2 0 0)
Figure
Geometry figure for visual-st-setstartm-02

CIRCULARSTRINGの始端のM値を設定します

Code
SELECT ST_SetStartM('CIRCULARSTRING M(0 0 5,1 1 10,2 0 15)'::geometry, 99);
出力:
CIRCULARSTRING M (0 0 99,1 1 10,2 0 15)
Figure
Geometry figure for visual-st-setstartm-03

NURBSCURVEの始端のM値を設定します

Code
SELECT ST_SetStartM('NURBSCURVE M(2, (0 0 100, 1 1 200, 2 0 300))'::geometry, 500);
出力:
NURBSCURVE M (DEGREE 2,CONTROLPOINTS M (NURBSPOINT(WEIGHTEDPOINT M (0 0 500),WEIGHT 1), NURBSPOINT(WEIGHTEDPOINT M (1 1 200),WEIGHT 1), NURBSPOINT(WEIGHTEDPOINT M (2 0 300),WEIGHT 1)),KNOTS (KNOT(0,3), KNOT(1,3)))
Figure
Geometry figure for visual-st-setstartm-04