名稱

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;