ST_GeometricMedian — Gibt den geometrischen Median eines Mehrfachpunktes zurück.
geometry ST_GeometricMedian (
geometry geom, float8 tolerance = NULL, int max_iter = 10000, boolean fail_if_not_converged = false)
;
Berechnet den ungefähren geometrischen Median einer MultiPoint-Geometrie unter Verwendung des Weiszfeld-Algorithmus. Der geometrische Median ist der Punkt, der die Summe der Abstände zu den Eingabepunkten minimiert. Er liefert ein Zentralitätsmaß, das weniger empfindlich auf Ausreißerpunkte reagiert als der Schwerpunkt (Center of Mass).
Der Algorithmus iteriert, bis die Abstandsänderung zwischen aufeinanderfolgenden Iterationen kleiner ist als der angegebene tolerance
Parameter. Wenn diese Bedingung nach max_iterations
Iterationen nicht erfüllt ist, erzeugt die Funktion einen Fehler und wird beendet, es sei denn, fail_if_not_converged
ist auf false
(die Voreinstellung) gesetzt.
Wenn das Argument tolerance
nicht angegeben wird, wird der Toleranzwert auf der Grundlage der Ausdehnung der Eingabegeometrie berechnet.
Falls vorhanden, werden die Werte der Eingabepunkte M als deren relative Gewichte interpretiert.
Verfügbarkeit: 2.3.0
Erweiterung: 2.5.0 Unterstützung für M zur Gewichtung nach Punkten.
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.
Diese Funktion unterstützt M-Koordinaten.
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)