Name

ST_MinimumBoundingCircle — Gibt das kleinste Kreispolygon zurück, das eine Geometrie enthält.

Synopsis

geometry ST_MinimumBoundingCircle(geometry geomA, integer num_segs_per_qt_circ=48);

Beschreibung

Gibt das kleinste Kreispolygon zurück, das eine Geometrie enthält.

[Note]

Der Kreis wird standardmäßig durch ein Polygon mit 48 Segmenten pro Viertelkreis angenähert. Da das Polygon eine Annäherung an den minimalen Umgebungskreis ist, können einige Punkte der Eingabegeometrie nicht in dem Polygon enthalten sein. Die Annäherung kann durch Erhöhung der Anzahl der Segmente mit geringen Einbußen bei der Rechenleistung verbessert werden. Bei Anwendungen wo eine polygonale Annäherung nicht ausreicht, kann ST_MinimumBoundingRadius verwendet werden.

Verwendung mit ST_Collect, um den minimalen Begrenzungskreis einer Reihe von Geometrien zu ermitteln.

Um zwei Punkte zu berechnen, die auf dem minimalen Kreis (dem "maximalen Durchmesser") liegen, verwenden Sie ST_LongestLine.

Das Verhältnis zwischen der Fläche des Polygons und der Fläche ihres kleinstmöglichen Umgebungskreises wird öfter als Roeck Test bezeichnet.

Wird vom GEOS Modul ausgeführt

Verfügbarkeit: 1.4.0

Beispiele

SELECT d.disease_type,
    ST_MinimumBoundingCircle(ST_Collect(d.geom)) As geom
    FROM disease_obs As d
    GROUP BY d.disease_type;

Minimaler Umgebungskreis eines Punktes und eines Linienzuges. Verwendet 8 Segmente um einen Viertelkreis anzunähern.

SELECT ST_AsText(ST_MinimumBoundingCircle(ST_Collect(ST_GeomFromText('LINESTRING(55 75,125 150)'),
                ST_Point(20, 80)), 8
                )) As wktmbc;
POLYGON((72.5 178.4024474346694,84.86920388664029 177.18418718546332,96.76306620464646 173.57622349601382,107.72451249529237 167.71720838753708,117.33230052487836 159.83230052487838,125.21720838753708 150.22451249529237,131.07622349601382 139.26306620464646,134.68418718546332 127.3692038866403,135.9024474346694 115,134.68418718546332 102.63079611335971,131.07622349601382 90.73693379535354,125.21720838753708 79.77548750470766,117.33230052487838 70.16769947512164,107.72451249529237 62.282791612462916,96.76306620464648 56.42377650398619,84.86920388664032 52.815812814536685,72.50000000000001 51.59755256533059,60.13079611335969 52.815812814536685,48.236933795353536 56.42377650398618,37.27548750470765 62.28279161246291,27.667699475121637 70.16769947512162,19.782791612462923 79.77548750470763,13.923776503986204 90.7369337953535,10.315812814536692 102.63079611335968,9.097552565330588 114.99999999999999,10.315812814536685 127.3692038866403,13.923776503986197 139.2630662046465,19.78279161246291 150.22451249529234,27.667699475121623 159.83230052487835,37.275487504707634 167.71720838753708,48.236933795353494 173.5762234960138,60.13079611335967 177.18418718546332,72.49999999999999 178.4024474346694))