高等测量平差4-9VBA

合集下载

电子表格Excel VBA测量程序分享

电子表格Excel VBA测量程序分享

电子表格Excel VBA测量程序分享2012-2-13 11:16阅读(6977)简介:Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,Visual Basic forApplications(VBA)是一种VisualBasic的一种宏语言,是基于Visual Basic for Windows 发展而来的,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。

也可说是一种应用程式视觉化的Basic Script,VBA的使用可以达成执行特定功能或是重复性高的操作。

适用:Microsoft Office Excel办公软件NO.1:曲线坐标计算程序VBA说明:本程序适用于Office Excel运行,属于多交点坐标正算、反算程序,包括:多交点曲线要素、坐标正算、坐标反算、放样计算、竖曲线高程等。

下载:曲线坐标计算程序VBA 1.0(单交点坐标正算)曲线坐标计算程序VBA 2.0(单交点坐标正算、反算)曲线坐标计算程序VBA 2.3(单交点坐标正算、反算、自动化)曲线坐标计算程序VBA 3.0(多交点坐标正算、反算)曲线坐标计算程序VBA 4.0~4.9(交点法、线元法、竖曲线等一体化程序)2012-11-15 更新测量坐标计算程序 V5(交点法、线元法、直线、竖曲线等多种计算程序)2013-07-27 更新NO.2:测量计算程序集成VBA 1.6说明:本程序适用于Office Excel运行,通过VBA编写的测量集成程序,属于单交点曲线,包括:坐标正算、坐标反算、坐标放样、角度转弧度、任意切线方位角、坐标展点、边角后方交会、坐标面积计算、无定向平差、水准平差、竖曲线高程、导线观测手薄、线元法坐标正算、线元法坐标反算、直线坐标正反算等。

下载:点击下载NO.3:线元法坐标正反算VBA说明:本程序适用于Office Excel运行,是线元法坐标正算、反算一体程序,可以计算多线元数据,适用性广(包括:复曲线、S型曲线、匝道)等。

Excel VBA在工程测量上的应用

Excel VBA在工程测量上的应用

Excel VBA在工程测量上的应用
是大家很熟悉的办公软件,相信大家在工作中经常使用吧。

在测量工作中,你是否感觉到有很不方便的时候?比如,计算一个角度的三角函数值,而角度的单位是60进制的,此时,你一定感到很无奈,因为,Excel本身无法直接计算60进制的角度的三角函数!还有,如果你的工作表中有了点坐标值(二维或者三维),要在CAD中展绘出来,怎样才能又快又直接?不然,就只有拐弯摸角了,很痛苦啊!其实,只要对Excel进行一些挖掘,就可以发现Excel的功能我们还没有好好的利用呢。

Excel本身提供了强大的二次开发功能,只要我们仔细的研究,没有什么能难倒我们的。

下面,好好笔者将带你走近Excel,认识它的强大的二次开发环境VBAIDE,用它来解决上面所提到的问题,就非常容易了。

初识VBAIDE,首先,你必须懂得一些简单的VB编程常识。

如果不懂就只有通过其他的途径去学习了。

但用不着深入的研究,只要静下心来,几个小时就可以了。

打开Excel,按Alt+F11即进入VBAIDE,学过VB的人一看就知道那就是熟悉的VB界面。

下面看看如何定义一个函数,然后利用它来解决60进制的角度的三角函数计算问题。

在菜单上依次点击[插入]-[模块],然后输入如下代码
Public Const pi = 3.14159265359
Public Function DEG(n As Double)
Dim A As Double, B As Double, C As Double, D As Double, E As Double, F As Double, G As Double, KA As Double。

基于VBA的平差数据精度指标处理程序设计

基于VBA的平差数据精度指标处理程序设计

