摘 要:随着AutoCAD在测绘制图中广泛的应用,利用AutoCAD定制实现航测调绘的数字化生产。本文主要分析了航测调绘中的不依比例尺、半依比例尺和依比例尺地物符号的清绘要求,利用AutoCAD定制实现快速和规范地完成航测调绘。
关键词:AutoCAD 定制 航测 调绘
中图分类号:P2文献标识码:A文章编号:1672-3791(2012)09(a)-0001-02
航测调绘过去是采用小笔尖加玻璃棒进行绘制的,根据比例尺缩放其尺寸,其作业时的速度、出错率以及可修改性等是重点关注的要素。这里利用AutoCAD定制,通过Visual LISP程序的开发,达到快速和规范地完成航测调绘的目的。
1 分析与实现
1.1 分析
AutoCAD是已经广泛应用于测绘、房地产施工图设计以及机械等绘图领域。通过AutoCAD定制,可以在航测调绘清绘中省时、省力、较好地完成。在AutoCAD中,可以将不依比例尺符号按图式的要求做成块,需要时插入块,即可完成清绘;对于半依比例尺或依比例尺地物符号可以用手工方法或利用AutoCAD二次开发的形式半手工方法进行。
1.2 实现
以数字正摄影像图(DOM)为蓝本,喷绘出适当比例尺的DOM作为航测调绘的工作底图,利用AutoCAD平台进行清绘。通过AutoCAD编辑和对它的二次开发,完成航测调绘的清绘工作。
1.2.1 不依比例尺地物的清绘
不依比例尺地物在航测调绘中只用符号表示。按要求预先在AutoCAD中绘制好各种符号,设置其插入的坐标(一般以0,0,0坐标设定在符号的对称中心或底部中心),并保存为块或文件。需要时把相应的块或文件插入AutoCAD中,归入相应的地物层,按相应的比例尺缩放;如插入的符号需要旋转的,加以旋转即可(如灌木丛),如图1。
1.2.2 半依比例尺地物、依比例尺地物的清绘
航测调绘中,除了不依比例尺地物外,还有线状地物、面状地物等半依比例尺和依比例尺地物。
(1)线状地物。
一般线状地物,如道路、水系、管线、篱笆、栏杆、坎、境界等。
1)对于类似境界、篱笆、栏杆、坎等地物,可以先设置线型,然后利用AutoCAD的内置命令“LINE”或者“PLOYLINE”,如果画出后是反向,则可以写将其反向的程序,用“entget”函数取得其序列号中的坐标串、用“subst”函数将其替换和“entmod”函数进行刷新,并保留其原来的其它属性值。操作方法是:①LINE:将LINE的两个端点分别取出并用“ subst newitem olditem list”函数进行替换。点1的坐标换成点2的坐标,点2的坐标换成点1的坐标,最后用“entmod elist”进行刷新,如图2a。②PLOYLINE:将PLOYLINE的各个顶点和圆弧参数取出分别存在各个集合中,并求出顶点的个数n,以循环顶点的个数n次的方式,按逆序的方法取出顶点坐标和圆弧参数,再用“subst newitem olditem list”函数进行替换,直至替换完毕,最后用“entmod elist”进行刷新,如图2b。
2)对于无法直接用AutoCAD的内置命令加线型绘出的地物,如管线、交通、柱廊等,则应写出相应的子程序来完成。以绘制铁路为例,提示操作员绘出曲线,按设计的间隔距离依次取出曲线所有坐标,并进行曲线拟合后绘出光滑曲线。根据所给出的铁路宽度,分别绘出两边平行线,并删除原曲线;再依据填黑的间隔对两边线进行分段,绘出垂线。循环地间隔一段进行填充,即完成铁路的绘制。
(2)面状地物。
航测调绘中,另一个侧重点就是一些类似斜坡、台阶等面状地物。AutoCAD中,无法用其内置命令一次性较好地完成。利用AutoCAD的二次开发,可以完成面状地物清绘,下面以斜坡和台阶为例介绍。
①斜坡。
先计算曲线的长度。先计算出曲线端点的参数,函数为“setq dist_end vlax-curve-getEndParam object”,然后计算出曲线从开始到指定参数的曲线段的长度,函数为“setq dist(vlax-curve-getDistAtParam object dist_end)”。然后依据AutoCAD自动侦测到图形比例尺,确定长短斜坡坎线间隔,计算出斜坡坎线的大概数;并进行比较取出适当数,计算间隔。再分别计算各条斜坡坎线出坡顶、坡底的坐标。函数为“setq xy(vlax-curve-getPointAtDist object( * 5 nn))”,式中的nn为第几条斜坡坎线,5为每5m绘制一条斜坡坎线,也可改为其它数值。同时计算出方位角和距离,计数器为奇数时直接绘出直线;当计数器为偶数时,取距离为原距离的1/3,计算另一点的坐标,绘出直线直至绘制完毕。最后当绘制出的斜坡扭曲时,删除原绘制的直线,将斜坡底线按(1)中线状地物中的反向后,重复第三步即可完成斜坡的修正。如图3a的斜坡。
②台阶
台阶与斜坡的设计理念类似,只是将绘制斜坡坎线换成绘制台阶的级阶线。如果扭曲,处理方法和斜坡扭曲相似。如图3b。
1.2.3 线型
有些线状地物无须进行程序设计时,可通过对线型设计绘制出相应的图形。但AutoCAD的线型文件“acad.lin”、“acadiso.lin”中,线型往往不能满足地形图图式中的要求,解决的办法就是向其文件中写入一些需要的线型,以供绘图需要时调用。
1.2.4 其它
(1)符号的填充。
①房屋、街区等区域填充斜阴影线等符号。
地形图图式要求超高层房屋区要用斜阴影线填充。将超高层房屋区用真实坐标的封闭区间线圈出,用“BHATCH”命令调用边界图案填充,选择好要填充的样例和比例,再选择封闭线,即可完成斜阴影线的填充。
②植被、地貌区域填充符号。
一些植被、地貌区域需要用符号均匀、成品字形填充,在图上的间隔是横、纵向均为5.0mm。AutoCAD内部命令一般无法快速完成,需要进行程序设计以达到快速、准确的目的。这里假设有个封闭多边形不规则区域需要填充。
设计思路:取出各顶点的坐标X,Y存在不同表中,用函数“min”和“max”求出所有顶点的X、Y值的最大、最小值。接着用X、Y值的最大、最小值设定一个矩形,并以Xmin,Ymin为起始点,以5.0mm×比例尺的间距进行填充,并把填充地物添加到一个表list1中,直至完毕。然后用全部顶点建立的表搜索封闭多边形不规则区域中填充的地物,分别添加到另一个表list2中。再循环地取出表list1中的地物,与表list2对照,判断其是否在表list2中,如果不在其中,放在表list3中。最后所有表list3的地物都属不在封闭多边形不规则区域内,将其全部删除,即完成填充。
(2)河流名称的注记。
河流名称的注记,需用斜体字标注。如“闽江”,利用“properties”命令,在其属性中进行修正。设计思路:设置图层,写入注记“闽江”,取出其序列中的“(51.0.0)”,向西倾斜15度,则需改为“(51.6.02139)”;用函数“(subst newitem olditem list)”进行替换,并用“(entmod elist)”进行刷新。
2 结语
利用AutoCAD定制优质高效地完成航测调绘工作,有利于外业工作人员更进一步了解内业成图方法和对正射影像图的识别,从而实现航测内外业一体化工作。
参考文献
[1] 康博.中文版AutoCAD 2002/2000 Visual LISP开发指南,2001,8.
[2] 国家技术监督局GB/T20257.2-2006国家基本比例尺地图图式第2部份1∶5000 1∶10000地形图图式,2006.
[3] 国家技术监督局.GB/T13977-92 1∶5000.1∶10000地形图航空摄影测量外业规范,199