大多数人每天被限制在大约5或6个地点(工作、家庭、学校、商店等)。我想通过缓存这些访问量最大的位置来加快地址显示。我已经能够使用谷歌地图GPS和JSON以及Locator.reverseGeocode获取地址信息。缓存这些信息并快速检查邻近情况的最佳方法是什么?我找到了这个GPS距离计算的例子,并使其工作。有没有更快的方法来检查接近度?
请先看类似的问题:距离计算函数的优化
为了提高性能,我们可以在距离计算中更改以下几点:
- 测量设备速度,并相应地减少或增加接近测试的周期
- 三角计算占据了大部分性能,但它可能做得更快。首先使用查找表方法进行大胆的距离计算,然后如果距离小于接近极限+不确定性极限,则使用CORDIC方法进行更精确的计算
- 使用Math.PI/180.0和180.0/Math.PI的常量
几个可能有用的链接:
CORDIC非常有用的解释,尤其是Parallax的假人文档
Java的快速超越/三角函数
Thomas B.Preusser在Trac的Cordic.java
Cordic.java在seng440项目
通过toxi在processing.org上查找Sin/Cos查找表源