电子航道图数据预处理功能的完善与实现 | ![]() |
电子航道图作为内河航道综合信息服务的基础数据,其数据生产能力与更新效率直接关系到信息服务的质量。然而,近年来随着技术的发展和社会对航道信息服务高质量需求的转变,目前的生产更新流程与方式越来越无法满足航道电子航道图数据生产、服务及应用的需要。
长江电子航道图预处理平台是在EPS地理信息工作站基础上,结合长江航道外业数据的特点及电子航道图预处理的要求进行的定制开发,是长江电子航道图制作的前期数据处理软件,为长江电子航道图生产编辑系统提供数据支撑[1-4]。
近年来,长江航道测量中心大力推广电子航道图生产技术,先后承担了赣江、苏北运河以及汉江等内河的电子航道图生产任务,带动了其他内河电子航道图生产技术的发展[5],而生产范围的延伸和扩大,必将造成数据量的日益增长,电子航道图生产编辑系统的负荷也不断加重。为了减轻生产编辑系统的压力,对生产负荷进行分流处理,需要探索一套更高效科学的生产方法[2, 6-11]。通过前期研究,计划将电子航道图生产编辑系统中部分编辑处理工作移入预处理平台中,在一定程度上减轻电子航道图生产编辑系统的负荷,这就需对预处理平台进行完善与开发,包括已有功能的修改完善、新增部分功能、优化算法提高性能和稳定性,从而进一步提高数据生产效率,以满足电子航道图航道干支联动数据快速更新的需要[3]。具体内容包括:自动生成深度区、拓扑关系的处理、通航面预处理、定线制绘制与检查以及添加检查项等。
本文涉及原有软件的功能升级及完善,开发的基础平台仍为EPS平台。通过需求分析后,将开发方式分为3种:①不涉及底层核心代码的功能,用VBA(visual basic for applications)脚本实现。用户通过“一键式”调用执行功能。②涉及地物的拓扑构面等底层C++代码的,仍采用C++代码实现,优化算法,为用户提供高效的运算和便捷的操作[4]。③新增地物在模板里进行定制,可支持进一步的扩展。通过config.txt、编码使用表.xls等配置文件,灵活支持实际作业变动。
1 技术实现 1.1 程序辅助新增内容1) 数据字典配置界面。设置勾绘规则和航道相关编码后,相应功能项目自动按设置内容执行。
2) 等深线构面。在“修改重载航道图设置”文件中设置等深线编码、岸线编码和范围线编码。C++ 代码会根据岸线、等深线、范围线的规则进行统一构面,形成“陆地区”、“深度区”及“命名水域”。同时,生成“深度区”范围值被赋值为相邻两条水深线水深值。
3) 码头拓扑。将所有与固定码头相交的深度区、命名水域和等深线被裁切,并转化为陆地区。将浮码头及相交岸线批量裁切,同时其在陆地区闭合的面转化成小路面。
4) 沿岸线裁切支流面。通过C++编码实现了裁切完成的支流面与岸线无缝贴合,与命名水域无缝相接,并根据拓扑关系自动删除由支流面覆盖的水域面。
5) 通航面预处理。根据属性将面转换成相应类型的航道面,将其边线提取出来生成边界线或者中心线,且在上下行通航面间无分隔带时自动生成中心分隔线,同时对航道面进行拓扑检查,确保面的拓扑关系正确。
6) 通航面航标检查。对航标数据进行分类,并对航标地物进行坐标定位,检查应定位在通航面的4个角点或分道航道的交叉点上的航标是否与通航面的角点坐标一致,对未落在航道面角点的航标进行提示。
7) 生成通航面方向点。自动批量对分道通航面角度赋值,单位为度,并用箭头方向表示通航面的方向,根据范围手绘生成通航面方向点,并对通航面角度赋值。
1.2 程序修改完善内容 1.2.1 航标文件对比检查1) 功能描述:①比对不同edb工程文件,按指定的航标编码比对相关联要素的位置、几何及属性进行批量比对检测,发现变化的要素以及具体变化的内容;②实现两个edb工程的输出,分别输出新增、删除和移动情况。如图 1所示。
![]() |
图 1 输出文件 Fig.1 Output File |
2) 实现方式:利用C++定制开发,对比两个EDB中的要素,按几何位置(可设置容差值)、属性值进行比对检测,判定是否为新增、修改、删除操作结果,分别写入3个增量包。
1.2.2 优化数据检查1) 功能描述:①优化现有检查内容,定制检查项,并设置优先级;②在检查结果中一键排除预先定制好的非重要项。如图 2所示。
![]() |
图 2 检查项定制 Fig.2 Check Item Customization |
2) 实现方式:①针对重要要素,定制检查脚本,实现一键式定制检查;②对检查条件进行优化设计,使其更合理,减少误报。
1.2.3 水深点导入功能1) 功能描述。①导入包含水深坐标及日期的TXT文件后,可将水深值、坐标值、日期值读取到对应的地物属性库中;②导入仅含水深值和坐标的数据包时,提供输入界面,可输入“数据来源日期”,批量读取入属性库;③导出坐标文件时,自动导出带测量日期属性的数据。
2) 实现方式:在模板中对水深地物(6731)增加“日期”字段,利用脚本或编码修改导入和输出坐标文件的功能。
2 关键技术1) 自动构面。点集的三角剖分是图形学中一项重要处理技术,尤其是Delaunay三角剖分。Delaunay三角网的优点是结构良好,数据结构简单,数据冗余小,存储效率高,与不规则的表面特征和谐一致,可以表示线性特征和叠加任意形状的区域边界,易于更新,可适应各种分布密度的数据等[6]。在“自动构网检测点线矛盾”技术中,实现Bowyer-Watson算法构建Delaunay三角网,支持引入骨架线改造Delaunay三角网。并清除所有“三角形三个点均在同一等深线上的三角形”(平三角),清除后重新构造优化的三角形[7]。根据等深线上的点集进行构网后,在范围线内得到一个全覆盖的三角网,每个三角形覆盖的区域均是斜面,可用于检查三角形范围内的水深点深度与位置是否合理。
2) 快速拓扑构面。在范围线内,计算所有的等深线和岸线与范围线的交点,根据得到的交点,分割每条线得到全部弧段。遍历所有弧段,按逆时针方向检索弧段的连接弧段,构成封闭面,记录该检索面所有相关弧段及其属性。检索面的相关弧段的深度值,对深度值列表进行排序,填充面的两个深度值属性。若只有一个深度值,则取面范围内水深点信息,根据勾绘规则向深或向浅,取到另一个深度值。
3) 支流面处构面的特殊处理。在支流面范围内,等深线与岸线绘制为相交状态,因此需要进行特殊处理。取所有岸线与等深线进行求交计算,根据得到的交点,分割每条线得到等深线与岸线的子弧段。遍历所有弧段,按逆时针方向检索弧段的连接弧段,构成封闭面,记录该检索面所有相关弧段及其属性。检索面因为是岸线与等深线相交产生的,因为需要将岸线高度值从面相邻的深度值列表中剔除,避免后续为深度面赋值时产生错误。
4) C++与脚本协同技术。在开发相关功能中,将部分程序逻辑使用EPS平台支持的VBA脚本语言实现,在C++函数中调用指定脚本,完成相关计算、判断或输入输出,然后再继续执行后续代码,并可以与脚本交互相互传递信息。在VBA脚本语言开发过程中,可调用C++开发的底层DLL接口,支持对矢量信息和属性信息进行增、删、改、查,支持控制显示位置,支持输出各种处理结果,具备便捷、灵活、强大的特点。由此实现了程序在编译后的使用过程中,具备更强的灵活性、可扩展性,适应未来部分超出预期的情况[8-10]。
3 结束语本文结合现有生产方式,在已有软件的基础上,提出并实现了电子航道图数据预处理平台功能的优化、改进和完善,实现了快速、智能的电子航道图数据预处理,为后续数据入库后的编辑工作提供了极大的便利。
目前,该技术成果已在长江电子航道图数据生产中得到应用,有效提高了预处理成果数据的质量和合理性。软件升级开发完成之后,已具备了联库作业的能力,在将来的工作中,随着作业模式的不断变化、电子航道图生产范围的不断延伸与扩展,期望下一步能实现每个生产终端与任务分配系统的连接,从而实现在生产终端上接收分配的任务,在线连库下载底图,定时上传任务完成百分比,提交质检后在EPS按预定质检方案进行自动检查,记录每次质检结论和意见等,从而达到指导后续优化生产方案,提高生产效率,提高成果质量的目的,更好地支撑内河航道综合信息服务[11]。
[1] |
陈雅雯, 程新平, 韩红. 清华山维在长江电子航道图局部更新制作中的应用[J]. 武汉交通职业学院学报, 2014, 16(1): 78-81. DOI:10.3969/j.issn.1672-9846.2014.01.019 |
[2] |
石昕. 中国内河电子航道图发展研究[J]. 海洋测绘, 2017, 37(5): 60-63. DOI:10.3969/j.issn.1671-3044.2017.05.013 |
[3] |
中华人民共和国交通运输部. 长江电子航道图制作规范: JT/T 765-2009[S]. 北京: 中国标准出版社, 2009
|
[4] |
鄢涛, 曾谊, 孟飞. 可嵌入C++的脚本语言的设计与实现[J]. 成都大学学报(自然科学版), 2018, 37(4): 402-406. DOI:10.3969/j.issn.1004-5422.2018.04.017 |
[5] |
石硕崇, 库安邦, 明平寿. 航道测绘现状及发展[J]. 测绘与空间地理信息, 2018, 41(11): 236-244. DOI:10.3969/j.issn.1672-5867.2018.11.070 |
[6] |
陈士杰, 张森林, 刘妹琴, 等. 基于改进Delaunay三角剖分的水下地形三维重建算法[J/OL]. [2020-08-12]. http://kns.cnki.net/kcms/detail/50.1075.TP.20200812.1511.048.html
|
[7] |
青文星, 陈伟. Delaunay三角网生成的改进算法[J]. 计算机科学, 2019, 46(6A): 226-229. |
[8] |
张久龙, 李淑梅, 张利群, 等. 无人机航测系统在农村1:500地籍测图中的应用探讨[J]. 测绘地理信息, 2017, 42(1): 69-72. |
[9] |
乔俊军, 胡冯伟. CorelDraw环境下国界符号的尺寸改正与快速符号化[J]. 测绘地理信息, 2018, 43(2): 83-86. |
[10] |
陆平, 李静. 1:5万数据库符号化模板定制研究[J]. 测绘地理信息, 2019, 44(1): 118-120. |
[11] |
张圣丽, 邹汉平. 长江航道综合信息服务方案探讨[J]. 水运工程, 2009(5): 103-106. |