高铁跨海路由单物标水深图提取算法研究

2023-12-19 10:27王昊宇
铁道勘察 2023年6期
关键词:海图字符水深

王昊宇

(中铁第六勘察设计院集团有限公司,天津 300308)

引言

截至2022 年底,我国高速铁路的营运里程已经超过4.2 万 km[1]。 高速铁路网络极大促进了沿线地区的物流、商贸和人力资源的循环发展,为国家“城市经济圈”战略规划发挥巨大的纽带作用。 根据《中、长期高速铁路网规划发展纲要》,在“十四五”期间我国要建设完成“八纵八横”的高速铁路网络体系,实现覆盖大部分县域的高铁网络互联互通[2]。 东部沿海一直是我国经济发展最活跃的地区,也是高铁建设的重点区域。 得益于港口海运优势,经济发达城市往往依海而建,则部分高铁建设势必要由传统的陆地建设,逐步迈入跨海建设。

高铁跨海设计初期,需要测绘详细的“水深图”来知悉设计路由区域的水深变化、海底地形起伏,以及暗礁、孤石、沉船等海底障碍物分布情况。 工程类水深图与“陆地地形高程图”类似,均为CAD 电子格式,水深值以单个“Text”字符的形式按其地理坐标排列,字符内容即为“水深数值”。 但是水深数据的实测点位坐标并不在其text 字符的插入点位置,二者存在偏差,且随着text 字符的“高度、宽度、旋转角度”等属性的变化,该偏差也在变化。 海图软件生成CAD 水深图为“单向过程”,并不提供从已有CAD 水深图中“反向提取水深数据”功能。 因此,对于已有的CAD 水深图,手动方式很难获得其准确的水深实测坐标。

现行的各种海图制图规范和标准中,只是笼统规定了水深实测点位与水深字符的位置关系,却并未给出明确的位置特征或数学计算公式。 如《中国海图图式》中描述为“水深的实测点位应位于水深注记的中心”[3];《水运工程测量规范》中描述为“水深坐标位置应位于水深字符中部”[4]。 对于已有的CAD 水深图成果资料,只能使用其字符插入点坐标代替实测坐标的方式来获取其水深数据,对于“路由浅点精确定位”“疏浚方量精细计算”等高级工程应用,无法满足位置精度要求。

目前,国内外现有的研究成果,鲜有“水深字符插入点坐标与其实测坐标几何关系”方面的研究,而是大部分专注于“注记标准制定、数据格式转换、数字模型建立、三维可视化”等领域,却也提供很多的参考思路和理论基础。 宋子康等提出一种利用树状结构层次化等深线簇的深度注记自动配置方法[5];吕立蕾等分析研究《海道测量标准》中“航行安全测量最低水深标准”的内容[6];贾帅东等提出海图水深注记分布度的精细化评估方法[7];魏源等借鉴人工交互处理视角下多波束测深后视图中异常值的图像特征,实现存疑数据的判断标准[8];陈义兰等给出多源数据构建数字水深模型的插值方法选取的合理化建议[9];刘党卫等从海底数字高程模型中提取对应位置的高程值,减少水深踏勘的工作量[10];闫吉顺等研究基于时间序列的单子集水深数据线性回归优化方法[11];程益锋等研究像元找水深点的顺序匹配法和水深点找像元的顺序匹配[12];于粉香等有效降低S-57 海图数据直接转换为基础地理信息数据的难度[13];万晓霞等基于S-100 的图示表达机制为多源异构数据产品和服务的可视化互操作提供了基本处理模型[14]。

在前人已有研究成果的基础上,研究CAD 电子海图中水深字符插入点坐标与其水深实测坐标的数学几何关系,推导具体的实测坐标计算公式,编写坐标批量提取计算软件,以期实现CAD 中海量水深数据实测坐标的快速、精确计算提取。

1 单物标水深

工程施工中所使用的CAD 电子海图,水深值以“单物标水深”的形式存在[15-16]。 每个水深数值在CAD 中由1 个“单行文字标注(text 字符)”表示,是海图制图中常见的一种水深注记方式。 单物标水深主要有4 种表现形式,见图1。

图1 单物标水深

(1)不保留小数位水深

水深值导出时不保留小数位数,字符中为整数值和小数点。

(2)保留小数位水深

水深值导出时保留至少1 位小数,文本字符中为整数值、小数点和小数值。

(3)小数水深

水深值在0 与1 之间,保留至少1 位小数,文本字符中为0、小数点和小数值。