收稿日期:20190506作者简介:方㊀齐(1989 ),男,2016年毕业于中国矿业大学数字矿山与沉陷控制工程专业,工学硕士,助理工程师㊂文章编号:16727479(2020)02000505基于VBA 的平差数据精度指标处理程序设计方㊀齐(中国铁路设计集团有限公司,天津㊀300308)㊀㊀摘㊀要:为了简化GPS 基线解算后的数据统计工作,方便超限数据查找及数据分析,运用EXCEL与WORD 交互编程思想,利用EXCEL 软件中内置的Visual Basic for Applications (VBA )语言开发了一套平差数据后处理程序㊂该程序可以按照规范要求统计分析基线解算和平差后各精度指标的超限情况,并对超限数据进行标注和列表显示,完成相应指标曲线图的绘制;可根据铁路控制网复测要求进行复测分析,完成复测指标及内插更新点的统计,最终将统计结果输出到WORD 规范表格中,方便结果分析和报告编写,实现了EXCEL 与WORD 的数据交互㊂该程序能够快速进行平差数据的后处理,有利于将来测量自动化办公程序的进一步实现㊂实践证明,该程序兼容性强,自动化程度高,适用性强,操作方便,能够满足数据统计分析的要求,可提高精度指标的统计效率和规范性㊂关键词:数据处理;VBA ;程序设计;数据交互中图分类号:P258㊀㊀文献标识码:BDOI:10.19630/ki.tdkc.201905060001开放科学(资源服务)标识码(OSID):Processing Program Design of Adjustment DataAccuracy Index Based on VBAFang Qi(China Railway Design Corporation,Tianjin 300308,China)Abstract :In order to simplify the data statistical analysis after GPS baseline processing and find out-of-limitdata,a set of data post-processing programs was developed by the VBA of EXCEL software using EXCEL andWORD interactive programming ideas.The program can statistically analyze the over-limit condition of eachprecision index after the GPS data constraint adjustment according to the specification requirements,displaythe out-of-limit data with labeling and list,and complete the curve drawing of corresponding index.Accordingto the re-testing requirements of the railway control network,the program can also perform retesting analysis,complete the statistics of retesting index and interpolation update point,and finally output the statistical resultof WORD to facilitate the report writing,realizing the data interaction of EXCEL and WORD.This program can quickly perform post-processing of adjustment data,which is conducive to the further realization of theoffice automation program for measurement in the future.Practice has proved that the program has strongcompatibility,high degree of automation,strong applicability and convenient operation,which can meet thestatistical analysis requirements of GPS result data,and improve the statistical efficiency and standardization of precision index.Key words :Data Process;VBA;Program Design;Data Interaction㊀㊀EXCEL 软件在测量行业的应用较为普遍,利用EXCEL VBA 进行二次开发也较为方便快捷,具有适用性广㊁开发维护方便等特点[1-3]㊂王汉雄等[4]将EXCEL VBA应用于测量数据处理;刘晓云[5]㊁石林峰[7]㊁贾丙普[9]等利用VBA进行测量程序的开发;卢向科[10]㊁杨晓玉[13]等对EXCEL在矿山测量方面的应用进行了探索㊂利用VBA程序语言进行二次开发,生成可视化菜单,再嵌入EXCEL软件中,编制了一套数据精度指标统计分析程序㊂该程序可以对基线解算过程中及平差后的精度指标进行统计分析,实现最大值㊁最小值㊁限差等的输出显示;对各精度指标进行可视化绘图,方便分析㊁引用㊁插入;还可对复测结果进行指标计算分析㊂该程序能够满足数据的统计分析要求,自动化程度高,人工干预少,极大地方便了数据处理分析工作㊂1㊀GPS精度指标处理程序的实现EXCEL软件自带的功能能够处理大量数据,但是手工处理操作繁琐,不易批量化操作㊂Visual Basic forApplications(VBA)是一种宏语言,主要用于扩展Windows的应用程序功能,特别是Microsoft Office软件㊂VBA是寄生于VB应用程序的版本㊂利用VBA编写程序,能够规范用户的操作,控制用户的操作行为,实现数据的自动化处理与统计㊂本程序主要包括三个功能模块:精度指标统计模块,指标计算值曲线绘制模块,控制网复测统计分析模块,程序框架见图1㊂图1㊀程序框架㊀精度指标统计模块包括重复基线及环闭合差检验㊁无约束平差基线向量改正数检验㊁约束平差技术指标检验等㊂指标超限和合格均有信息提示及WORD输出功能;指标检验合格后可进行各指标的曲线图绘制㊂控制网复测分析模块包含复测坐标较差值计算和复测坐标差之差相对精度计算等㊂为了方便日常操作,本程序将会自动在EXCEL菜单栏上加载,如图2所示㊂主要技术要点包括:自动识别规范指标并进行指标值统计分析;对指标计算值及限差值进行排序比较;图2㊀程序加载到菜单栏㊀对超限和合格指标信息进行输出提示;进行EXCEL和WORD之间的信息传递,将各指标输入到相对应的表格信息中;对于符合要求的数据进行曲线图绘制;对控制网复测坐标进行分析,计算相应的指标值;自动备注信息及控制网复测分析等㊂1.1㊀精度指标统计程序GPS控制网平差检验指标主要包含重复基线㊁独立环㊁无约束平差后基线向量各分量的改正数㊁约束平差后基线向量各分量改正数与无约束平差同一基线改正数较差的绝对值㊁基线边方向中误差㊁最弱边相对中误差㊁相邻点的相对中误差等;控制网复测按照坐标较差㊁相邻点间坐标差之差的相对精度两种指标进行分析,以确定内插更新点㊂不同等级控制网约束平差后,基线边方向中误差㊁最弱边相对中误差㊁相邻点的相对中误差应满足表1的要求㊂表1㊀各等级控制网技术指标名称二等三等基线边方向中误差/(") 1.3 1.7最弱边相对中误差1/1800001/10000相邻点的相对中误差/mm10.08.0本程序会按照上述规范要求,根据允许的限差值,自动标记超限值以及提示超限警告,方便超限值的快速查看和分辨㊂若指标满足规范要求则自动统计各指标最大值㊁限差值及最大值相对应的基线或环,并且有窗口输出和WORD表格输出两种输出格式,方便统计结果的查看和引用㊂1.2㊀计算指标绘图程序满足上述各指标要求后,绘图程序会自动对指标值进行分析,自动划分合适的坐标轴间隔,方便查看各指标变化及极值情况㊂独立环闭合差曲线图以环为横轴,各环闭合差值为竖轴㊂对于其他指标,如重复基线㊁无约束平差后基线向量各分量的改正数㊁约束平差后基线向量各分量改正数与无约束平差同一基线改正数较差的绝对值㊁基线边方向中误差㊁最弱边相对中误差㊁相邻点的相对中误差等,以各指标对应的所在边为横轴,各指标值为竖轴作图,各指标的允许限差以红色折线标记㊂1.3㊀控制网复测统计分析待上述指标满足限差要求后,进行约束平差计算㊂控制网复测后还需要进行本次复测成果与原测成果的比较,确定更新点(见表2)㊂在满足坐标较差及坐标较差之差相对精度的前提下,可采用原测成果;如果超限,则采用同精度内插法更新控制点坐标㊂坐标较差按式(1)㊁式(2)计算ΔX=X复-X原(1)ΔY=Y复-Y原(2)㊀㊀相邻点间坐标差之差的相对精度按式(3)计算d S S =(ΔX2ij+ΔY2ij)S(3)㊀㊀式中:ΔX ij=(X j-X i)复-(X j-X i)原,ΔY ij=(Y j-Y i)复-(Y j-Y i)原;S 相邻点间的二维平面距离;ΔX ij,ΔY ij 相邻点i与j间二维坐标差之差/m㊂表2㊀控制网复测技术指标名称CPⅠCPⅡ坐标较差/mm2015坐标较差之差相对精度1/1300001/80000根据输入的原测成果和复测成果,自动计算坐标差较差和相邻点间坐标差之差的相对精度,对于超限点自动进行标注㊂根据上述两指标计算结果,兼顾各点涉及的坐标差较差和相邻点间坐标差之差的相对精度指标值,自动确定更新点并且自动标注,并按要求格式生成约束点已知文件㊂2㊀工程应用以某铁路工程控制网复测为例㊂某铁路正线全长95.8km,设有CPI控制点50个,工程独立坐标系划分为两个,第一工程独立坐标系为WGS-84坐标系,第二工程独立坐标系为2000国家大地坐标系㊂为保证全线控制网的整网精度,全线平面控制网复测等级为: CPⅠ按照卫星定位控制测量二等网施测;CPⅡ按照卫星定位控制测量三等网施测㊂按 CPⅠ㊁CPⅡ 两级施测,测量网形和原测基本保持一致的要求,采用GPS 静态观测形式进行CPⅠ㊁CPⅡ网的复测,将外业静态观测原始文件转换为标准RINEX格式,使用基线解算软件进行基线解算并使用平差软件导入基线文件,进行重复基线㊁独立环检验㊁无约束平差及约束平差等操作㊂待平差完毕后,打开本程序,进行指标检验操作㊂2.1㊀重复基线及独立环检验打开平差文件,加载本程序,点击 独立环检验命令 ,程序会自动统计重复基线㊁独立环指标,若有超限值,程序会出现提示超限警告信息㊂反之,则会自动统计各指标最大值和最大值所在环或边的信息以及允许的限差值(见图3),绘制各指标曲线(见图4),同时自动输出WORD表格信息(见表3㊁表4)㊂由图3㊁图4和表3㊁表4可知,本次测量重复基线较差最大值为1.71cm,独立环闭合差X分量最大值为1.46cm,独立环闭合差Y分量最大值为-2.68cm,独立环闭合差Z分量最大值为3.13cm,均在允许限差范围内㊂图3㊀统计信息框㊀图4㊀重复基线较差及独立环闭合差曲线㊀表3㊀重复基线较差最大值统计对应基线基线长度/m对应最大值/cm限差/cm是否合格CPI2008-CPI20066588.1654d s=1.71 2.34是表4㊀独立环闭合差最大值统计对应闭合环对应闭合环长度/m对应最大值/cm限差/cm是否合格CPI016C-CPI015-CPI014-CPI013A-CPI016C15889.769 1.46 3.83是CPI021-CPI019B-CPI020B-JC01-CPI02117290.212-2.68 3.97是CPI021-CPI019B-CPI020B-JC01-CPI02117290.212-3.13 3.97是CPI021-CPI019B-CPI020B-JC01-CPI02117290.212 4.20 6.87是2.2㊀无约束平差及约束平差指标检验待重复基线㊁独立环检验合格后,点击无约束平差检验,程序会自动比较无约束平差后基线向量各分量的改正数与限差值,如有超限,出现超限警告㊂没有超限值,则会出现无约束平差后基线向量各分量的改正数统计信息对话框,并绘制曲线图(见图5㊁表5)㊂之后选择控制网等级,进行约束平差及统计分析(见图6㊁图7)㊂约束平差指标统计见表6㊂图5㊀基线向量改正数曲线表5㊀无约束平差基线向量改正数最大值统计对应基线或点名对应最大值/cm 限差/cm 是否合格CPI009B -CPI011B V x =-1.45V max =1.64是CPI2010-CPI2007V y =2.32V max =3.26是CPI021-CPI019BV z =-2.02V max =2.36是图6㊀控制网等级选择由图5㊁表5可知,无约束平差基线向量X 分量改正数最大值为-1.45cm,基线向量Y 分量改正数最大值为2.32cm 基线向量Z 分量改正数最大值为-2.02cm,各指标均在限差范围内,满足规范要求㊂图7㊀约束平差指标曲线约束平差后基线边方向中误差最大值为0.98ᵡ,最弱边相对中误差为1/196152,相邻点的相对中误差为5.69mm,各指标均在限差范围内,满足规范要求㊂2.3㊀控制网复测分析控制网复测分析模块:首先进行参数设置(见图8),程序自动生成输入数据模板,输入原测成果和复测成果后,程序执行计算,生成坐标较差表和坐标差之差相对精度表(见表7㊁表8)㊂并按照复测指标要求标记超限和合格成果,最后按照坐标较差和坐标差之差相对精度的要求,建立内插更新规则,自动确定需要内插的更新点,输出内插更新成果表㊂通过坐标较差和坐标差之差的相对精度,确定需要内插更新的控制点,见表9㊂表6㊀约束平差指标最大值统计示例项目名称约束平差基线向量改正数与同名基线无约束平差基线向量改正数较差/cm基线边方向中误差/(")最弱边相对中误差相邻点的相对中误差/mm对应基线对应最大值限差是否合格CPI2004-CPI2006-0.51.66是CPI2011-CPI2010-0.57 1.22是CPI018-CPI015-0.86 2.21是CPI2001-CPI2002A 0.98 1.3是CPI2001-CPI2002A 196152180000是CPI013A -CPI011B 5.6910是表7㊀控制网复测坐标较差部分计算成果输出表格示例点名原测坐标复测坐标X 坐标/mY 坐标/mX 坐标/mY 坐标/mΔX /mm ΔY /mm 备注CPI007B 4407604.3723501463.14554407604.3662501463.1461-6.10.6合格CPI0084407883.020*******.32864407883.0176500633.3266-3.3-2.0合格CPI009B 4404912.3241500195.89884404912.3188500195.8996-5.30.8合格表8㊀控制网复测坐标差之差相对精度部分计算成果示例点名相邻点点名坐标差之差ΔX /mm ΔY /mm 距离/m 相对精度备注CPI007B CPI0082.8-2.6875.35541/229091合格CPI007B CPI009B 0.80.22975.40471/3608210合格CPI007B CPI010 3.6-1.63461.24191/878590合格CPI008CPI009B -2.02.83002.73101/872651合格表9㊀控制网复测内插更新点部分成果示例原测坐标复测坐标点号X /mY /m点号X /mY /m备注CPI024********.157********.1009CPI024********.1616509820.0889内插更新CPI025********.19626508946.0385CPI025********.178********.0221内插更新CPI02654368251.89096509646.5578CPI02654368251.87586509646.5488内插更新CPI200154367205.89796508403.8664CPI200154367205.89266508403.8658CPI2002A 54366912.27896508608.409CPI2002A 54366912.26456508608.4207内插更新CPI200354363697.29686508914.9015CPI200354363697.29006508914.8851内插更新CPI200454360313.8916508458.0432CPI200454360313.89596508458.0292㊀图8㊀控制网复测参数设㊀3㊀结束语利用EXCEL VBA 编程,实现了EXCEL 与WORD的数据交互,能够快速进行平差数据后处理,基线解算过程中及平差后精度指标的统计分析,最大值㊁最小值㊁限差等输出显示,各精度指标的可视化绘图等㊂实践证明,该程序操作方便,满足内业数据统计分析的要求,有效提高了精度指标的统计工作效率,减少了内业工作量,进一步提高了测量内业办公的自动化程度和图表统计工作的规范性㊂参考文献[1]㊀张立艳.有界约束平差模型的变量代换方法[J].测绘通报,2018(11):83-85,89.[2]㊀孙迅文.基于C /S 模式的GPS 数据处理应用研究[D].重庆:重庆交通大学,2018.[3]㊀钟磊.常用GNSS 数据处理软件在山区工程控制网中的应用研究[D].贵阳:贵州师范大学,2018.[4]㊀王汉雄,乔景顺.Excel VBA 在测量数据处理中的应用[J].测绘科学,2008(2):210-212.[5]㊀刘晓云,张世娟,程传录.精密水准测量数据处理自动化系统的研究与实现[J].测绘通报,2013(10):67-69,86.[6]㊀罗刚君,章兰新,黄朝阳.Excel2010VBA 编程与实践[M].北京:电子工业出版社,2010.[7]㊀石林峰,张建华,韩超斌.Excel VBA 在高铁线上水准数据质量检查中的应用[J].矿山测量,2018,46(3):70-73,77.[8]㊀贾勇帅,魏超,刘欣,等.基于ExcelVBA 的立式罐的变形数据处理软件开发[J].测绘与空间地理信息,2016,39(10):219-221.[9]㊀贾丙普,彭喜林.徕卡DNA03数字水准仪数据处理研究[J].测绘工程,2015,24(2):75-77.[10]卢向科,王平均,张利辉,等.EXCEL VBA 在矿山测量中的应用[J].煤炭技术,2009,28(11):118-119.[11]赵淑湘.基于Excel VBA 测绘数据处理自定义函数的开发[J].矿山测量,2015(6):77-80.[12]梁华冰.VLISP 与VBA 结合编程在测量放线工作中的应用[J].测绘工程,2014,23(5):75-77.[13]杨晓玉.矿区地表沉陷监测数据处理系统设计[J].北京测绘,2015(5):83-87.[14]王佩贤,刘永睿,王婷.Excel VBA 在GPS 坐标转换计算中的应用[J].测绘科学,2012,37(5):200-201.[15]Guy Hart -Davis.VBA 编程从入门到精通[M].北京:电子工业出版社,2008.。

