APP下载

基于AutoCAD的高程点和等高线快速赋值软件设计与实现

2014-07-25林春峰

铁道勘察 2014年6期
关键词:等高线赋值交点

林春峰 程 昂

(中铁二院工程集团有限责任公司,四川成都 610031)

基于AutoCAD的高程点和等高线快速赋值软件设计与实现

林春峰 程 昂

(中铁二院工程集团有限责任公司,四川成都 610031)

设计并实现了一种基于AutoCAD平台的高程点和等高线快速赋值软件,该软件能够实现高程点自动、批量赋值。针对等高线赋值,提出了“区分计曲线和首曲线,先程序自动、后人工交互”的作业模式,该模式可以使用已赋值的高程点实现计曲线快速赋值,然后利用已赋值的计曲线对首曲线赋值。在实现过程中考虑了实际作业习惯,提供多级检查机制,确保各环节各类数据赋值正确无误。工程实践证明,该软件能够极大地提高生产效率,降低错误率。

高程点 首曲线 计曲线 赋值

地形图中,高程点和等高线是表示地形地貌非常重要的地理实体要素,分别以带有高程值的注记和带有不同宽度的曲线来表示。在AutoCAD中,有时表示高程点和等高线实体的块和线元素本身没有高程信息。基于AutoCAD软件设计并实现了一种针对数字地形图中高程点和等高线赋值的软件,能够根据数字地形图中包含的相关信息快速实现高程点和等高线赋值工作。

1 数字地形图数据分析

工程应用中,数字地形图通常以AutoCAD软件所支持的DWG格式存储,DWG数据中包含点、线、块、填充、圆、弧、注记等实体类型,且包含图层。一个图层中可以包含一种实体类型,也可以包含多种实体类型[1-3]。

高程点和等高线是数字地形图中两种非常重要的地理实体要素,能够表示地形地貌特征。在DWG数据中,高程点通常以“块”或“块+注记”的形式存在于图面上[4],即:块在地形图中的平面位置表示高程点实际所在的平面位置,注记的内容即为高程值,块和注记实体本身的高程值为0,高程点赋值的目的就是将注记内容表示的高程值赋予块和注记实体。

在DWG数据中,等高线分为首曲线和计曲线两种,都是线实体类型,不同种类的等高线按照图层和线宽区分。未赋值的等高线,本身实体对象的高程值为0,在工程应用时,等高线高程值的判读需要根据其周边高程点、等高距等要素人工判识。等高线赋值的目的就是将表示等高线的线实体对象的高程改正为正确的高程值。图1为高程点和等高线在数字地形图中的形式。

图1 高程点和等高线

图1中,红色粗线为计曲线,黄色细线为首曲线,白色块和注记为高程点。根据计曲线是加粗首曲线,且高程值为10的整数倍[5]等特性,可以根据图面上的高程点对计曲线高程值进行判断;首曲线则可以根据判断完成的计曲线进行判断。

2 实现思路

高程点和等高线赋值有两种作业模式:一种是人工模式,即通过人工方式,逐个逐条的录入高程点和等高线的高程值;另一种是半自动模式,即针对等高线由人工指定起始等高线,根据等高距及高差,自动通过空间关系完成等高线的高程赋值[6,7]。第一种模式工作量巨大,在生产中基本不予采用;第二种模式虽然部分实现自动化,但仍需人工干预,特别是出现地貌突变或等高线因为注记压盖等因素断开等情况等,自动赋值往往失败。

常见的具有高程点和等高线赋值功能的软件有GeoWay、MapGis、清华山维等,但是采购软件具有较高成本,且不一定符合本单位的具体需求。因此,设计了一种基于AutoCAD软件的高程点和等高线快速赋值软件,软件能够全自动实现高程点赋值,然后根据已赋值的高程点信息构建TIN,利用TIN和计曲线的空间关系及计曲线的特性对计曲线进行自动赋高程值,并提供对计曲线高程值进行检查的功能,确保计曲线赋值完全正确;最后,根据已赋值的计曲线对首曲线进行交互式赋值。软件实现流程如图2所示。

