我有一个包含数百万个职位的MYSQL表,结构如下:
id latitude longitude
1240451 6.893 79.85412
1240450 6.932 79.85005
1240448 7.082 79.89186
1240449 6.932 79.86133
我有另一张表记录了起始和结束位置的旅程,结构如下:
id jrny_startlat jrny_startllong jrny_endlat jrny_endlong
17 6.81462565 79.88666117 6.80900081 79.91052210
基本上,我必须通过比较位置表来使用旅程开始纬度/经度和旅程结束纬度/经度来找到可能的路径。
答案 0 :(得分:0)
在这里查看 - How does Google Maps and Nokia Maps generate routes from point to point - 或在维基百科页面http://en.wikipedia.org/wiki/Pathfinding上,它描述了众所周知的算法。然后,您可能想要研究A *(A-star)算法,或者(如果您将通过同一组数据解决许多路线)查看收缩层次结构:http://en.wikipedia.org/wiki/Contraction_hierarchies