水准网平差(VB代码)

水准网平差(VB代码)

(误差理论与测量平差础)课程设计报告系(部):土木工程系实习单位:山东交通学院班级:测绘084学生姓名:田忠星学号********* 带队教师:夏小裕﹑周宝兴时间:10 年12 月13日到10 年12 月19日山东交通学院目录:1.摘要P32.概述P33.水准网间接平差程序设计思路P3—P44. 平差程序流程图P4—P65. 程序源代码及说明P7—P236. 计算结果P23—P267. 总结P26—P27一:摘要在测量工作中,为了能及时发现错误和提高测量成果的精度,常作多余观测,这就产生了平差问题。

在一个平差问题中,当所选的独立参数Xˆ的个数等于必要观测数t时,可将每个观测值表达成这t个参数的函数,组成观测方程,这种以观测方程为函数模型的平差方法,就是间接平差。

二:概述:该课程设计的主要目是对水准网进行间接平差,在输入数据后依次计算高程近似值﹑误差方程和平差计算。

三:水准网间接平差程序设计思路1.根据平差问题的性质,选择t个独立量(既未知点的高程)作为参数Xˆ2. 将每一个观测量的平差值(既观测的高程差值)分别表达成3.由误差方程系数B和自由项组成法方程,法方程个数等于参数的个数t ;4. 解算法方程,求出参数Xˆ,计算参数(高程)的平差值Xˆ=X0 +xˆ;5.由误差方程计算V,求出观测量(高差)平差值6.评定精度单位权中误差VLL+ =∧VLL+ =∧平差值函数的中误差四:平差程序流程图1. 已知数据的输入需要输入的数据包括水准网中已知点数﹑未知点数以及这些点的点号,已知高程和高差观测值﹑距离观测值。

