2012-02-16 36 views
1

大多數人被限制在每天約5或6個地點(工作,家庭,學校,商店等)。我想通過緩存這些訪問最多的位置中的一些來加速地址顯示。我已經能夠使用谷歌地圖GPS和JSON和Locator.reverseGeocode獲取地址信息。緩存這些信息並快速檢查鄰近度的最佳方式是什麼?我發現this GPS distance calculation example並讓它工作。有沒有更快的方法來檢查接近度?黑莓緩存反向地理編碼地址信息與接近

回答

0

請參閱類似的問題,第一:Optimization of a distance calculation function

有幾件事情,我們可以在距離計算改變來提高性能:

  1. 測量設備的速度和減少或增加相應鄰近測試
  2. 期三角函數計算佔用了大部分的性能,但速度可能會更快。首先使用lookup table method進行粗體距離計算,如果距離小於接近極限+不確定性極限,則使用CORDIC method進行更精確的計算。
  3. 爲Math.PI/180.0和180.0/Math.PI

幾個環節使用常數可能會有所幫助:
非常有用的explanations of CORDIC,尤其是doc from Parallax for dummies
Fast transcendent/trigonometric functions for Java
Cordic.java在Trac系統由Thomas B. Preusser
Cordic.java at seng440 proj
Sin/Cos look-up table source at processing.org by toxi