簡體   English   中英

匹配特定 XY 半徑內的所有位置(坐標 lat,lng)

[英]Match all places (coordinates lat,lng) within a certain XY radius

我有一個包含經緯度的地點數據庫。 是否有任何庫或 API 可以讓您匹配特定點周圍的所有位置?

例如,假設我想在數據庫中查找坐標在原點坐標 52.5200° N, 13.4050° E 的 15,000m 半徑內的所有結果。

有沒有現成的解決方案?

謝謝!

根據您打算如何搜索數據庫,答案可能會有所不同。 如果您打算使用 SQL,您可以按照此處所述進行操作:

Select Id, Postcode, Lat, Lon,
       acos(sin(:lat)*sin(radians(Lat)) + cos(:lat)*cos(radians(Lat))*cos(radians(Lon)-:lon)) * :R As D
From MyTable
Where acos(sin(:lat)*sin(radians(Lat)) + cos(:lat)*cos(radians(Lat))*cos(radians(Lon)-:lon)) * :R < :rad

要從數據庫中選擇距離給定緯度/經度點一定距離內的點,在選擇圈內,您可以使用該查詢,其中rad是您的半徑,在您的示例中為 15000m。

暫無
暫無

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

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