Postgresql使用ST_removePoint更新多边形几何

Sat*_*rma 6 postgresql postgis

我有一个名为table的表geofences,它在名为的列中存储Polygon类型的几何geometry.我通过从现有几何中只删除一个点来更新多边形.为此,我使用了查询:

 UPDATE gfe_geofences
   SET geometry = ST_RemovePoint(geometry, ST_NPoints(ST_GeomFromText(
                     'POINT(23.1446787840563 96.002746420167)', 0) ) - 1)
   WHERE is_active = true
     AND ST_IsClosed(the_geom) = true;
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:

错误:lwline_deserialize:尝试反序列化一个实际上是无效类型的行

你能帮我更新几何形状吗?

提前致谢.

sov*_*emp 1

ST_RemovePoint 仅适用于线串(请参阅http://postgis.refractions.net/docs/ST_RemovePoint.html。我会做什么,使用 ST_Boundary 获取多边形的边界,对其调用 ST_RemovePoint,然后使用 ST_MakePolygon 构造一个新的多边形。