袁胜古,盛光晓,邓曾,徐昊,李迪龙,孙曦,孙晓月
(1.中国交通通信信息中心,北京 100011; 2.国交空间信息技术(北京)有限公司,北京 100011;3.武汉大学测绘遥感信息工程国家重点实验室,湖北 武汉 430079)
随着中国路网的逐步完善,大面积的公路建设时期成为过去时,养护与管理将是现在式与将来的核心[1]。统计管理是公路养护管理的一种方法,具有高效和低成本的特点。统计方法主要是对实际数据进行收集,基于统计学进行分析和研究,进而发现和解决问题。统计管理方法具有较强灵活性和广泛性,能有效提高决策质量和控制成本、预防问题出现等作用。相关资料显示,全国公路养护里程将接近500万千米,养护比例达97.6%。公路养护管理工作进入周期性高峰期,公路养护投资成本非常大,工程量多且施工进度慢。在公路养护管理中应用统计方法对相关资料进行分析和指导已经显得非常必要[2~7]。
为准确和全面了解全国公路基本情况,满足各级政府及交通管理部门制定行业政策和发展规划需要,需加强公路行业管理和公众出行信息服务工作,根据《中华人民共和国统计法》、《中华人民共和国公路法》有关规定,制定了公路养护统计报表制度。此报表制度中所有报表均为年报,年报调查截止日期为统计年度的12月31日,报部截止日期为次年的1月31日[8]。桥梁变更表目前还不在《公路养护统计报表制度》中,但是每年公路养护年报报送过程中,都要求上报桥梁变更表。桥梁是重要的公路基础设施,其安全关系到整个公路交通的安全,截至2016年底,中国已经建成公路桥梁约80.53万座,随着时间推移,桥梁结构会出现不同程度的损伤和病害,需要定期进行检测和维护,会造成桥梁相应属性的变化。桥梁变更表反映的是桥梁状况每年的变更情况,桥梁变更表的上报有利于交通运输部及时掌握桥梁的变更信息和桥梁最新的状态,及时对全国的桥梁总体情况进行相关评估[9]。传统的桥梁变更表一般是以人工核查方式进行,效率比较低,对于非路网调整年,其工作量比较小,人工核查方式可满足需求;但对于路网调整年,由于桥梁变更的数据量比较大,传统人工核查方式的桥梁变更表生成方法不能满足实际需求。
为此,本文提出一种基于属性匹配及空间位置约束的桥梁变更表生成方法,此方法的核心是不同年份桥梁数据的精确匹配。此方法首先进行空间位置约束,从而确定待匹配的候选桥梁,然后在候选桥梁中进行属性匹配,并对匹配结果的可靠性进行评分形成匹配可靠性评价,最后根据交通运输部对变更表的格式要求生成最终的桥梁变更表。
桥梁变更表的核心是确定不同年份桥梁的匹配关系。在实际工作中,特别是在路网调整年,由于路线编码调整及路段序列号的调整,两个年份的桥梁编码会发生变化,根据公路领域国家标准,桥梁编码组成格式为:所属路段编码+L+桥梁序列号,其中L为公路系统中桥梁编码中专有标识,由于桥梁编码为公路基础数据系统中桥梁的唯一标识,因此,在路网调整年,直接基于桥梁编码很难将两年桥梁进行对应。为此,本文提出一种基于属性匹配及空间位置约束的桥梁变更表生成方法,方法流程图如图1所示。
图1 本文提出的桥梁变更表生成方法流程图
本文提出的桥梁变更表生成方法,首先以上年桥梁数据为基准数据,在当年桥梁数据中使用空间约束找备选的可能匹配桥梁,然后使用评分的机制,结合属性匹配(桥梁编码、桥梁名称、建设单位名称和通车日期)对两年的桥梁进行匹配可靠性评价,最后按照相关要求生成最终的桥梁变更表。
桥梁变更表的关键是找到两年桥梁之间的匹配关系,结合实际情况,能匹配上的桥梁一般两者的距离大多会在一定的范围内,基于此条件,为了提高匹配的效率并排除相关干扰因数,只对距离处于一定范围的桥梁进行匹配。对于具体的桥梁寻找匹配桥梁时,直接通过计算两者之间的距离来判断其是否处于一定距离范围内是最简单直接的方法,但是其计算量极大,对于某省总量四万多的桥梁,整个匹配过程就要花费十几个小时。为了提高效率,本文使用C++中的Multiset数据类型来解决这一问题。
C++语言中,Multiset是Set库中一个非常有用的类型,Set的含义是集合,它是一个有序的容器,里面的元素都已经做了排序,此数据类型支持插入、删除、查找等操作。所有操作的时间复杂度都为Log(n),效率比较高。Set和Multiset的区别是:Set插入的元素不能相同,但是Multiset可以相同,由于桥梁匹配存在非一对一的关系,本文选择Multiset数据类型。
本文根据桥梁匹配需要用到的属性及空间字段,构造了如图2中的结构体Bridge,其中将桥梁的经度、纬度、桥梁编码、桥梁名称、建设单位名称、通车日期和桥梁FID作为结构体中的元素。为了对Multiset中的Bridge实例进行排序,构造了两个用于比较Bridge的类,如图3所示,图3(a)使用经度进行排序,图3(b)使用纬度进行排序,由于公路基础数据库中的坐标系为WGS84坐标系,为了便于计算,将经度和纬度分别乘以100,再存储于Multiset中,由于在赤道上1度约是 110 000 m,也就是距离小于 1 100 m的桥梁会被放到一个Multiset值中,利用其自动排序功能将距离在一定范围的桥梁做了归类,从而避免了耗时的距离计算或缓冲区分析运算,极大提高了桥梁匹配效率。图4展示了分别以经度和纬度为比较构造的两个类。
图2 Bridge结构体源代码
图3 构造的两个比较类
对桥梁进行空间约束后,需要结合桥梁属性进行相似性评价对桥梁进行匹配,并对匹配的可靠性进行评分,满分100分,分值越高表示其匹配的可靠性越高,具体的匹配属性值及权重评分如表1所示,其中,若桥梁编码相同,加20分;若桥梁名称相同,加30分;若建设单位名称相同,加10分,若通车日期相同,加10分,若是在空间约束范围内,加30分。
匹配权值分配 表1
桥梁相似性评价后,对于得分较高的匹配,比如大于80分的匹配结果,可以认为其没有问题,不需要进行人工核实。但是对于匹配评分较低匹配结果(例如小于80分)或存在多对一的情况,需要进行人工核实,确定正确的匹配关系。人工核实,需要叠加两年的桥梁矢量图层,对自动匹配可靠性较低和多对一的情况进行一一核实。对于特殊情况,还需要叠加合适遥感影像辅助核查。
部分匹配结果人工核实后,可以认为桥梁两年的匹配关系已经精确地建立,接下来只需要按照此匹配关系生成桥梁变更表即可,根据交通运输部对桥梁变更表的要求,按照固定格式生成桥梁变更表,桥梁变更表包含具体内容如表2所示:
桥梁变更表包含内容及说明 表2
其中对于变更类型,变更定义为两年的桥梁能对应上,只是部分属性数据发生变更;删除定义为上一年有此座桥梁,但是今年未找到对应桥梁;新增定义为今年的桥梁在上一年桥梁数据中找不到对应的桥梁。变更原因分为具体五种情况,其中,变更分为桥梁编码变更和重新调查后调整两种情况;新增包括漏采,今年补采和新建两种情况;删除只有桥梁废弃一种情况,变更原因根据实际情况进行具体填写。
使用某省两年的桥梁数据作实验,其中上年有 37 716座桥梁,当年有 38 117座桥梁,该省在当年进行了大规模的路网调整,大部分桥梁编码发生了变化,单看桥梁名称等属性很难准确将两年桥梁之间关系对应上,叠加两年桥梁数据进行人工核查是最准确的方法,但是比较耗时,全省4万多座桥梁,人工核对工作量非常大。使用本文方法,可以先进行两年桥梁的自动匹配,并对匹配可靠性进行评分,按照不同的分值,匹配统计如表3所示:
匹配结果统计表 表3
由表3结果统计结果可知,上年的大部分桥梁都可以通过自动化匹配找到当年的桥梁,匹配比例高达75.81%,且其匹配分值在100分,对于这种情况不需要进行人工核查。对于如何认定多少分值可以不用人工核查,需结合实际要求、工作量与人力资源情况进行确认,本文建议选择90分,人工核查的主要工作是核对匹配分值小于90分的匹配关系是否正确,尤其是对于存在非一对一的匹配关系,需要一一核对,对于特殊情况还需要结合遥感影像进行综合判断。图5~图9对于不同的分值分别选取典型的例子进行截图,(a)图为两年桥梁叠加的效果图,其中红色大圆圈代表当年桥梁点位,黑色点和高亮点代表上年桥梁点位,红色字体按照空格分别标记当年桥梁的相关属性信息,依次为FID、桥梁编码、桥梁名称和匹配分值,黑色字体按照空格分别标记上年桥梁的相关属性信息,依次为匹配上当年桥梁的FID、桥梁编码、桥梁名称和匹配分值;(b)图是在(a)图基础上叠加遥感影像后的效果图。图5选取了一个匹配分值100的例子;图6选取了一个匹配分值80的例子,可以判断此匹配关系正确;图7选取了一个匹配分值60的例子,可以判断此匹配关系正确;图8选取了一个匹配分值30的例子,可以判断此匹配关系不正确,需要根据影像和周边桥梁的情况选择与其匹配的桥梁;图9选取了一个匹配分值30的,且存在上年一个桥梁对应多个当年桥梁的例子,图中显示当年FID为33831、33832、33833、33834的4座桥梁都对应上年此座桥梁。
图5匹配分值为100示意图
图6 匹配分值为80示意图
图7 匹配分值为60示意图
图8 匹配分值为30示意图
图9 存在非一对一匹配关系示意图
经过自动匹配和人工核查确定两年桥梁的准确匹配关系后,根据对桥梁变更表的相关要求,生成最终的桥梁变更表,图10为最终生成的桥梁变更表部分截图。
图10生成的桥梁变更表
综上所述,基于属性匹配及空间位置约束的桥梁变更表生成方法,充分利用部分相对稳定的桥梁属性与空间位置约束对两年桥梁数据进行匹配并评价匹配的可靠性,最后对可靠性评价较低的桥梁进行人工核查,在尽量减少人工核实的前提下提高桥梁变更表的生成效率。本文提出的方法应用于省级桥梁变更表的快速生成,实际应用证明其能在保证准确性的前提下有效提高桥梁变更标的生成效率。本文系统需要少量的人工干预,下一步需要研究如何更进一步减少人工干预量,提高桥梁变更表的生成效率。