ST_AddPoint — 將一個點加入到 LineString。
geometry ST_AddPoint(
geometry linestring, geometry point)
;
geometry ST_AddPoint(
geometry linestring, geometry point, integer position = -1)
;
在索引 position
(使用從 0 開始的索引) 之前將一個點加入到 LineString。如果省略 position
參數或為 -1,則該點將附加到 LineString 的末尾。
可用性:1.1.0
此函數支援 3D,且不會捨棄 z 索引。
將一個點加入到 3D 線的末尾
SELECT ST_AsEWKT(ST_AddPoint('LINESTRING(0 0 1, 1 1 1)', ST_MakePoint(1, 2, 3))); st_asewkt ---------- LINESTRING(0 0 1,1 1 1,1 2 3)
保證表格中所有線都是封閉的,方法是將每條線的起點加入到線的末尾,僅針對那些未封閉的線。
UPDATE sometable SET geom = ST_AddPoint(geom, ST_StartPoint(geom)) FROM sometable WHERE ST_IsClosed(geom) = false;