日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ST_ConcaveHull

返回包含所有輸入Geometry對象的凹包。

語法

geometry  ST_ConcaveHull(geometry  geomA , float  targetPercent , boolean  allowHoles);

參數(shù)

參數(shù)名稱

描述

geomA

目標Geometry對象。

targetPercent

在不斷地進行包收縮結束前,所能得到的凹包面積的占凸包面積的比例值。

allowHoles

是否允許帶孔的polygon對象,默認為false。

描述

  • 返回的Geometry對象的維度不會高于單例polygon對象。

  • 如果輸入對象是Point類型、LineString類型或者GeometryCollection 類型對象,使用函數(shù)ST_Collect,如果你的處理對象是Polygon類型對象,使用函數(shù)ST_Union,因為對于無效的Geometry對象,ST_ConcaveHull會失敗。

  • 參數(shù)target_percent的值越小,生成凹包的所需要的時間越長,也越可能導致拓撲異常,當然,獲得數(shù)值的精度也越高。一般的操作步驟為:

    • 首先嘗試0.99,通常會非常快,有時候和計算凸包一樣快。一般來說得到的對象占比會比99%小一些。

    • 慢慢的降低該值,直到滿意為止,當然,計算速度也會越來越慢。

  • 為了減小計算結果的數(shù)值精度,可以在使用函數(shù)ST_ConcaveHull后再使用函數(shù)ST_SimplifyPreserveTopology或ST_SnapToGrid 。函數(shù)ST_SnapToGrid稍微快一些,但有可能會導致無效的對象,函數(shù)ST_SimplifyPreserveTopology總是會驗證輸入Geometry對象的有效性,但會慢一些。

  • 該函數(shù)通常用于Multi和GeometryCollection類型對象。雖然該函數(shù)不是聚合函數(shù),但你可以與函數(shù)ST_Collect 或 ST_Union 一起使用來獲得一個Point/LineString/Polygon對象集合的凹包,例如ST_ConcaveHull(ST_Collect(somepointfield),0.80)

  • 該函數(shù)計算凹包比計算凸包要慢很多,但是會更好地包圍Geometry對象,在圖像識別領域也很有用。

示例

原始圖形,targetPercent=0.99時的凹包圖形和targetPercent=0.98時的凹包圖形效果對比:

SELECT g,ST_ConcaveHull(g,0.99),ST_ConcaveHull(g,0.98),g from
    (select 'MULTIPOLYGON(((0 0,1 0,1 1,0 1,0 0)),((0 6,6 3,6 6,0 6)))'::geometry as g) as test

123