ST_MinimumBoundingCircle — Returns the smallest circle polygon that contains a geometry.
geometry ST_MinimumBoundingCircle(geometry geomA, integer num_segs_per_qt_circ=48);
Returns the smallest circle polygon that contains a geometry.
|
|
|
Il cerchio di delimitazione è approssimato da un poligono con un valore predefinito di 48 segmenti per quarto di cerchio. Poiché il poligono è un'approssimazione del cerchio limite minimo, alcuni punti della geometria di input potrebbero non essere contenuti nel poligono. L'approssimazione può essere migliorata aumentando il numero di segmenti. Per le applicazioni in cui un'approssimazione non è adatta si può utilizzare ST_MinimumBoundingRadius. |
Si può usare con ST_Collect per ottenere il cerchio minimo di delimitazione di un insieme di geometrie.
Per calcolare due punti che giacciono sulla circonferenza minima (il "diametro massimo") si può usare ST_LongestLine.
Il rapporto tra l'area di un poligono divisa per l'area del suo Circolo Minimo Vincolato è indicato come il punteggio di compattezza Reock.
Eseguito dal modulo GEOS.
Disponibilità: 1.4.0
SELECT d.disease_type,
ST_MinimumBoundingCircle(ST_Collect(d.geom)) As geom
FROM disease_obs As d
GROUP BY d.disease_type;
Cerchio minimo di un punto e di una linea. Utilizzo di 8 segmenti per approssimare un quarto di cerchio
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))
ST_Collect, ST_MinimumBoundingRadius, ST_LargestEmptyCircle, ST_LongestLine