Name

ST_MaximumInscribedCircle — Beräknar den största cirkeln inom en geometri.

Synopsis

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

Beskrivning

Hittar den största cirkeln som ingår i en (multi)polygon, eller som inte överlappar några linjer och punkter. Returnerar en post med fält:

  • center - cirkelns mittpunkt

  • nearest - en punkt på geometrin som ligger närmast centrum

  • radie - cirkelns radie

För polygonala indata skrivs cirkeln in i begränsningsringarna, med de inre ringarna som gränser. För linjära och punktformade indata skrivs cirkeln in i indatats konvexa skrov, med indatans linjer och punkter som ytterligare gränser.

Tillgänglighet: 3.1.0.

Kräver GEOS >= 3.9.0.

Exempel

Maximal inskriven cirkel i en polygon. Centrum, närmaste punkt och radie returneras.

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)

Maximal inskriven cirkel för en multi-linestrings. Centrum, närmaste punkt och radie returneras.