ST_AddPoint — 向 LineString 添加一个点。
geometry ST_AddPoint(
geometry linestring, geometry point)
;
geometry ST_AddPoint(
geometry linestring, geometry point, integer position = -1)
;
在索引 position
之前向 LineString 添加一个点(使用基于 0 的索引)。如果省略 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;