6

geofencesという名前の列に Polygon タイプのジオメトリを格納するという名前のテーブルがありますgeometry。既存のジオメトリから 1 つのポイントのみを削除して、Polygon を更新します。このために、クエリを使用しました:

 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 に答える