基于EPS脚本二次开发的河道断面测量数据自动化处理

2024-12-04 00:00:00樊乾和聂金华杨婷婷
水利水电快报 2024年14期
关键词:水文测验

摘要:为提高河道断面测量数据处理效率,减少人工干预,提升成果质量,以荆江险工河段堤防断面测量数据为例,基于EPS脚本编写了断面测量数据批量自动化处理程序。结果表明:基于EPS的VBScript脚本语言二次开发可有效提升断面测量数据处理的效率和成果质量,可实现断面起点距批量计算、数据检查、代码替换等全程优化作业。

关键词:EPS脚本二次开发; 河道断面测量; 水文测验

中图法分类号:TV82文献标志码:ADOI:10.15974/j.cnki.slsdkb.2024.S2.030

文章编号:1006-0081(2024)S2-0112-03

0引言

脚本语言是为了缩短编写-编译-链接-运行过程而创建的计算机编程语言,其过程通常是解释执行而非编译,具有简单、易学、易用的特性。EPS地理信息工作站是面向GIS数据生产、处理、建库更新的测绘与地理信息系统领域专业软件,目前支持C++、C# 等编程语言,以及VBScript/JScript等脚本语言开发,主要可实现EPS地理信息系统数据整理、数据转换处理等。EPS脚本以*.VBS或*.JS为扩展名,采用文本文件格式存储,无需编译即可在EPS平台中以菜单、工具按钮或命令行方式执行,对扩展程序功能,局部程序功能进行修改操作简便。EPS脚本实现了多项测绘常用数据处理方法,并可封装为函数,用户进行二次开发时可直接调用,不必再次编写实现过程,减少工作量,大大提高了编程速度。

河道固定断面测量是测绘工作的一项重要内容,固定断面的数据格式和图形样式多根据使用者需要而定,没有统一的标准要求。使用EPS脚本语言编写固定断面程序,可以直接引用EPS脚本语言封装函数,在基本固定断面程序上进行二次开发即可,能满足不同用户的需要。本文以荆江险工河段堤防断面测量数据处理为例,基于EPS脚本编写断面测量数据批量自动化处理程序,旨在提高断面测量数据处理效率。

1二次开发

SSProcess是平台常用数据处理接口,是与EPS地理信息工作站交互的主要入口,提供的操作、功能主要包括工程管理、选择集操作、图形编辑操作、数据整理、数据转换、坐标体系转换和系统设置等,固定断面程序二次开发主要利用该接口提供的函数进行编写。程序编写主要流程包括三维空间点及属性数据、断面属性数据导入,断面测量数据处理、断面图绘制及编辑等,详见图1。

1.1测点数据导入及编辑

测点数据导入及编辑主要包括外业测量的断面点导入EPS地理信息工作站,断面点属性数据的导入及编辑。固定断面陆上外业测量目前多采用全站仪和RTK测记方式,水下多采用GNSS定位、单波束测深仪测深方式。为了方便数据处理和查询,不同测量方式、不同记录格式的固定断面测量数据导入属性应包括:测点号、X、Y、Z、测点属性说明编码、测点精度、测量时间等内容。导入时应对测量精度值不高的测点进行处理,可以把测点属性说明换成标准的测点属性说明。EPS地理信息工作站的基本数据导入功能如果不能满足断面测量多源数据导入要求,需要用EPS脚本语言的CreateNewObj函数来创造点对象,完成测点信息导入工作。该函数的功能强大,导入的测点信息可以在EPS地理信息工作站界面上显示、修改、编辑,导入的点对象存放在EPS地理信息系统的数据库中,方便对测点进行管理和运用。

1.2固定断面信息录入

固定断面信息主要包括左右端点坐标、断面测量时间、断面方位角、断面测时水位等信息,这些信息可统一录入EPS图形文件中,在录入后也可对水位、测量时间等内容进行编辑修改。程序编写利用EPS脚本语言的CreateNewObj函数创建线对象,与创建点对象不同的是创建线对象时需增加一个端点,增加扩展属性用来存储断面水下、陆上测量时间、断面水位等内容。

1.3断面测量数据处理

断面测点和断面信息文件需录入到EPS地理信息工作站,经检查无误后就可进行断面测量数据处理工作。程序编写中使用了函数SearchNearObj,这是EPS脚本语言高度集成的一个固定断面处理函数,可以快速搜索断面上的测点并计算测点相对于断面端点的距离,即起点距。

固定断面测量数据处理使用SSProcess.XYSA函数,实现了平面坐标与极坐标的相互转换,开发过程中直接调用此函数计算更方便,程序更紧凑。程序中搜寻断面上测点和计算测点起点距都使用了该函数。

固定断面测量数据处理还调用了SortArrayByValue函数。该函数可实现多维数组排序,多维数组排序是固定断面测量程序二次开发中最为复杂的部分,在断面测量数据起点距计算之后的测点排序,查找断面最深点都可调用,降低了二次开发难度。

1.4断面图生成

