基于Visual LISP 的河道测量工具箱设计及应用

2023-08-09 08:25王浩森王新涛
山东水利 2023年6期
关键词:工具箱中心线高程

王 硕,王浩森,王新涛

(济南市水利建筑勘测设计研究院有限公司,山东 济南 250099)

对于上百公里的河道,断面数据量非常大,手动量取容易出错且处理效率低,同时还不利于数据成果的整理和检查。因此编写河道测量工具箱,提高断面数据处理的效率和准确性是非常必要的。本文从实际工程应用需求出发,对基于Visual LISP 语言的河道测量工具箱程序设计开发进行阐述。

1 Visual LISP 语言简介

Visual LISP 是一种强大的编程语言,使用方便、开发速度快、方便调试,为AutoCAD 软件提供了快速简洁二次开发的途径,使用户能对AutoCAD 软件充分进行二次开发且不受软件版本限制,通用性好。

2 数据处理工具箱程序设计

2.1 工具箱菜单程序设计

创建原始菜单文件(*.mnu)用来记录菜单的结构功能,方便用户根据不同作业需求调用相应功能。

2.2 线路里程标注程序设计

在河道测量之前需要进行河道断面线布桩,一般是先搜集河道的相关资料,在原始地形图上提取河道中心线。在南方CASS 软件中将断面线按照一定的间距进行断面线布置,流程如图1。

图1 线路里程标注流程图

2.3 单断面手动提取程序设计

山区河道或途径居民区的河道实际地形往往比较复杂,断面高程点提取需要根据实际地形逻辑关系甄别提取,因此需要根据所测地形图对每个点进行筛选,其流程如图2。

图2 单断面数据提取流程图

2.4 全线路断面自动提取程序设计

根据断面长度和高程点个数计算出断面采样点之间的距离,以此为基础进行采样计算,其处理流程如图3。

图3 全线路断面数据自动提取流程图

3 程序的实现与应用

徒骇河济南段起点位于济阳区与德州搭界处,自济阳区太平乡入济南境,终点位于商河县与惠民县搭界处,东北流经商河县展家乡出济南境,河道全长65.57 km,流域面积1 418.22 km2。河道测量区域呈现条带状,横跨济阳、商河两县,河道平均宽度约500 m,测量范围宽度约900 m,相对于河道全长,河道宽度相对较小,测量范围总面积约40 km2。徒骇河防汛治理工程是济南市骨干河道防洪治理工程重要组成部分,测量作为前期工作时间紧、任务重,需要提交全长65.57 km的河道两岸1∶1000 地形图成果和每间隔100 m一个的断面成果。断面测量工作包括589.5 km横断面和196.5 km 纵断面。按照勘测设计总体工期安排,测量成果需在一个月内提交。面对时间和工作量的双重考验,急需实现测量数据的自动处理,以便准确无误按时提交测量成果。利用Visual LISP 语言开发的河道测量工具箱处理河道测量数据,大大提高了作业效率和测量精度,帮助技术人员按照计划工期完成了测量任务。

3.1 工具箱菜单的应用

菜单程序文件编辑完成后,在AutoCAD 平台加载,具体步骤为:在AutoCAD 命令行键入“menuload”,点击“浏览”按钮,加载河道测量工具箱原始菜单文件。通过上述操作后,就会在南方CASS 软件的菜单栏增加一项下拉菜单。最后再把程序代码添加到AutoCAD 软件启动项,在命令行输入“appload”,添加模块程序代码,这样就完成了启动菜单的建立。

3.2 线路里程标注的应用

程序代码编写完成后,将其命名并保存为“线路里程标注.lsp”,调试无误后,在Visual LISP开发平台上编译,编译后的文件类型为“线路里程标注.vlx”。具体操作步骤为:打开南方CASS 绘图软件,选择河道测量工具箱定制菜单的“线路里程标注”按钮,定义起点和河道中心线,根据提示输入断面线间距和长度。该项目河道断面线间距设置为100 m,然后软件便可自动给整条河道进行间隔100 m 布桩。

