请教高手java做汽车导航系统思路

来源:百度知道 编辑:UC知道 时间:2024/07/01 02:15:29
本人java新手,想锻炼一下!想做一个汽车的导航系统(一个小城市的导航系统就行了),思路如下(不知道正确否):
每个路口有描点,用于遍历算法找出最佳路线,最佳路线优先级最高的是路程最短(其他的最佳路线就视情况而定,最起码就提供几种最佳路线)!现在的问题是这种思路合理吗?不和理的话请指证,合理的话要运用到哪几种算法或者是哪几种编程思想?

需要描点数据:
-------------
数据表:address
字段:
id name text
编号 地名 备注
如:
1 天府广场
2 火车南站
3 火车北站
4 磨子桥
5 新会展中心
------------
数据表:round
字段:
id beginId endId length direction name
编号 起始点 终止点 距离(km) 方向(0 90 180 270) 路名

如:
1 1 2 50 180 人民南路(1)
2 2 1 50 0 人民南路(2)
3 1 3 30 0 人民北路
4 2 4 15 30 科华路
5 2 5 20 180 天府大道(1)
6 5 2 20 0 天府大道(2)
7 4 3 45 0 红星路
-----------------
查询时:如果输入:
起点:新会展中心 终点:火车北站
1.查询他们的ID:新会展中心=5 火车北站=3
查询数据表round的beginId=5并且方向在0-90和270-0之间
得到路径1个:
A:5->2 天府大道(2) 20
查询Begin=2并且方向在0-90和270-0之间
得到路径2个:
A:2->1 人民南路(2) 50
B:2->4 科华路 15
查询BeginId为1 或者 4 并且方向在0-90和270-0之间
A:1->3 人民北路 30 [结束]
B:4->3 红星路 45 [结束]

总结下来:
5->2->1->3 =100km
5->2->4->3 =80km
-----

这世界变化太快了。。。新手要做地图系统。。。。
你知道遍历算法有多少种?哪种更适合做地图系统