EPS地理信息工作站是一款绘图工具,用EPS脚本语言的CreateNewObj函数来创建点对象、线对象、面对象和标注对象,SetNewObjValue函数设置对象属性,如代码、层、颜色等,最后调用AddNewObjPoint,AddNewObjLine,AddNewObjArea,AddNewObjNote函数将创建的对象添加到数据库中保存,完成对象的创建(图2),如此循环逐个创建生成断面图所需的对象就可以完成断面图的绘制。

断面图样式目前没有统一规定,多是根据甲方需要来作图,主要包括坐标轴、测点及断面线展绘、断面测量及相关信息标注等内容,需根据图幅大小及其他具体要求一一确定。其中较为复杂的是断面纵横比例尺的计算,通常有纵横比例尺一致的,但大多不一致,也有采用固定比例尺绘制断面图的,绘图时先根据纵横比例计算图形缩放比例系数,程序中给定一个参数即可。另外,断面图是在EPS地理信息系统中生成的图形,类似于地形图,生成的断面图可加载多测次历史数据对比,本测次的异常点结合测点信息可进行数据合理性检查。

1.5选择集操作

选择集是EPS地理信息工作站的功能之一,可对图形数据进行批量处理,对图形中的任何一个属性数据进行选择操作,可根据编码、颜色、线形、分层、创建时间等指定属性进行选择和处理。EPS脚本语言提供SSProcess接口,方便用户二次开发时调用,通过该接口,用户可编写程序实现选择集的各种操作功能。固定断面程序在对每个断面的点、线、面、注记对象以及对象属性进行操作时都要用到选择集操作,遵循先选择对象或属性进入选择集,后对选择集内容进行操作的原则,选择集的灵活应用是加工数据、编辑属性、生成图形、编辑图形的基础,而且操作极为频繁,也是二次开发中的常用功能和最为重要的基础操作。

2应用案例

荆江险工河段堤防固定断面测量项目要求40 m施测一个断面,陆上宽300 m,水下宽400 m,沿长江岸长5 km,断面按1∶500比例尺测量,测点间距不超过5 m。实际外业固定断面陆上测量采用RTK方式,测点属性采用简易代码标识,水下测量采用GNSS定位配单波束测深仪一体化测量方式,其他按照技术要求执行。

每日陆上测量结束后把测点导出成CSV格式文件,内容包括:测点号、X、Y、Z、测点属性编码、测点测量精度等。测点号按日期+测员代码+测点序号编写,方便以后查询;水下数据经水位推算后处理成(X,Y,Z)三维数据,同陆上一样转为CSV格式文件。CSV数据文件通过固定断面测点导入子程序,并导入到EPS地理信息系统,测点属性通过固定断面子程序在数据导入阶段统一替换成标准的测点属性说明,经过脚本处理后,格式整理为“断面号+起点距+高程+测点说明+点名”这样的标准断面格式。

先在文本编辑器内输入断面信息,断面测量时间和测时水位在数据导入之后可以继续修改,导入之前必须保证断面名、断面左右端点等信息无误,编辑完成后断面信息保存为CSV格式,用固定断面信息导入子程序,导入EPS地理信息系统。数据导入完成后进行合理性数据检查。

合理性检查内容包括:① 通过和历史固定断面测量数据平面位置对比、测点高程对比、测点说明属性对比等进行检查;② 通过对RTK定位精度不高的点高亮显示检查测点的可靠性;③ EPS地理信息系统内调入卫星图作为底图检查测点平面位置准确性及测点属性说明正确性等,特别是特征地物、地貌如公路边、护坡边、沟、堤、水边、房边等采用此种检查方式可排除大多数错漏。

合理性检查无误后调用固定断面测量数据处理子程序生成并展绘断面测量数据点,再用固定断面图生成程序绘制断面图,断面图内可套绘多测次历史成果,灵活应用选择集、软件编辑功能对断面图进行检查、清绘,形成最终成果。

3结语

本研究通过对EPS地理信息工作站脚本语言进行二次开发,实现了从测点数据导入至河道断面图绘制的全部功能。程序开发难度低,开发速度快;编写的程序功能完善、扩展性强。在数据合理性检查、图形清绘阶段还可利用软件自带功能实现人机交互,便于查找数据错漏,提高成图质量。

(编辑:江文)

猜你喜欢
水文测验
关于水利水电工程建设对水文测验工作的影响
河南建材(2020年4期)2020-01-11 09:23:28
新型水文测验GPS适配器设计与应用
水文测验工作面临的问题及措施研究
河南科技(2016年19期)2016-12-05 10:22:34
线性矩法在水文测验服务需求中的应用
人类活动对水文测验的影响与对策
水文测验工作发展制约因素及其有效出路探讨
提高水文测验水平探析
河北水利(2016年7期)2016-03-12 01:46:47
关于提高水利水电工程水文检测工作质量的措施研究
探究水利水电工程建设对水文测验工作的影响
山区河流水文测验中的问题及优化方案