簡體   English   中英

是表中存儲的項目半徑范圍內的當前位置?

[英]is current location within radius of items stored in table?

我有一個表,每行存儲lon / lat / radius(英里)。 我想弄清楚的是如何只選擇我當前點所在的行。

這與查詢當前位置的給定半徑內的位置相反,而實際上我想查詢當前點所在的位置。

這里的任何幫助將不勝感激。

這很容易成為數學問題。 2點(x1, y1)(x2, y2)之間的距離可以計算如下:

聲明

簡單的畢達哥拉斯。 查詢您的數據庫,第一點是您要查找的點,第二點是您從數據庫中獲得的點,如果上述語句的結果小於半徑,則它在您的范圍內。 (假設所有單位都匹配。你可能想要將緯度/經度差轉換為km /你的半徑是什么單位)

圖形

請注意,如果您希望對良好的地球緯度/經度進行精確的半徑計算,則必須使用比接受的答案中提到的簡單的畢達哥拉斯距離更復雜的函數; 尋找“大圓距離”,例如已經張貼在另一個線程中 ; 然而,為了你的目的,畢達哥拉斯的距離應該足夠接近我猜; 它提供了一個相當不錯的近似值,除非您的緯度/經度位置在極點附近。

而且,為了完整起見,您的問題實際上並不是與“我所在位置的某個半徑范圍內的哪些位置?”問題相反。 - 它完全相同,只是從另一個方向 - 但由於距離計算是對稱的,所以你檢查哪個方向實際上並不重要!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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