如何开发一个地图导航系统

您所在的位置:网站首页 不不兔儿歌教案反思 如何开发一个地图导航系统

如何开发一个地图导航系统

2023-11-16 09:38| 来源: 网络整理| 查看: 265

入职新公司以来的第一项任务就是参与原有导航系统的重构。原有的导航系统基本上就是在高德地图API的基础上做了一次封装,现在希望能慢慢建立自己的导航系统。

一般来说,导航系统可分为以下部分:

1、地理基础数据。包括地图、天气数据、交通数据、行政规划数据等。国外来看的话,地图数据较为开放。国内的话,地图数据的保密性比较高。一般具有测绘资质的公司才有资格进行地图测绘,拥有地图数据。获取地理基础数据的通道就是通过这些公司,例如高德、百度等。或者有些有钱的直接购买地图数据,但是这样一来地图更新的难度就比较大了。另外一方面,可以通过开源地图的方式获取地理数据,通过OSM(Open Street Map)等平台可以下载数据,但是这些数据在精度的和实时性上是没有办法保证的。(数据下载地址: http://download.geofabrik.de/);

2、底层算法实现。当我们拥有地图数据的时候,就要考虑如何通过相关的算法实现例如:最短时间、最短距离、最低成本等功能。这些都可看做为导航系统的基础功能。说道最短理解算法,不得不提到的是迪杰斯特拉算法,可以算法最短路径算法鼻祖一般的存在。但是由于其本身的效率问题,在工业应该中往往不会直接使用迪杰斯特拉算法,而是对算法进行改进。目前应用比较多的有:A*算法,CH(Contraction Hierarchies)算法,以及由微软硅谷研究院三名工程师提出的Crp(customizable route planning) 算法,这个算法目前被应用在Bing地图中。

3、业务系统实现。有了地理基础数据,并且实现了算法之后,你就可以结合实际的业务需求,真正开始导航系统的开发。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3