ST_LargestEmptyCircle — 计算不与几何图形重叠的最大圆。
(geometry, geometry, double precision) ST_LargestEmptyCircle(
geometry geom, double precision tolerance=0.0, geometry boundary=POINT EMPTY)
;
找到不与一组点和线障碍物重叠的最大圆。 (多边形几何图形可以作为障碍物包含在内,但仅使用它们的边界线。)圆的中心被限制位于多边形边界内,默认情况下,多边形边界是输入几何图形的凸包。 圆心是边界内部距离障碍物最远的点。 圆本身由中心点和位于确定圆半径的障碍物上的最近点提供。
使用迭代算法将圆心确定为由距离容差指定的给定精度。 如果未指定精度距离,则使用合理的默认值。
返回包含字段的记录:
center
-圆的中心点
nearest
-几何上最接近中心的点
radius
-圆的半径
要查找多边形内部最大的空圆,请参见ST_MaximumInscribedCircle。
可用性:3.4.0。
需要GEOS >= 3.9.0。
SELECT radius, center, nearest FROM ST_LargestEmptyCircle( 'MULTILINESTRING ( (10 100, 60 180, 130 150, 190 160), (20 50, 70 70, 90 20, 110 40), (160 30, 100 100, 180 100))');
SELECT radius, center, nearest FROM ST_LargestEmptyCircle( ST_Collect( 'MULTIPOINT ((70 50), (60 130), (130 150), (80 90))'::geometry, 'POLYGON ((90 190, 10 100, 60 10, 190 40, 120 100, 190 180, 90 190))'::geometry), 0, 'POLYGON ((90 190, 10 100, 60 10, 190 40, 120 100, 190 180, 90 190))'::geometry );