Name

ST_MaximumInscribedCircle — Calcule le plus grand cercle contenu dans une géométrie.

Synopsis

(geometry, geometry, double precision) ST_MaximumInscribedCircle(geometry geom);

Description

Trouve le plus grand cercle contenu dans un (multi)polygone, ou qui ne chevauche aucune ligne ni aucun point. Renvoie un enregistrement avec des champs :

  • center - point central du cercle

  • nearest - un point de la géométrie le plus proche du centre

  • radius - rayon du cercle

Pour les entrées polygonales, le cercle est inscrit dans les anneaux de délimitation, en utilisant les anneaux internes comme limites. Pour les entrées linéaires et ponctuelles, le cercle est inscrit dans l'enveloppe convexe de l'entrée, en utilisant les lignes et les points de l'entrée comme autres limites.

Disponibilité : 3.1.0.

Nécessite GEOS >= 3.9.0.

Exemples

Cercle inscrit maximal d'un polygone. Le centre, le point le plus proche et le rayon sont renvoyés.

SELECT radius, ST_AsText(center) AS center, ST_AsText(nearest) AS nearest
    FROM ST_MaximumInscribedCircle(
        'POLYGON ((40 180, 110 160, 180 180, 180 120, 140 90, 160 40, 80 10, 70 40, 20 50, 40 180),
        (60 140, 50 90, 90 140, 60 140))');

     radius      |           center           |    nearest
-----------------+----------------------------+---------------
 45.165845650018 | POINT(96.953125 76.328125) | POINT(140 90)

Cercle inscrit maximal d'une multiligne. Le centre, le point le plus proche et le rayon sont renvoyés.