基于AutoCAD二次开发技术的地形图地物要素匹配性检查

2012-09-22 10:01刘宓蔡欢刘小飞刘允刘阳
城市勘测 2012年2期
关键词:边线制图符号

刘宓,蔡欢,刘小飞,刘允,刘阳

(天津市测绘院,天津 300381)

1 引言

随着我国城市经济和社会的快速发展,地形图数据在城市建设中的重要地位不断突显出来,对其质量要求也在不断提高,这就促使地形图的检查工作不仅在标准上要有所变革,更要求在方法上有所创新。依靠程序自动、精确的检查方式代替人工、粗放式的检查手段是大势所趋,利用自动化的方法来查出以往人工检查中耗时、耗力且效果并不显著的“死角”问题是目前地形图检查技术研究的重点,而地物要素匹配性的检查正是这种“死角”问题之一。

2 技术背景

地形图数据是将真实地物符号化的表示,而对于数字地形图而言,要求简单地物——即通过单一要素表示的地物,如图1所示,要素属性应具有唯一性;复杂地物——即通过若干要素,如边线、配置符号、文本注记组合来表示的地物,如图2所示,要素属性要具有匹配性。

图1 简单地物

图2 复杂地物

在实际制图过程中,由于人为的疏忽或其他原因,对于复杂地物往往会出现这样的错误——使用“此”地物边线,而其内配置的却是“彼”地物符号或文本注记,也就是说配置符号或文本注记和其边线并不匹配现象,如图3中地物1和地物2相比较,从图面表示上看,并没有什么不同,但通过查询边线和文本注记属性信息,可以判读出图4中地物1水系边线和配置的文本注记均为“池塘”,即这两个要素相匹配,地物表示正确;而地物2中水系边线使用的是“淡水常年湖”,其内配置的文本注记是“池塘”,即边线和文本注记不匹配,地物表示错误,这种错误,往往受检查人员经验、生理条件的限制,通过人工检查效果甚微,这从而引发了对如何使用程序自动检查此类错误的探讨。

图3 制图表示

图4 属性查询

3 实现平台与方法

3.1 实现平台

目前,适于制作地形图的软件很多,地形图的成果格式也不尽相同,以天津市测绘院生产的地形图为例,成图软件采用的是天津市测绘院自主开发的“基础地理信息数据采集编辑系统”,该系统基于AutoCAD软件平台,成果数据为DWG格式。AutoCAD是一种开放体系结构的应用程序,用户和开发者可以利用各种方法定制AutoCAD以满足各自的需要。到目前为止,AutoCAD提供的编程语言主要有:AutoLISP、ADS、ObjectARX、VisualLISP、VB/VBA、.NET ARX等。因此,本文在研究的过程中选择了基于AutoCAD的二次开发环境编写程序实现对地形图要素匹配性的自动检查。

3.2 实现方法

在AutoCAD地形图制图中,复杂地物的边线和其相应的配置符号或文本注记之间关系相对独立,如果不是人为地通过一定技术手段将一复杂地物的边线和配置符号或文本注记之间建立某种特殊的属性以作关联的话,单从数据上讲,两者之间是无法直接获得相互关联性的,所以对于地物要素匹配性的检查就显得非常困难。但是通过对图面更加深层次地分析,可以看出边线和其相应的配置符号或文本注记之间,有一定的相对位置关系——配置符号或文本注记通常会放置在边线之内或是边线之间,如图5所示。对于实现用程序自动检查地物要素匹配性,我们正是利用了边线和配置符号或文本注记的这种相对位置关系。

图5 位置关系

(1)边线独立闭合的地物

这种地物在地形图上制图表示方式是,在图面上,要有独立闭合的边线,并在其内配置相关的点状符号或文本注记才可以完整地表示此类地物,如依比例尺蒙古包、依比例尺水塔、游泳池等。对于具有这种特点的地物要素匹配性的检查,在程序设计上主要是利用了边线和其配置符号或文本注记位置上的包含特性来实现的。

程序设计思路:

①通过编码(Thickness)来选取要检查要素匹配性地物的边线。

②读取边线的各结点坐标,如是圆形地物或含有弧的多段线地物,应按一定角度读取圆或弧上等分点坐标。

③使用AutoCAD的SelectByPolygon选择方式,按结点或等分点围成的范围选择配置符号或文本注记。

④获取选择到的配置符号或文本注记本质属性信息(配置符号的块名或文本注记的编码),将获取的属性信息和该地物在要素分类与代码表的要求进行比对,以判断和边线是否相匹配。

