王艳东,魏广泽,刘 波,李小雨
(1.武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079; 2.地球空间信息技术协同创新中心,湖北 武汉 430079;3.东华理工大学测绘工程学院,江西 南昌 330013)
随着遥感卫星技术的不断发展和深度学习技术的日益成熟,从高分辨率遥感影像中提取的道路逐渐成为城市路网获取和更新的主要来源。但是由于高楼、树木等要素的遮挡,提取路网存在路段缺失、拓扑关系错乱等问题。另一方面,以OSM为代表的众源数据因其获取成本低、现势性强等优点成为全球地理信息资源建设的重要数据源。多源数据融合可以将不同数据源的空间数据和属性信息加以结合,形成优势互补,获得信息量更丰富的新的数据集。
目前,大量学者对矢量路网融合进行了相关研究。Hackeloeer等[1]使用迭代分层方法,利用拓扑关系和几何关系逐步细化匹配步骤并进行路网融合,方法在农村地区获得了较好效果。Meng等[2]提出了满足多模态导航要求的德国3种主要矢量路网数据的自动融合方法并用于实际数据生产。Tong等[3]提出了基于优选和逻辑回归的道路匹配融合方法,以上海为例进行了验证。Chehreghan等[4]在多尺度数据集上采用遗传算法进行基于几何的匹配,并对每个数据集计算最优参数以取代经验值。张建辰等[5]以北京市房山区不同时间段的道路作为同源数据,利用缓冲区增长算法进行路网融合。郭庆胜等[6]提出了兼顾不同比例尺下道路自动变化更新的stroke部分匹配融合算法并在合肥市和南昌市进行了验证。裴洪星等[7]利用多尺度匹配方法在宁波市进行了小比例尺约束下的路网融合。高文超等[8]通过实验证明利用隐马尔可夫模型的匹配算法对于低采样率的道路融合是有效的。但是,以上研究大多停留在算法和实验阶段,没有考虑众源矢量路网的数据特点和融合的实际需要,未能形成便捷实用的融合系统。因此,开发众源矢量路网融合系统有助于提高数据的完整性和可用性,改善全球测图项目的数据质量。本文从全球测图项目的实际需求出发,总结了矢量路网融合的关键技术,在此基础上设计并开发了众源矢量路网融合系统,融合后,数据完整度和可用性明显提升。
为了便于后续对路网数据进行匹配和融合,应结合数据结构、特点和大小,科学管理数据信息。考虑到OSM数据结构是以Key Value键值对的形式来表示Tag标签,本文选择LevelDB开源数据库进行数据存储。
LevelDB是由Google研究员实现的非常高效的键值对(key-value)数据库,能够支持十亿(billion)级别的数据量。由于良好的设计,LevelDB在十亿级别下还能保持着非常高的性能。LevelDB不是一个SQL数据库,没有关系数据模型,也不支持SQL查询。LevelDB将Key值和Value值存储在任意字节数组中,并且数据按Key值排序。它支持批量写入,向前和向后迭代以及通过Google的Snappy压缩库压缩数据。LevelDB是单进程服务,性能非常高,在一台4个Q6600的CPU机器上,每秒钟写数据超过40万条,而随机读的性能每秒钟超过10万条。
对于提取路网和OSM路网数据,数据库内主要储存数据的几何信息和属性信息。几何信息包括路网长度、数据是单线还是多线、是否为环路、是否闭合等拓扑信息。属性信息包括数据ID、道路等级、道路中文和外文名称、生产时间以及其他参考字段信息。采用以上数据库标签命名方式可以有效缩短检索的时间,结合数据库类型的选择,在最短时间内查询到唯一对应的路网数据,提高路网融合的效率和稳定性。
众源矢量路网融合系统以从影像上提取的路网数据作为参考数据,众源矢量路网为补充,对数据进行预处理,通过多因子综合匹配进行多源数据的几何融合和属性融合,输出融合后路网。依据以上需求,设计功能模块如下:
1)通用操作模块。通用操作模块是系统的基础模块,主要实现多源数据打开、数据可视化、数据浏览、缩放、漫游等数据的基础操作。系统支持打开.shp、.gdb等主流矢量格式。.shp格式的数据支持批量导入,.gdb格式的数据可以包括各种类型的地物类和要素。打开数据后,多源数据的空间参考统一为WGS84,再将矢量图层显示在界面中间的地图控件上,用户可以单独查看某一数据源,也可对比查看两者叠加后的直观差异。
2)数据预处理模块。该模块包括统一坐标系、剔除道路碎段、去除道路异常节点、去除重叠数据、处理交叉路口、构建拓扑等功能。该模块通过消除数据在坐标系统、数据质量、数据类型等方面存在的差异,形成空间参考、几何类型、拓扑结构一致的多源道路网数据,是数据匹配和融合的前提条件。
3)路网匹配模块。该功能模块是系统的中间模块,采用综合距离、角度、重叠度等多种因子的几何匹配算法,经过多源道路的正反匹配将匹配对的匹配信息写入最终匹配结果,供数据融合模块使用。
4)路网融合模块。路网融合模块是在路网匹配结果的基础上按照融合方法进行几何和属性数据的合并,实现多源路网的集成和信息融合,输出融合后道路数据,包括几何融合和属性融合两个方面。根据以上功能模块,设计系统总体框架如图1所示。
图1 众源矢量路网融合系统总体框架图
路网匹配方法依据匹配策略,总体上可分为以下几类:①几何匹配算法,包括点到点、点到线以及线到线的匹配;②拓扑关系算法,包括简单拓扑关系匹配以及加权拓扑匹配;③概率统计算法,包括置信空间匹配以及新型概率匹配;④其他先进匹配算法,如蚁群算法、卡尔曼滤波方法、贝叶斯推理、隐马尔可夫模型等。本文采用了一种综合距离、角度、重叠度等多种因子的几何匹配算法。下面先对三者采用的指标分别进行介绍:
本文采用Tong等提出的SM_HD作为距离因子的评价指标。计算方法如式(1):
式中,r1为长度短的道路;r2为较长的道路;p1是r1的节点;p2是r2的节点。从p2中找出与p1距离最近的点,计算两者距离,将所有距离按数列排列,数列中值即为SM_HD距离。
对于角度的评价指标,本文选用的是两条道路的最小面积外接矩形MABR(r1)和MABR(r2)的对角线的方位角之差的绝对值。
重叠度因子OPCT的计算方法如式(2):
式中,Buffer(r1)和Buffer(r2)为基准道路数据和增量道路数据分别以两者之间的SM_HD距离为半径建立的缓冲区,两缓冲区的交集和并集面积之比即为重叠度因子。
在对多源道路数据匹配之前,本文以5 m的间隔距离对道路节点进行了加密,便于后续SM_HD距离的计算。加密之后,按照依次计算3种匹配因子的方法进行匹配,具体算法如下:
1)依次计算每条线要素外扩的最小外接矩形EMBR,将EMBR中包含的相应基准路网作为匹配候选集。
2)循环遍历获取与每条基准道路匹配的增量道路,计算候选匹配对的SM_HD、最小面积外接矩形长轴方向差和重叠度,给三者分别赋予一定的权重,计算总匹配度,选择匹配度最高的道路作为匹配结果,将单个匹配对的信息保存下来。
3)按照2)的方法对道路进行反匹配,即计算出与每条增量道路匹配的基准道路,保留匹配信息,以顾及1∶n的匹配情况。
4)去掉2)和3)的结果中重复的道路匹配对,将记录下的所有匹配对的匹配信息写入最终匹配结果。
路网数据融合是在路网匹配结果的基础上按照融合方法进行几何和属性数据的合并,实现多源路网的集成和信息融合。一般包括几何融合和属性融合两个方面:
2.2.1 几何融合
几何融合主要根据道路的匹配对确定缺失段,并对缺失段进行几何变换完成缺失段的拼接。具体步骤如下:
1)根据匹配对获取缺失段。
2)若缺失段在道路一侧,则将其直接平移到端点处。
3)若缺失段在道路中间,按照基于最小二乘的仿射变换将缺失段拉伸至两侧端点处,大致步骤为:根据计算出的同名特征点,代入仿射变换基本方程,建立超线性方程组,再通过最小二乘法估算出变换矩阵。计算公式如式(3):
4)以此类推,完成缺失段的拼接。
易非的心痛了一下,像有个小人在心里把她唯一敏感的那根神经猛拽了一下,可她还是笑了,笑得像一朵雨后的栀子花,她说:“我是爸爸的亲女儿呢,能不像爸爸吗?”
缺失段拼接效果如图2所示。
图2 缺失段拼接示意图
2.2.2 属性融合
多源路网数据中部分数据如影像提取道路属性信息较少甚至不具有属性信息,因此,几何融合后的道路属性仍旧为缺失状态,影响了数据的使用价值,需要通过进一步属性融合赋予属性。具体方法是将几何融合后的道路与具有属性信息的道路再次进行多因子综合匹配,将匹配对中路网数据的属性字段信息进行逐一对比,将字段信息较为丰富道路的属性赋给融合道路。
2.2.3 融合数据后处理
路网融合的本质是从众源数据道路中批量替换几何和属性信息,因此,数据经过程序处理后必然存在伪节点、悬挂点等错误的拓扑关系。系统对融合后数据分别做了合并和打断的处理以重新构建拓扑关系。
1)遍历所有融合道路公共点进行缓冲区查询,若缓冲区内存在两条及以上道路且公共点为道路端点,则进行合并处理。
2)重新计算合并后道路的所有交叉点,记录每条道路上的交点情况。
3)根据每条路上的交点数量n将其打断为n+1条道路,构建拓扑关系。
在上述系统设计和关键技术与方法的基础上,本文在VS2015平台上,实现了多源矢量路网匹配融合系统。系统基于团队GIS引擎进行二次开发,使用的语言包括C++、CLR和C#。系统窗体界面使用C#语言编写,用于实现界面层的功能和对Windows Form窗体进行设计、实现,以缩短开发周期。数据预处理、路网匹配和融合模块的核心算法用C++语言编写,通过调用GDAL对矢量数据库的读写操作实现。
以越南某地区的高分一号遥感卫星影像提取得到的矢量路网数据作为参考数据,选择此区域的OSM数据作为补充数据,打开数据后,系统主界面如图3所示,界面包括主菜单栏、工具栏、数据源窗口、视图窗口和状态栏。主菜单栏内包括数据导入、数据浏览、数据预处理、数据融合4个模块。
图3 系统主界面
数据导入和数据浏览在内的通用操作模块主要基于GDAL实现,GDAL是使用C++语言编写的用于读写空间数据的一套跨平台开源库,将GDAL对数据的操作封装成几何对象模型Geometry、空间参考SpatialReference、地图Map和空间数据引擎GeoDatabase等模块,对数据的导入、显示等操作的实现主要通过调用这些模块的接口。
数据预处理模块可以根据众源数据的实际情况选择是否去除重叠数据,设置距离阈值、角度阈值等参数,并选择处理后数据的输出路径。具体界面如图4所示。
图4 数据预处理模块界面
选择越南地区的影像提取路网和OSM路网作为实验数据,系统进行预处理后,效果如图5所示,可以看到,经过剔除道路碎段、交叉路口聚合、去除匝道等预处理过程后,提取道路得到了简化处理,整体构网更加简单清晰。
图5 数据预处理效果
数据融合模块在打开shp或gdb格式的参考数据和补充数据,并选择处理后数据的输出路径后开始匹配融合,融合进度会在进度条中显示。具体界面如图6所示。
图6 数据融合模块界面
对经过数据预处理的越南地区的影像提取路网和OSM路网进行匹配融合,融合处理后效果如图7所示,图7a为经过预处理的提取道路,受到树木、房屋阴影的遮挡,部分道路存在完整性缺失;图7b为对应的OSM路网,完整度相对较高,但存在双线道路。图7c为融合后道路,可以看出,融合后道路整体完整程度有明显提升。国外越南地区OSM数据以高等级道路为主,部分提取道路段缺乏匹配对象,导致融合后道路仍存在完整性问题。
图7 数据融合结果
国内选取长沙地区约30万km2的区域进行了匹配融合实验,实验结果如图8所示。图8a为经过预处理的提取道路,图8b为对应的OSM路网,相比越南地区覆盖度更高。图8c为融合后道路,可以看出,融合后断裂和缺失道路得到修复,有较好的完整性。
图8 长沙区域实验结果
在全球测图项目中,由于影像提取路网和众源数据的使用越来越频繁,提升这些数据源的几何完整度和属性丰富度成为下一步的研究重点。本文设计并实现了众源矢量路网融合系统,对矢量数据进行预处理,通过多因子综合匹配进行几何融合和属性融合,实验结果证明融合后数据的完整度明显提升,可以满足项目需求。后续各匹配因子的权值确定方法可以做进一步改进。