請注意,還有其他類似的問題,但1)我不想依賴在線服務,2)我正在尋找一個乾淨的算法解決方案。根據經緯度尋找最近的城市的算法解決方案
我有一個城市及其緯度/經度的數據庫。我正在尋找一種方式,給定任意緯度/經度,找到最近的城市。
解決方案,我能想到的,到目前爲止:
明顯的蠻力解決方案,當然,計算使用great-circle distance公式所有可能的距離。這也需要很長時間,並且是O(n)。
對KD-Tree算法的修改可能會有效,但我對如何修改此算法以非笛卡爾座標工作方式感到茫然,就像lat/lon的情況一樣。如果有幫助,我們可以假設Mercator projection。
使用諸如PostgreSQL之類的地理數據庫。這段時間對我來說不起作用。
任何見解?
Lat-Lon問題是在極點和日期線附近,359.9比0.1更接近0.1!你還必須處理任何城市的大圓圈路線。 – 2011-01-25 18:11:55