Name

ST_MinimumBoundingCircle — Retourne le plus petit cercle polygonal qui contient une géométrie.

Synopsis

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

Description

Retourne le plus petit cercle polygonal qui contient une géométrie.

[Note]

Le cercle de délimitation est approximé par un polygone avec une valeur par défaut de 48 segments par quart de cercle. Le polygone étant une approximation du cercle de délimitation minimal, certains points de la géométrie d'entrée peuvent ne pas être contenus dans le polygone. L'approximation peut être améliorée en augmentant le nombre de segments. Pour les applications où une approximation ne convient pas, on peut utiliser ST_MinimumBoundingRadius.

A utiliser avec ST_Collect pour obtenir le cercle minimal de délimitation d'un ensemble de géométries.

Pour calculer deux points situés sur le cercle minimum (le "diamètre maximum"), utilisez ST_LongestLine.

Le rapport de la surface d'un polygone divisée par la surface de son cercle circonscrit minimal est appelé Score de compacité de Reock.

Effectué par le module GEOS.

Disponibilité : 1.4.0

Exemples

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

Cercle minimal de délimitation d'un point et d'une ligne de démarcation. Utilisation de 8 segments pour approximer un quart de cercle

SELECT ST_AsText(ST_MinimumBoundingCircle(
        ST_Collect(
            ST_GeomFromText('LINESTRING(55 75,125 150)'),
                ST_Point(20, 80)), 8
                )) As wktmbc;
wktmbc
-----------
POLYGON((135.59714732062 115,134.384753327498 102.690357210921,130.79416296937 90.8537670908995,124.963360620072 79.9451031602111,117.116420743937 70.3835792560632,107.554896839789 62.5366393799277,96.6462329091006 56.70583703063,84.8096427890789 53.115246672502,72.5000000000001 51.9028526793802,60.1903572109213 53.1152466725019,48.3537670908996 56.7058370306299,37.4451031602112 62.5366393799276,27.8835792560632 70.383579256063,20.0366393799278 79.9451031602109,14.20583703063 90.8537670908993,10.615246672502 102.690357210921,9.40285267938019 115,10.6152466725019 127.309642789079,14.2058370306299 139.1462329091,20.0366393799275 150.054896839789,27.883579256063 159.616420743937,
37.4451031602108 167.463360620072,48.3537670908992 173.29416296937,60.190357210921 176.884753327498,
72.4999999999998 178.09714732062,84.8096427890786 176.884753327498,96.6462329091003 173.29416296937,107.554896839789 167.463360620072,
117.116420743937 159.616420743937,124.963360620072 150.054896839789,130.79416296937 139.146232909101,134.384753327498 127.309642789079,135.59714732062 115))
                

Voir aussi

ST_Collect, ST_MinimumBoundingRadius, ST_LargestEmptyCircle, ST_LongestLine