GIS-基于位置的空间信息服务LBS(10)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lling0309/article/details/102741686

其他关键技术

1.道路匹配

定位精度对于LBS而言,不仅决定了应用的准确性,还决定了应用的舒适度。虽然通过移动基站和差分GPS定位技术可以大幅度提高定位精度,但由于多路径效应,环境噪声和接收机内部噪声等对移动目标接收机和基站接收机影响的非对称性,都使得定位的精确性,持续性和可靠性收到不同程度的影响。而且,即使通过某些技术和方法可以使移动目标的定位精度保证在10米以内,但是当电子地图缩放到较大比例尺时,也会出现移动目标偏离行驶的到来而造成视觉混乱,出现定位结果与实际不符的情况

为此,在实际的LBS系统中,特别是在车辆导航方面,通常都会采用道路匹配方法来提高定位的准确性,道路匹配是根据初始定位结果,利用路网数据库,采用适当算法,进行实时处理,将移动目标定位点直接投影到实际道路上。

道路匹配算法主要有网络拓扑算法,曲线拟合算法,相似度算法和模糊逻辑算法等。

网络拓扑算法主要是通过分析各路段之间的拓扑关系,寻找离定位点最近的路段;

曲线拟合算法主要是通过对连续历史定位点建立曲线函数,然后与道路进行拟合,确定位置坐标;

相似度算法通过判断待匹配位置与定位点的相似度,接着对所有待匹配道路的相应匹配位置进行累加计算,将其结果作为待匹配路段与定位轨迹的相似度,最后取相似度最大的道路作为匹配结果

模糊逻辑算法主要是结合模式识别,建立道路匹配模式,利用模糊综合评价模型,最终从多条候选道路作综合评价,从而找到最可能匹配的道路

1)网络拓扑算法

建立路网拓扑关系:

基于网络拓扑算法的道路匹配首先需要建立路网的拓扑关系,在此基础上才能采用相关算法。

路网拓扑关系建立步骤:为了实现移动目标的道路匹配,必须首先建立道路拓扑关系,以利于在定位运算过程中对道路的快速搜索。定义折线的两个端点为节点,除节点外的线段的端点定义为结点,将一条路线与任意其他路线的交叉点也定义为该路线的一个节点。这样,将实际的道路网分解成若干条互不交叉的线段。实际上,除了用于区分道路的路名外,在表述中对结点和节点可以不加区分

                                   

如图所示一个道路网,其中1,2,3......表示道路网每条道路端点的编号,A、B......表示道路的ID号

道路建立拓扑关系的步骤如下:

1)从第一条道路开始,对道路的两个端点从1开始进行顺序编号,建立节点链接表。如表1所示,对单向行驶的道路,方向标志为1;对于双向行驶的道路,方向标志为2

                       

2)依次读取剩下的道路,判断该道路的端点是否编号。如果已编号,取原来节点号;否则,对其节点进行新的编号,并将其加入到节点链接表中

3)对节点链接表的道路起点字段进行排序,排序后的节点链接表如表2所示

                         

4)将道路起点编号相同的节点进行合并,即可得到节点、弧段拓扑关系,排序后的节点链接表如表3所示

                         

5)在计算机中,每条道路是按离散点来存储的,为了加快定位点的搜索速度,每条道路按一定距离将其离散化存储,这样可以减少每次垂线的计算量,提高运算速度。对每条道路的属性表添加了两个端点方向后建立新的属性表,如表4所示

道路匹配算法:

基于网络拓扑关系的道路匹配算法的基本思想是:当车辆行驶在道路上时,以该车辆某时刻定位点为中心,以最大误差范围加上道路路宽做缓冲区半径,则可以在道路中心线图中找到可能匹配的一条或多条待选路径,其中必定有一条道路为车辆行驶的道路

流程为:

1)将移动目标定位坐标转换到地图坐标系中

2)确定移动目标初始位置道路ID号,这个过程可以用来自动消除垂线道路方向的误差分量。对于沿着道路方向的漂移误差,可以参考明显的标志(如道路交叉口,明显建筑物)加以改正

3)根据起始道路ID号,利用表2来确定该道路的起始节点,终止节点的编号和该条道路的空间坐标数据和属性数据

4)定位位置信息到该条道路上最近的点。在计算时采用的判断准则为:min(|x-Xi|+|y-yi|),其中(X,Y)为GPS定位信息,(xi-yi)为道路的坐标点位

5)道路交叉口的特殊处理。如果步骤4)搜索到的点是道路的节点(起始节点或终止节点),说明移动目标已经到达道路交叉口,通过节点和弧段的拓扑关系,根据节点编号找到与该节点相连接的道路,此时根据方位信息,找到道路方位角最接近的道路,则该道路为汽车将要行驶的道路,在该条道路上搜索与GPS信号最接近的定位点,如果步骤4)搜索的不是道路的节点,则重复步骤4)搜索定位点

效果如图所示

                               

任务1:利用百度地图API实现手机定位点的道路匹配

猜你喜欢

转载自blog.csdn.net/lling0309/article/details/102741686