(4)负值水深

水深值为负值,文本字符首位为横线(负号),其他与以上3 种情况相同。

CAD 中的text 字符对象只有“插入点坐标”,位于字符对象的左下角,称为“锚固位置(Anchor)”,是text字符对象的唯一位置标识[17]。 而制图规范要求水深实测位置应位于水深标注的“中部”。 因此,海图软件在将采集处理后的水深数据生成CAD 水深图时,就需要根据水深实测坐标计算出text 字符对象的插入点坐标,然后写入CAD 文件。 因此,text 字符对象的插入点坐标与水深实测坐标之间的几何关系,必然与text字符的高度、宽度、旋转角度、字体等属性信息呈某种“比例关系”。 这种“比例关系”即为字符插入点坐标与水深实测坐标之间的数学算法关系。

2 算法推导

无论何种水深字符,都是由0、1、2…9 等10 个数字字符和负号字符组合而成。 因此,选取常规水深测量中常见的-100、-99、…、-2、-1、-0.1、0、1、2、…、100 等数值,以不同的字高和不同的旋转角度模拟生成水深图,将水深数据的实测坐标展绘为point 点对象,叠加显示在CAD 水深图中,发现水深数据的实测坐标位置均位于text 字符对象的小数点位置处,见图2。

图2 水深坐标位置

分别量取水深字符插入点至水深实测坐标之间的距离以及角度,text 字符插入点位置与水深实测位置关系见表1。

对表1 中3 种字高和旋转角度的水深数据进行对比统计分析后,可以得出以下结论。

(1)同种字高的2~9 字符的宽度一致,0 和1 字符宽度各不同。

(2)组合字符宽度为各字符宽度之和。

(3)不同字高的相同字符宽度与字高成正比。

(4)负号宽度与字高相同。

(5)插入点至实测坐标的角度与字符旋转角度相同。

根据以上结论可得出各种字高下0、1 和2~9 字符宽度公式,即

式中,D0为“0”字符宽度;D1为“1”字符宽度;D2-9为“2~9”字符宽度;D-为负号字符宽度;H为字高。

根据式(1)~式(4),可计算字符插入点与水深实测位置(小数点)间的距离L,则可得由字符插入点坐标计算水深实测坐标公式为

式中,E为水深实测东坐标;N为水深实测北坐标;X为水深字符的插入点X坐标;Y为水深字符的插入点Y坐标;L为插入点与小数点间距;A为字符旋转角度。

水深图的默认字体为“Arial”,表1 和式(1)~式(4)均基于此字体推导。 在水深图后期修饰和最终成图时,一般会保留使用“Arial”字体,有时也会改为“宋体”。 使用中发现,各字符的宽度、间距,与Arial 字体的比例关系为0.01~0.02 倍的字高,相对于实际测量中的GPS 定位精度,此偏差可以忽略不计。 故该算法不再区分字体,对于其他特殊字体只需按照相同统计方法单独研究,不再赘述。

进行计算机编程自动提取计算时,主要分为以下4 个步骤。

(1)读取CAD 的DXF 交换文件

首先创建FileStream 文件流对象,指定该对象的编码属性为ASCII[18];然后使用该文件流对象将DXF文件的所有字节读入内存数组;创建StreamReader 类对象,使用已经创建的FileStream 对象来实例化,将内存中的字节数组编译为字符元素数组[19]。

(2)海量数据筛选

采用人机交互的方式,根据原始CAD 水深图中水深数据隶属图层等属性,遍历元素数组,将“陆域、说明、图例”等非水深元素去除[20];然后设置测区的范围坐标,将插入点坐标位于范围以外的元素排除;最后,为了防止原始元素数组容量过于庞大,根据水深元素数量和测区范围等因素,划分若干小型方格网,以分块数组的形式对每块方格网的数据进行分别存储,每块方格网内水深元素的数量不宜超过10 万。

(3)提取计算

从各分块数组中逐个提取元素对象,根据式(1)~式(5),利用插入点坐标计算出实测坐标。 根据计算机的CPU 和内存负载情况,开启多个线程,多个分块数组同步进行并发提取计算。

(4)生成报表

全部分块数组计算提取计算完毕后,将水深值和其计算实测坐标生成导出“XYZ”格式报表。

为了检验提取算法在各种极限情况下的计算精度,使用人工模拟的方式,模拟11 种典型和极端情况的水深数据,使用海图软件生成CAD 水深图,然后使用自编软件提取这些水深数据,最后与原始模拟坐标进行比对,比对结果见表2。

