使用以下技术确定最接近用户当前位置的航点的最有效方法是什么:
我意识到我可以计算当前位置和所有存储的航点之间的成对距离,但是可能有一种方法可以优化它,可能是为了将来的查询?
PS。我在全市范围内这样做,所以平坦的距离就足够了。
答案 0 :(得分:0)
就个人而言,我会遵循这条路线:
使用查询获取当前位置周围某个边界框内的所有路点。一个简单的不等式查询可以做到这一点:
如果找不到航点,请放大边界框。如果有太多,缩小它。重复1点。
当您获得合理数量的航点时,只需计算到每个点的距离并使用最近的航点。您可以使用多种近似值来避免使用完整的地理距离计算:http://en.wikipedia.org/wiki/Geographical_distance