如何在 Postgis 中更新复杂几何的特定点

How to update a particular point of a complex geometry in Postgis

我有一个 table,其中包含复杂的几何图形,例如 LINESTRINGPOLYGONS 等。复杂的意思是任何不仅仅是单个 POINT 的几何图形。此外,我知道 Postgis 中有一个很好的函数可以将复杂的几何图形转储为点:

SELECT (ST_DumpPoints(geom)).geom as dp FROM layer;

此查询 returns 行数与所有几何图形中的点数一样多。但是,如果我想更新一个特定的点,而不触及整个几何体,该怎么办。可能吗?如果我能虚拟地替换 ST_DumpPoints 返回的一个点,然后收集所有点并执行相反的过程,那就太好了。

我相信是 ST_SetPoint 您正在寻找的功能。