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-index。
在 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;