一种自动检查并修改高程点Z值的方法_第1页
一种自动检查并修改高程点Z值的方法_第2页
一种自动检查并修改高程点Z值的方法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、a method of automatically checking and modifyingthe elevatbn point" s z valueqian ychong摘 要:本文介绍了运用aumisp语言编写程序对高程点z值进行自动检查并修改的方法。 矢键词:高程;高程点;au此isp1问题的提出高程是地形图的地形要素之一,由高程点和高程 注记组成。在数字化地形图中,高程点应具有三维值, 即x、y、z值,其中z值代表高程点的高程。地形图仅 仅用于制图时,高程点的z值一般通过高程注记表达。 在利用地形图进行土方计算、地形图入库、建立devi 等工作时,则需用高程点的z值实现,

2、其值必须准确。 在我们的实际工作中,数字化地形图的高程经常出现 以下几种情况:(1) 高程点的z值与高程注记不一致。通常情况 下高程注记是正确的,高程点的z值是错误的。(2) 只有高程注记,而无高程点。(3) 只有高程点,而无高程注记,并且无法判断高 程点z值的正确性。对于以上几种情况,如果我们靠手动对每一个高 程点进行检查和修改,确实费时费力,而且还容易漏 查。对于是aubcad格式文件或者可以转换为aub2 cad格式的文件的地形图,可运用aut)cad的二次开 发语言aut)lisp编程进行高程点z值的自动检查并 修改。2程序设计思想通常情况下地形图屮的高程注记是正确的,因出 可以高程注

3、记为基准,対每一个高程注记与其周围 程点投索半径为实际工作中高程注记的可能移动范 围)的z值进行差值比较,如果该差值小于设定的限 值,则认为该高程注记有高程点并且该高程点的z 正确。如果大于设定的限值并且周围无高程点则给 程注记加高程点,如果有高程点则需人工判断是修 高程点的z值还是重新加高程点。限值的选择和高 注记保留的小数位数有关,如果是两位小数位,限值 选0101,如果是一位小数位,限值可选011,也可以 据实际情况自行选择。通过以上工作可以解决前面 出的问题1和问题2。对于问题3,我们要反过來进行比较,将地形图 每一个高程点的z值与该高程点周围的高程注记( 索半径同上)进行差值比较,如

4、果该差值小于设定的 值则认为该高程点的z值正确,如果大于设是的限 则认为高程点的z值错误,将该高程点删除。3程序实例下面提供解决问题1和问题2的程序的清单, 大家参考,其他程序可参照该程序做一下修改即可 该程序屮高程所在的图层设为“gcd“,搜索半径 1 :50哋形图设定,程序如下:(deftin c: gcdjc ()(seh-ar h cmdccho” 0)(write - line ”欢迎使用高程点自动检查与修改程序! ”) (setq ent (ssgeth xh x (8. n gcdn) (0 m texf ) (if ent(piogn(canmand "zoom&qu

5、ot; m eh)(command n layermgcd)(setq ent_lengtli (sslengtli ent)(setq cnt_nunbcr 0)(rcpcat cnt_ length(setq ent_n<me ( ssname ent ent_number)(clgcd);调入高程点检查与修改子程序(setcj ent_nunber (1 + ent_nimber)(command h layerm0)(command 11 zoomh 11 e” )(write - line ”高程点检查修改完毕!-)(defbn clgcd ();高程点检查与修改子程序(set

6、q data (entget ent_nane)(setq tex (edr (assoc 1 data);取得高程注记文本值(setq p (edr (assoc 10 data);取得高程注记文本位置坐标(setq pl (polar p (3 1. 25 pi) 710);设置搜索范围pr (polarp (3 (1 25 pi) iq 0)(setq ent - p ( ssget " w" pl pr '(0 . h point") (8 ." ged")(if ent - p(p ingn;注记周围有高程点(setcj p_

7、length ( sslength ent p)(setq p_number 0)(setq p_data (entget ( ssname ent - p p_niniber);取得高 程点的数据念(setq gedz (rt)s (cadddr (assoc 10 p.data) ) 2 2)(setq wc ( - (at)f gedz) (aiof lex)(while (and ( > = (abswc) q 01) ( < pniimber (1 plength);对周围搜索到的高程点进行差值te较'(setq pnunber (1 + p_ninnber)(s

8、etq p_data (entget (ssname ent p p_nimbcr)(setq gedz (rtos (cadddr (assoc 10 p_data) )22)(setq wc (anf gedz) (at)f tex)(if ( > = (abswc) (1 01)(piugn(comm and h zoanh pl pr)(write - line ”无匹配高程点,请选择需要修改的高程点, 不选择则自动加点.”)(rcdrav cnt_nanc 3);加亮显示待处理的高程注记(setq p.scl (ssget);交互式获取需修改的高程点(redraw* ent_n

9、ane 4);取消加亮显示(if p_sel(piogn(setq sei (entget ( ssname p_sel 0)(setq x (cadr (assoc 10 sei)y (caddr (assoc 10 sei)(setq zb_new (list 10 x y (anf tex)(setq sei (subst zb_new (assoc 10 sei) sei) (entnod sei)(jiaged)(command ” zoomm n eh)(jiaged);注记周围无高程点则fl动加点)(defun jiaged ();加高程点子程序(setq p xy (polar

10、 (polar p (3 q 5 pi) q 5) pi q 8)(ctmmand "point” p xy)(command “change” ” 1p” (atof tex)4结语以上程序虽然比较简单,但在我们利用地形图dbv1和土方计算屮确实起了很大作用o通过将该稻 作修改还可以实现很多其他功能,比如将数字转荻 程点、批量修改高程点、高程系统间高程转换等功能参考文献hi郭朝勇等 autocad r14(中文版)二次开发技术.清华大学出版社,1999.12j二代龙震工作室.aumcad 2000系列程序设计基程山东:济南出版社,200(1(±接第57页)(5)在文件的第一行插入点的总个数,便得到了 开思(scs)测量成图软件所需的标准格式。3结语wool是大家都非常熟悉的,绝大多数计算机初 有。利用表格与文字的相互转换功能实现数据文件笊 格式转换,简单易学,操作灵活、方便,对于topcon全 站仪这种格式的数据尤其具有明显优势。对于蔡司 (elt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论