图2 高程点和等高线赋值流程

2.1 高程点赋值

数字地形图中,高程点一般是由“块”或“块+文本”注记的形式存在,且是单独存放于一个图层。“块”或“块+文本”在数字地形图上的平面位置为其真实的平面位置,高程信息则存储于图面的文字信息中,高程点赋值就是将图面中文字信息中存储的高程值赋给“块”或“块+文本”。实现流程如图3所示。

图3 高程点赋值流程

高程点赋值可以通过程序自动完成,无需人工交互操作。

2.2 计曲线赋值

计曲线为加粗等高线,其高程值一般为10的整数倍,且单独存放于一层。利用该性质,可以通过已经赋值的高程点数据对其赋高程值。

(1)高程点构建TIN。构建的TIN能够反映数据范围内地形的整体情况。

(2)取一根计曲线,获得其与TIN三角形边的交点,并计算交点的高程值,具体计算方法如下:

假设某条等高线与TIN中某边(顶点A和顶点B,并已知其平面坐标)的交点为J,点A的高程值为Za,点B的高程值为Zb,如图4所示。

图4 计算交点高程值

可以通过计算得到:点A到点B的距离为Dab,点J到点A的距离为Dja,则点J的高程值Zj可以按照“权重与距离成反比”的原则进行计算,即为

(1)

(3)按照式(1)对等高线上所有的交点进行计算,图5为等高线与TIN交点示意。

图5 等高线与TIN相交

(4)对交点高程值进行统计。

统计时,可以设置区间{……[-15,-5),[-5,5),[5,15),[15,25),[25,35)……},统计交点的高程值落入哪一个区间,计算方法如下:

首先按照式(2)计算交点高程值所在的区间索引值,每一个区间索引值对应一个前闭后开的区间

(2)

其中,(int)Math.Floor(m)函数的意思为取小于m值的最大整数部分数值。

区间索引值与区间所对应的高程值关系为

(3)

最后统计出每一个区间中交点的个数,图5所示的计曲线与TIN交点统计结果如图6所示。

图6 交点统计结果

(5)对所有计曲线进行(2)-(4)步骤的操作,这样就完成了计曲线赋值操作。

由于地形突变、高程点位置分布不均匀等因素,通过程序自动进行计曲线赋值时,部分计曲线赋值会出错,需要进行改正。设计了一种交互式计曲线赋值错误查找、改正的方法,即提供对等高线交互式注记的功能,在数字地形图上注记已经赋值的计曲线,通过显示出的高程值与周边高程点进行快速判定计曲线是否赋值正确,若不正确,立即改正。图7为计曲线注记结果。

图7 计曲线注记结果

2.3 首曲线赋值

因为首曲线是在相邻两条计曲线中线的基本等高线,利用已赋值的计曲线对首曲线进行交互式赋值,即:拉选一组计曲线,获得相邻两条计曲线中间的首曲线,按照等距的原则将这两条计曲线的高程值分配给首曲线。

假设相邻两条计曲线分别为J1、J2,其高程值分别为Zj1和Zj2,J1和J2中间有n条首曲线分别为S1、S2……Sn,拉选线方向为J1-J2方向,如图8所示。

图8 交互式首曲线赋值示意

则首曲线Si(i∈{1,2,3...,n})的高程值为

(4)

依次拉选所有计曲线,则可以完成对首曲线的赋值。

3 软件实现

工程用数字地形图一般以AutoCAD软件的DWG格式存储,且AutoCAD软件提供开发接口,支持插件开发[8,9]。因此,以AutoCAD为基础平台,采用其提供的ObjectArX.net开发接口进行高程点和等高线赋值软件的实现。

