曲率约束的gnss浮动车地图匹配方法及装置制造方法

文档序号:6233377阅读:200来源:国知局
曲率约束的gnss浮动车地图匹配方法及装置制造方法
【专利摘要】本发明公开了一种曲率约束的GNSS浮动车地图匹配方法及装置。本发明方法通过计算GNSS轨迹点序列中两个相邻轨迹点之间的方位角,估算出真实轨迹在两个轨迹点之间的曲率积分值,根据此曲率积分值与此两点相对应的候选路径的曲率积分值作比较约束匹配过程,在道路网中得到含此约束的具有最大相似度的匹配结果。相比于现有浮动车地图匹配方法中采用的匹配特征,本发明方法采用曲率积分值可以较好地刻画浮动车轨迹曲线弯曲程度,能够根据GNSS浮动车两个轨迹点之间的累积弯曲程度,在道路网络中搜索出以该特征值具有最大相似作为约束条件的最佳匹配结果,在采用了这种曲率的约束条件后可以提高GNSS浮动车轨迹数据的地图匹配正确率,提高匹配效率。
【专利说明】曲率约束的GNSS淳动车地图匹配方法及装置

【技术领域】
[0001] 本发明属于GNSS导航定位和智能交通领域,具体涉及一种曲率约束的GNSS浮动 车地图匹配方法、以及一种曲率约束的GNSS浮动车地图匹配装置。

【背景技术】
[0002] 当前智能交通领域中,GNSS浮动车已成为一种交通、出行信息采集的重要手 段。随着互联网大数据时代的到来,面向交通的地理信息服务(Geographic Information Services)需求也明显增强,关于交通、出行等信息也是其所供应地理信息数据的重要组成 之一。而浮动车地图匹配方法则是实现交通及出行等信息数据挖掘的关键技术。
[0003] 目前,城市道路交通部门通过在浮动车上配置GNSS (如GPS、GL0NASS、北斗二代等 卫星导航系统)定位设备获得浮动车的地理坐标位置,而这些坐标位置数据在时间序列上 形成GNSS轨迹数据。由于GNSS定位的误差及电子地图数据中道路数据的误差,导致这样 通过GNSS定位设备得到的浮动车轨迹数据并不一定是定位在道路网络上的。另一方面,由 于交通部门用来做浮动车的车辆有很多(比如出租车,公交车等),如果按通常的GNSS-秒 定一次位的频率,浮动车GNSS数据量将会是巨大的,因而浮动车的GNSS定位数据的采样间 隔相对较长一般为40-100秒,导致浮动车的GNSS轨迹数据并不是一个真实的浮动车行驶 轨迹。所谓地图匹配就是通过GNSS轨迹数据所包含的位置信息,将GNSS轨迹点逐一匹配 到浮动车辆所在的道路路段上,将GNSS轨迹数据恢复为浮动车在道路网络中的真实行驶 路径。
[0004] 目前浮动车地图匹配方法有很多种,大多数都是通过位置、速度、方向等信息以几 何距离、角度作为度量特征,在单个轨迹点匹配时依靠轨迹点到路段的距离特征来度量候 选路段的匹配可能性,在前后轨迹点关联匹配时,主要依靠前后点之间的距离特征来度量 前后轨迹点的关联路段对之间的匹配可能性。目前的匹配方法所用的特征并不能完全利用 已有的位置信息来反映浮动车轨迹的一些整体几何特征,并未利用能够反映轨迹曲线的累 积弯曲程度的特征来实施匹配。
[0005] 平面曲线曲率为曲线上一点处的切向量变化率。平面曲线上两点之间的曲率积分 为该曲线在此两点之间的切向量的累积变化量,这种累积变化量是曲线在两点之间曲线段 的一种几何特征,表征了该曲线段的弯曲程度。真实的浮动车轨迹实际上是地图平面上的 一条曲线,而GNSS轨迹数据是对该曲线经过GNSS采样得到的。本发明主要是根据轨迹曲 线的曲率积分值来约束GNSS轨迹数据在道路网络中的地图匹配。


【发明内容】

