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
);
一组点内的最大空圆,限制在多边形内。约束多边形边界必须作为障碍物包括在内,并指定为圆中心的约束。