专业提供论文发表咨询,国际出版,专利申请,英文期刊投稿咨询,SCI,SSCI,EI源刊,A&HCI,SCOPUS等高端学术咨询服务

推荐好友
扫一扫,关注最新学术知识和资讯

扫码关注公众号

职称驿站官方公众号

微信扫码加好友

职称驿站官方微信号
论文发表指导_期刊投稿推荐_期刊论文发表咨询_职称驿站

论文发表职称晋升 全方位咨询服务

学术出版,国际教著,国际期刊,SCI,SSCI,EI,SCOPUS,A&HCI等高端学术咨询

地形图面状地物封闭性检查程序的实现

来源:职称驿站所属分类:地质论文发布时间:2011-06-08 17:28:20浏览:

  摘要:在数字地形图生产的过程中,由于生产的规定不够严格、作业人员作业不规范等原因,造成数据在空间关系上存在各种错误,给数据后续利用带来隐患,必须对数据进行必要的检查。在检查的过程中,利用程序来实现检查,可以大幅度降低生产成本,提高效率,本文主要是在AutoCAD软件平台下,利用AUTOLISP语言编写程序来完成面状地物封闭性的检查。
  关键词:AutoCAD,数字地形图,面状地物封闭性检查,AUTOLISP语言,程序检查,实现
  0引言
  在数字地形图生产的过程中,由于生产的规定不够严格、作业人员作业不规范等原因,造成数据在空间关系上存在各种错误,给数据后续利用带来隐患,必须对数据进行必要的检查。
  在数字地形图数据结构检查的过程中,应用程序来实现检查,可以大幅度降低生产成本,提高效率,现在以AUTOLISP语言编写的面状地物封闭性检查程序为例,来谈谈自己的体会。
  数字地形图数据中,面状地物是指由封闭的线构成的闭合地物(如房屋、林地等),在GIS系统中由其封闭线构面,面状地物的不封闭直接导致构面拓扑分析错误。作业人员在绘图时由于操作错误或为保持图面的整洁将已闭合的图形断开(如文字注记与地物重合,地类界和其它地物重合等情况)。
  1实现方法
  面状地物是线形地物的闭合形式,因此构造选择集采用把所有线性地物都选择进来。首先提取实体的地物代码,根据面状地物代码索引表判断实体是否为面状地物,提取组码70的值,判断实体是否闭合。
  对于不闭合的面状实体一般采用下列两种方法处理:①对于首尾坐标相同的实体,去掉结尾点运用实体闭合功能使实体闭合。②对于首尾坐标不相同的实体,由于其情况比较复杂,一般不提倡采用自动闭合的方法,可以聚焦其实体,根据具体情况人工干预使其闭合。
  2程序主代码
  程序文件名:mzdwjc.lsp
  (defunc:check-close(/filenamefpone-lineIall-objlenone-nameone-datcordptp1p2flag-closeflagpline-typeflag2point-lst)
  (if(notout-lst)
  (prong
  (setqfilename“out.ini”)
  (if(not(findfilefilename))
  (prong
  (alert”没有找到索引文件OUT.INNn请设置正确的路径!!!”)
  (exit))
  (setqfilename(findfilefilename)))
  (setqfq(poenfilename”r”))
  (setqapp-lstnildel-flagnil)
  (setqone-lst(read-linefp))
  (while(and(/=one-lst”end”)(/=one-lst”END”))
  (setqone-lst(strtolst-newone-lst))
  (setqout-lst(consone-lstout-lst))
  (setqone-lst(read-linefp)))
  (setqout-lst(reverseout-lst))
  (closefp))
  )
  (setqI0)(setqs1(getvar”userr1”))
  (if(<s11)(setqs1500.0));图形比例尺;
  (command”layer”“m”“error”“”);建立层以存放标记实体;
  (if(noti-close)(setqi-closei)(setqII-close))
  (command“zoom”“e”)
  (setqall-obj(ssget“c”(getvar”extmin”)(getvar”extmax”)((-4.”<or”)(0.”POLYLINE”)(0.”LWPOLYLINE”)(-4.”or>”))))
  (if(notall-obj)
  (prong
  (alert”n当前图形没有任何实体”)
  (exit)))
  (setqlen(sslengthall-obj))
  (if(>i-closelen)(setqIlen))
  (repeatlen
  (setqone-name(ssnameall-obji))
  (setqpline-type(cdr(assoc0(entgetone-name))))
  (setqone-dat(entgetone-name’(“south”)))
  (setqcord(assoc-3one-dat))
  (setqcord(cdr(assoc1000(cdadrcord))));地码编码;
  (if(and(=nth2(assoccordout-lst))”2”)(or(=pline-type”POLYLINE”)(=pline-type”LWPOLYLINE”)))
  (setqpoint-lst(pline-pointone-name)))
  (ifpoint-lst
  (prong(setqpt(carpoint-lst))
  (setqpl(-(carpt)10)(-(cadrpt)10))p2(list(+(carpt)10)(+(cadrpt10)))))
  (if(=nth2(assoccordout-lst))”2”)
  (prong
  (setqflag-close(cdr(assoc70one-dat)))
  (if(=(remflag-close2)0)
  (prong
  (print”n面状地物没有封闭n”)
  (if(/=flag4)(setqflag(getint”n1:标记此地物;2:聚焦此地物;3:将地物强行封闭
  4:所有地物强行封闭<4>:”)))
  (if(and(/=flag1)(/=flag2)(/=flag3)(notflag))(setqflag4))
  (if(<=flag1)
  (prong
  (command”circle”pt(/(*s13)1000)0“此地物没有属性”))
  (if(=flag2)
  (prong
  (command“circle”pt5)
  (command“zoom”p1p2)(exit)))
  (if(or(=flag3)(=flag4))
  (prong
  (setqone–dat(subst’(70.129)(assoc70one-dat)one-dat))
  (entmodone-dat))))))))
  (setqI(1+i))
  (alert”面状地物封闭性检查成功”))
  3程序功能
  1)程序能对不封闭面状地物进行标记;
  2)程序能对不封闭面状地物进行聚焦;
  3)程序能对不封闭面状地物作强制封闭处理;
  4)程序运行速度较快,在数字地形图生产过程中,能够成倍提高生产效率。
  4存在的问题
  1)因程序用到OUT.INI文件,使用者需要对文件进行编辑,格式如下:

