1. 引言
在导航地图中,准确显示道路名称是一项重要任务,它使用户能够轻松理解和遵循导航指引,更快速、便捷地到达目的地。主要使用角度有如下几方面:
(1) 显示:在导航地图中,道路名通常以文字形式渲染在道路线上或其附近,以便用户能够轻松辨认。在导航模式下,道路名称通常会与行车线路的注记相结合,以指示用户当前位置和需要行驶的道路。这样用户就可以通过道路名称和注记来确认自己的行驶方向。
(2) 引导:高速公路、快速道路和主要城市道路等这些道路在导航和交通中扮演着重要角色,它们的名称更容易被用户识别和记忆。
(3) 索引:导航地图会根据用户输入的目的地,显示沿途道路的名称,以帮助用户选择正确路径。道路名称通常会伴随着导航指示,让用户知道应该沿哪条道路行驶。
因此,导航地图提供清晰、准确的道路名称标注非常关键,以确保用户的导航体验更加顺畅和可靠。
本文旨在研究一种导航地图中道路名称融合的方法,通过分析现有融合方法,从技术流程及融合匹配方法上提出改进措施,基于本文提出的融合流程及方法可以提升导航地图中道路名融合的工效与品质。
2. 现有道路名融合方法研究
现今电子地图产品种类繁多,为了提升道路名称现势性及多样化,需应用数据融合方式对多种地图产品信息匹配,以达到数据融合目的。数据融合过程中数据量大、标准不一致、命名方式等问题给数据融合造成了困难,对于大量数据人工融合效率低下,判断过程繁琐导致正确率下降。
道路名称要实现自动融合,目前存在以下几个方面的难点,导致道路名称在自动融合时无法直接进行对比来判断一致性。
2.1. 标准差异
由于海量地理信息数据不同数据源之间存在不同的标准及数据模型,对于同一地区同一条道路的名称数据会存在多数据格式、多数据结构、多种不同数据源的命名方式等问题。对于这种同一要素同一属性的不一致性造成了数据存储的重复与冗余。有些数据将道路名称与公路编号作为一个属性记录,例如:唐延路|G210;有些数据既是某一段道路名称又是一座桥名称,例如:广阳路|5号桥。
2.2. 命名差异
对于同一道路名称由于当地文化和语言习惯,对道路名称读音本地化,使得道路名称和大众认知读音不同,导致名称音同字不同或字同音不同等情况[1],这些差异将导致数据自动融合时判断难度加大。
2.3. 类型词差异
中文道路名称存储时均是由专名 + 通名的形式表达,道路名称类型词使用习惯也不同,采用**路、**街、**巷、**道、**大道、**环岛、**转盘等等[2],这些类型词的相似性会导致数据融合不完全,产生冗余信息。
3. 道路名融合方法改进研究
为实现将同一范围同一要素的不同数据源道路名称的自动化融合匹配,减少人工判读工作量,同时提升数据融合的正确率,本文对道路名融合方法进行了融合方法的研究,从技术流程、几何匹配、名称判断等多角度改进解决道路名称融合的方法。
道路名融合自动化是指利用不同数据源的导航地图数据中的道路名称信息,将道路名信息整合、融合到同一导航数据中。主要用于改善导航系统中的道路名称准确性、完整性和一致性,提高用户在导航过程中的体验和准确性。
3.1. 融合改进的关键理论
道路名称融合的关键是对不同数据源的道路进行空间匹配,采用隐马尔可夫模型(HMM),主要通过将道路网络建模为状态序列,以利用传感器数据进行有效的匹配。以下是如何使用HMM进行道路之间的空间匹配的具体步骤:
(1) 模型构建
状态定义:每个状态代表道路网络中的一个特定道路段或节点。
观测定义:观测值来自于待融合的数据源中的坐标位置信息。
转移概率:通过空间索引查找附近的道路,观测坐标到道路的投影位置即为实际位置,通过分布图得到绝对距离差分布指数来计算。
观测概率:定义给定状态下观测到某个数据的概率,表明车辆状态与传感器数据的匹配程度。
(2) 数据准备
收集待融合数据及多源参考数据,包括道路基本信息及道路名称信息。对数据进行预处理,以消除异常值。
(3) 模型训练
使用Baum-Welch算法对HMM进行训练,估计状态转移概率和观测概率,以提高模型的准确性。
(4) 状态推断
维特比算法:在给定的观测序列中,使用维特比算法推断出最可能的状态序列。
(5) 匹配结果优化
对推断的状态序列进行后处理,例如平滑处理,以提高匹配的稳定性和准确性。
3.2. 融合改进的关键步骤
整体方法改进主要从技术流程以及融合相似度计算两方面进行研究,流程主要涉及数据收集、数据清洗、道路名提取、道路名拆分、通名拆分替换、道路名转拼音、多源数据几何匹配、相似度计算、道路名融合几个关键步骤。
3.2.1. 数据收集
首先需要收集导航地图数据和其他待融合数据源,确保数据的完整性和准确性,检查数据源是否存在名称乱码、几何异常等无效信息。
3.2.2. 数据清洗
针对收集到的数据信息进行清洗和预处理,统一数据格式,对道路名字段进行映射,规范字段命名。同时去除重复、错误或不完整的信息,保证数据的质量[3]。
3.2.3. 道路名提取
分别提取不同数据源中道路名称字段中有效名称数据,并区分各源名称数据的唯一编码,为后续名称融合对比做数据准备。
3.2.4. 道路名拆分
通过数据分析确认各个符号在各数据源中的作用,将各数据源名称中同一要素多名称数据存储时的特殊符号统一拆分处理。将各数据源道路名分别拆分存储,将公路编号名称以及桥名、隧道名、广域名、详细名拆分为多条道路名,记录为同一道路ID。
3.2.5. 通名拆分替换
通名用来界定类别,而专名用来区分和特指,例如:唐延路,专名是唐延,通名是路。道路名通名有街、巷、路、道、线等类型,且类型名均位于名称末位。为了避免因类型名称不一致但相近导致的融合判断错误[4],因此对不同类型的道路通名进行归一化处理,将同类型的通名按照表1通名替换表,制作统一。拆分时将道路名称中末位符合下表中通名列的名称进行拆分替换为表1中归一化名称。
Table 1. Common name substitution table
表1. 通名替换表
类型 |
通名 |
通名归一化 |
公路类 |
路 |
路 |
公路 |
大道 |
线 |
国道 |
省道 |
县道 |
乡道 |
村道 |
小路 |
小巷 |
巷 |
…… |
桥类 |
桥 |
桥 |
大桥 |
立交桥 |
跨线桥 |
立交 |
…… |
隧道类 |
隧道 |
隧 |
下穿 |
…… |
按照此步骤将各个名称拆分为专名 + 通名归一化的形式后再进行名称一致性的对比分析,提高自动化对比的正确率。
举例说明道路名称拆分后如表2。
Table 2. Name splitting example table
表2. 名称拆分示例表
道路名称 |
专名 |
通名 |
通名归一化 |
西安绕城高速公路 |
西安绕城高速 |
公路 |
路 |
107国道 |
107 |
国道 |
路 |
桃河大桥 |
桃河 |
大桥 |
桥 |
乌海线 |
乌海 |
线 |
路 |
北马家巷 |
北马家 |
巷 |
路 |
游方头桥 |
游方头 |
桥 |
桥 |
新港大道 |
新港 |
大道 |
桥 |
蒙山隧道 |
蒙山 |
隧道 |
隧 |
3.2.6. 道路名转拼音
提取不同源之间ID一致的道路名专名进行对比,对比时对于中文道路名进行转拼音对比。
由于各数据来源不一致,或语言类型不一致,中文名称由于经过翻译可能会导致道路名称出现音同字不同现象,例如:杜尼安路、都尼安路,转拼音后均为Du Ni An Lu,即可判断为名称一致。对于同一名称存在数字、汉字写法不同,例如:107路、一零七路,转拼音后均为Yi Ling Qi Lu,即可判断为名称一致。针对此问题,本步骤将对所有中文名称进行转拼音处理,后续环节相似度计算采用转换后的拼音名称进行对比计算。
3.2.7. 多源数据几何匹配
道路名融合过程中对于多源数据匹配,精确判断道路的相等关系是融合实现的关键技术。采用隐式马尔科夫模型实现多源数据的融合匹配。多源数据制作时由于其各自的基准不一致,导致数据精度及形状也参差不齐。模型中的状态并不明确,增加观测状态的概念,将待融合的数据源中的坐标位置定位观测状态,其坐标落在待融合数据中的坐标位置为隐藏状态。
为解决匹配问题,还需要建模观测概率和转移概率。针对某个待观测的位置,通过空间索引查找附近的道路,观测坐标到道路的投影位置即为实际位置。转移概率则根据不同时间观测带的距离和实际点的距离差来计算,通过分布图得到绝对距离差分布指数。
基于隐式马尔科夫模型的道路匹配算法,能够得到多源数据的几何匹配关系,具体包括精确包含关系、模糊包含关系、模糊被包含关系、精确部分包含关系、模糊包含关系以及模糊被包含关系,从而建立多源数据之间路网的一对一、一对多、多对一的关系,解决道路名融合时的几何匹配问题。
3.2.8. 相似度计算
利用Jaccard相似度(杰卡德相似度)来计算名称之间相似度,它是一个用于衡量两个集合相似程度的度量标准,定义如下:给定两个集合S、T,两个集合的Jaccard相似度SIM (S, T)为:
SIM (S, T) = |S∩T|/|S∪T|
集合的相似度等于两个集合交集的大小除以两个集合并集的大小,集合相似度的取值在[0, 1]区间。
将上一步道路名称拼音字段作为对比对象,采用以上公式两两比较计算相似度,并将计算结果存储在对应相似度属性中[5]。名称相似度示例如表3。
Table 3. Name splitting example table
表3. 名称拆分示例表
名称1 |
拼音1 |
名称2 |
拼音2 |
相似度 |
大车家巷 |
Da Che Jia Xiang |
车家巷 |
Che Jia Xiang |
84.62% |
续表
唐城东路 |
Tang Cheng Dong Lu |
唐成东路 |
Tang Cheng Dong Lu |
100% |
甜水井街 |
Tian Shui Jing Jie |
天水井街 |
Tian Shui Jing Jie |
100% |
3.2.9. 道路名融合
道路名融合时使用自动融合工具,首先按照项目需求及数据分析结果人工可以对相似度值进行手动设置,以便提升自动融合的准确性。例如:人工设置相似度80%以上作为匹配较高数据进行道路名自动去重融合。融合程序自动对满足人工指定的相似度的数据自动融合,对于名称完全不一致数据作为增量,增加一条道路名记录,完成这两部分自动处理后,程序再对名称不完全匹配部分筛选出需进行人工干预融合。至此达到道路名称融合的目的,并且经过此步骤提升了融合正确性,减少名称冗余存储。
道路名自动融合流程大致如图1。
Figure 1. Road name automatic fusion flow chart
图1. 道路名自动融合流程图
基于道路名称融合方式的研究可以有效地解决数据融合困难,解决多语言环境下的道路名称信息展示和使用问题提升用户体验和导航效果,使得道路名称在不同语言系统中更具通用性和可理解性。这种基于多源数据的名称融合方式对数据多元化展示,数据分析等工作有较大的帮助。
4. 道路名融合方法改进验证
道路名融合方法的改进验证主要从融合效率及融合正确率两方面验证,目的在于证实融合方式的改进意义。验证方式通过人工及工具检查相结合的方式,同时统计不同方式道路名融合的效率,对比融合前后的数据变化。
(1) 使用工具检查融合后的道路名称连贯性、正确性,检查列表见表4。
Table 4. Checklist
表4. 检查列表
序号 |
检查内容 |
检查原则 |
1 |
非法字符检查 |
检查道路名称中是否存在非法字符,如特殊符号 |
2 |
连通性检查 |
对包含同一道路名称的道路进行穿串,若同一名称中间存在物理不连通时报错。 |
3 |
一致性检查 |
检查同一道路名称在同一行政区划下是否存在名称一致等级不一致。 |
4 |
高等级道路无名称检查 |
检查省级以上道路是否缺失名称,若缺失,检查其他多源数据是否存在可以补充的道路名称 |
(2) 人工检查融合名称的正确性。
差分名称融合前后的道路数据,抽样检查补充道路名称的正确性。如下图:红色箭头所指道路名原始为空,高亮黄色为其他数据源中道路名为“木塔寺路”,按照道路名匹配流程,可以给原数据补充增加“木塔寺路”道路名称信息,见图2。
Figure 2. Road name fusion example
图2. 道路名融合样例图
选取一块50平方公里的样区数据,如图3。同时使用原始方式与本文研究融合方式进行对比,从融合效率角度验证可行性。
Figure 3. Road name fusion sample area map
图3. 道路名融合样区图
融合效率验证结果如表5。
Table 5. Efficiency comparison record table
表5. 效率对比记录表
道路等级 |
道路名融合数量 |
原始方式用时(h) |
改进方式用时(h) |
1 |
3 |
1 |
0.1 |
2 |
1 |
1 |
0.1 |
3 |
7 |
2 |
0.1 |
4 |
32 |
3 |
0.2 |
5 |
40 |
3 |
0.2 |
6 |
56 |
5 |
0.3 |
7 |
109 |
8 |
0.6 |
基于工具检查及人工核实的方式分区域抽样验证融合方法,通过实例证明基于本文研究的融合方法的正确性与可行性,对于生产运用方面提供了一定的研究价值。
5. 结语
本文在生产实践的基础上,探讨出一种导航地图中道路名称融合改进方式。主要解决因格式不一致、命名规范不一致等导致的名称融合难度增大问题,同时减少大部分人工判读工作量,通过自动化几何匹配与名称判断实现自动化融合。目的是将多源数据道路名称通过转换及对比分析等过程,从而实现多源数据的道路名自动融合,过程中结合人工干预处理从而提升融合效果,大大节约了传统的人工逐条生产成本,提升数据融合正确性通过基于导航图的道路名融合技术,可以提升导航系统的精度和用户体验,使用户能够更准确、便捷地使用导航功能。