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 );