[数字化成图的编程实现]数字化编程

  [摘要]测绘行业在软硬件方面都有了日新月异的变化。绘图工具从以前的手工绘图到现在的电脑绘图.比较常用的绘图软件有EPS清华山维, CASS等。测绘仪器也发生了很大的变化,从以前的光学仪器到现在的电子全站仪。测绘软件和仪器都更加人性化,更加快捷,方便,精确了。本文就侧重从清华山维和CASS这两个软件的自动连图编程实现简单介绍如下:
  [关键词]测绘;全站仪;编程
  Abstract:Great changes have taken in the surveying and mapping industry about hardware and software.Drawing tools developed from manual tools to computer graphics.CASS and EPS is commonly used.The surving instruments have great changed,developed from optical instrument to total station instrument.The sofware and hardware is moreconvenient and precise.This articles will introduction Digital mapping of programming about the software of CASS and EPS.
  Keywords:Surveying and mapping,Total station instrument,Programming,
  中图分类号:TN742.1文献标识码:A 文章编号:
  
  1.引言
   随着科技的发展,现在的全站仪越来越人性化,比较好点仪器的都有免棱镜的激光测量功能,这样大大提高了外业数据采集效率。如果使得内业的处理速度也得到相应的提高。这样就能整体提高整个工程的速度。但是眼下许多测绘人员的测图流程还是停留在用全站仪采点,采用画草图的方式,然后再根据草图进行内业成图处理。这样的工序无法和先进的全站仪匹配,并且浪费人力,物力,财力。如果采用内业自动成图方法,则可以大大提高工作效率。
  2.程序开发的基础和设计
   2.1 CASS的编码自定义功能
   由于CASS的自身的编码难记,外业操作起来不方便。所以可以根据自己的习惯来自定义编码。在CASS中很好自己定义编码,在CASS安装目录下的SYSTEM文件夹内有一个JCODE.DEF文件。其数据格式如下边所示:
   563,164400
   677,144301
   200,141101
   其中逗号前的是自定义编码,逗号后的是CASS自身编码。其中的563为内部道路,是清华山维的内部成图编码,164400是CASS的内部成图编码,可以去通过JCODE.DEF文件将这个两种编码结合起来。
   2.2 全站仪的数据结构
   现在的全站仪都是电子仪器,可以长期存储一定量的数据。等一天外业结束后,只需要把数据从仪器导出后就可以进行内业处理了。针对不同的软件,传输软件也会不同。本文以最常用的LEICA仪器为例。LEICA仪器的传输软件为Leica Survey Office。在这个软件中利用其中的格式编辑模块,编辑一个输出格式文件,然后利用传输软件中的数据交换管理器,把编辑好的格式文件导入到全站仪里边。以后每次外业结束后,回来传出数据的时候就可以按此格式文件来输出你所需要格式的文件。如图1所示,就是按需要格式输出的外业采点数据文件。
  
   图1外业采集数据文件
   其中563为清华山维内部道路的编码,677为围墙的编码,200为居民地的代码,都是清华山维的成图编码。编码下边的数据格式是点号,点的X Y坐标,高程值。一个编码及以下内容代表一个完整的连续的地物。如上图所示8~-14号点代表一段围墙。15~17号点是一栋房子的三个角点。
   2.3外业采集数据
   参照上边图1的数据传出文件可以看出,一个完整的地物应该按顺序依次采点。如果是同一个编码的地物有断开或者位置不同应该注意编码的断开(LEICA仪器直接回车下就可以)。如果是不同编码的地物应该注意对应编码的输入。按这样的方法外业采点,内业生成的图件只需要进行简单的连接和修整就可以了。
   2.4清华山维和CASS需要生成的目标文件
  
   图2 清华山维目标文件 图3 CASS目标文件
  这几个文件中的编码如,563,677,200,都是清华山维的编码。
   2.5程序的设计
   本次研究的绘图软件是清华山维和CASS两种。所以外业采集数据的时候用的编码全部都是清华山维的成图编码。经过软件转化把外业采集的数据直接生成可以在清华山维中直接连图的目标文件。如果要转成CASS格式需要先编辑CASS系统文件下的JCODE文件,如上面所述。然后直接利用程序把外业采集数据文件和JCODE文件联系起来,生成符合CASS系统成图的目标文件。
  3.程序的部分原代码
   转换原始外业数据采集文件到清华山维格式文件的部分代码:
  Do While Not EOF(1)‘进入循环对原始文件进行处理
  Input #1, jy
  If Right(jy, 3) = "1$1" Then
  biaoshi = biaoshi + 1
  If biaoshi = 1 Then
  wjt1 = Left(jy, 3)
  ElseIf biaoshi = 2 Then
  wjt2 = Left(jy, 3)
  Else
  End If
  If biaoshi = 2 Then
  转换清华山维数据采集文件到CASS三维格式文件的部分代码:
  CommonDialog1.Action = 1
  wjm = CommonDialog1.FileName
  bcwjm = "CASS" & CommonDialog1.FileTitle‘建立转换后文件名和路径
  Open bcwjm For Output As #1
  Close #1
  Open wjm For Input As #1 ‘进入循环对原始文件进行处理
  Do While Not EOF(1)
  Input #1, bm, ds, ch, ch
  For i = 1 To ds
  Input #1, dh, xx, yy, hh, ch, ch, ch, ch
  If i = 1 Then
  Open bcwjm For Append As #2 ‘对整理后的文件进行写入
  sch = dh & "," & bm & "," & Format(xx, "######.000") & "," & Format(yy, "######.000") & "," & hh
  Print #2, sch
  Close #2
  Else
  Open bcwjm For Append As #2
  sch = dh & "," & "+" & "," & Format(xx, "######.000") & "," & Format(yy, "######.000") & "," & hh
  Print #2, sch
  Close #2
  End If
  Next i
  4. 小结
   以上代码是用VB6.0编写的,本程序研究对象是清华山维,如需要转到CASS,可以用清华山维的标准格式转换成CASS的数据格式。清华山维格式的数据可以直接导入到软件中。CASS格式的数据可以先通过CASS绘图软件中的绘图处理―展野外测点点号―简码识别来进行导入。下面以一个测区的实际效果展示如下:
   数据文件如下(由于篇幅所限,数据有所精简):
  
   图4 清华山维格式数据图5CASS格式数据
   将图5的数据导入CASS软件后结果如下:
  
  图6 CASS格式的数据导入CASS软件中的成果
   通过图6可以看的出,所施测的区域的图已经通过软件大致连接好了。我们所要做的只是简单的把这些图形进行连接,封闭或者方向的调整等修补性质的操作。
  自动化成图最重要的一个就是外业数据的采集(这里针对LEICA仪器),采集的时候要把握是连续地物尽量不要换编码的这一个原则,不同地物或者同一地物有分段的时候才采取换编码。目的是为了保证内业自动化成图的完整性。好的外业采集方法可以大幅度减少内业处理的工作量。通过外业有规律的采集点,内业的自动成图,可以大幅度减少外业人员的投入和内业的数据整理时间,极大的提高了工作效率。
   参考文献:
  李玉宝等, 大比例尺数字化测图技术。西南交通大学出版社
  杨晶,VB6.0程序设计。科学出版社
  
  作者简介:龚锦源(1962-),男,在职本科学历,测绘工程师,从事工程测量,矿山测量。
   注:文章内所有公式及图表请以PDF形式查看。

推荐访问:化成 编程 数字