依照上述高程点赋值的实现思路,设计了如图9所示的“高程点赋值”工作界面,只需要指定待赋值的高程点所在的图层和数据源,即可进行自动赋值。

图9 高程点赋值界面

图10为计曲线赋值的工作界面,在该工作界面上,需要选择高程点图层、高程点类型以及待注记计曲线所在的图层信息,就可以对计曲线进行注记。

图10 计曲线赋值

图11为通过计曲线为首曲线赋值的工作界面,只需要设置计曲线和首曲线所在的图层,然后利用交互式的方式在地形图中拉选成组的计曲线,则可以实现首曲线赋值。

图11 首曲线赋值

4 案例分析

某铁路工程项目收集到了90幅、约2 250 km2数字地形图数据,高程点和等高线未赋值,为了工程设计需要,需要对高程点和等高线进行赋值。采用高程点和等高线快速赋值软件进行数据处理。由于高程点赋值可以实现自动、批量处理,因此耗时较短,且正确率为100%。计曲线赋值分为自动赋值、交互式检查和交互式赋值三部分,由于针对作业习惯提供了相应的检查和赋值功能,交互式方式较手动方式效率有较大的提高。首曲线赋值则是在计曲线赋值的基础上进行交互式操作,可以一次选择多条计曲线,效率也较高。经过多人较短时间作业,为该项目提供了确实可靠的地形图成果。

5 结束语

提出了针对高程点和等高线赋值的完整的解决方案,设计的算法思想简便,计算简单,易于实现编程,且符合作业流程习惯,具有很高的实用价值。在开发软件时,需要考虑算法优化,才能使得作业效率更高。

[1] AutoCAD R13/R14/R2000 DWG file Spercification Version 2.0. Published by OpenDWG Alliance[EB/OL]. www.openDwg.org 2002

[2] 孙炎,罗晓沛.基于DWGDirect实现AutoCAD 与ArcGIS的数据交换[ J].计算机工程与设计,2009,30(7)

[3] 陈能,施蓓琦.AutoCAD地形图数据转换为GIS空间数据的技术研究与应用[J].测绘通报,2005(8):4-17

[4] 段琪庆,席志芳,郝光荣.高程点与等高线快速赋值方法设计[J].济南大学学报:自然科学版,2005,19(4):346-350

[5] GB/T 202571—2007国家基本比例尺地图图式第一部分:1∶500 1∶1000 1∶2000地形图图式[S]

[6] 梁佳,魏金占,韦俊部.一种实用的等高线高程自动赋值方法研究[J].科技资讯,2013(16):39-41

[7] 安如,张琴,贤荣,等.长江河道AutoCAD数据转换为GIS数据的方法[J].河海大学学报:自然科学版,2009,37(5):523-528

[8] 杜刚,刘学东,张磊.基于ObjectArx的AutoCAD二次开发及应用实例[J].机械设计与制造,2004(3):30-32

[9] 于萧榕,郭昌言,陈刚.结合Objectarx和C#进行AutoCAD二次开发框架的研究[J].科学技术与工程,2010,10(20):5085-5090

BasedonAutoCADElevationPointsandContourFastElevationvalueAssignmentSoftwareDesignandImplementation

LIN Chun-feng CHENG Ang

2014-09-29

林春峰(1987—),男,2011年毕业于武汉大学遥感信息工程学院地图学与地理信息系统专业,工程师。

1672-7479(2014)06-0011-04

P284

: A

猜你喜欢

等高线赋值交点
等高线地形图的判读和应用
地形图的阅读
阅读理解
一种基于Fréchet距离的断裂等高线内插算法
强赋值幺半群上的加权Mealy机与加权Moore机的关系*
借助函数图像讨论含参数方程解的情况
算法框图问题中的易错点
试析高中数学中椭圆与双曲线交点的问题
“等高线地形图的判读”专题测试
利用赋值法解决抽象函数相关问题オ