根據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)
文檔內容是否對您有幫助?