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 );
在一組點內的最大空圓形,限制在多邊形內。約束多邊形邊界必須作為障礙物包含,並指定為圓心的約束。