(2)边线非独立闭合的地物

这种地物在地形图上制图表示方式是,在图面上,其边线并不要求独立闭合或是依据实地情况其边线不存在独立闭合的可能,但为了便于图面判读,要在其内配置相关的符号或文本注记来完整地表示此类地物,如道路边线及其名称、铺装材料文本注记、双线常年河边线及其名称、水流方向等。

对于此类地物要素匹配性的检查较于边线独立闭合的地物其难度在于由于其边线并不独立闭合,其边线结点坐标并不能满足AutoCAD的SelectByPolygon选择方式程序设计要求,也就是说使用其边线坐标或等分点坐标并不能保证选择到其内的配置符号或文本注记,从而无法进行判读检查。但是,从图面来讲,一般距离配置符号或文本注记最近的实体就是和其相关的边线,对于这种边线非闭合的地物要素匹配性的检查,我们程序设计思想正是利用了边线和其配置符号或文本注记位置上的“距离最近”特性来实现的。

程序设计思路:

①通过符号块名或编码(Thickness)来选取要检查要素匹配性地物的配置符号或文本注记。

②获取配置符号或文本注记的插入点坐标,以插入点坐标为中心点,在图廓范围内做垂直于边线的直线。

③选择和所作直线相交的所有线性实体。

④通过IntersectWith方法,得到线性实体和所作直线的交点,通过对交点坐标的排序,得到距离配置符号或文本注记最近的线性实体。

⑤获取距离符号或文本注记最近的线性实体本质属性信息(一般为编码),将获取的属性信息和该地物在要素分类与代码表的要求进行比对,以判断其和配置符号或文本注记是否相匹配。

(3)程序设计中的其他问题

①对于上述两种地物要素匹配性的检查,都应考虑一些特殊情况,如处于图廓处的地物实体,要对处于特殊情况的实体,进行程序上的特殊处理,才能保证检查的完整性。以池塘为例,虽然边线在制图要求上是独立闭合的,其相关性的检查方式,可以采用第一种方式,但由于在实地中,有些池塘面积较大,可能会跨3幅甚至是4幅图,这时,对于处于图廓处的池塘边线而言,第一种检查方式不如第二种检查方式更有效。

②要做到程序优化,需要对每种要素匹配性检查地物的制图方法和表示方式进行充分分析,看其适用何种检查方式,将地物进行归类,以编制完备的程序外部参照文件。

③对于在程序中设置选择集时,要尽量将选择的条件设置更具体、更深层次,可以使选择到的实体更准确,判断的实体数目更少,也是优化程序的有效手段。

④使用AutoCAD提供的选择方式,对于DWG数据的质量要求较高,例如对于线性数据中若出现的结点往复,就会导致选择集的设置失败,因此,在制图时也应注意对数据规范化的处理。

4 结语

通过上述的检查方法,可以实现对大部分地物要素匹配性的程序自动检查,经过实践,这种检查方式,虽然不能百分之百的实现对地物要素匹配性的检查,但检查的正确率还是相对较高的,这大大提高了地形图的质量,为数据的入库、GIS数据、各种专题用图的制作提供了可靠的数据保证,也有效地减轻了检查人员的工作量,提高了检查工作的效率。

总之,上述的对地物要素匹配性自动检查方式的研究,还较为浅显,存在着不足之处,只是起到一个抛砖引玉的作用,但是随着对其研究地深入,将会在地形图的生产及应用中起到重要的作用。

[1]GB/T 20257.1-2007.国家基本比例尺地图图式第1部分1∶500、1∶1000、1∶2000地形图图式[S].

[2]GB/T 20258.1-2007.基础地理信息要素数据字典第1部分1∶500、1∶1000、1∶2000基础地理信息要素数据字典[S].

[3]李凤华.AutoCAD2002/2000 VBA开发指南.北京:清华大学出版社,2001

[4]郑小梅,邓小军.数字地形图质量检查系统研究[J].城市勘测,2004(5)

[5]张勇,王建国.浅谈数字地形图的制作流程及其质量检查系统[J].测绘与空间地理信息,2006(1)

[6]刘兴权,尹长林,牛续苗等.AutoCAD Map2000在图形接边中的应用[J].测绘工程,2003(01)

猜你喜欢
边线制图符号
海岸水边线提取方法在GF-2卫星影像中的适应性研究
学符号,比多少
无声手枪如何消音?
“+”“-”符号的由来
小明巡山记
变符号
二向反射模型在土地覆被制图中的应用
认识足球(六)
突破矩形上边线买入法(1)
图的有效符号边控制数