程序采用文件方式进行输入,约定文件输入的格式如下:第一行:已知点数﹑未知点数﹑观测值个数第二行:点号(已知点在前,未知点在后)第三行:已知高程(顺序与上一行的点号对应)第四行:高差观测值,按“起点点号,终点点号。

高差观测值,距离观测值”的顺序输入。

本节中使用的算例的数据格式如下2,3,71,2,3,4,55.016,6.0161,3,1.359,1.11,4,2.009,1.7 2,3,0.363,2.3,ˆ20s u n PV V r PV V T T +-==σ.ˆˆˆ0ˆϕϕϕσσQ =2,4,1.012,2.73,4,0.657,2.43,5,0.238,1.45,2,-0.595,2.62.平差计算过程(1)近似高程的计算。

水准网平差(VB代码)

水准网平差(VB代码)

误差理论与测量平差础)课程设计报告系(部):土木工程系实习单位:山东交通学院班级:测绘084学生姓名:田忠星学号080712420带队教师:夏小裕﹑周宝兴时间:10 年12 月13 日到10 年12 月19 日山东交通学院目录:1.摘要P32.概述P33.水准网间接平差程序设计思路P3—P44.平差程序流程图P4—P65.程序源代码及说明P7—P236.计算结果P23—P267.总结P26—P27一:摘要在测量工作中,为了能及时发现错误和提高测量成果的精度,常作多余观测,这就产生了平差问题。

在一个平差问题中,当所选的独立参数X?的个数等于必要观测数t 时,可将每个观测值表达成这t 个参数的函数,组成观测方程,这种以观测方程为函数模型的平差方法,就是间接平差。

二:概述:该课程设计的主要目是对水准网进行间接平差,在输入数据后依次计算高程近似值﹑误差方程和平差计算。

三:水准网间接平差程序设计思路1.根据平差问题的性质,选择t 个独立量(既未知点的高程)作为参数X?2.将每一个观测量的平差值(既观测的高程差值)分别表达成L L V3.由误差方程系数 B 和自由项组成法方程,法方程个数等于参数的个数t ;4. 解算法方程,求出参数X?,计算参数(高程)的平差值X?=X0 +x? ;5.由误差方程计算V,求出观测量(高差)平差值L L V 6.评定精度单位权中误差平差值函数的中误差四:平差程序流程图1. 已知数据的输入 需要输入的数据包括水准网中已知点数﹑未知点数以及这些点 的点号, 已知高程和高差观测值﹑距离观测值。

程序采用文件方 式进行输入,约定文件输入的格式如下: 第一行:已知点数﹑未知点数﹑观测值个数 第二行:点号(已知点在前,未知点在后) 第三行:已知高程(顺序与上一行的点号对应) 第四行:高差观测值,按“起点点号,终点点号。

高差观测值, 距离观测值”的顺序输入。

本节中使用的算例的数据格式如下2,3,7 1,2,3,4,5 5.016,6.016 1,3,1.359,1.11,4,2.009,1.7 2,3,0.363,2.3 2,4,1.012,2.7 3,4,0.657,2.4 3,5,0.238,1.4 5,2,-0.595,2.6 2.平差计算过程V TPV rV TPVnus(1)近似高程的计算。

VBA在测绘成果检验数据处理中的应用

VBA在测绘成果检验数据处理中的应用

科技创新VBA在测绘成果检验数据处理中的应用蒋小华(湖南 长沙 410008)摘要:基于Excel办公软件,利用VBA编写程序代码,实现测绘成果检验数据误差、粗差、中误差计算,并生成标准化检验记录表格,便于后期文件整理及归档。

关键词:测绘成果;VBA;数据处理;检验;记录表为了确保测绘成果质量,生产单位要严格执行 “两级检查、一级验收”制度,通常在绘成果检验过程中需要应用Microsoft office系列办公软件、AutoCAD及ArcGis等应用软件,检验数据计算及检验记录整理,存在大量重复工作,不仅效率低下,而且容易出错。

如果能通过一门应用语言,编写程序代码,使重复性的工作自动化,将能大幅提高效率,避免人为因素错误。

本文介绍使用VBA开发程序,实现导入检验数据,自动计算各项指标,生成标准化检验记录文件。

1 程序功能通过人机交互窗口(如图1)输入样本比例尺、检测方式、仪器名称及型号、仪器编码及中误差限值等参数后,将指定文件夹中所有的检验数据导入到Excel中,程序自动计算出每个检测点文件的中误差、粗差率及精度评分,最后生成标准格式的检验记录表。

图1 人机交互界面 图2 工作流程图2 数据准备所有检测点文件存放在同一文件夹根目录下,检测点文件采用逗号分隔,后缀为txt的文本文件详见图3,并以检验样本号命名。

ID,X,Y1,****791.498,***117.677 …检查点2,****792.969,***117.544 …图上点3,****304.831,***014.881 …检查点4,****305.964,***015.288 …图上点图3 检测点文件格式3 程序编制程序自动计算各项检验指标,需要采用VBA编写数据导入、检验误差、粗差、中误差、精度评分计算及表格格式设置模块。

