簡體   English   中英

MySQL 點到圓的距離

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM