ST_HausdorffDistance

返回给定的两个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)