3.1 数据导入利用FileDialog文件对话框获取文件夹路径、然后利用Dir函数按文件系统顺序从文件夹中返回文件,并赋值给strwkname字符串变量,使用left函数(strsamplename=left(strwkname,len(strwkname)-4)获取样本号并赋值给strsamplename字符串变量,后续生成表格中的图幅号由strsamplename提供。

高等测量平差

高等测量平差

目录第一章测量平差概述 (2)1-1 测量平差的基本概念 (2)1-2 参数平差原理总述 (4)1-3 测量平差的若干进展 (6)第二章统计假设检验 (8)第三章回归模型的参数估计与假设检 (14)3-1 概述 (14)3-2 线性回归模型 (14)3-3 回归参数的最小二乘估计 (15)3-4 线性回归模型的统计分布和统计 (20)3-5 回归模型和回归系数的显著性检验 (22)3-6 预报值的标准差和区间估计 (30)3-7 自回归模型 (33)3-8 多项式拟合模型 (37)3-9 三角多项式模型 (39)3-10 多面函数模型 (44)第四章秩亏自由网平差 (47)4-1 概论 (47)4-2 广义逆与线性方程组解 (49)4-3 秩亏自由网平差原理 (54)4-4 自由网拟稳平差 (59)4-5 自由网平差及其基准变换 (63)4-6 用于变形分析的自由网平差 (67)第五章稳健估计 (71)5-1 概述 (71)5-2 稳健估计原理 (71)5-3 基于选权迭代法的稳健估计方法 (73)5-4 相关观测的稳健估计方法 (79)5-5 稳健回归分析 (83)第六章非线性模型平差 (90)6-1 问题的提出 (90)6-2 非线性模型平差原理 (90)6-3 非线性模型平差的算法 (92)6-4 非线性模型平差的精度评定 (102)第一章测量平差概述1-1 测量平差的基本概念一、测量平差问题测量误差,也称观测误差,是待观测量的真值与其观测值之差。

观测只是指用一定的仪器、工具、传感器或其他手段获取反映地球及其他实体与空间分布有关信息的过程和数据。

不论观测条件如何,测量误差总是不可避免的。

多余观测,为了确定一定的几何模型,并不需要知道该模型中所有元素大小,而只需要知道其中必要的部分元素的大小就行了。

例如确定一个平面三角形的形状,只需要知道其中任意二个内角的大小。

这二个内角观测值就称为必要观测。

四等水准VB实习总结

四等水准VB实习总结

实验报告一一实验内容应用程序进行四等水准的计算二程序界面设计1 程序的设计界面2 程序的运行界面3 程序计算界面三、编写程序Option ExplicitDim startPoint!, endPoint!Private Sub cmdCheckCalc_Click()Dim i%, tDist '距离tDist = 0Dim totalDetH!, closeDetH! '累计高差和高差闭合差For i = 1 To nMarkstDist = tDist + dis(i)Next itotalDetH = 0For i = 1 To nMarks '计算累计高差totalDetH = totalDetH + detH(i)Next i'计算闭合差startPoint = Val(txtStartPoint.Text)endPoint = Val(txtEndPoint.Text)If optAnnex.Value Then '附合水准closeDetH = (endPoint - startPoint) - totalDetHElse '闭合水准和支水准closeDetH = -totalDetHEnd If'检查闭合差是否超限If closeDetH > 0.04 * Sqr(tDist) Then '采用40*Sqr(L)来计算,单位是毫米MsgBox "闭合差超限,测量成果不合格!", , "闭合差超限"txtShowResult.Text = txtShowResult.Text & "闭合差超限,测量成果不合格!"Exit SubElseMsgBox "闭合差合格,继续计算转点高程!", , "闭合差合格"End IfDim temp!temp = startPointtxtShowResult.Text = txtShowResult.Text & "平差后的高程为:" & vbCrLf For i = 0 To nMarkstemp = temp + detH(i) + closeDetH * dis(i) / tDisttxtShowResult.Text = txtShowResult.Text & " (" & Str(i) & "):" & Str(Format(temp, "0.000")) & vbCrLfNext iEnd SubPrivate Sub cmdExit_Click()EndEnd SubPrivate Sub cmdInput_Click()'检查输入的几个文本框:是否已经输入了If txtStartPoint.Text = "0" ThenMsgBox "还没有输入起始点高程!"Exit SubEnd IfIf txtEndPoint.Text = "0" And optAnnex.Value = True Then MsgBox "还没有输入终点高程!"Exit SubEnd IfIf txtBMNum.Text = "0" And optAnnex.Value = True ThenMsgBox "还没有输入测站数!"Exit SubEnd IffrmInput.ShowEnd SubPrivate Sub optAnnex_Click()txtEndPoint.Enabled = optAnnex.ValueEnd SubPrivate Sub optClose_Click()txtEndPoint.Enabled = Not optClose.ValueEnd SubPrivate Sub optSpur_Click()txtEndPoint.Enabled = Not optSpur.ValueEnd SubPrivate Sub Timer1_Timer()Label5.Caption = NowEnd SubPrivate Sub txtStartPoint_LostFocus()If Not IsNumeric(txtStartPoint.Text) ThenMsgBox "输入的高程含有非数字字符!"txtStartPoint.Text = ""txtStartPoint.SetFocusExit SubEnd IfIf Val(txtStartPoint.Text) > 5000 Or Val(txtStartPoint.Text) < -100 ThenMsgBox "输入的高程有误!"txtStartPoint.Text = ""txtStartPoint.SetFocusExit SubEnd IfstartPoint = Val(txtStartPoint.Text)End SubPrivate Sub txtEndPoint_LostFocus()If Not IsNumeric(txtEndPoint.Text) ThenMsgBox "输入的高程含有非数字字符!"txtEndPoint.Text = ""txtEndPoint.SetFocusExit SubEnd IfIf Val(txtEndPoint.Text) > 5000 Or Val(txtEndPoint.Text) < -100 Then MsgBox "输入的高程有误!"txtEndPoint.Text = ""txtEndPoint.SetFocusExit SubEnd IfendPoint = Val(txtEndPoint.Text)End SubPrivate Sub txtBMNum_LostFocus()If Not IsNumeric(txtBMNum.Text) ThenMsgBox "输入的测站数含有非数字字符或尚未输入!"txtBMNum.Text = ""txtBMNum.SetFocusExit SubEnd IfnMarks = Val(txtBMNum.Text)If txtBMNum.Text <> "" And (nMarks > 20 Or nMarks < 2) ThenMsgBox "输入的测站数有误!"txtBMNum.Text = ""txtBMNum.SetFocusExit SubEnd IfReDim dis(nMarks) As Single, detH(nMarks) As SingleEnd Sub四总结通过这次对VB测量程序的学习,让我们认识到了VB在生活中的广泛应用,我们完成了一个个程序的输入,运行,我感慨非常的高兴,更加激发了我对VB 这门课程的学习,让我们在其中学到了许多的知识,增加了我们的视野,为我们以后的工作打下了坚实的基础。

四等水准测量VB 程序 代码

四等水准测量VB 程序 代码

四等水准测量VB 程序Private Sub Command1_Click()Dim BBU As SingleDim BBM As SingleDim BBL As SingleDim BRM As SingleDim BK As SingleDim FBU As SingleDim FBM As SingleDim FBL As SingleDim FRM As SingleDim FK As SingleBBU = Val(ltrim$(rtrim$(Text1.Text) ))BBM = Val(ltrim$(rtrim$(Text2.Text) ))BBL = Val(ltrim$(rtrim$(Text3.Text) ))BRM = Val(ltrim$(rtrim$(Text4.Text) ))BK = Val(ltrim$(rtrim$(Text9.Text) ))FBU = Val(ltrim$(rtrim$(Text5.Text) ))FBM = Val(ltrim$(rtrim$(Text6.Text) ))FBL = Val(ltrim$(rtrim$(Text7.Text) ))FRM = Val(ltrim$(rtrim$(Text8.Text) ))FK = Val(ltrim$(rtrim$(Text10.Text) ))bdh = (BBM - FBM) '黑面高差'fdh = (BRM - FRM) '红面高差'If BK > FK Thenfdh = fdh - 0.1Elsefdh = fdh + 0.1End IfIf Abs((BBU - BBL) - (FBU - FBL)) * 100 > 3 Then MsgBox "前后视距较差超限"Exit Sub '退出程序'ElseIf Abs(BBM + BK - BRM) > 0.003 Then MsgBox "后视黑~红面读数较差超限"Exit Sub '退出程序'ElseIf Abs(FBM + FK - FRM) > 0.003 Then MsgBox "前视黑~红面读数较差超限"Exit Sub '退出程序'ElseIf Abs(bdh - fdh) > 0.005 ThenMsgBox "黑红面所测高差较差超限"Exit Sub '退出程序'Elsedh = Format((bdh + fdh) / 2, "0.0000") '计算高差'MsgBox "测站高差="& Str$(dh) &”m”,vbokonly,”计算结果” End IfDim hsjl As SingleDim qsjl As SingleDim qhsjc As SingleDim qhsjljc As SingleDim hchhmdsc As SingleDim qchhmdsc As SingleDim hmgc As SingleDim hmgc1 As SingleDim hhmgczc As Singlehsjl = (BBU - BBL) * 100qsjl = (FBU - FBL) * 100qhsjc = qsjl - hsjlhchhmdsc = BBU - BRMqchhmdsc = FBU - FRMhmgc = BBM - FBMhmgc1 = BRM - FRMhhmgczc = hmgc - hmgc1Text1.Text = Format(hsjl, "0.0000")Text2.Text = Format(qsjl, "0.0000")Text3.Text = Format(qhsjc, "0.0000")Text4.Text = Format(qhsjljc, "0.0000")Text5.Text = Format(hchhmdsc, "0.0000")Text6.Text = Format(qchhmdsc, "0.0000")Text7.Text = Format(hmgc, "0.0000")Text9.Text = Format(hhmgczc, "0.0000")Text8.Text = Format(hmgc1, "0.0000")End SubDim BBU As SingleDim BBM As SingleDim BBL As SingleDim BRM As SingleDim BK As SingleDim FBU As SingleDim FBM As SingleDim FBL As SingleDim FRM As SingleDim FK As SinglePrivate Sub Combo1_Click()Dim ReTxt As StringReTxt = Combo1.ListIndexBK = Combo1.List(ReTxt)End SubPrivate Sub Combo2_Click()Dim ReTxt As StringReTxt = Combo2.ListIndexFK = Combo2.List(ReTxt)End SubPrivate Sub Command1_Click()BBU = Val(LTrim$(RTrim$(Text1.Text))) BBM = Val(LTrim$(RTrim$(Text2.Text))) BBL = Val(LTrim$(RTrim$(Text3.Text))) BRM = Val(LTrim$(RTrim$(Text4.Text)))FBU = Val(LTrim$(RTrim$(Text5.Text))) FBM = Val(LTrim$(RTrim$(Text6.Text))) FBL = Val(LTrim$(RTrim$(Text7.Text))) FRM = Val(LTrim$(RTrim$(Text8.Text)))Dim BBU As SingleDim BBM As SingleDim BBL As SingleDim BRM As SingleDim BK As SingleDim FBU As SingleDim FBM As SingleDim FBL As SingleDim FRM As SingleDim FK As SinglePrivate Sub Combo1_Click()Dim ReTxt As StringReTxt = Combo1.ListIndexBK = Combo1.List(ReTxt)End SubPrivate Sub Combo2_Click()Dim ReTxt As StringReTxt = Combo2.ListIndexFK = Combo2.List(ReTxt)End SubPrivate Sub Command1_Click()BBU = Val(LTrim$(RTrim$(Text1.Text)))BBM = Val(LTrim$(RTrim$(Text2.Text)))BBL = Val(LTrim$(RTrim$(Text3.Text)))BRM = Val(LTrim$(RTrim$(Text4.Text)))FBU = Val(LTrim$(RTrim$(Text5.Text)))FBM = Val(LTrim$(RTrim$(Text6.Text)))FBL = Val(LTrim$(RTrim$(Text7.Text)))FRM = Val(LTrim$(RTrim$(Text8.Text)))bdh = (BBM - FBM) '黑面高差'fdh = (BRM - FRM) '红面高差'If BK > FK Thenfdh = fdh - 100Elsefdh = fdh + 100End IfIf Abs((BBU - BBL) - (FBU - FBL)) * 0.1 > 3 Then MsgBox "前后视距较差超限"Exit Sub '退出程序'ElseIf Abs(BBM + BK - BRM) > 3 Then MsgBox "后视黑~红面读数较差超限"Exit Sub '退出程序'ElseIf Abs(FBM + FK - FRM) > 3 Then MsgBox "前视黑~红面读数较差超限"Exit Sub '退出程序'ElseIf Abs(bdh - fdh) > 5 ThenMsgBox "黑红面所测高差较差超限"Exit Sub '退出程序'Elsedh = Format((bdh + fdh) / 2, "0.0000") '计算高差' Text10.Text = dh / 1000End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Text9.Text = ""Text10.Text = ""Text1.SetFocusEnd Sub。

VB开发水准测量平差软件的方法

VB开发水准测量平差软件的方法

VB开发水准测量平差软件的方法摘要:本文介绍了应用Visual Basic6.0开发的水准测量平差软件的方法。

通过软件自动生成EXCEL格式的水准测量平差计算表格进行数据处理,快速、准确计算出待求点的高程。

关键词:VB;数据处理;水准测量水准测量平差计算就是对合格的高差予以调整。

将闭合差以相反的符号按与各段水准路线长度(或按测站数)成正比的办法调整到各段高差上,求出改正后的高差再推算高程。

手工计算速度慢、工作效率低,同时易出现计算错误,而Visual Basic6.0是一种简单易学的可视化语言,用其进行编程计算就显得方便灵活。

本文结合作者工作的实践,详细地介绍了用VB开发水准测量平差软件的方法及应用。

1.VB语言的特点(1).面向对象和可视化的程序设计。

(2).事件驱动的运行机制。

(3).结构化的程序设计语言。

(4).多种数据库访问能力。

(5).提供了功能完备的应用程序集成开发环境。

(6).方便使用的联机帮助功能。

2.水准测量平差计算的方法(1).计算高差闭合差fh。

fh=Σh测 -(H终-H始)fh允=±20(按四等水准测量限差)fh≤fh允(合格)fh允—允许闭合差;Σh测—实测的各段高差和;H始—起点高程;H终—终点高程;(2).计算高差改正数Vi。

Σn —总测站数或路线总长度(km);ni —分段测站数或分段路线长度(km);(3).计算改正后高差h改i。

h改i=h测¬ + Vi(4).计算待求点高程Hi。

Hi=Hi-1+ h改i3.软件的开发原理首先在VB中设计了一个固定的界面(图3.1),添加相应功能键及数据输入文本框,通过输入相应的数据,利用VB编程实现自动生成电子表格;通过VB操作电子表格里数据进行平差计算。

根据不同的平差方法,本软件设置按距离进行平差和按测站数进行平差两种计算方法。

图3.1水准测量平差软件界面3.1参数输入方式数据输入设计成两种方式;一种是先建立文本格式(txt)的参数文件,通过编写程序代码实现直接读取数据。

四等水准附和导线、闭合导线平差VB代码

四等水准附和导线、闭合导线平差VB代码

程序说明:数据录入文件的存储格式为:按每一测站的距离、高差形式存储,平差之前需要输入测站总数,依次点击“平差计算”、“成果分析”、“成果输出“。

Dim ds() As Single, ht() As Single, detht() As Single, zh() As Single 'ht测量高差,deth高差改正数,zh点高程Dim fht As Single, n As Integer, fr As Single, sds As Single 'fht高差闭合差,n测站数,fr高差闭差合限差,sds线路总长Private Sub Command3_Click()EndEnd SubPrivate Sub Command5_Click()Dim i As Integern = Val(Text3.Text)If n = 0 ThenMsgBox "请输入测站数"Exit SubEnd IfReDim ht(n) As Single, ds(n) As Single, detht(n) As Single, zh(n) As SingleCD.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"CD.ShowOpenstrfilename = CD.FileNameOpen strfilename For Input As #1For i = 1 To nInput #1, ds(i), ht(i)If ds(i) > 160 ThenMsgBox "第" & i & "测站视距超限"Exit SubEnd IfNext iClose #1MsgBox "数据已录入"End SubPrivate Sub Command6_Click()Dim i As Integer, sht As Single, x As Single Dim a As Single, b As Singlesds = 0sht = 0For i = 1 To nsds = sds + ds(i)sht = sht + ht(i)Next iIf Option1.Value Thena = Val(Text1.Text)b = Val(Text2.Text)fht = sht - (a - b)ElseIf Option2.Value Thena = Val(Text1.Text)fht = shtEnd IfEnd Ifzh(0) = aFor i = 1 To nx = -fht * ds(i) / sdsdetht(i) = xht(i) = ht(i) + detht(i)zh(i) = zh(i - 1) + ht(i)Next iMsgBox "平差计算已完成"End SubPrivate Sub Command7_Click()Dim x As Singlefr = 40 * Sqr(sds / 1000)x = Abs(fht)If x > fr ThenMsgBox "线路全长高差闭合差超限,但系统已按照平差原理平差,如需保存结果,请点击“成果保存”按钮"Exit SubElseMsgBox "线路全长高差闭合差符合限差要求,如需保存结果,请点击“成果保存”按钮"End IfEnd SubPrivate Sub Command8_Click()Dim i As IntegerCD.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"CD.ShowOpenstrfilename = CD.FileNameOpen strfilename For Output As #2For i = 1 To nPrint #2, "第" & i & "测站视线长:" & ds(i) & "m",Print #2, "高差改正数:" & Format(detht(i), "0.000") & "m",Print #2, "改后高差:" & Format(ht(i), "0.000") & "m",Print #2, "高程:" & Format(zh(i), "0.000") & "m"Next iPrint #2, "路线全长:" & Format(sds / 1000, "0.000") & "km"Print #2, "路线全长高差闭合差:" & Format(fht, "0.000") & "m"Print #2, "限差:" & Format(fr / 1000, "0.000") & "m"Print #2, "解算人:×××"Print #2, "时间:" & DateClose #2MsgBox "成果已保存"End Sub。

Excel vba在水准路线测量外业中的应用

Excel vba在水准路线测量外业中的应用

Excel vba在水准路线测量外业中的应用作者:李茂晔刘群来源:《电脑知识与技术》2017年第03期摘要:水准路线外业测量工作,需要进行大量的数据处理,该文利用excel vba代码就可以使大量的计算工作瞬间完成,极大地提高了工作效率。

关键词:水准测量;代码;高效中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)03-0081-02Vba是微软公司利用VB语言来控制Excel的操作,人们要想对Excel表格进行操作,或者对Excel表格中的数据进行运算,就可以通过编写vba代码操作Excel,实现操作的自动化。