3.3 断面提取的应用

对本工程需要的断面数据分别进行单断面数据提取和全线路断面数据自动提取。

单断面手动提取程序代码编写完成后保存为“单个断面手动提取.lsp”,经过调试无误后,在Visual LISP 开发平台上编译,编译后的文件保存为“单个断面手动提取.vlx”。具体操作步骤为:打开南方CASS 绘图软件,点击下拉菜单“单个断面手动提取”按钮,按照提示点击河道中心线上的一点,然后在前进方向点击河道中心线的第2点,通过河道中心线上的两点求取河道中心线的坐标方位角,然后输入此断面的桩号,就可以依次提取断面线附近符合要求的断面点,拾取断面线附近能反映地形高度变化的特征点并计算这些高程点到河道中心线的垂直距离。在代码编程过程中要注意数学坐标与测量坐标垂直距离的互换计算。

全线路断面自动提取程序通过计算高程点处水深、距离等信息,得到断面的剖面线数据。在软件处理过程中利用之前线路里程标注生成的断面线和桩号等数据,通过识别桩号中的“+”符号读取桩号,点击河道中心线,求出与中线相交的断面线。外业测量断面允许断面点偏移断面线一定距离,这样可以提高外业作业效率。选择读取断面线附近5 m 范围内的高程点,算出这些点到断面线的垂足与河道中心线的距离,河道中心线处高程由河道两侧高程点内插求得。具体操作步骤为:打开南方CASS 软件,点击下拉菜单“全断面自动提取”按钮,设置允许限差为5 m,然后点击河道中心线。点击的位置一定要在河道桩号起点附近,随后断面数据会自动保存。

通过单断面数据提取和全线路断面自动提取得到的数据是一致的,以桩号22+800 横断面为例,使用水利百图软件生成横断面图如图4。

图4 k22+800 河道横断面图

4 提取断面精度分析

将徒骇河自动提取的横断面数据与实际断面线正确点位外业测量坐标数据进行精度对比分析,见表1。各项坐标误差满足《水利水电工程施工测量规范》(SL 52-2015)的限差要求。

表1 自动提取的横断面数据与外业测量数据结果对比 m

5 结 语

基于AutoCAD 平台利用Visua LISP 语言编写河道测量工具箱,可以实现2 个主要的功能。一是河道线路里程标注功能。打开AutoCAD 软件,在命令行输入程序唤起命令,点击河道中心线,输入断面间隔距离、断面线长度等参数,即可完成断面线的布置工作。二是断面数据的提取功能。根据断面数据的复杂程度通过Visua LISP 语言编写了两种断面数据的提取方式。一种是手动点击高程点提取断面,这种方法是通过点击高程点自动计算高程点至河道中心线的距离,数据经过处理后就会输出含有平距、高程的断面数据格式。这种方法工作量大,适用于一些地形复杂地区的断面提取。另外一种是全自动断面数据提取,通过点击河道中心线,程序就会自动提取断面数据,处理速度快,大大提高了内业数据处理的效率,适用于一般地区的断面提取。根据自动提取的断面数据与外业实测的断面数据进行分析,其精度满足规范限差要求,验证了工具箱提取断面数据的准确性,此工具箱具有较高的工程应用价值。

猜你喜欢
工具箱中心线高程
8848.86m珠峰新高程
基于MATLAB优化工具箱优化西洋参总皂苷提取工艺
GPS控制网的高程异常拟合与应用
第十讲 几何公差代号标注示例10
——目镜套筒
Matlab曲线拟合工具箱在地基沉降预测模型中的应用
X线摄影中中心线对DR摄影质量的重要性
基于Meanshift和Hough变换的秧苗行中心线提取
SDCORS高程代替等级水准测量的研究
回归支持向量机在区域高程异常拟合中的应用
搜狗分号工具箱 输入更便捷