[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc

上传人:仙人指路1688 文档编号:2703901 上传时间:2023-02-23 格式:DOC 页数:32 大小:503KB
返回 下载 相关 举报
[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc_第1页
第1页 / 共32页
[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc_第2页
第2页 / 共32页
[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc_第3页
第3页 / 共32页
[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc_第4页
第4页 / 共32页
[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc》由会员分享,可在线阅读,更多相关《[毕业设计 论文 精品]基于excel表的附合导线计算程序.doc(32页珍藏版)》请在三一办公上搜索。

1、毕 业 设 计基于excel表的附合导线计算程序系 部: 测绘工程系 专业名称: 工程测量 指导教师: 姓 名: 二一年十二月毕 业 设 计 (论文)评 定 表姓名 学号 存档号 系别测绘工程系专业工程测量班 级80812毕业论文(设计)题目基于excel表的附合导线计算程序指导教师评语:签名: 2010年 月 日 答辩委员会意见:签名: 2010年 月 日 备注:毕业设计(论文)任务书 学生用表学 生姓 名 学 号 指导教师姓 名 教授系部测绘工程系毕业设计(论文)题目基于excel表的附合导线计算程序毕业设计(论文)要求:1、完成附和导线的EXCEL计算程序的编写2、输入数据验证程序的正确

2、性和可行性3、数据输入计算4、论文格式完成期限和主要措施:2010.10.202010.10.31 论文选题,拟定设计(论文)计划 (10天)2010.11.12010.11.20 整理资料,收集文献,编写提纲 (20天)2010.11.112010.11.20 准备初稿,排版 (10天)2010.11.212010.11.30 撰写论文,定稿 (10天)2010.12.12010.12.10 打印、投交论文为答辩作准备 (10天)主要参考文献:1 李孟山、张文彦编.工程测量概论.西安:西安地图出版社,2004:160.179-180.2 美John Walkenback著,Excel2003

3、高级VBA编程宝典电子工业出版社3 孔祥元 国家标准新版GB50026-2007 工程测量规范 武汉大学测绘学院指导教师签名:年 月 日 目 录摘 要2第1章 附合导线的概述31.1附合导线的简介31.2附合导线的外业工作3第2章 附合导线的计算原理52.1附合导线的方位角计算公式52.2附合导线的坐标计算公式5第3章 附合导线程序编制73.1 vba语言简介73.2设计附合导线的excel表格83.3计算已知方位角93.4角度计算代码编写113.5坐标计算代码编写203.6坐标结果的计算与输出21第4章 程序的应用234.1附合导线计算程序的使用234.1.1程序使用说明234.2程序的验证

4、244.2.1输入已知条件244.2.1计算成果24第5章 全文总结26致谢27参考文献28摘 要在测量工作中,导线测量占着重要地位,无论是铁路测量、公路测量、桥梁测量还是地形图测绘,导线的测量计算都是非常重要的环节。第1章主要介绍了附合导线的外业工作和精度要求;第2章介绍了附合导线的内业计算;第3章主要介绍了利用excel编程语言vba对附合导线的计算;第4章介绍对EXCEL程序的应用和验证。关键词:VBA;附合导线;EXCEL;编程第1章 附合导线的概述1.1附合导线的简介如图1-1所示以高级控制点A为起始点,BA方向为起始方向,经过若干个导线点后,附合到另外一个高级控制点C和已知方向CD

5、边上,这种导线称为附合导线。图1-1附合导线示意图1.2附合导线的外业工作(1)选点根据测区的地形情况选择一定数量的导线点。在选点之前,应收集测区已有的小比例尺地形图和控制点的成果资料,然后在地形图上拟定的布设方案,最后到野外进行实地踏勘,根据实地情况进行修改与调整,选定点位并建立标志。若无地形图可利用时,实地踏勘选点。(2)水平角观测在附合导线中一般测量其左角,导线观测角的精度要求见表1-1(3)边长测量导线边长测量可以用光电测距仪测定,也可以用钢尺丈量。若用测距仪测定,应测定导线边的水平长度;若用钢尺丈量,对一、二、三级导线,应采用精密量距法进行丈量;对于图根导线,则用一般方法往返进行丈量

6、,其相对误差一般不得超过1/3000在特殊困哪地区也不得超过1/1000表1-1各级导线测量的主要技术指标等级导线长度/km平均边长/km测角中误差测回数角度闭合差导线全长相对闭合差DJ6DJ2一级40.5542101/15000二级2.40.25831161/10000三级1.20.11221241/5000图根1.0M1.5倍测图最大视距20140(首级)40(一般)1/2000注:表中n为测角个数;M为测图比例尺分母。第2章 附合导线的计算原理2.1附合导线的方位角计算公式(1)角度与弧度转换公式:弧度=度*/180+分*/(180*60)+秒*/(180*60*60) (2-1) (2

7、)坐标计反算: (2-2) 当在第一象限时=当在第二象限时=+180当在第三象限时=+180当在第四象限时=+360(3)推算导线各边的坐标方位角: (2-3)(3)附合导线角度闭合差的计算: (2-4)(4)附合导线角度改正数的计算: (2-5) 注:观测角度加上角度改正数即为改正后角度值。2.2附合导线的坐标计算公式(1)坐标闭合差的计算: (2-6)(2)坐标增量的计算: (2-7)(3)x、y坐标改正数的计算: (2-8) (4)坐标的计算: (2-9) 注:、为改正后的坐标增量值,第3章 附合导线程序编制3.1 vba语言简介 VBA(visual basic for applica

8、tion)语言简介Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA程序代码。这样用户可以容易地将日常工作转换为VBA程序代码,使工作自动化。因此,对于在工作中需要经常使用Office套装软件的用户,学用VBA有助于使工作自动化,提高工作效率。另外,由于VBA可

9、以直接应用Office套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。Execl具有强大的运算功能,它能按照用户的意图进行各种复杂的运算(包括编写公式、调用函数等)。VBA是基于Visual Basic发展而来的,它们具有相似的语言结构。Visual Basic是Microsoft的主要图形界面开发工具,VBA 5.0 (亦即VBA 97)则是Visual Basic 5.0的子集。Visual Basic是由Basic发展而来的第四代语言。Visual Basic作为一套独立的Windows系统开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化的、

10、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。VB的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出Windows环境下功能强大、图形界面丰富的应用软件系统。Visual Basic程序很大一部分以可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止

11、。VB的用户可以是缺乏Windows及C语言开发经验的专业软件人员,也可以是具有一定Windows开发经验的专业人员,VB的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows应用程序设计变得轻松自如、妙趣横生。以往的Windows应用程序开发工具在设计图形用户界面时,都是采用编程的方法,并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果不佳,还需要回到程序中去修改。Visual Basic提供了新颖的可视化设计工具,巧妙地将Windows界面设计的复杂性封装起来,程序开发人员不必

12、再为界面设计而编写大量程序代码,仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面。VBA不但继承了VB的开发机制,而且VBA还具有与VB相似的语言结构,它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同。但是,经过优化,VBA专门用于Office的各应用程序。VB可运行直接来自Windows 95或NT桌面上的应用程序,而VBA的项目(Project)仅由使用VBA的Excel、Word、 PowerPoin

13、t等称为宿主(Host)的Office应用程序(Application)来调用。目前,随着测绘技术的不断发展,在一些小地区的大比例尺测图中,做控制应用较多的依然是导线测量的方法。在导线测量中,野外数据的采集用全站仪可以说方便快捷,但是其内业的计算用手工却比较麻烦,而且费时费力。而计算机的应用解决了这一问题,本文就以vba语言来介绍附合导线的内业计算。3.2设计附合导线的excel表格由于采用了excel的开发程序,所以采用的窗体是excel自身的经典窗体,无需再去改动,这样也更加方便用户,只需在excel窗体上添加所需的空间就可以了。 图 (3-1)excel导线计算的窗体3.3计算已知方位角

14、(1)已知控制点的填入 如图(3-2)图3-2附合导线方位角计算表注:红色字体为输入部分。(2)坐标方位角弧度按公式(2-2)进行计算编写程序 “=IF(C4-C3)0,IF(B4-B3)0,ATAN(C4-C3)/(B4-B3),ATAN(C4-C3)/(B4-B3)+2*3.1415926535),ATAN(C4-C3)/(B4-B3)+3.1415926535)”填入。如图1-3图3-3计算方位角公式的填入(3)将弧度转换为度按公式(度=弧度*180/)分别在度、分、秒里填入公式度转换:=INT(G4/3.1415926*180),如图3-4图3-4度转换公式填入分转换:=INT(G4/

15、3.1415926*180-D4)*60),如图3-5图3-5分转换公式填入秒转换:=INT(G4/3.1415926*180-D4)*60-E4)*60),如图3-6图3-6秒转换公式填入得到方位角计算结果如图3-7图3-7已知点方位角计算结果3.4角度计算代码编写代码的编写是在visual basic for application的代码编辑器里编写的,打开excel后按alt+F11便可以打开代码编辑器。如图3-8图3-8 vba代码编辑界面(1)首先在通用声明部分定义两个变量,n和i,n代表加密点的个数,i是变量代表每一个加密点的点号,代码如下:一个动态Dim i As Integer

16、将动态变量i定义为integer。(整型数)Dim n As Long将变量n定义为long。(长整型)(2)编写输入加密点个数的代码,按下此按钮的的时候要求输入加密点个数,以便程序自动生成一个相应的表格,为此按钮编写代码如下:Private Sub CommandButton1_Click()当按钮被按下的时候执行sub过程。 n = InputBox(“请输入个数”, “请输入”)把用户输入inputbox的加密点的总个数赋值个变量n。Sheet1.Cells(7, 1) = “A”Sheet1.Cells(8, 1) = “B”Sheet1.Cells(7, 19) = “A”Sheet

17、1.Cells(8, 19) = “B”当按钮被按下的时候把“A、B”填入到指定的单元格里,sheet1.cells(7,8)代表该单元格的位置是第一个工作薄的第七列的第八行。For i = 0 To (n + 2)Sheet1.Cells(i + 9, 1) = i + 1Sheet1.Cells(i + 9, 19) = i + 1Sheet1.Cells(i + 6, 1).Interior.ColorIndex = 4Sheet1.Cells(i + 6, 19).Interior.ColorIndex = 4Sheet1.Cells(i + 8, 2).Borders.LineSty

18、le = 3Sheet1.Cells(i + 8, 3).Borders.LineStyle = 3Sheet1.Cells(i + 8, 4).Borders.LineStyle = 3Sheet1.Cells(i + 8, 12).Borders.LineStyle = 3Next i通过fornext循环来创建我们需要的表格表格的大小取决于加密点的个数。Sheet1.Cells(n + 9, 1) = “C”Sheet1.Cells(n + 10, 1) = “D”Sheet1.Cells(n + 9, 1).Interior.ColorIndex = 4Sheet1.Cells(n +

19、 10, 1).Interior.ColorIndex = 4Sheet1.Cells(n + 9, 19) = “C”Sheet1.Cells(n + 10, 19) = “D”Sheet1.Cells(n + 9, 19).Interior.ColorIndex = 4Sheet1.Cells(n + 10, 19).Interior.ColorIndex = 4将“C、D”填入指定的单元格,并且指定该单元格的格式。Sheet1.Cells(n + 11, 1) = “总和”Sheet1.Cells(n + 11, 1).Interior.ColorIndex = 0Sheet1.Cell

20、s(n + 11, 2).Interior.ColorIndex = 0Sheet1.Cells(n + 11, 3).Interior.ColorIndex = 0Sheet1.Cells(n + 11, 4).Interior.ColorIndex = 0Sheet1.Cells(n + 11, 12).Interior.ColorIndex = 0End Sub通过以上代码,就完成了对数据输入的操作,只需要按下输入按钮,填入加密点个数,就会生成相应的附合导线计算表格如图3-9图3-9生成的附合导线计算表格(3)清除内容,当我们在做完一套计算的时候另存了数据以后,excel内原先的数据并不

21、会自动消失,这就需要我们通过代码来实现,实现清除功能的代码如下:Private Sub CommandButton2_Click() 当清除按钮被按下的时候执行以下代码 Range(“A7:S100”) = “”在单元格A7到S100范围内单元格内值为空,也就是数清空单元格理得内容。Range(“A7:S100”).Interior.ColorIndex = 0Range(“A7:S100”).Borders.LineStyle = 0设置单元格的底色和边框样式。End Sub(4)设计计算代码。计算代码的设计是根据倒显得计算公式来的,下面就代码和公式进行一步一步饿解析。导线的技术是由许多的计

22、算来完成的,为了便于程序的简化,我把所有的计算代码统统放到了一个“计算”按钮下。Private Sub CommandButton3_Click() 当CommandButton3按钮被按下时执行以下的计算代码。首先是定义参数,由于外业观测的角度值是度、分、秒格式的所以首先要对度分秒格式的数据进行处理。对度、分、秒的处理需要处理两种格式一种是度的小数点形式,一种是弧度形式。度的小数点形式就是将分、秒换算成度。度的弧度形式就是将度分秒换算成弧度。具体步骤将在以下代码中详细讲解。Dim zhm As Double: Dim zhma As DoubleDim zhma1 As Double: Di

23、m zhf As DoubleDim zhfa As Double: Dim zhfa1 As DoubleDim zhd As Double: Dim zhda As DoubleDim zhda1 As Double Dim jlh As Double Dim jlh1 As DoubleDim zlx() As Double: Dim czly() As Double Dim zly() As Double: Dim czlx() As DoubleDim zlxh, zlyh, zlxh1, zlyh1, zlxh2, zlyh2, gxh, gyh As DoubleDim gzlx

24、() As Double: Dim gzly() As DoubleDim zbzx() As Double: Dim zbzy() As DoubleDim fbhc, czlxh, czlyh As DoubleDim jl() As Double: Dim m() As DoubleDim f() As Double: Dim d() As DoubleDim hudu() As Double: Dim fwj() As DoubleDim fr As DoubleDim fr1 As DoubleDim Aab, Acd, fpc As DoubleDim freenumb, bth,

25、 mini As Double以上全部是定义的计算中会用到的参数具体含义为:zhm代表输入的秒的总合,zhf代表输入的分的总和,zhd代表输入的度的总和,zhma1代表将秒换算为度的小数点形式的总和,zhfa1代表将分换算为度的小数形式的总和。Jlh代表输入的距离的总和。d()、f()、m()分别代表输入的每一个度、分、秒,将其放入数组中,jl()代表输入的距离将每一个距离放入到此数组中。If n = 0 ThenMsgBox “请输入加密点的个数”End IfIf语句判断输入的加密点个数n是否为0,如果加密点个数为0执行以上语句,弹出对话框,对话框现实内容为“请输入加密点的个数”。如果n不是

26、0那么执行以下的if语句。If n 0 Thenfreenumb = 99999freenumb是定义的一个极限数值,用来和输入的距离进行比较最终找出输入距离的最小值。ReDim fwj(i) As DoubleReDim m(i) As DoubleReDim f(i) As DoubleReDim d(i) As DoubleReDim jl(i) As DoubleReDim hudu(i) As Double对定义的空数组进行重新定义。For i = 1 To (n + 2)m(i) = Val(Sheet1.Cells(i + 7, 4) 将输入的秒值给数组f(i) = Val(Sh

27、eet1.Cells(i + 7, 3) 将输入的分值给数组d(i) = Val(Sheet1.Cells(i + 7, 2) 将输入的度值给数组jl(i) = Val(Sheet1.Cells(i + 8, 12) 将输入的距赋值给数组If jl(i) 0 ThenIf jl(i) freenumb Thenfreenumb = jl(i)mini = i + 8 判断输入的距离中的最小值End IfEnd Ifzhm = zhm + m(i) 计算和zhf = zhf + f(i)zhd = zhd + d(i)jlh = jlh + jl(i)Next i以上代码是利用一个fornext

28、循环语句将输入的距离和角度值赋值个我们定义的参数以便下一步利用参数来计算,其中嵌套的if语句是用来判断输入的距离最小值并且找到该最小值所在单元格的行数值赋值给mini。If jl(i) freenumb Then当第i个距离值小于极限数的时候freenumb = jl(i)将距离值赋值给freenumb,也就是说freenumb就有了新值,进入下一个循环后再进行比较,最终得到最小的值。zhm = zhm + m(i) zhf = zhf + f(i)zhd = zhd + d(i)jlh = jlh + jl(i)将单元格内的度、分、秒和距离值累加起来赋值给一个参数以便下面的计算使用。zhma

29、1 = (zhma / 60 - Int(zhma / 60) * 60zhfa1 = (zhfa + Int(zhma / 60) / 60 - Int(zhfa + Int(zhma / 60) / 60) * 60zhda1 = zhda + Int(zhfa + Int(zhma / 60) / 60) 进行度分秒的换算Sheet1.Cells(n + 11, 4) = zhma1Sheet1.Cells(n + 11, 3) = zhfa1Sheet1.Cells(n + 11, 2) = zhda1Sheet1.Cells(n + 11, 12) = jlh1以上代码是将累加起来的

30、度、分、秒对分、秒进行逢六十进一处理后在总和的那一行分别显示出来。在excel中,默认的是逢十进一,所以逢六十进一要通过我们编辑的逻辑计算来完成。具体是这样的,参数除以六十得到的是一个证书部分和一个小数部分,取出整数部分加给上一级(如取出分的整数部分加给度)小数部分乘以六十留在本级(如分的小数部分乘以六十作为分)。由此就完成了度、分、秒的加减计算。(如图3-10)图3-10计算度、分、秒所得总和计算观测角的闭合差。根据附合导线的闭合差公式(公式2-4)计算出观测角的闭合差。Aab = Val(Range(“I8”) + Val(Range(“J8”) / 60 + Val(Range(“K8”

31、) / 3600 计算闭合差Acd = Val(Sheet1.Cells(n + 10, 9) + Val(Sheet1.Cells(n + 10, 10) / 60 + Val(Sheet1.Cells(n + 10, 11) / 3600观测的角度推算出的cd的方位角减去实际cd的方位角得到闭合差:fr = Aab + (zhda1 + zhfa1 / 60 + zhma1 / 3600) - Acd - 180 * (n + 2)参数fr就是计算得到的角度闭合差,理论上应该是灵但是由于在测量中存在着误差fr不为零。所以要将角度的闭合差分配到每个观测角中。将计算的闭合差结果显示出来如下代码

32、在指定的单元格内显示出来Sheet1.Cells(n + 12, 1) = “附合差为:”Sheet1.Cells(n + 12, 2) = Round(fr * 3600) & “”Sheet1.Cells(n + 13, 1) = “容许差为:”Sheet1.Cells(n + 13, 2) = “” & Format(fr1, “0.00”) & “”If Abs(fr) Sheet1.Cells(n + 9, 12) Thenfreenumb = Val(Sheet1.Cells(n + 9, 12)mini = n + 9End If 判断观测距离的最小值并且得到该值所在的行值。fp

33、c = Fix(Round(fr * 3600) / (n + 2) 平均分配差。For i = 1 To (n + 2)Sheet1.Cells(i + 7, 5) = 0 - fpcNext i将各角度的改正值显示在指定单元格内。根据以上的计算此时的参数mini已经是最小的距离值所在的那个单元格的行数,所以在此行角度的改正值要加上除去后的余数代码如下:Sheet1.Cells(mini, 5) = (0 - fpc) - (Round(fr * 3600) Mod (n + 2)1. 推算各个方位角代码的编写:根据公式(2-3)来计算,由于我们采用的是左右所以就采用公式来计算。For i

34、= 1 To (n + 2)hudu(i) = (d(i) + f(i) / 60 + m(i) / 3600) + (Val(Sheet1.Cells(i + 7, 5) / 3600)Sheet1.Cells(i + 7, 6) = Int(hudu(i)Sheet1.Cells(i + 7, 7) = Int(hudu(i) - Int(hudu(i) * 60)Sheet1.Cells(i + 7, 8) = (hudu(i) - Int(hudu(i) * 60 - Int(hudu(i) - Int(hudu(i) * 60) * 60Next iFor i = 1 To (n +

35、 2)bth = bth + hudu(i)fwj(i) = Aab - i * 180 + bthSheet1.Cells(i + 8, 9) = Int(fwj(i)Sheet1.Cells(i + 8, 10) = Int(fwj(i) - Int(fwj(i) * 60)Sheet1.Cells(i + 8, 11) = (fwj(i) - Int(fwj(i) * 60 - Int(fwj(i) - Int(fwj(i) * 60) * 60Next i通过以上代码推算出了方位角fwj()并把他们显示在指定的单元格内。3.5坐标计算代码编写计算坐标增量根据公式(2-7)进行计算,在进

36、行此计算的时候要将方位角的换算成弧度值由于在上面的代码中方位角已经被处理成了度分秒的小数的形式所以在这里转换为弧度只需要按公式(角度*/180)就可以了 。ReDim zlx(i) As DoubleReDim zly(i) As DoubleFor i = 1 To (n + 1)zlx(i) = Format(jl(i) * Cos(fwj(i) * (3.1415926 / 180), “0.000”)zly(i) = Format(jl(i) * Sin(fwj(i) * (3.1415926 / 180), “0.000”)zlxh = zlxh + zlx(i)zlyh = zly

37、h + zly(i)Next i以上代码就完成了对坐标增量的计算,并且计算出了所有x、y增量的和。2. 坐标增量的改正理论上通过推算得到的c点的坐标应该和已知的数据相同,但是由于测量误差的存在得到的结果实际不同这就需要我们来对坐标增量来进行调整。根据公式(2-8)对坐标增量的改正计算按公式计算通过代码来实现就是如下代码:Val(Sheet1.Cells(8, 17) / jlh) * jl(i)Val(Sheet1.Cells(8, 18) / jlh) * jl(i)然后再把计算得到的改正值分配给坐标增量由如下代码来完成。ReDim gzlx(i) As DoubleReDim gzly(i

38、) As DoubleReDim zbzx(i) As DoubleReDim zbzy(i) As DoubleReDim czlx(i) As DoubleReDim czly(i) As DoubleFor i = 1 To (n + 1)czlx(i) = Format(0 - (zlxh - (Val(Sheet1.Cells(n + 9, 17) - Val(Sheet1.Cells(8, 17) / jlh) * jl(i), “0.000”)czly(i) = Format(0 - (zlyh - (Val(Sheet1.Cells(n + 9, 18) - Val(Sheet

39、1.Cells(8, 18) / jlh) * jl(i), “0.000”)gzlx(i) = zlx(i) + czlx(i)gzly(i) = zly(i) + czly(i)zlxh2 = zlxh2 + gzlx(i)zlyh2 = zlyh2 + gzly(i)gxh = gxh + gzlx(i)gyh = gyh + gzly(i)czlxh = czlxh + czlx(i)czlyh = czlyh + czly(i)3.6坐标结果的计算与输出通过以上代码得到了改正后的坐标值,得到改正后的坐标值按公式(2-9)进行计算zbzx(i) = Val(Sheet1.Cells(8

40、, 17) + zlxh2zbzy(i) = Val(Sheet1.Cells(8, 18) + zlyh2Sheet1.Cells(i + 8, 13) = czlx(i) & vbCrLf & zlx(i)Sheet1.Cells(i + 8, 14) = czly(i) & vbCrLf & zly(i)Sheet1.Cells(i + 8, 15) = gzlx(i)Sheet1.Cells(i + 8, 16) = gzly(i)Sheet1.Cells(i + 8, 17) = zbzx(i)Sheet1.Cells(i + 8, 18) = zbzy(i)Next ifbhc =

41、 (czlxh 2 + czlyh 2) 0.5Sheet1.Cells(n + 17, 1) = “闭合差为:”Sheet1.Cells(n + 17, 2) = Format(fbhc, “0.00”)Sheet1.Cells(n + 18, 1) = “K=”Sheet1.Cells(n + 18, 2) = fbhc / jlhSheet1.Cells(n + 11, 13) = zlxhSheet1.Cells(n + 11, 14) = zlyhSheet1.Cells(n + 11, 15) = gxhSheet1.Cells(n + 11, 16) = gyhEnd IfEnd

42、 Sub通过以上代码完成了对坐标的最终计算进过调试后程序运行正常。第4章 程序的应用4.1附合导线计算程序的使用 4.1.1程序使用说明(1)计算已知点的坐标方位角打开工作薄3如图4-1图4-1已知点方位角计算表在附合导线方位角计算表中输入已知点的坐标(黄色色区域)。(2)输入加密点个数在附合导线的中,首先要输入未知点的个数。打开excel计算程序,在数据输入中输入未知点的个数(如 图4-2)图4-3加密点个数输入按钮单击“请输入加密点个数”按钮,弹出以下对话框(如图4-4)图4-4加密点个数输入对话框输入未知点的个数以后,程序会自动生成一个相应的excel计算表格(如图4-5)图4-5自动生成的excel计算表格(3)输入观测角将观测的角度值以度、分、秒的格式输入到(如图4-5)的“观测角”所在列的虚线部分。(4)输入导线长度将观测得到的导线的长度输入(如图4-5)“距离/m”所在列的虚线部分。(5)输入导线AB和导线CD的方位角将已知坐标方位角输入到(如图4-5)红色边框里。4.2程序的验证4.2.1输入已知条件已知

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号