このトピックでは、ST_GeometricMedian関数について説明します。 この関数は、ジオメトリオブジェクトのジオメトリメディアンを返します。
構文
ジオメトリST_GeometricMedian (ジオメトリg、float8トレランス、int maxIter、ブールfailIfNotConverged);
パラメーター
パラメーター | 説明 |
g | 指定するジオメトリオブジェクト。 |
公差 | 指定する公差。 |
maxIter | 反復の最大数。 |
failIfNotConverged | 最大反復回数に達した後にこの関数がジオメトリオブジェクトの幾何学的中央値を見つけることができない場合にエラーを報告するかどうかを指定します。 |
説明
- この関数は、連続する反復間の距離変化が許容パラメータの値未満になるまで反復を実行する。 反復の最大数に達した後、連続する反復間の距離の変化が許容値パラメーターの値以上のままである場合、この関数はエラーを返し、failIfNotConvergedパラメーターをFalseに設定しない限り終了します。
- 公差パラメーターを指定しない場合、この関数は、指定したジオメトリオブジェクトの範囲に基づいてデフォルトの公差を計算します。
- 指定したジオメトリオブジェクトの点のm座標が使用可能な場合、m座標は点の相対的な重みとして解釈されます。
例
次の例は、ST_GeometricMedian関数とST_Centroid関数の違いを示しています。

テストとして (SELECT 'MULTIPOINT((0 0) 、(0 1) 、(1 1) 、(2 0))'::geometry as geom) から;
geometricmedian | セントロイド
-------------------------------------------- + -----------------
POINT(0.665913838138866 0.666097415551148) | POINT(0.75 0.5)
(1行)

