名前

ST_GeometricMedian — マルチポイントの幾何学的中央値を返します。

概要

geometry ST_GeometricMedian ( geometry g , float8 tolerance , int max_iter , boolean fail_if_not_converged );

説明

マルチポイントジオメトリの幾何中央値の近似値を、Weiszfeldアルゴリズムを使って計算します。幾何中央値は、重心よりもはみ出しにくい中心性計測です。

このアルゴリズムでは、成功した回次の間の距離の変化が、toleranceパラメータよりも小さくなるまで繰り返します。max_iterations回を超えた場合には、関数はfail_if_not_convergedをFALSEに指定している場合を除いて、エラーを生成して終了します。

tolerance値が渡されていない場合には、デフォルトの許容値は、入力ジオメトリの範囲を基に計算されます。

ポイントのM値は、存在するなら、相対的な重みと解釈されます。

Availability: 2.3.0

Enhanced: 2.5.0 ポイントの重みとしてのM値の対応が追加されました。

This function supports 3d and will not drop the z-index.

This function supports M coordinates.

4点のマルチポイント (黄色の点)から得た重心 (青緑色の点)と幾何学的中央値 (赤色の点)との比較。

WITH test AS (
SELECT 'MULTIPOINT((0 0), (1 1), (2 2), (200 200))'::geometry geom)
SELECT
  ST_AsText(ST_Centroid(geom)) centroid,
  ST_AsText(ST_GeometricMedian(geom)) median
FROM test;
      centroid      |                 median
--------------------+----------------------------------------
 POINT(50.75 50.75) | POINT(1.9761550281255 1.9761550281255)
(1 row)
          

関連情報

ST_Centroid