Excel在测绘工作中的应用_第1页
Excel在测绘工作中的应用_第2页
Excel在测绘工作中的应用_第3页
Excel在测绘工作中的应用_第4页
Excel在测绘工作中的应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、目录目录1摘要2关键词21 引言22 excel 应用于附合导线的近似平差计算32.1 创建表格和输入数据32.2 角度闭合差的计算及分配42.3 推算坐标方位角52.4 坐标增量闭合差的计算及分配52.5 解算各点坐标的最或然值53 绘制控制网图63.1 vba是什么?63.2 vba宏代码编辑63.3 宏代码控制cad完成展点114 excel在移动终端设备上应用124.1 quick office办公软件的功能124.2 如何用quick office在智能手机上处理测量问题135 结束语15摘要:工程测量的核心是数据处理,但其内业工作的确十分繁琐,涉及几何、三角函数等的算术运算和逻辑运

2、算。excel作为专业的电子表格,具有制表、计算、统计、逻辑分析等高智能化的强大功能。在工程测量数据处理过程中运用它, 能够很方便地处理如方位角反算、边长改化、简易平差、仪器检验表计算、沉降观测数据分析图表等,配合其它相关制图软件如autocad,能够实现自动展点、标注以及数据格式的转换,而在移动终端设备上使用excel,将能够实时地处理各种测量问题,具有广泛的运用前景。关键词:microsoft excel 附合导线平差 cad展点 quick office pda 智能手机1 引言microsoft excel是微软公司基于windows操作平台开发的一款微机数据处理软件,它具有丰富的表格

3、特性和强大的数据处理能力,界面清晰友好,能够方便地进行数据处理和函数运算。对于在测量工作中,excel 软件能够很方便地处理如方位角反算、边长改化、简易平差、仪器检验表计算、沉降观测数据分析图表等。excel能够以各种表格的形式直观地体现出计算过程与计算结果, 数据处理灵活多变, 很适应我们的测量计算, 能够非常轻松地取代计算器的所有功能, 使我们的工作能够达到事半功倍的效果。此外,借助excel还可以实现在autocad绘图软件中的自动展点、标注以及数据格式的转换等功能。2 excel 应用于附合导线的近似平差计算所谓附合导线,是指起始于一个已知控制点,而终止于另一个已知控制点的导线。利用它

4、进行附合导线的近似平差计算非常方便。鉴于附合导线左角观测和右角观测两种情况下近似平差的高度相似性,本例应用只编制左角观测情况的近似平差程序。若是右角观测,需要将右角观测数据转化为左角观测数据。工作思路: excel表格初始化,输入已知数据; 角度闭合差的计算及分配; 根据起始边的坐标方位角和改正后的转折角(观测值加改正值) 推算其余各边的坐标方位角; 坐标增量闭合差的计算及分配; 解算各点坐标的最或然值。2.1 创建表格和输入数据1.运行microsoft excel,新建一个文件,赋名存盘。本例文件名是“aact.xls”。本例附合导线示意图如图2.1所示。2.输入文字项目:行标题、列项目(

5、点号)和其他文本信息,这些文字信息为工作表中的各项值提供框架。根据表头提示输入观测数据和已知数据:角度观测值、边长观测值、已知点坐标和观测角中误差。如图2.3所示,虚线框内数据为观测数据和已知数据。设置单元格格式。图2.1 附合导线示意图3.数据预处理。若附合导线是右角观测,则先将角度观测值输入到“角度转换”模块的右角栏中。以右角=131°2344为例,左角为360-( b20+c20/60+d20/3600),单位为度。转化为度分秒形式,度值 f20= int360-(b20+c20/60 +d20/3600),分值 g20 =int(360-(b20+c20/60 +d20/36

6、00)-f20)*60),秒值 h20 =(360-(b20 +c20/60+d20/3600)-f20) *60-g20)*60。在这里,中括号表示对上个步骤中部分公式的引用,便于衔接理解,在excel中编制公式时,应将替换成()或略去。观测角度转换界面如图2.2所示。图2.2 观测角度转换界面2.2 角度闭合差的计算及分配1.解算ab边(起始边)和cd边(附合边)的坐标方位角。 由公式atan2(n6-n5),(o6-o5)求得ab边的坐标方位角(弧度制)。atan2()为x轴向北、y轴向东的笛卡尔坐标系下的反正切函数,根据正切值返回弧度值; 将上式转化为角度制mod(atan2(n6-n

7、5),(o6-o5)/pi()*180,360); 解算ab边坐标方位角的度值 f6= intmod(atan2(n6-n5),(o6-o5)/pi()*180,360),int()为取整函数; 解算ab边坐标方位角的分值 g6= int(mod(atan2(n6-n5),(o6-o5)/pi()*180,360)-f6)*60); 解算ab边坐标方位角的秒值 h6 =(mod(atan2(n6-n5),(o6-o5)/pi()*180,360)-f6)*60-g6)*60。同理解算cd边坐标方位角的度、分、秒值。2.求观测角之和 ,b13=sum(b6:b11)+sum(c6:c11)/60

