ST_GeometricMedian — Renvoie la médiane géométrique d'un MultiPoint.
geometry ST_GeometricMedian (
geometry geom, float8 tolerance = NULL, int max_iter = 10000, boolean fail_if_not_converged = false)
;
Calcule la médiane géométrique approximative d'une géométrie MultiPoint à l'aide de l'algorithme de Weiszfeld. La médiane géométrique est le point qui minimise la somme des distances aux points d'entrée. Elle fournit une mesure de centralité moins sensible aux points aberrants que le centroïde (centre de masse).
L'algorithme itère jusqu'à ce que la variation de la distance entre les itérations successives soit inférieure au paramètre tolerance
fourni. Si cette condition n'est pas remplie après max_iterations
itérations, la fonction produit une erreur et se termine, à moins que fail_fif_not_converged
ne soit fixé à false
(par défaut).
Si l'argument tolerance
n'est pas fourni, la valeur de la tolérance est calculée sur la base de l'étendue de la géométrie d'entrée.
Si elle est présente, les valeurs M des points d'entrée sont interprétées comme leurs poids relatifs.
Disponibilité : 2.3.0
Amélioré : 2.5.0 Ajout de la prise en charge de M comme poids des points.
Cette fonction prend en charge la 3D et ne supprime pas l'indice z.
Cette fonction prend en charge les coordonnées M.
WITH test AS ( SELECT 'MULTIPOINT((10 10), (10 40), (40 10), (190 190))'::geometry geom) SELECT ST_AsText(ST_Centroid(geom)) centroid, ST_AsText(ST_GeometricMedian(geom)) median FROM test; centroid | median --------------------+---------------------------------------- POINT(62.5 62.5) | POINT(25.01778421249728 25.01778421249728) (1 row)