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