8、+sum(d6:d11)/3600,sum()为求和函数。 图2.3 附合导线近似平差界面2.3 推算坐标方位角1.解算b-p1边的坐标方位角。为了简明叙述,记ab边的坐标方位角和b测站的观测角分别为0、1(弧度制),则0=(f6+g6/60+h6/3600)/180*pi(), 1=(b6+c6/60+d6/3600)/180*pi()。 b-p1边坐标方位角的度值 f7=int(mod(0+1-pi(),pi()*2) *180/pi(),mod()为求余函数; b-p1边坐标方位角的分值 g7=int(mod(0+1-pi(),pi()*2)*180/pi()-e7)*60); b-p1

9、边坐标方位角的秒值 h7 = (mod(0+1-pi(),pi()*2)*180/pi()-e7)*60-f7)*60。在编制上述三个公式时将0和1代入运算。2.选中f7:h7区域,拖动右下角十字拖柄至h12,依次自动解算出p1-p2、p2-p3、p3-p4、p4-c、cd等五条边坐标方位角的度、分、秒值。2.4 坐标增量闭合差的计算及分配1.计算、和,i13=sum(i7:i11),j13=sum(j7:j11),l13=sum(l7:l11)。2.坐标增量闭合差的计算。 j14 =n6+j13-n12, l14= o6+l13-o12。3.坐标增量闭合差的分配。在改正列第一个单元格里写入公

10、式 k7 =-i7*$j$14/$i$13,拖动k7右下角十字拖柄至k11,自动解算出其它边的改正值。同理解算改正列。4.评定精度。 j15=sqrt(j142+l142),导线全长相对闭合差分母 l15 =i13/j15。2.5 解算各点坐标的最或然值p1点坐标(x,y):n7 =n6+j7+k7,o7 =o6+l7+m7。选中n7:o7区域,拖动右下角十字拖柄至o11,依次自动解算出p2、p3、p4、c点坐标的最或然值。至此,工作表中的近似平差计算公式编制完毕。根据需要更换观测数据和已知数据,调整未知点个数(插入和删除行),即可自动完成附合导线的近似平差计算。3 绘制控制网图。平差计算完成

11、后,下面我们就来解决excel与cad的连接问题,我们通过vba编程来实现。3.1 vba是什么?vba是visual basic for application的简写,它以vb语言为基础,经过修改并运行在microsoft office的应用程序,如excel,word中,vba具有很强的开发能力。3.2 vba宏代码编辑。 把平差的结果对应复制到sheet5的a、b、c列,然后依次点击工具宏visual basic 编辑器,进入vba编辑界面。在左边的vba project工程管理器下拉菜单下找到 sheet5,双击打开代码窗口,输入下列代码。dim x() as doubledim y(

12、) as double dim points() as double dim textobj as acadtextdim textstring as stringdim insertionpoint(0 to 2) as double dim testlayer as acadlayerprivate sub commandbutton1_click()n = 1do while worksheets(5).range("b" & n + 1) <> ""n = n + 1loopn = n - 1redim x(n) as dou