水准路线外业测量工作中,需要进行大量的数据处理,且大都为重复计算,利用excelvba 代码就可以使大量的计算工作瞬间完成,极大地提高了工作效率。

下面将以四等水准路线为例说明excel vba的强大计算功能。

1 四等水准外业计算1.1 视距计算后视距:(9)=[(1)-(2)]×100 前视距:(10)=[(4)-(5)]×100视距差:(11)=(9)-(10)视距差累计:(12)=前一站(12)+本站(11)1.2 高差计算同一水准尺红、黑面中丝读数的校核:(13)=K+(6)-(7)(14)=K+(3)-(8)黑面高差和红面高差计算:黑面高差:(15)=(3)-(6)黑面高差:((16)=(8)-(7)黑红面高差之差:(17)=(15)-(16)平均值计算:平均高差:=[(15)+(16)]/21.3 每页计算校核高差部分:计算每页所有后视读数总和与所有前视读数总和之差,其值应等于所有高差总和且等于平均高差总和的两倍∑[(3)+(8)]-∑[(6)+(7)]=∑[(15)+(16)]=2∑(18)视距部分:后视距总和与前视距总和之差应等于末站视距差累计∑(9)-∑(10)=末站(12)校核无误后算出总视距总视距=∑(9)+∑(10)将外业测量数据填于测量手簿中,备注栏数据为施测时红尺面的尺底常数。

高程复测平差(CBM4-CBM5-CBM6)

高程复测平差(CBM4-CBM5-CBM6)

6.908 7.174 8.513 9.101 9.502 10.543 9.118 8.088 6.158 7.582 5.792 5.320 4.494 5.345 6.461 5.753 7.174 8.513 9.101 9.502 10.543 9.118 8.088 6.159 7.582 5.792 5.321 4.494 5.345 6.462 5.754 K为水准尺常 数
0.428 1.833 1.901 1.691 1.879 0.529 0.776 0.02 1.655 0.081 1.121 0.994 1.729 1.581 1.016 4.949 5.181 6.101 5.977 5.624 6.641 6.593 6.637 5.018 6.558 6.379 6.508 5.665 5.152 6.511 0.162 0.494 1.314 1.289 0.838 1.954 1.806 1.95 0.231 1.871 1.593 1.82 0.878 0.465 1.724 0.266 1.339 0.587 0.402 1.041 -1.425 -1.03 -1.93 1.424 -1.79 -0.472 -0.826 0.851 1.116 -0.708 0.166 1.439 0.488 0.501 0.941 -1.326 -1.129 -1.83 1.323 -1.69 -0.571 -0.727 0.751 1.217 -0.808
CBM6设计标高5.754 fh/n=-0.000067
fh=5.753-5.754=-0.001m n=15 L=1.5Km f=±20√L=±24.5mm>fh=-1mm,满足四等水准高程闭合差
前视标尺读数(m) 备注

测量平差4

测量平差4

... Qx1xn ... ... ... Qxn xn
第三章 协方差传播律 3
互协因数阵
x1 y1 2 0 ... xn y1 2 0
QXY
n,r
1
02
DXY
n,r
......
... ... xn yr Qxn y1 ...... 02
当观测值互不相关时,权阵为对角阵,主对 角线上的元素为观测值的权。
L [ L1 ......Ln ]T
2 L 1 2 0 1 2 DL ... 0 0
QLL
1 ...... 0 p1 ...... ... 2 L r ...... 2 0
3 1 例3:已知相关观测值L的方差阵为 DL 1 4 又知L1的协因数 Q11 3 / 2 ,
对上式求全微 分,得
f1 f1 dZ 1 dX X 1 X 1 2
dX n f 2 f 2 f 2 dZ 2 dX dX X 1 X 2 X dX n 1 2 n f t dX 2 X n dX n
-9-
第三章 协方差传播律---权与定权的常用方法 1 权的定义
权的意义,不在于其数值的大小,重要的是它们之间的比例关系。 是表征精度的相对的数字指标。
02 pi 2 i
例1 量AB间距离,得两组观测值 L1 ,

1 3mm,
3 5mm
2
L2 ,已知它们的中误 2mm ,求 L1 , L2 的权。

用VBA自动计算水准测量的原始数据

用VBA自动计算水准测量的原始数据

用VBA自动计算水准测量的原始数据2007-02-09 17:51:30| 分类:默认分类| 标签:水准仪原是数据处理计算 exce vba |字号大中小订阅Option ExplicitPrivate Sub gaocheng() '数据处理代码Dim i, K, PointerDim I_first As Integer, I_end As IntegerI_first = Sheet1.Range("H" & 4).ValueI_end = Sheet1.Range("H" & 5).Value'开始行要为转点下一行,且转点前一行高程数据已经计算好.If Sheet1.Range("D" & 1).Value = "1" ThenPointer = MsgBox("数据已经存在,确定覆盖吗?", vbYesNo + vbInformation, "继续?")If Pointer = vbNo ThenExit SubEnd IfEnd IfK = Sheet1.Range("B" &I_first - 1).Value + Sheet1.Range("C" &I_first - 1).ValueFor i = I_first To I_endIf Trim(Sheet1.Range("A" & i).Value) = "ZD" ThenK = Sheet1.Range("B" & i).Value + Sheet1.Range("C" & i - 1).Value ElseSheet1.Range("C" & i).Value = K - Sheet1.Range("B" & i).ValueEnd IfNext iMsgBox "I LOVE 'VBA'" &vbCrLf& "CopyRight by ZZL" &vbCrLf& "liulangr110@", vbInformation, "高程计算完毕"Sheet1.Range("D" & 1).Value = "1"End SubPrivate Sub Clear() '清除代码Dim iFor i = Sheet1.Range("H" & 4).Value To Sheet1.Range("H" & 5).ValueSheet1.Range("C" & i).Value = EmptyNext iSheet1.Range("D" & 1).Value = EmptyEnd SubSub Macro1() '删除导线点行Dim iFor i = 1 To 445If Left(Trim(Sheet2.Range("A" & i).Value), 1) = "D" ThenRows(i & ":" & i).SelectSelection.Delete SHIFT:=xlUpEnd IfNext iMsgBox "OK"End SubSub Macro2() '删除转点行Dim iFor i = 1 To 445If Sheet2.Range("A" & i).Value = "ZD" Or Trim(Sheet2.Range("A" & i).Value) = "" Then Rows(i & ":" & i).SelectSelection.Delete SHIFT:=xlUpEnd IfNext iEnd Sub。

测量平差中的数学公式汇编

测量平差中的数学公式汇编

测量平差中的数学公式汇编本节对测量平差中的数学公式进行整理和归纳。

其中包含了高等数学、线性代数与概率论和数理统计这三门测量平差中经常出现的数学知识。

这些公式是学习测量平差的重要工具,是学习测量平差的必备知识。

2.1高等数学2.1.1全微分函数z=f(x, y) 的两个偏导数f&#39;x(x, y), f&#39;y(x, y)分别与自变量的增量△x, △y乘积之和f&#39;x(x, y)△x + f&#39;y(x, y)△y若该表达式与函数的全增量△z之差,当ρ→0时,是ρ( ) 的高阶无穷小,那么该表达式称为函数z=f(x, y) 在(x, y)处(关于△x, △y)的全微分。

记作:dz=f&#39;x(x, y)△x + f&#39;y(x, y)△y2.1.2导数常见公式①C&#39;=0(C为常数函数)②(x^n)&#39;= nx^(n-1) (n∈Q*);熟记1/X的导数③(sinx)&#39; = cosx(cosx)&#39; = - sinx(tanx)&#39;=1/(cosx)^2=(secx)^2=1+(tanx)^2-(cotx)&#39;=1/(sinx)^2=(cscx)^2=1+(cotx)^2(secx)&#39;=tanx·secx(cscx)&#39;=-cotx·cscx(arcsinx)&#39;=1/(1-x^2)^1/2 (arccosx)&#39;=-1/(1-x^2)^1/2 (arctanx)&#39;=1/(1+x^2)(arccotx)&#39;=-1/(1+x^2)(arcsecx)&#39;=1/(|x|(x^2-1)^1/2)(arccscx)&#39;=-1/(|x|(x^2-1)^1/2) ④(sinhx)&#39;=coshx(coshx)&#39;=sinhx(tanhx)&#39;=1/(coshx)^2=(sechx)^2(coth)&#39;=-1/(sinhx)^2=-(cschx)^2 (sechx)&#39;=-tanhx·sechx (cschx)&#39;=-cothx·cschx (arsinhx)&#39;=1/(x^2+1)^1/2 (arcoshx)&#39;=1/(x^2-1)^1/2(artanhx)&#39;=1/(x^2-1) (|x|&lt;1) (arcothx)&#39;=1/(x^2-1)(|x|&gt;1) (arsechx)&#39;=1/(x(1-x^2)^1/2)(arcschx)&#39;=1/(x(1+x^2)^1/2)⑤(e^x)&#39; = e^x(a^x)&#39; = (a^x)lna (ln为自然对数)(Inx)&#39; = 1/x(ln为自然对数)(logax)&#39; =x^(-1) /lna(a&gt;0且a不等于1)(x^1/2)&#39;=[2(x^1/2)]^(-1)(1/x)&#39;=-x^(-2)2.1.3泰勒公式设函数f(x)在x=a的邻区内n+1阶可导,则对于位于此邻区内的任一x,至少存在一点c,c在a与x之间,使得:此公式也被称为泰勒公式。

常用的的测量程序vb代码

常用的的测量程序vb代码

取一元、二元、五元的硬币共十枚,付给25元钱,有多少种不同的取法?方法一Private Sub Command1_Click()Print "一元", "两元", "五元"For a = 0 To 10For b = 0 To 10For c = 0 To 10If a + 2 * b + 5 * c = 25 And a + b + c = 10 ThenPrint a, b, cEnd IfNext cNext bNext aEnd Sub:方法二Private Sub Command1_Click()Print "一元", "两元", "五元"For a = 0 To 10For b = 0 To 10c = 10 - a - bIf a + 2 * b + 5 * c = 25 And c > 0 ThenPrint a, b, cEnd IfNext bNext aEnd Sub九九乘法表方法一Private Sub Command1_Click() Print Tab(12); "九九乘法表" For i = 1 To 9For j = 1 To iPrint i * j;Next jPrintNext iEnd Sub方法二Private Sub Command2_Click() ShowFontSize = 15Print Tab(12);FontSize = 12PrintFor k = 0 To 9Print Tab(k * 4); k;Next kjiuPrintFor j = 1 To 9Print j;For k = 1 To jPrint Tab(k * 4); j * k;Next kPrintNext jEnd Sub求T = 8! = 1×2×3×…×8 Private Sub Command1_Click()jc = 1n = Val(Text1.Text)For c = 1 To njc = jc * cNext cPrint "jc="; jcEnd Sub用100 元买100 只鸡,母鸡3元1只,小鸡1元3只,问各应买多少只?Private Sub Command1_Click()Dim x As Integer, y As IntegerFor x = 1 To 30y = 100 - xIf 3 * x + y / 3 = 100 ThenPrint "母鸡只数为:"; x,Print "小鸡只数为:"; yEnd IfNext xEnd Sub数组打印数组的上界和下界数值Private Sub Command1_Click() Dim a(1 To 10) As IntegerPrint "下界值", "上界值" Print LBound(a), UBound(a) End Sub数组解决1+2+3+4+5+6+7+8=?Private Sub Command1_Click() Dim a(1 To 10) As IntegerDim sum As IntegerFor b = 1 To 8a(b) = bsum = sum + a(b)Next bText1.Text = sumPrint "1+2+3+4+5+6+7+8=" & sum End Sub任意五个数字之和Private Sub Command1_Click()Dim Data(5) As IntegerDim Sum, I As IntegerFor I = 1 To 5Data(I) = InputBox("输入第" & I & "个数据") Next IFor I = 1 To 5Sum = Sum + Data(I)Next IText1.Text = SumPrint SumEnd Sub连续输入5个数字例如1,2,3,4,51+3+5+7+9=?奇数和Private Sub Command1_Click()Dim a(1 To 5) As IntegerDim sum As IntegerFor x = 1 To 5a(x) = x * 2 - 1sum = sum + a(x)Next xText1.Text = sumPrint sumEnd SubPrivate Function pf(x As Long, y As Long) As Long s = Sqr(x ^ 2 + y ^ 2)pf = sEnd FunctionPrivate Sub Command1_Click()Dim a As LongDim b As LongDim c As Longa = Val(Text1.Text)b = Val(Text2.Text)s = pf(a, b)Print sEnd SubSub过程和Function过程3. 编写过程,求两个数的最大公约数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档