Name

ST_GeometricMedian — Gibt den geometrischen Median eines Mehrfachpunktes zurück.

Synopsis

geometry ST_GeometricMedian ( geometry geom, float8 tolerance = NULL, int max_iter = 10000, boolean fail_if_not_converged = false);

Beschreibung

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.

Beispiele

Vergleich des geometrischen Medians (rot) und des Schwerpunkts (türkis) eines MultiPoint.

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)
      

Siehe auch

ST_Centroid