根據Geometry對象的m值過濾掉其頂點。

語法

geometry  ST_FilterByM(geometry  geom , double precision  min , double precision  max , boolean  returnM);

參數

參數名稱 描述
geom 目標Geometry對象。
min 最小值,默認為null。
max 最大值,默認為null。
returnM 返回M值,默認為false。

描述

  • 返回頂點的m值大于或等于最小值且小于或等于最大值的Geometry對象。

    如果忽略了最大值參數,則僅考慮最小值。

  • 如果生成的Geometry剩余的頂點太少,則將返回一個空的Geometry對象。
  • 在GeometryCollection對象中,沒有足夠點的Geometry對象會被忽略掉。
  • 與ST_FilterByM相比,當沒有足夠的點滿足條件時,ST_SimplifyVW返回的內容有所不同。 ST_SimplifyVW返回具有足夠點的幾何圖形,而ST_FilterByM返回空的Geometry對象。
  • 返回的Geometry對象可能是無效的。
  • 該函數將返回源對象的全部維度,包括Z和M值。

示例

  • 默認調用:
    SELECT ST_AsText(ST_FilterByM('LINESTRINGM(0 0 0,1 1 1,2 2 2,3 3 3)'::geometry,2,4,true));
             st_astext
    ----------------------------
     LINESTRING M (2 2 2,3 3 3)
    (1 row)
                        
  • 無法構成Geometry的情況:
    SELECT ST_AsText(ST_FilterByM('LINESTRINGM(0 0 0,1 1 1,2 2 2,3 3 3)'::geometry,3,4,true));
         st_astext
    --------------------
     LINESTRING M EMPTY
    (1 row)