LineString の指定された 0 基準インデックス位置にあるポイントを、指定したポイントで置き換えます。
構文
geometry ST_SetPoint(geometry linestring, integer zerobasedposition, geometry point);パラメーター
| パラメーター | 説明 |
|---|---|
linestring | ポイントを置き換えたい LineString ジオメトリです。 |
zerobasedposition | 置き換えるポイントのインデックスです。インデックスは 0 から始まります。負のインデックスは末尾から数えられ、-1 は最後のポイント、-2 は最後から 2 番目のポイントを表します。 |
point | 置き換え用のポイントです。 |
注意事項
ST_SetPoint は Z 座標を保持し、3D ジオメトリをサポートします。
ST_SetPoint は、頂点が移動した際に結合関係を維持するためのトリガー内で使用すると便利です。
例
最初のポイント(インデックス 0)を置き換え
SELECT ST_AsText(
ST_SetPoint(
ST_GeomFromText('LINESTRING(2 1,1 1)'),
0,
ST_MakePoint(0,1)
)
);出力:
st_astext
---------------------
LINESTRING(0 1,1 1)
(1 row)