查找最靠近某条路线的前 n 个地方
Find top n places that close to a route
我有很多地方数据(旅游景点)存储在数据库中。每个地方都有坐标信息,例如纬度和经度。当我随机选择一条路线时(例如:从纽约的某个地方到波士顿的某个地方),我怎样才能找到这条路线上最近的 10 个地方?我想这与地理算法有关。我正在尝试找到一种方法来最大程度地减少总计算时间并节省电池 phone 电池。感谢您的任何建议!
一种方法是:
- 将地图视为一个网格,例如 1 公里 x 1 公里的方框
- 绘制路线并查看它进入了哪些网格框。
- 对于每个框,如果您搜索数据库我的 min/max longitude/latidtude 网格框 starts/ends 所在的位置,则在计算成本不高的框中找到 places/landmarks
要显示其中的前 N 个,您可以计算这些地点子集的最短距离,而不是整个数据集。
我有很多地方数据(旅游景点)存储在数据库中。每个地方都有坐标信息,例如纬度和经度。当我随机选择一条路线时(例如:从纽约的某个地方到波士顿的某个地方),我怎样才能找到这条路线上最近的 10 个地方?我想这与地理算法有关。我正在尝试找到一种方法来最大程度地减少总计算时间并节省电池 phone 电池。感谢您的任何建议!
一种方法是:
- 将地图视为一个网格,例如 1 公里 x 1 公里的方框
- 绘制路线并查看它进入了哪些网格框。
- 对于每个框,如果您搜索数据库我的 min/max longitude/latidtude 网格框 starts/ends 所在的位置,则在计算成本不高的框中找到 places/landmarks
要显示其中的前 N 个,您可以计算这些地点子集的最短距离,而不是整个数据集。