[0006] 针对现有技术中存在的上述技术问题,本发明提出了一种曲率约束的GNSS浮动 车地图匹配方法,通过估计真实GNSS浮动车轨迹曲线上在相邻两GNSS轨迹点处的曲率积 分值,并计算此两轨迹点对应于道路网络中可能的候选关联匹配路径的曲率积分值,以此 两种曲率积分值之间的相似程度为约束条件,来实现GNSS浮动车轨迹数据的地图匹配。
[0007] 为了实现上述目的,本发明采用如下技术方案:
[0008] 曲率约束的GNSS浮动车地图匹配方法,包括如下步骤:
[0009] S1、为每辆浮动车构建一个按照该浮动车轨迹点时间顺序排列的GNSS轨迹点序 列,估计真实GNSS浮动车轨迹曲线在相邻两个GNSS轨迹点处的曲率积分值;
[0010] S2、计算相邻两个GNSS轨迹点对应于道路网络中的候选关联匹配路径的曲率积 分值;
[0011] S3、计算S1和S2中得到的两种曲率积分值之间的匹配度;
[0012] S4、根据S3中得到的每个匹配度,在所有候选路段中计算出路网中与GNSS轨迹对 应的最优匹配路径。
[0013] 进一步,上述步骤S1中,曲率积分值的计算包括如下两个步骤:
[0014] S11、计算相邻轨迹点连接线段的方位角:
[0015] 定义GNSS轨迹点序列为Ρ[0]、Ρ[1]···Ρ[η],相邻轨迹点分别为P[i]和P[i+1], P[i]与 P[i+1]之间的连接线段为 P[i]P[i+l],P[i]P[i+l]的方位角为Φ,ΛΧ = P[i+l]. x-P[i]· X,Ay = P[i+1]· y-P[i]· y ;其中,1 彡 i 彡 n-1 ;
[0016] 如果 Δ x 彡 0,则q>=arctg(AyZAx):如果 Δ x〈〇,则φ=2 π -arclg(Ay/Ax);
[0017] 通过SI 1得到相邻轨迹点连接线段的n-1个方位角;
[0018] S12、估算相邻轨迹点之间的真实GNSS浮动车轨迹曲线的曲率积分值:
[0019] 将P[i_l]到P[i]的线段视为轨迹曲线在P[i]处的切向量,将P[i+1]到P[i+2] 的线段视为轨迹曲线在p[i+l]处的切向量;
[0020] 根据S11得到的线段P[i-l]p[i]的方位角φ?和线段P[i+l]P[i+2]的方位角 φ2,计算Δφ=φ2-φ1;如果Δφ取值在(-ji,ji ]之间,则曲率积分值为Δφ;如果Δφ取值小 于-π,则曲率积分值为Δφ+2 π ;如果Δφ取值大于π,则曲率积分值为Δφ-2 π。
[0021] 进一步,上述步骤S2中,曲率积分值的计算包括如下步骤:
[0022] 道路网络数据包括道路网络的弧段和节点数据,弧段数据中包含道路弧段的属性 数据、几何形状点数据、起始节点和终止节点信息,节点数据中包含与该节点连接的弧段信 息;
[0023] S21、对道路网络数据建立格网索引
[0024] 计算道路网络数据的最小边界矩形R,将矩形R的长边分成k段,短边分成1段,则 矩形R分割成k*l个矩形单元;道路网络数据按照划分好的矩形单元存放,将道路网络的弧 段数据和节点数据分边存放到其所在的矩形单元中,矩形单元边界相交的弧段或者节点在 边界所属的矩形单元中存放;
[0025] S22、遍历道路网络中的所有道路弧段,计算每条道路弧段上从起始端点到终止端 点之间的曲率积分值;
[0026] S23、采用di jkstra算法,计算道路网络中任意两个节点的最短路径。
[0027] 进一步,上述步骤S22中,曲率积分值的计算过程如下:
[0028] 假设一条道路弧段由形状点序列R[0]、R[1]…R[n]组成,其中,R[0]为道路弧段 的起始端点,即道路弧段的关联起始节点,R[n]为道路弧段的终止端点,即道路弧段的关联 终止节点,定义R[i-l]、R[i]、R[i+l]为形状点序列中的点,其中,1彡i彡n-1 ;
[0029] S221、计算相邻形状点R[i]、R[i+1]所组成线段R[i]R[i+l]的方位角q>[i]、以及 R[i_l]、R[i]所组成线段R[i_l]R[i]的方位角
[0030] S222、计算 Atp[i]=tp[i]-cp[i-l]
[0031] 如果A(p[i]取值在(-π,Ji ]之间,则Δφ[?]值不变;如果Δφ[?]取值小于-Ji,则 Δφ[Γ|=Δφ+2 ji ;如果 Δφ|1]取值大于 ji,则 Δφ[Γ|=Δφ-2π;
[0032] S223、从i = 1开始遍历至i = η-1,将所有求得的Δφ[0值累加,累加得到的结果 即为该道路弧段的曲率积分值。
[0033] 进一步,上述步骤S3中,匹配度的计算包括单点匹配度的计算和关联匹配度的计 算;
[0034] S31、单点匹配度的计算
[0035] S311、计算轨迹点的单点特征
[0036] 判断轨迹点所属的矩形单元,计算与该矩形单元具有8邻域相邻的8个矩形单元, 计算轨迹点到此9个矩形单元内的所有弧段之间距离 :
[0037] 假设弧段a由Pnt[0]、Pnt[l]…Pnt[n]个形状点组成,Pnt[i]Pnt[i+l]为其中一 对相邻形状点形成的线段,则求轨迹点到该线段的垂足;
[0038] 如果垂足在线段内,则轨迹点到该线段距离为轨迹点到该垂足P的直线距离,如 果垂足不在线段内,则距离为轨迹点到离垂足较近的一侧端点距离,并将该端点设为垂足 P ;
[0039] 遍历弧段a中所有相邻形状点形成的线段,并比较轨迹点到线段的距离,得到距 离值最小的一个相邻形状点线段,并将其垂足作为轨迹点到此弧段的垂足,轨迹点到此垂 足的距离,即为轨迹点到此弧段的距离;
[0040] S312、计算轨迹点到弧段的垂足沿弧段到其终止节点的距离L
[0041] 假设S311中得到的轨迹点到弧段a的垂足P在线段Pnt[i]Pnt[i+l]上,计算P 到Pnt[i+1]的距离L1,然后再累加从Pnt[i+1]到Pnt[n]之间所有相邻形状点线段的长度 L2,最后将L的值赋为L1+L2 ;
[0042] S313、根据一个预定距离值d0,将步骤S311中得到的轨迹点到弧段距离小于d0的 道路弧段放入一个备选弧集S中;弧段的属性中包含轨迹点到此弧段的距离、垂足和垂足 到弧段终点的距离;
[0043] S314、单点匹配度Ml的计算
[0044] 根据轨迹点到弧段的距离值da用线性分段函数计算备选弧段集S中所有弧段a 的Ml值,
[0045] 当 0 < da〈10 时,Ml = 5-0. l*da ;
[0046] 当 10 彡 da〈35 时,Ml = 3· 8-0. 12*da ;
[0047] 当 35 彡 da〈50 时,Ml = 4· 7-0. 07*da ;
[0048] 当 50 彡 da 彡 100 时,Ml = 2-0. 02*da ;
[0049] 对于轨迹点到弧段的距离值da大于100的弧段不予考虑;
[0050] S32、关联匹配度的计算
[0051] S321、计算前后相邻轨迹点之间的关联特征
[0052] 根据前后两轨迹点的位置坐标计算两点之间直线距离dl ;根据步骤S1中的结果 得到前后两轨迹点之间的轨迹曲线曲率积分值cl ;
[0053] S322、根据S313得到前后两个轨迹点的备选路段集S[i]、S[i+l]中的每个候选路 段对a[i]和a[i+l]之间计算出一对候选弧段a[i]和a[i+l]之间的最短路径,其中,a[i] 为S[i]中候选弧段,a[i+l]为S[i+1]中候选弧段:
[0054] S3221、得到a[i]的终止节点Nb和a[i+l]的起始节点Ne,在道路数据处理器中计 算Nb到Ne之间最短路径及其长度Lsp ;
[0055] S3222、根据单点特征匹配器中结果,得到前一轨迹点弧段a[i]上的垂足到a[i] 终止节点的距离L[i],以及后一轨迹点在弧段a[i+l]上的垂足到a[i+l]终止节点的距离 Ui+Ι];假设弧段a[i+l]的长度为La[i+1],则从前一轨迹点候选弧段a[i]到后一轨迹点 候选弧段 a[i+l]之间距i^Lsp 重新设为 Lsp+L[i]+La[i+l]_L[i+l];
[0056] S323、根据S3221中计算的最短路径,计算最短路径上的所有弧段的曲率积分值, 将这些曲率积分值相累加即可得到c2 ;
[0057] S324、候选路段对的关联匹配度M2的计算
[0058] S3241、路径的长度关联匹配度M21
[0059] 前后两GNSS轨迹点的匹配候选弧段之间的最短路径长度Lsp、以及之间直线距离 dl,计算两者之差的绝对值|Lsp-dl |代入公式5-0. 01*1. 3|Lsp_dl1来计算M21 ;
[0060] S3242、路径的曲率关联匹配度M22
[0061] 根据前后相邻轨迹点的曲率积分估值cl与其对应候选弧段之间最短路径的曲率 积分估值c2,计算两者之差| cl-c2 |代入公式5-0. 01*1. 15|ε1_?|来计算M22 ;
[0062] S3243、根据S3241和S3242计算所得Μ21+Μ22之和作为M2。
[0063] 进一步,上述步骤S4中,在所有候选路段中计算出路网中与GNSS轨迹对应的最优 匹配路径的步骤如下:
[0064] S41、建立有向无环图结构G,按轨迹点的时间顺序,将匹配候选路段作为有向无环 图结构G的顶点,将相邻轨迹点的候选道路弧段之间能够计算最短路径的路段对作为有向 无环图结构G的边,这对候选路段的单点匹配度Ml值之和以及它们之间的关联匹配度M2 的总和作为边的权重;
[0065] S42、在有向无环图结构G中加入一个虚拟起始节点Nv,Nv到第一个轨迹点对应的 候选弧段生成的每个节点再添加一条虚拟边,并设虚拟边权重均为1 ;
[0066] S43、在有向无环图结构G中用拓扑序方法来求出从虚拟节点Nv出发的权重最长 的路径解,从最长路径解中删除该解中起始位置的虚拟节点和虚拟边,则这个最长路径的 顶点对应为每个轨迹点应该匹配的路段,路径的边对应每对相邻轨迹点的匹配路段之间的 最短路径,根据图G中最长路径对应过来在道路网络中的路径,即为具有曲率约束的地图 匹配结果。
[0067] 此外,本发明还提出了一种曲率约束的GNSS浮动车地图匹配装置,通过采用如下 技术方案将曲率积分值这一轨迹的几何特征作为约束条件,形成上述浮动车地图匹配方 法:
[0068] 曲率约束的GNSS浮动车地图匹配装置,包括:
[0069] 匹配控制单元,用于实现对各个功能器件间的数据传输、地图匹配流程的控制;
[0070] 轨迹数据处理器,用于实现对GNSS轨迹数据的存储、读写和曲率积分值的计算;
[0071] 道路数据处理器,用于实现对道路网络数据的存储、读写、曲率积分值和最短路径 计算;
[0072] 单点特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的单点特征匹配;
[0073] 关联特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的关联特征匹配;
[0074] 最佳匹配计算器,用于在单点特征与关联特征的匹配结果基础上实施全局优化计 算,得到最终GNSS轨迹地图匹配结果。
[0075] 进一步,上述轨迹数据处理器,包括轨迹数据控制器、轨迹数据外存储器、内存储 器和曲率计算单元;
[0076] 将从浮动车GNSS设备定位得到的浮动车轨迹点的地理坐标、时刻、车速、车牌信 息保存在轨迹数据外存储器中,在轨迹数据外存储器上根据车牌为每辆浮动车构建一个 按照该浮动车轨迹点时间顺序排列的GNSS轨迹点序列,所有浮动车的GNSS轨迹数据均以 GNSS轨迹点序列的形式存放在轨迹数据外存储器中;轨迹数据控制器将一辆车的GNSS轨 迹点序列从轨迹数据外存储器载入到内存储器中,通过在内存储器中计算相邻轨迹点连接 线段的方位角,估算相邻轨迹点之间的真实GNSS浮动车轨迹曲线的曲率积分值。
[0077] 进一步,上述道路数据处理器,包括道路数据控制器、道路数据外存储器、内存储 器、曲率计算单元和最短路径计算单元;
[0078] 将道路网络数据放入道路数据外存储器中,在道路数据外存储器中对道路网络数 据建立格网索引;道路数据控制器逐条将道路弧段载入内存储器中,遍历道路网络中的所 有道路弧段,计算每条弧段上从起始端点到终止端点之间的曲率积分值;将路网数据载入 内存储器中,采用dijkstra算法实现道路网络中任意两个节点的最短路径计算。
[0079] 本发明如有如下有益效果:
[0080] 本发明通过计算GNSS轨迹点序列中两个相邻轨迹点之间的方位角,估算出真实 轨迹在两个轨迹点之间的曲率积分值,根据此曲率积分值与此两点相对应的候选路径的曲 率积分值作比较约束匹配过程,在道路网中得到含此约束的具有最大相似度的匹配结果。 相比于现有浮动车地图匹配方法中采用的匹配特征,本发明方法采用曲率积分值来较好地 刻画了浮动车轨迹曲线弯曲程度,能够根据GNSS浮动车两个轨迹点之间的累积弯曲程度, 在道路网络中搜索出以该特征值具有最大相似作为约束条件的最佳匹配结果,在采用了这 种曲率的约束条件后可以提高GNSS浮动车轨迹数据的地图匹配正确率,提高匹配效率。

【专利附图】

【附图说明】
[0081] 图1为本发明中曲率约束的GNSS浮动车地图匹配装置的结构示意图;
[0082] 图2为图1中轨迹数据处理器的结构示意图;
[0083] 图3为构建GNSS轨迹点序列的示意图;
[0084] 图4为图1中道路数据处理器的结构示意图;
[0085] 图5为道路数据单元格网示意图;
[0086] 图6为本发明中曲率约束的GNSS浮动车地图匹配方法总体流程图。

【具体实施方式】
[0087] 下面结合附图以及【具体实施方式】对本发明作进一步详细说明:
[0088] 结合图1所示,曲率约束的GNSS浮动车地图匹配装置,包括匹配控制单元、轨迹数 据处理器、道路数据处理器、单点特征匹配器、关联特征匹配器和最佳匹配计算器。以上各 功能器件通过数据总线来交互数据。
[0089] 匹配控制单元,用于实现对各个功能器件间的数据传输、地图匹配方法流程控制 的功能;
[0090] 轨迹数据处理器,用于实现对GNSS轨迹数据的存储、读写和曲率积分计算等功 能;
[0091] 道路数据处理器,用于实现对道路网络数据的存储、读写、曲率计算和路径计算等 功能;
[0092] 单点特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的单点特征匹配;
[0093] 关联特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的关联特征匹配;
[0094] 最佳匹配计算器,在单点特征与关联特征的匹配结果基础上实施全局优化计算, 得到最终GNSS轨迹地图匹配结果。
[0095] 下面具体说明各个功能器件在GNSS浮动车地图匹配过程中的作用:
[0096] 如图6所示,曲率约束的GNSS浮动车地图匹配方法的总体流程如下:
[0097] 1)、在轨迹数据处理器中对GNSS轨迹数据进行轨迹几何特征计算、轨迹存储等预 处理操作;
[0098] 2)、在道路数据处理器中对道路网络数据进行道路弧段几何特征计算、道路格网 索引建立、以及道路网络数据存储等预处理操作;
[0099] 3)、以一辆车为单位按时间顺序遍历所有轨迹点,实施下面两步骤:
[0100] 3. 1)、在单点特征匹配器中对单个轨迹点计算其单点匹配特征,并根据该单点匹 配特征建立该点的候选匹配道路弧段,给每个候选匹配道路弧段一个单点匹配度;
[0101] 3. 2)、在关联特征匹配器中对前后相邻的轨迹点计算它们之间的关联匹配特征, 根据此关联匹配特征计算相应的候选匹配道路弧段对的匹配度;
[0102] 4)、在最佳匹配计算器中综合步骤3中计算的每个匹配度,在所有候选路段中计 算出路网中与GNSS轨迹对应的最优匹配路径;
[0103] 下面描述曲率约束的GNSS浮动车地图匹配装置中各功能模块的具体实施方法。
[0104] 如图2所示,轨迹数据处理器,包括轨迹数据控制器、轨迹数据外存储器、内存储 器和曲率计算单元。
[0105] 轨迹数据处理器按照以下方式对GNSS轨迹数据进行轨迹几何特征计算、轨迹存 储等预处理操作:
[0106] 1)、将从浮动车GNSS设备定位得到的浮动车轨迹点的地理坐标、时刻、车速、车牌 等信息保存在轨迹数据外存储器中,在轨迹数据外存储器上根据车牌为每辆浮动车构建一 个按照该浮动车轨迹点时间顺序排列的GNSS轨迹点序列,如图4所示,所有浮动车的GNSS 轨迹数据均以GNSS轨迹点序列的形式存放在轨迹数据外存储器中;其中,轨迹数据外存储 器可以采用诸如硬盘、SD卡等存储器件;
[0107] 2)、曲率计算单元则实现如下计算功能:
[0108] 轨迹数据控制器将一辆车的轨迹点序列从轨迹数据外存储器载入到内存储器中,
[0109] 2. 1)、计算相邻轨迹点连接线段的方位角:
[0110] 假设GNSS轨迹点序列为Ρ[0]、Ρ[1]···Ρ[η],其中,相邻轨迹点为P[i]、P[i+1], 1彡i彡n-1 ;则对其实施如下计算得到线段P[i]P[i+l]的方位角φ:
[0111] 定义 Δχ = p[i + l]· χ-ρ [i] .X,Ay = p[i + 1]· y-p [i] · y,
[0112] 如果 Δ x 彡 0,则(p=arctg(Ay/Ax),如果 Δ x〈〇,则φ=2 π -arctg(Ay/Ax);
[0113] 通过上述计算得到相邻轨迹点连接线段的n-1个方位角;
[0114] 2. 2)、估算相邻轨迹点之间的真实GNSS浮动车轨迹曲线的曲率积分值:
[0115] 将P[i_l]到P[i]的线段视为轨迹曲线在P[i]处的切向量,将P[i+1]到P[i+2] 的线段视为轨迹曲线在p[i+l]处切向量;
[0116] 根据2. 1)得到的线段P[i-l]P[i]的方位角φ?和线段P[i+l]P[i+2]的方位角 φ2,计算Δφ=φ2-φ1:如果~取值在(-π,Ji ]之间,则曲率积分值为Δφ;如果Δφ取值小 于-π,则曲率积分值为Δφ+2 π ;如果Δφ取值大于π,则曲率积分值为Δφ-2 π ;
[0117] 以上步骤2. 1)和2. 2)均根据需要在一辆车的轨迹点序列中遍历实现。
[0118] 如图3所示,道路数据处理器,包括道路数据控制器、道路数据外存储器、内存储 器、曲率计算单元和最短路径计算单元。
[0119] 道路数据处理器按照以下方式对道路网络数据进行道路弧段几何特征计算、道路 格网索引建立、以及道路网络数据存储等预处理操作:
[0120] 1)、将道路网络数据放入道路数据外存储器中;
[0121] 道路网络数据包括道路网络的弧段和节点数据,弧段数据中包含道路弧段的属性 数据、几何形状点数据、起始节点和终止节点信息,节点数据中包含与该节点连接的弧段信 息;
[0122] 2)、在道路数据外存储器中对道路网络数据建立格网索引:
[0123] 计算道路网络数据的最小边界矩形R,将矩形R的长边分成k段,短边分成1段,则 矩形R分割成k*l个矩形单元;道路网络数据按照划分好的矩形单元存放,将道路网络的弧 段数据和节点数据分边存放到其所在的矩形单元中,矩形单元边界相交的弧段或者节点在 边界所属的矩形单元中存放;
[0124] 其中,上述对于矩形R的分割需满足:分割后的每一段长度均小于100米;
[0125] 3)、遍历道路网络中的所有道路弧段,计算每条弧段上从起始端点到终止端点之 间的曲率积分值,其中,道路数据控制器逐条将道路弧段载入内存储器中;
[0126] 假设一条道路弧段由形状点序列R[0]、R[1]…R[n]组成,其中R[0]为道路弧段的 起始端点,即道路弧段关联起始节点,R[n]为道路弧段的终止端点,即道路弧段关联终止节 点,定义R [i-1 ]、R [i]、R [i+1 ]为形状点序列中的点,则在弧段的形状点序列中遍历实现下 列步骤计算弧段的曲率积分值:
[0127] 3. 1)、计算相邻形状点R[i]、R[i+1]所组成线段R[i]R[i+l]的方位角φ[Π 、以及 R[i-l]、R[i]所组成线段R[i-l]R[i]的方位角Φ[?-1],具体求解方法在上面已述及,此处不 再赘述;
[0128] 3· 2)、计算 Δφ|1]=φ|1]-φ[?-1],
[0129] 如果Δφ[?]取值在(-π,ji ]之间,则Δφ[?]值不变,如果~[i]取值小于-π,则Acp[i] 值更正为Δφ+2 3?,如果Δφ[?]取值大于π,则其值更正为Δφ-2π ;
[0130] 3.3)、从1 = 1开始遍历至1=11-1,将所有求得的4(叩]值累加,得到的结果即为 该道路弧段的曲率积分值;
[0131] 3. 4)、在最短路径计算单元中计算两个节点的最短路径:
[0132] 将路网数据载入内存储器中,采用dijkstra算法实现道路网络中任意两个节点 的最短路径计算,其中搜索使用的优先队列采用配对堆。
[0133] 从轨迹数据处理器中向单点特征匹配器中载入一辆车的GNSS轨迹点序列,逐一 进行单点匹配。如图5所示,以下步骤针对每个轨迹点一一实施:
[0134] 1)、计算轨迹点单点特征:
[0135] 判断轨迹点所属的矩形单元格R0,计算与R0具有8邻域相邻的8个矩形单元,计 算轨迹点到此9个单元格内的所有弧段之间距离:
[0136] 假设弧段a由Pnt[0]、Pnt[l]…Pnt[n]个形状点组成,Pnt[i]Pnt[i+l]为其中一 对相邻形状点形成的线段,则求轨迹点到该线段的垂足,如果垂足在线段内,则轨迹点到该 线段距离为轨迹点到该垂足的直线距离,如果垂足不在线段内,则距离为轨迹点到离垂足 较近的一侧端点距离,并将该端点设为垂足;遍历弧段a中所有相邻形状点形成的线段,并 比较轨迹点到线段的距离,得到距离值最小的一个相邻形状点线段,并将其垂足作为轨迹 点到此弧段的垂足,轨迹点到此垂足的距离,即为轨迹点到此弧段的距离;
[0137] 2)、计算轨迹点到弧段的垂足沿弧段到其终止节点的距离L :
[0138] 假设步骤1)中得到的轨迹点到弧段a的垂足P在线段Pnt[i]Pnt[i+l]上,计算 P到Pnt[i+1]的距离L1,然后再累加从Pnt[i+1]到Pnt[n]之间所有相邻形状点线段的长 度L2,最后将L的值赋为L1+L2 ;
[0139] 3)、根据一个预定距离值d0,将步骤1)中得到的轨迹点到弧段距离小于d0的道路 弧段放入一个备选弧集S中;弧段的属性中包含轨迹点到此弧段的距离、垂足和垂足到弧 段终点的距离;
[0140] 4)、单点匹配度Ml的计算:
[0141] 根据轨迹点到弧段的距离值da用线性分段函数计算备选弧段集S中所有弧段a 的Ml值,
[0142] 当 0 < da〈10 时,Ml = 5-0. l*da ;
[0143] 当 10 彡 da〈35 时,Ml = 3· 8-0. 12*da ;
[0144] 当 35 彡 da〈50 时,Ml = 4· 7-0. 07*da ;
[0145] 当 50 彡 da 彡 100 时,Ml = 2-0. 02*da ;
[0146] 对于距离值da大于100的弧段不予考虑。
[0147] 关联特征匹配器在浮动车轨迹点序列中前后相邻轨迹点间进行关联特征匹配:
[0148] 1)、计算前后相邻轨迹点之间的关联特征:
[0149] 第一种关联特征为:根据前后两轨迹点的位置坐标计算两点之间直线距离dl ;
[0150] 第二种关联特征为:在轨迹数据处理器中根据上面公式的结果,得到前后两轨迹 点之间的轨迹曲线曲率积分值Cl ;
[0151] 2)、根据前后两个轨迹点的备选路段集S[i]、S[i+1]中的每个候选路段,对a[i] 和a[i+l]之间计算出一对候选弧段a[i]和a[i+l]之间的最短路径,其中,a[i]为S[i]中 候选弧段,a[i+l]为S[i+1]中候选弧段:
[0152] 2. 1)、得到a[i]的终止节点Nb和a[i+Ι]的起始节点Ne,在道路数据处理器中计 算Nb到Ne之间最短路径及其长度Lsp ;
[0153] 2. 2)、根据单点特征匹配器中结果,得到前一轨迹点弧段a[i]上的垂足到a[i] 终止节点的距离L[i],以及后一轨迹点在弧段a[i+l]上的垂足到a[i+l]终止节点的距离 Ui+Ι];假设弧段a[i+l]的长度为La[i+1],则从前一轨迹点候选弧段a[i]到后一轨迹点 候选弧段a[i+l]之间距尚Lsp重新设为Lsp+L[i]+La[i+l]_L[i+l];
[0154] 3)、计算候选路段对a[i]和a[i+l]之间的最短路径的曲率积分c2 :
[0155] 在道路网路处理器中,根据2. 1)中计算的最短路径,计算最短路径上的所有弧段 的曲率积分值,将这些曲率积分值相累加即可得到c2 ;
[0156] 4)、候选路段对的关联匹配度M2的计算:
[0157] 4. 1)、路径长度关联匹配度M21
[0158] 前后两GNSS轨迹点的匹配候选弧段之间的最短路径长度Lsp以及它们之间直线 距离dl,计算两者之差的绝对值|Lsp-dl|来计算M21,采用将|Lsp-dl|的值从小到大的映 射为5到0的取值范围的函数来计算即可,比如M21 = 5-0. 01*1. 31^^111 ;
[0159] 4. 2)、路径的曲率关联匹配度M22
[0160] 根据前后相邻轨迹点的曲率积分估值cl与其对应候选弧段之间最短路径的曲率 积分估值c2,计算两者之差|cl-c2|来计算M22,采用将|cl-cl|的值从小到大的映射为5 至IJ 〇的取值范围的函数来计算即可,比如M22 = 5-0. 01*1. 15|eh21 ;
[0161] 4. 3)、根据步骤4. 1)和4. 2)计算所得M21+M22之和作为M2。
[0162] 最佳匹配计算器在所有相邻候选匹配路段对之间的路径组合中搜索出最大相似 度的路径P :
[0163] 1)、建立有向无环图结构G,按轨迹点的时间顺序,将匹配候选路段作为有向无环 图结构G的顶点,将相邻轨迹点的候选道路弧段之间能够计算最短路径的路段对作为有向 无环图结构G的边,这对候选路段的单点匹配度Ml值之和以及它们之间的关联匹配度M2 的总和作为边的权重;
[0164] 2)、在有向无环图结构G中加入一个虚拟起始节点Nv,Nv到第一个轨迹点对应的 候选弧段生成的每个节点再添加一条虚拟边,并设虚拟边权重均为1 ;
[0165] 3)、在有向无环图结构G中用拓扑序方法来求出从虚拟节点Nv出发的权重最长的 路径解,从最长路径解中删除该解中起始位置的虚拟节点和虚拟边,则这个最长路径的顶 点对应为每个轨迹点应该匹配的路段,路径的边对应每对相邻轨迹点的匹配路段之间的最 短路径,根据图G中最长路径对应过来在道路网络中的路径即为具有曲率约束的地图匹配 结果。
[0166] 当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应 当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明 显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
【权利要求】
1. 曲率约束的GNSS浮动车地图匹配方法,其特征在于,包括如下步骤: 51、 为每辆浮动车构建一个按照该浮动车轨迹点时间顺序排列的GNSS轨迹点序列,估 计真实GNSS浮动车轨迹曲线在相邻两个GNSS轨迹点处的曲率积分值; 52、 计算相邻两个GNSS轨迹点对应于道路网络中的候选关联匹配路径的曲率积分值; 53、 计算S1和S2中得到的两种曲率积分值之间的匹配度; 54、 根据S3中得到的每个匹配度,在所有候选路段中计算出路网中与GNSS轨迹对应的 最优匹配路径。
2. 根据权利要求1所述的曲率约束的GNSS浮动车地图匹配方法,其特征在于,所述步 骤S1中,曲率积分值的计算包括如下两个步骤: 511、 计算相邻轨迹点连接线段的方位角: 定义6呢5轨迹点序列为?[0]、?[1]"十[11],相邻轨迹点分别为?[1]和?[1+1],?[1]与 P[i+1]之间的连接线段为 P[i]P[i+l],P[i]P[i+l]的方位角为,Λχ = P[i+l].x_P[i]. X,Ay = p[i + l]· y-p[i]· y ;其中,1 彡 i 彡 n-1 ; 如果 Δ x 彡 0,则fp=arctg(Ay/Ax);如果 Δ x〈〇,则φ=2 π -arctg(Ay/Ax); 通过SI 1得到相邻轨迹点连接线段的η-1个方位角; 512、 估算相邻轨迹点之间的真实GNSS浮动车轨迹曲线的曲率积分值: 将P[i-1]到P[i]的线段视为轨迹曲线在P[i]处的切向量,将P[i+1]到P[i+2]的线 段视为轨迹曲线在P[i+1]处的切向量; 根据S11得到的线段P[i-l]P[i]的方位角φ?和线段P[i+l]P[i+2]的方位角φ2,计 算Δφ=φ2-φ 1;如果~取值在(-ji,Ji ]之间,则曲率积分值为Δφ;如果Δφ取值小于-π,则 曲率积分值为Αφ+2 π ;如果Δφ取值大于π,则曲率积分值为Δφ-2 π。
3. 根据权利要求1所述的曲率约束的GNSS浮动车地图匹配方法,其特征在于,所述步 骤S2中,曲率积分值的计算包括如下步骤: 道路网络数据包括道路网络的弧段和节点数据,弧段数据中包含道路弧段的属性数 据、几何形状点数据、起始节点和终止节点信息,节点数据中包含与该节点连接的弧段信 息; 521、 对道路网络数据建立格网索引 计算道路网络数据的最小边界矩形R,将矩形R的长边分成k段,短边分成1段,则矩形 R分割成k*l个矩形单元;道路网络数据按照划分好的矩形单元存放,将道路网络的弧段数 据和节点数据分边存放到其所在的矩形单元中,矩形单元边界相交的弧段或者节点在边界 所属的矩形单元中存放; 522、 遍历道路网络中的所有道路弧段,计算每条道路弧段上从起始端点到终止端点之 间的曲率积分值; 523、 采用dijkstra算法,计算道路网络中任意两个节点的最短路径。
4. 根据权利要求3所述的曲率约束的GNSS浮动车地图匹配方法,其特征在于,所述步 骤S22中,曲率积分值的计算过程如下: 假设一条道路弧段由形状点序列R[〇]、R[l]…R[n]组成,其中,R[0]为道路弧段的起 始端点,即道路弧段的关联起始节点,R[n]为道路弧段的终止端点,即道路弧段的关联终止 节点,定义R[i-l]、R[i]、R[i+l]为形状点序列中的点,其中,1彡i彡n-1 ; 5221、 计算相邻形状点R[i]、R[i+1]所组成线段R[i]R[i+l]的方位角q>[i]、以及 R[i_l]、R[i]所组成线段R[i_l]R[i]的方位角φΠ -1]; 5222、 计算 Δφ[?]=φ[?]-φΠ -1] 如果Δφ[?]取值在(-ji,Ji ]之间,则Δφ[;Γ1值不变;如果Δ(ΡΗ取值小于-π,则 Δφ[?]=Δφ+2 π ;如果Δφ[?]取值大于 π,则Δφ[?]=Δφ-2 π ; 5223、 从i = 1开始遍历至i = η-1,将所有求得的Δφ[?]值累加,累加得到的结果即为 该道路弧段的曲率积分值。
5.根据权利要求3所述的曲率约束的GNSS浮动车地图匹配方法,其特征在于,所述步 骤S3中,匹配度的计算包括单点匹配度的计算和关联匹配度的计算; 531、 单点匹配度的计算 5311、 计算轨迹点的单点特征 判断轨迹点所属的矩形单元,计算与该矩形单元具有8邻域相邻的8个矩形单元,计算 轨迹点到此9个矩形单元内的所有弧段之间距离: 假设弧段a由Pnt[0]、Pnt[l]…Pnt[n]个形状点组成,Pnt[i]Pnt[i+l]为其中一对相 邻形状点形成的线段,则求轨迹点到该线段的垂足; 如果垂足在线段内,则轨迹点到该线段距离为轨迹点到该垂足P的直线距离,如果垂 足不在线段内,则距离为轨迹点到离垂足较近的一侧端点距离,并将该端点设为垂足P ; 遍历弧段a中所有相邻形状点形成的线段,并比较轨迹点到线段的距离,得到距离值 最小的一个相邻形状点线段,并将其垂足作为轨迹点到此弧段的垂足,轨迹点到此垂足的 距离,即为轨迹点到此弧段的距离; 5312、 计算轨迹点到弧段的垂足沿弧段到其终止节点的距离L 假设S311中得到的轨迹点到弧段a的垂足P在线段Pnt[i]Pnt[i+l]上,计算P到 Pnt[i+1]的距离L1,然后再累加从Pnt[i+1]到Pnt[n]之间所有相邻形状点线段的长度 L2,最后将L的值赋为L1+L2 ; 5313、 根据一个预定距离值dO,将步骤S311中得到的轨迹点到弧段距离小于dO的道路 弧段放入一个备选弧集S中;弧段的属性中包含轨迹点到此弧段的距离、垂足和垂足到弧 段终点的距离; 5314、 单点匹配度Ml的计算 根据轨迹点到弧段的距离值da用线性分段函数计算备选弧段集S中所有弧段a的Ml 值, 当 0 < da〈10 时,Ml = 5-0. l*da ; 当 10 彡 da〈35 时,Ml = 3· 8-0. 12*da ; 当 35 < da〈50 时,Ml = 4· 7-0. 07*da ; 当 50 彡 da 彡 100 时,Ml = 2-0. 02*da ; 对于轨迹点到弧段的距离值da大于100的弧段不予考虑; 532、 关联匹配度的计算 S321、计算前后相邻轨迹点之间的关联特征 根据前后两轨迹点的位置坐标计算两点之间直线距离dl ;根据步骤S1中的结果得到 前后两轨迹点之间的轨迹曲线曲率积分值cl ; 5322、 根据S313得到前后两个轨迹点的备选路段集S[i]、S[i+l]中的每个候选路段对 a[i]和a[i+l]之间计算出一对候选弧段a[i]和a[i+l]之间的最短路径,其中,a[i]为 S[i]中候选弧段,a[i+l]为S[i+1]中候选弧段: 53221、 得到a[i]的终止节点Nb和a[i+l]的起始节点Ne,在道路数据处理器中计算 Nb到Ne之间最短路径及其长度Lsp ; 53222、 根据单点特征匹配器中结果,得到前一轨迹点弧段a[i]上的垂足到a[i]终 止节点的距离L[i],以及后一轨迹点在弧段a[i+Ι]上的垂足到a[i+Ι]终止节点的距离 Ui+Ι];假设弧段a[i+l]的长度为La[i+1],则从前一轨迹点候选弧段a[i]到后一轨迹点 候选弧段a[i+l]之间距尚Lsp重新设为Lsp+L[i]+La[i+l]_L[i+l]; 5323、 根据S3221中计算的最短路径,计算最短路径上的所有弧段的曲率积分值,将这 些曲率积分值相累加即可得到c2 ; 5324、 候选路段对的关联匹配度M2的计算 53241、 路径的长度关联匹配度M21 前后两GNSS轨迹点的匹配候选弧段之间的最短路径长度Lsp、以及之间直线距离dl, 计算两者之差的绝对值|LSp-dl |代入公式5-0. 01*1. 3|Lsp_dl1来计算M21 ; 53242、 路径的曲率关联匹配度M22 根据前后相邻轨迹点的曲率积分估值cl与其对应候选弧段之间最短路径的曲率积分 估值c2,计算两者之差| cl-c2 |代入公式5-0. 01*1. 15|el_e21来计算M22 ; 53243、 根据S3241和S3242计算所得M21+M22之和作为M2。
6. 根据权利要求5所述的曲率约束的GNSS浮动车地图匹配方法,其特征在于,所述步 骤S4中,在所有候选路段中计算出路网中与GNSS轨迹对应的最优匹配路径的步骤如下: 541、 建立有向无环图结构G,按轨迹点的时间顺序,将匹配候选路段作为有向无环图结 构G的顶点,将相邻轨迹点的候选道路弧段之间能够计算最短路径的路段对作为有向无环 图结构G的边,这对候选路段的单点匹配度Ml值之和以及它们之间的关联匹配度M2的总 和作为边的权重; 542、 在有向无环图结构G中加入一个虚拟起始节点Nv,Nv到第一个轨迹点对应的候选 弧段生成的每个节点再添加一条虚拟边,并设虚拟边权重均为1 ; 543、 在有向无环图结构G中用拓扑序方法来求出从虚拟节点Nv出发的权重最长的路 径解,从最长路径解中删除该解中起始位置的虚拟节点和虚拟边,则这个最长路径的顶点 对应为每个轨迹点应该匹配的路段,路径的边对应每对相邻轨迹点的匹配路段之间的最短 路径,根据图G中最长路径对应过来在道路网络中的路径,即为具有曲率约束的地图匹配 结果。
7. 曲率约束的GNSS浮动车地图匹配装置,其特征在于,包括: 匹配控制单元,用于实现对各个功能器件间的数据传输、地图匹配流程的控制; 轨迹数据处理器,用于实现对GNSS轨迹数据的存储、读写和曲率积分值的计算; 道路数据处理器,用于实现对道路网络数据的存储、读写、曲率积分值和最短路径计 算; 单点特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的单点特征匹配; 关联特征匹配器,用于实现GNSS轨迹数据与道路网络数据之间的关联特征匹配; 最佳匹配计算器,用于在单点特征与关联特征的匹配结果基础上实施全局优化计算, 得到最终GNSS轨迹地图匹配结果。
8. 根据权利要求7所述的曲率约束的GNSS浮动车地图匹配装置,其特征在于,所述轨 迹数据处理器,包括轨迹数据控制器、轨迹数据外存储器、内存储器和曲率计算单元; 将从浮动车GNSS设备定位得到的浮动车轨迹点的地理坐标、时刻、车速、车牌信息保 存在轨迹数据外存储器中,在轨迹数据外存储器上根据车牌为每辆浮动车构建一个按照该 浮动车轨迹点时间顺序排列的GNSS轨迹点序列,所有浮动车的GNSS轨迹数据均以GNSS轨 迹点序列的形式存放在轨迹数据外存储器中;轨迹数据控制器将一辆车的GNSS轨迹点序 列从轨迹数据外存储器载入到内存储器中,通过在内存储器中计算相邻轨迹点连接线段的 方位角,估算相邻轨迹点之间的真实GNSS浮动车轨迹曲线的曲率积分值。
9. 根据权利要求7所述的曲率约束的GNSS浮动车地图匹配装置,其特征在于,所述道 路数据处理器,包括道路数据控制器、道路数据外存储器、内存储器、曲率计算单元和最短 路径计算单元; 将道路网络数据放入道路数据外存储器中,在道路数据外存储器中对道路网络数据建 立格网索引;道路数据控制器逐条将道路弧段载入内存储器中,遍历道路网络中的所有道 路弧段,计算每条弧段上从起始端点到终止端点之间的曲率积分值;将路网数据载入内存 储器中,采用dijkstra算法实现道路网络中任意两个节点的最短路径计算。
【文档编号】G01S19/38GK104062671SQ201410320884
【公开日】2014年9月24日 申请日期:2014年7月8日 优先权日:2014年7月8日
【发明者】曾喆, 张彤, 刘善伟, 万剑华 申请人:中国石油大学(华东)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1