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)