名称

ST_MaximumInscribedCircle — 计算几何图形内最大的圆。

概要

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

描述

找到一个(多)多边形内最大的圆,或者不与任何线和点重叠的圆。返回一个包含以下字段的记录:

  • center - 圆的中心点

  • nearest - 几何图形上最靠近中心的点

  • radius - 圆的半径

对于多边形输入,圆被内接在边界环内,使用内部环作为边界。对于线性输入和点输入,圆被内接在输入的凸包内,使用输入的线和点作为进一步的边界。

可用性:3.1.0。

需要 GEOS >= 3.9.0。

示例

多边形的最大内接圆。返回中心、最近点和半径。

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)

多线字符串的最大内接圆。返回中心、最近点和半径。

另请参阅

ST_MinimumBoundingRadius, ST_LargestEmptyCircle