返回給定的兩個Geometry對象的豪斯多夫距離。

語法

float  ST_HausdorffDistance(geometry  g1 , geometry  g2);
float  ST_HausdorffDistance(geometry  g1 , geometry  g2 , float  densifyFrac);

參數

參數名稱 描述
g1 第一個Geometry對象。
g2 第二個Geometry對象。
densifyFrac 當指定參數densifyFrac時候,每一個分段會被分割成距離相等的更小分段,而所有分段的總距離最接近給出的大分段總距離。

描述

  • 該函數當前的實現只支持離散位置的點,并且不限制點的數量。
  • 注意該函數實現的算法不等同于標準的豪斯多夫距離。然而對于一個很大的Geometry對象集合來說,這是一個很接近的結果。
  • 該函數一個重要的適用對象是LineString,這些Geometry對象必須相互之間基本平行,長度基本相等。對于LineString的相似性度量來說很有用。

示例

默認調用:
SELECT st_hausdorffdistance('LINESTRING (1 0,2 0)'::geometry, 'LINESTRING (-1 0,0 0)'::geometry);
 st_hausdorffdistance
----------------------
                    2
(1 row)