使用Visvalingam-Whyatt算法設置Geometry對象中每個頂點的有效面積。有效面積存儲為頂點的M值。

語法

geometry  ST_SetEffectiveArea(geometry  geomA , float  threshold , integer  setArea);

參數

參數名稱 描述
geomA 目標Geometry對象。
threshold 容差,默認為0。如果設置,將只返回面積大于等于容差的頂點。
setArea 默認為1。

描述

  • 指定容差后,此功能可用于服務器端簡化。
  • 不設置容差,可以使用它來快速簡化圖形。
  • 該函數實際上只支持(Multi)Line、(Multi)Polygon和MultiPoint類型對象,但是你可以安全地對任何Geometry對象使用該函數。
  • 由于簡化操作是逐個對象進行的,因此您還可以將GeometryCollection應用于該函數。
  • 輸出的Geometry可能會丟失拓撲關系,也可能是無效的Geometry對象。
  • 輸出的Geometry對象將丟失原始的M值。
  • 輸出的Geometry對象可能會失去其簡單性。
  • 該函數支持3D對象,并且3D維度將影響結果。

示例

默認調用:
SELECT ST_AsText(ST_SetEffectiveArea('LINESTRING(0 0,1 1,2 2 )'::geometry));
                      st_astext
------------------------------------------------------
 LINESTRING M (0 0 3.40282e+38,1 1 0,2 2 3.40282e+38)
(1 row)