表2 模拟坐标与提取坐标对比

由表2 可知,提取坐标与模拟坐标有1~3 cm 的误差。 因为式(1)~式(5)使用的是有限数据样本,(经人工量算、归纳所得),所以无论公式形式,还是参数设置并不完全严密。 而海图软件在生成CAD 水深图时,其程序内部所采用的数值变量类型和小数位保留逻辑尚不明确,所以计算坐标与实测坐标的差值无法精确计算。

3 工程实例

福厦高速铁路北起福州市,南至厦门市,线路全长277.42 km,设计速度350 km/h,是我国首条真正意义上的海洋环境高铁,也是世界行车速度最高的跨海铁路。 泉州湾跨海大桥是福厦高速铁路全线重点控制性工程,全长20.287 km,主桥跨度为400 m,为双塔双索面钢混结合梁半漂浮体系斜拉桥。

桥梁设计中,需要对大桥路由海域的海底地形进行三维建模,来完成“疏浚方量计算、桥墩基础冲刷分析、基槽回淤分析”等精细计算,要求水深坐标位置精度<0.5 m。 大桥设计路由区域100 m 范围内的1 ∶500 水深测量,按照“单物标水深”注记样式绘制为CAD 水深图。 因为大桥跨越泉州港主航道,往来穿梭船舶密集,且当地海域的水动力环境复杂,洋流水文条件强劲,这些都给水深测量带来了很大的困难,导致测量工期冗长、测量成本高昂。 为获取精细分析所需的水深数据,最经济高效的方式就是利用已经绘制完成的1 ∶500 水深图。

常规的水深数据提取手段为:使用CAD 软件中的“元素提取”功能,设定“水深数据所在的图层”“水深数据字符类型、元素坐标X、Y、Z、元素内容(数值)”等提取选项,将水深坐标和数值导出为Excel 表格形式。此处所能提取的坐标是元素的插入点坐标,并非水深实际坐标。 从本项目已经绘制的CAD 水深图中,选取部分数据,实际量测发现,字符插入点至小数点的距离约为1.2 m,即直接从CAD 中提取的水深坐标有1.2 m 的位置偏差,则无法满足0.5 m 的位置精度要求,会造成整个三维模型偏离。 且此偏离值受字符角度、宽度等因素影响,并不均匀且没有固定方向。

使用该提取软件将已经绘制完成的CAD 水深图进行水深提取: CAD 水深图中共有水深值1 374 531 个,有效提取水深1 374 357 个,提取率为99.987%。 未能提取的174 个水深为滩涂、潮间带等区域,因与其他图示数据叠加干扰,导致提取失败,但因为数量占比微小,对整体数据影响可忽略。 为了检验提取坐标的位置精度,将提取坐标重新生成水深图,与原水深图进行叠加对比分析,新图与原图水深字符插入点坐标的差值:东坐标E 最大差值为0.04 m,均值为0.02 m;北坐标N 最大差值为0.05 m,均值为0.03 m。 按照《水运工程测量规范》,水深测量在近岸、港口、航道等通航水域的定位精度一般要求为0.1~1 m,在外海水域的定位精度一般为2~5 m,故≤0.05 m 的位置偏差可以忽略不计。

4 结语

以海图软件生成的各种不同“字符、高度、宽度、角度等”的典型水深数据为样本,对其进行归纳统计分析,推导水深字符插入点坐标与其实测坐标之间几何关系的计算公式。 以计算机编程的方式,实现水深数据的批量自动提取和报表生成。 分别使用模拟数据和工程实例,对算法进行检验:人工模拟的典型和极端水深数据中,统计得提取坐标偏差为1~3 cm;工程实例水深图中,统计得提取东坐标最大差值为4 cm,北坐标最大差值为5 cm;从而验证算法的精度可靠性。

在未来的研究中,可以继续通过多种复杂环境、海量数据样本的归纳统计,对公式进行迭代升级,以提高算法的适用性和精确度。 研究思路同样适用于难以反向提取数据的其他海图软件,为已有水深资料的重复再利用、精细数字化等拓展挖掘工作,提供一种新的解决方案。

猜你喜欢
海图字符水深
书法静水深流
基于水深分段选择因子的多光谱影像反演水深
寻找更强的字符映射管理器
纸海图AI小改正制作模式探讨
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
少林功夫拳(三)
点亮兵书——《筹海图编》《海防图论》
电子海图在内河船舶综合导航系统中的应用探讨