ST_AddPoint — ラインストリングに対して指定した<position>(0はじまり)の前にポイントを追加します.
geometry ST_AddPoint(geometry linestring, geometry point);
geometry ST_AddPoint(geometry linestring, geometry point, integer position);
ラインストリングに対して指定した<position>(0はじまり)の前にポイントを追加します.第三引数に-1を指定して末尾に追加できます.
初出バージョン: 1.1.0
この関数は三次元をサポートします.Zインデクスを削除しません.
--閉じてないラインストリングについて,
--それぞれに対して末尾に始点を追加して
--テーブル内の全てのラインストリングが閉じていることを保障
UPDATE sometable
SET the_geom = ST_AddPoint(the_geom, ST_StartPoint(the_geom))
FROM sometable
WHERE ST_IsClosed(the_geom) = false;
--三次元ラインストリングにポイントを追加
SELECT ST_AsEWKT(ST_AddPoint(ST_GeomFromEWKT('LINESTRING(0 0 1, 1 1 1)'), ST_MakePoint(1, 2, 3)));
--結果
st_asewkt
----------
LINESTRING(0 0 1,1 1 1,1 2 3)