13、bleredim y(n) as doublefor i = 1 to nx(i) = worksheets(5).range("b" & i + 1)y(i) = worksheets(5).range("c" & i + 1)next连接cad'adddimstyleredim points(n * 2 - 1)dim plineobj as acadlwpolylinefor j = 0 to n * 2 - 1 step 2points(j) = x(j / 2 + 1)points(j + 1) = y(j / 2 +

14、1)'worksheets(3).range("p" & j) = points(j)'worksheets(3).range("q" & j) = points(j + 1)next j set plineobj = acadapp.activedocument.modelspace.addlightweightpolyline(points) example_layers acadapp.activedocument.activelayer = testlayer for i = 1 to n textstring =

15、 worksheets(5).range("a" & i + 1) insertionpoint(0) = worksheets(5).range("b" & i + 1): insertionpoint(1) = worksheets(5).range("c" & i + 1): insertionpoint(2) = 0 text1 next appactivate acadapp.captionacadapp.zoomextentsend sub'清除数据private sub commandbu

16、tton2_click() range("a2:c3358").select selection.clearcontentsend subsub example_layers() ' this example finds the current layers collection and ' adds a new layer to that collection. dim layercoll as acadlayers set layercoll = acadapp.activedocument.layers ' create a dimension

17、 style named "test" in current drawing set testlayer = layercoll.add("text") ' msgbox "a new layer called " & testlayer.name & " has been added to the layers collection.", vbinformation, "layers example"end subsub text1()acadapp.activedoc

18、ument.activetextstyle.fontfile = _ "c:windowsfontssimsun.ttc"dim height as doubleheight = 10set textobj = acadapp.activedocument.modelspace.addtext(textstring, insertionpoint, height)'textobj.rotate insertionpoint, 0.7853981 * 2' acadapp.activedocument.activetextstyle.getfont typef

19、ace, bold, italic, charset, pitchandfamily' typeface = "楷体"'acadapp.activedocument.activetextstyle.setfont typeface, bold, italic, charset, pitchandfamily'textobj.updateset textobj = nothingend subprivate sub commandbutton3_click() ' this example creates a dim3pointangular

20、object in model space dim dimpointangularobj as acaddim3pointangular dim anglevertex(0 to 2) as double dim firstpoint(0 to 2) as double, secondpoint(0 to 2) as double dim textpoint(0 to 2) as double n = 1do while worksheets(5).range("b" & n + 1) <> ""n = n + 1loopn = n

21、- 1redim x(n) as doubleredim y(n) as doublefor i = 1 to nx(i) = worksheets(5).range("b" & i + 1)y(i) = worksheets(5).range("c" & i + 1)next dim dimobj as acaddimaligned dim point1(0 to 2) as double dim point2(0 to 2) as double dim location(0 to 2) as double连接cad for i = 2

22、 to n - 1 '角度 ' define the new dim3pointangular object anglevertex(0) = x(i): anglevertex(1) = y(i): anglevertex(2) = 0 firstpoint(0) = x(i - 1): firstpoint(1) = y(i - 1): firstpoint(2) = 0 secondpoint(0) = x(i + 1): secondpoint(1) = y(i + 1): secondpoint(2) = 0 textpoint(0) = x(i) + 2: text

23、point(1) = y(i): textpoint(2) = 0 ' create the new dim3pointangular object in model space set dimpointangularobj = acadapp.activedocument.modelspace.adddim3pointangular(anglevertex, firstpoint, secondpoint, textpoint) ' thisdrawing.application.zoomall ' this example creates an aligned di

24、mension in model space.'距离 ' define the dimension ' point1(0) = 5#: point1(1) = 5#: point1(2) = 0# ' point2(0) = 10#: point2(1) = 5#: point2(2) = 0# location(0) = (anglevertex(0) + firstpoint(0) / 2: location(1) = (anglevertex(1) + firstpoint(1) / 2: location(2) = 0# ' create an

