ST_GeometricMedian

返回给定Geometry对象的几何中位点。

语法

geometry  ST_GeometricMedian (geometry  g , float8  tolerance , int  maxIter , boolean  failIfNotConverged);

参数

参数名称

描述

g

目标Geometry对象。

tolerance

容差。

maxIter

最大迭代次数。

failIfNotConverged

是否在超过迭代次数后依旧没有找到时报错。

描述

  • 该算法将不断迭代,直到对象之间的距离变化小于提供的公差参数为止。如果在maxIter次数之后未满足此条件,则该函数将产生错误并退出,除非failIfNotConverged设置为False。

  • 如果未提供tolerance,则将基于输入对象的范围计算默认tolerance。

  • 如果存在点的M值,则该值将被解释为它们的相对权重。

示例

对比ST_GeometricMedian和ST_Centroid

SELECT ST_AsText(ST_GeometricMedian(geom)) as GeometricMedian, ST_AsText(ST_Centroid(geom)) as Centroid
    from (SELECT 'MULTIPOINT((0 0), (0 1), (1 1), (2 0))'::geometry as geom) as test;
              geometricmedian               |    centroid
--------------------------------------------+-----------------
 POINT(0.665913838138866 0.666097415551148) | POINT(0.75 0.5)
(1 row)
                

12