6

我有一个名为的表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;

但这给了我错误:

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

你能帮我更新几何吗?

提前致谢。

4

1 回答 1

1

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

于 2012-09-20T19:10:28.070 回答