《地形图面状地物封闭性检查程序的实现》

本文由职称驿站首发,您身边的高端论文发表学术顾问

文章名称: 地形图面状地物封闭性检查程序的实现

文章地址: https://www.zhichengyz.com/lunwen/jianzhu/dizhi/9363.html

我们的服务
  • 稿件预审

    快速预审、投刊前指导、专业学术评审,对文章进行评价

    立即咨询
  • 润色编辑

    校对编辑、深度润色,让稿件符合学术规范,格式体例等标准

    立即咨询
  • 学术翻译

    适用于语句和结构尚需完善和调整的中文文章,确保稿件达到要求

    立即咨询
  • 文章查重

    数据库包括:期刊、文章、书籍、会议、预印书、百科全书和摘要等

    立即咨询
  • 期刊推荐

    让作者在期刊选择时避免走弯路,缩短稿件被接收的周期

    立即咨询
  • 稿件格式修改

    根据目标期刊格式要求对作者文章进行全面的格式修改和调整

    立即咨询
  • 协助提交稿件

    帮助作者将稿件提交至目标期刊投稿系统,降低退稿或拒稿率

    立即咨询
  • 投稿附言指导

    按照您提供的稿件内容,指导完成投稿附信(cover letter)

    立即咨询
未能解决您的问题?马上联系学术顾问

未能解决您的问题?

不要急哦,马上联系学术顾问,获取答案!

免费获取

职称驿站 www.zhichengyz.com 版权所有 仿冒必究 冀ICP备16002873号-3