25、aligned dimension object in model space set dimobj = acadapp.activedocument.modelspace.adddimaligned(firstpoint, anglevertex, location) ' zoomall next 'msgbox "a dim3pointangular object has been created." acadapp.zoomextentsend sub按alt+f11切换回excel编辑界面,找到控件工具箱,在空白处分别建立三个命令按钮,并分别命名“展

26、点”、“清空数据”、“角度距离”,将三个按钮分别指向commandbutton1_click(),commandbutton2click(),commandbutton3click()。图3.1 excel展点界面图3.2 平差结果按坐标在autocad中展点3.3 宏代码控制cad完成展点。如上所述,我们只需要点击展点按钮,vba代码就直接打开cad并按点位坐标绘制出平面位置(见图3.2),极大地简化了操作,提高了计算效率。4 excel在移动终端设备上的应用。随着经济建设的发展,许多行业在应用上对测绘学科愈来愈强烈地提出了数据采集、数据处理、成果应用的自动化、智能化、网络化、实时化和可视化

27、的要求。空间技术、计算机技术、信息技术以及通信技术的发展,为测绘技术实现这种要求提供了有力支撑和现代化的技术手段。在测量的实际作业过程中,我们经常需要解决如坐标放样,后方交会,坐标正反算等实际问题,而如果用笔记本电脑的话,其价格相对昂贵,便携性方面也略显不足;而pda等移动终端设备作为一种新兴产品,经过十几年的发展,已经日益成熟。目前pda、智能手机正被日益广泛的应用于测绘,成了测量作业的好帮手。但是我们平常购买的pda和智能手机并不含有如上面所说的后方交会等测量程序,那我们究竟该如果发挥它们的功能,为测量工作服务呢?编程固然可行,但要用pda等移动终端设备来编写测量程序的话,必须要掌握如c+

28、、java等编程语言,编写过程相对复杂,并不容易实现。那我们是不是可以利用和智能手机自带的软件来做到呢?随着通信技术的飞速发展,智能手机和上已经自带了手机版的办公软件,其包含的电子表格功能已经很强大。下面我们介绍一款手机软件,quick office。4.1 quick office办公软件的功能。quick office 是一款著名办公软件,软件可以创建、编辑、浏览word和excel文档,还支持查看常见格式电子邮件附件。quickpoint是quickoffice三合一套件之一,出品公司为mobility electronics, inc.手机上的迷你版office办公软件。有了quick

29、office之后,你的手机就能完全胜任编辑microsoft office文档的工作!你还可以读取存放在扩展卡中的microsoft word、excel文档,甚至是接受到的email附件中的或者mms消息中的相关文档打开文档是会尽量保留原始信息:字体颜色、字体大小、字形等等。该软件中excel的特性: 1.可以打开并保存为原生excel文档 2.包含了常用函数(科学、财务、常数、日期和时间、查找、加减等) 3.支持多重表和表间链接 4.高级的单元格编辑功能是你编辑起来方便快捷 5.可以使用不同的方式格式化单元格 6.可以更改单元个大小 7.具有查找/查找并更改 8.可以利用quickshee

30、t察看email的附件 9.可以编辑*.xls文件 该软件中word的特性: 1.可以编辑并保存为原生的word文档 2.强大的用户界面使用起来更方便 3.可以对字体进行多种操作(字体大小、色彩、粗体、字体、高亮、下划线等) 4.可以对段落进行多种操作(居左、居中、居右) 5.可以剪切、复制、粘贴文本,支持撤消和重做操作 6.具有查找/查找并替换功能 7.支持统计字数功能从以上可见,quick office具有了pc上microsoft office excel的大部分功能,这样,我们就可以利用quick office软件进行简单的测量数据处理。4.2 如何用quick office在智能手机上处理测量问题。下面,我们以边角后方交会为例,说明一下quick office在智能手机上的应用。后方

温馨提示

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

评论

0/150

提交评论