2,地图数据分析-地图数据转换成导航引擎数据
地图数据转换
地图数据转换是指从地图提供商的数据转换到导航软件所需要的数据。导航引擎主要需要三个方面的数据:
1,为了计算路径需要地图网络数据 2,地图需要显示,所以需要各种地理元素的数据 3,为了查询需要转换成查询所需要的数据
下面详细来说。
1,地图网络数据
1.1 地图边界
地图边界往往是按照行政区来划分。比如国家、省、市、县等。通常在制作地图过程中,每个行政区之间会由不同的人员去采集去画图,所以在实际的处理中需要通过几何计算消除边界之间的重复以及误差。
1.2 路网
在路径运算中是对路进行计算,所以需要把所有的路连接起来,成为路网。在实际的导航中是把地图边界内的路形成一张网格,我们称为mesh。这里面也需要考虑路之间重复,边界之间的路连通等问题。
1.3路的属性
实际的导航功能中,对路网的使用不仅仅是路径运算。比如会涉及到路径中是否有交警摄像头、路口放大图、收费站、是否为高速公路等信息,如果有实时交通信息的话,还需要考虑路是否拥堵等问题。
这些都构成了在路网计算中需要考虑的问题。
2,地图显示数据
2.1 地图的实体元素
地图几何数据可以划分为点、线、面,对应的实体就可以划分为不同的层级。大概可以分为:行政区图(边界),路网图(用于显示),地形图(3d),河流,绿地,建筑物(现在导航中很多建筑都渲染为3d),公园,铁路,兴趣点等等。
2.2 地图的放大缩小
地图放大缩小需要把地图数据分为不同的级别,不同的级别显示不同的地图元素。
3,地图查询数据
3.1 点的查询
点的查询常常用于兴趣点(POI)。需要根据点的不同属性进行分类,合理的设计数据结构。比如兴趣点可以分为咖啡店、餐馆、4s店、警察局、公园等等。
点的查询还可以直接用经纬度去查询。
3.2 线的查询
往往用于路的查询,比如查询某一条路。