[英]MySQL Distance Between Point and Circle
我的目標是計算點和圓之間的最小距離(由點和半徑定義)。 這個問題也定義了點和圓之間的最短距離。
在圖像中也被描述為“D”:
首先,我研究了兩點之間的距離,並讓這個查詢按預期工作。
select st_distance_sphere(
POINT(-27.3449,33.7501),
POINT( 22.6761,45.7442)
)
這讓我返回了這兩點之間的距離。 但我想計算點和圓之間的距離。 我的參數是:
point1_lat, point1_long, point2_lat, point2_long, point2_radius (in meters)
在 MySQL 中是否有一個神奇的 function 或者我應該使用數學方法進行手動計算。
每個意見都很重要。 謝謝
我認為一些簡單的事情
GREATEST(st_distance_sphere(circle_center, point)) - circle_radius), 0)
應該管用。
這將計算圓心與點之間的距離,圓與點之間的最小距離小於 circle_radius。 然后我們確保它是非負的(如果該點在圓內)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.