导线网平差程序设计共88页

合集下载

导线网平差及精度评定程序设计平差

导线网平差及精度评定程序设计平差

导线网平差及精度评定程序设计平差问题描述背景:导线网平差及精度评定程序设计平差是在测量和测绘工作中常用的一种技术方法。

它是通过对导线网观测数据进行处理和计算,得出导线网的平差结果,并评定其精度,以确保测量结果的准确性和可靠性。

背景:导线网平差及精度评定程序设计平差是在测量和测绘工作中常用的一种技术方法。

它是通过对导线网观测数据进行处理和计算,得出导线网的平差结果,并评定其精度,以确保测量结果的准确性和可靠性。

目的:本文档旨在介绍导线网平差及精度评定程序设计平差的背景和目的。

通过对平差方法和流程的解释,使读者了解导线网平差的基本原理和操作步骤,并了解如何评定导线网平差结果的精度。

这将有助于测量和测绘工作中平差的正确实施,并对测量数据进行科学的分析和解释。

目的:本文档旨在介绍导线网平差及精度评定程序设计平差的背景和目的。

通过对平差方法和流程的解释,使读者了解导线网平差的基本原理和操作步骤,并了解如何评定导线网平差结果的精度。

这将有助于测量和测绘工作中平差的正确实施,并对测量数据进行科学的分析和解释。

目的:本文档旨在介绍导线网平差及精度评定程序设计平差的背景和目的。

通过对平差方法和流程的解释,使读者了解导线网平差的基本原理和操作步骤,并了解如何评定导线网平差结果的精度。

这将有助于测量和测绘工作中平差的正确实施,并对测量数据进行科学的分析和解释。

目的:本文档旨在介绍导线网平差及精度评定程序设计平差的背景和目的。

通过对平差方法和流程的解释,使读者了解导线网平差的基本原理和操作步骤,并了解如何评定导线网平差结果的精度。

这将有助于测量和测绘工作中平差的正确实施,并对测量数据进行科学的分析和解释。

请注意:本文档仅供参考和研究使用,不可用于商业目的或作为法律依据。

建议在实际应用中,根据具体情况和专业要求,进行适当的调整和改进。

请注意:本文档仅供参考和研究使用,不可用于商业目的或作为法律依据。

建议在实际应用中,根据具体情况和专业要求,进行适当的调整和改进。

导线平差计算方案设置-16页文档资料

导线平差计算方案设置-16页文档资料

导线平差计算方案设置一、导线类型:1.闭、附合导线(图1)2.无定向导线(图2)3.支导线(图3)4.特殊导线或网(见数据输入一节),该选项适用于所有的导线,但不计算闭合差。

而且该类型不需要填写未知点数目。

当点击表格最后一行时自动添加一行,计算时删除后面的空行。

5.坐标导线。

指使用全站仪直接观测坐标、高程的闭、附合导线。

6.单面单程水准测量记录计算。

指仅进行单面读数且仅进行往测而无返测的水准测量记录计算。

当数据中没有输入“中视”时可以用作五等、等外水准等的记录计算。

当输入了“中视”时可以用作中平测量等的记录计算。

说明:除“单面单程水准测量记录计算”仅用于低等级的水准测量记录计算外,其它类型选项都可以进行平面及高程的平差计算,输入了平面数据则进行平面的平差,输入了高程数据则进行高程的平差,同时输入则同时平差。

如果不需进行平面的平差,仅计算闭、附合高程路线,可以选择类型为“无定向导线”,或者选择类型为“闭附合导线”但表格中第一行及最后一行数据(均为定向点)不必输入,因为高程路线不需定向点。

二、概算1.对方向、边长进行投影改化及边长的高程归化。

2.应选择相应的坐标系统,以及Y坐标是否包含500KM。

选择了概算时,Y坐标不应包含带号。

三、平面计算设置(一)、等级:选择等级,以便根据《工程测量规范》自动进行限差等的设置。

不同的规范,或者相同的规范但不同的版本可能技术要求不同,请在软件进行自动设置后做必要的检查,如有不符,可以自行设置。

(二)、近似平差与严密平差的选择及近似平差的方位角、边长是否反算1.近似平差:程序先分配角度闭合差再分配坐标增量闭合差,即分别平差法。

2.严密平差:按最小二乘法原理平差。

3.《工程测量规范》规定:一级及以上平面控制网的计算,应采用严密平差法,二级及以下平面控制网,可根据需要采用严密或简化方法平差。

当采用简化方法平差时,应以平差后坐标反算的角度和边长作为成果。

《城市测量规范》规定:四等以下平面控制网可采用近似平差法和按近似方法评定其精度。

基于Matlab的导线网平差程序设计

基于Matlab的导线网平差程序设计

基于Matlab的导线网平差程序设计李建章【摘要】导线网数据量大,网形复杂多变,其数据处理过程大多涉及到矩阵的计算.利用VC、VB等编程语言进行导线网程序的开发,算法比较复杂.基于Matlab平台,利用其强大的矩阵处理能力,设计出导线网数据结构,此基础上进行导线网平差程序的设计与开发,减小了代码编写的工作量.【期刊名称】《兰州交通大学学报》【年(卷),期】2010(029)004【总页数】3页(P88-90)【关键词】导线网;数据结构;平差;程序设计【作者】李建章【作者单位】兰州交通大学,土木工程学院,甘肃,兰州,730070【正文语种】中文【中图分类】P209导线网网形灵活多变,在城市测量中应用非常广泛.通常情况下,其外业观测数据量大,数据处理过程中大多涉及到矩阵的计算,且由于导线网网形的不确定性,因此其程序设计非常复杂[1].本文总结导线网的规律,设计出通用数据结构,并基于Matlab强大的矩阵计算能力,编制了导线网数据处理程序.1 导线网数据结构设计导线网由导线点、导线边和角度3类要素构成,其中导线边包括起点和终点,角度包括左边和右边.要使程序能对于任意形状的导线网进行处理,首先需要设计数据结构,以存储相关数据.这些数据包括起算数据、观测数据和网形各要素连接关系等,它们都是导线网各要素的属性值.本文用3个表来存储各要素,如表1-3所示.表1 点表数据结构Tab.1 Data structureo f points序号字段类型备注1 点名称整型2 初始纵坐标浮点3 初始横坐标浮点4 已知点标志整型 1为已知点,0为未知点5 平差纵坐标浮点6 平差横坐标浮点表2 角度数据结构Tab.2 Data structureo f angles序号字段类型备注1 角度编号整型2左边整型3右边整型4角度浮点度分秒表3 边数据结构Tab.3 Data structure of lines1 导线边编号整型2起点整型3终点整型4边长浮点5方位浮点弧度6 纵坐标增量浮点7 横坐标增量浮点表1-3中分别存储在p tTab,lineTab,angleTab矩阵中,保存为.mat文件,程序运行时加载[2].2 近似坐标计算近似坐标的计算是导线网平差中关键的一个环节.其精度直接影响到后续平差计算的点位精度和迭代平差工作量大小.近似坐标计算包括近似方位角的计算和近似坐标的计算两个步骤.2.1 近似方位角计算近似方位角的计算以角度为单位,将已知方位传递到网中每一条边.设某角度一边方位已知,而另一边方位未知,由于两边夹角已知,可计算出未知边的方位.图1所示为4种可能情况.图1 方位角计算4种情况Fig.1 Four situation of azimuth angle calculation 假定已知左边方位角为 fw 1,夹角为α,则以上4种情况下右边的方位角fw r讨论如下.同理可得,已知右边方位角计算左边方位角的情况,也有4种可能性.程序根据角度两边的端点点名的关系判断以上8种情况,采用相应的计算公式计算未知边方位角[3]. 程序在获得未知边方位角后,将计算结果保存到边表相应记录中.然后在角度表中搜索相邻角度,搜索条件是:该角度的一边必须是上一角度的一边,而另一边不是上一角度的一边.查询到满足条件的角度后,判断其是否为截至角(两边方位已知),如否则计算出该角度未知边方位,重复前面的步骤直至某一截至角停止.然后在边表中查询有无近似方位未知的边,如有,再次执行以上步骤,直至边表中所有边近似方位计算完毕,这个过程可以通过一个函数自身迭代来实现.程序流程如图2所示.图2 计算近似方位流程图Fig.2 Flow chart o f calcu lating azimuth angle计算导线边方位的子程序如下所示:2.2 近似坐标计算通过2.1计算,所有导线边的近似方位计算完毕,此时可以利用每条边的边长和近似方位计算其坐标增量,这个过程只需要在边表中循环计算即可.然后以导线边为单位,从起始边出发,将已知坐标传递到各未知点.所谓起始边即该边一端点坐标已知,另一端点坐标未知.利用导线边坐标增量计算未知点坐标,然后查找相邻边,判断其是否为截至边(两端点坐标皆知),如否,计算未知点坐标.重复查找计算直至截至边,然后程序在点表中判断有无近似坐标未知的点,如有,则重复以上步骤,否则程序退出.这个过程和2.1中计算方位角的过程是类似的,因此不再列出程序流程图和代码.3 误差方程系数矩阵计算导线网观测值有角度和边长两种类型,一个观测值可列出一个误差方程.因此程序需分别读取角度表和导线边表中每个记录来计算误差方程系数矩阵B、常数项矩阵l和权阵P.3.1 利用观测角度计算误差方程系数矩阵设某角度观测值为ang le,其左边近似方位、左边长、左边起点点名,左边起点点序号,左边终点点名,左边终点点序号,左边坐标增量分别为:lfw,ls,lbname,lbindex,lename,leindex,ldetx,ldety,同理对应右边各项为:rfw,rs,rbname,rbindex,rename, reindex,rdetx,rdety.由图1可知,各观测角度两边的方向有4种情况,为简化程序,首先将其全部转化为情况1.设转换后左导线边起、终点序号分别为tem lbindex,temleindex.右导线边起、终序点号分别为tem rbindex, tem reindex.如下是图1第三种情况的转换代码.设该角度序号为index.又左边起点、终点和右边起点、终点的未知数序号分别为:lbcontrindex,lecontrindex,rbcontrindex,recontrindex.则上述各点如为已知点,则对应系数为0.未知点序号为所有待求点的排列序号,用于控制误差方程系数在B矩阵中的列位置.3.2 利用观测边长计算误差方程系数矩阵设某观测边坐标增量为Δx,Δy,观测边长为S,则其中已知点对应项系数为0,其中index为观测边序号,观测边序号是该边在边表中序号加上角度观测值个数.lbcontrindex和lecontrindex为该边起点、终点的未知点序号.以上过程需要一个循环语句即可完成.4 结束语本文基于Matlab开发了导线网平差程序,算法简单,编程工作量小[6].对于测绘专业类似计算问题如三角网、水准网等的程序设计有一定的借鉴意义.由于篇幅的限制,本文没有论述其他相关处理过程的算法,包括利用误差方程迭代计算获取最优解、度分秒和弧度互化、边点要素属性的查询等,这些算法在M atlab中实现相对比较容易.参考文献:【相关文献】[1] 汪自军,陈圣波,臧立娟,等.导线网数据处理系统关键技术及其实践[J].微计算机信息,2008(2):216-218.[2] 李建章.基于Matlab的水准网平差程序设计[J].兰州交通大学学报,2009,28(3):29-31.[3] 武艳强,黄立人,江在森.导线网平差中近似坐标的无限定推算方法[J].测绘通报,2006(12):12-15.[4] 武汉大学测绘学院测量平差学科组.误差理论与测量平差基础[M].武汉:武汉大学出版社,2003:102-125.[5] 姚德新.土木工程测量学教程[M].北京:中国铁道出版社,2003:67-68.[6] 薄志义,曹福生.程序寻找支导线网计算路径的研究[J].测绘科学,2007(9):68-69.。

实验三-利用matlab程序设计语言完成某工程导线网平差计算

实验三-利用matlab程序设计语言完成某工程导线网平差计算

实验三-利用m a t l a b程序设计语言完成某工程导线网平差计算(总11页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March实验三利用matlab程序设计语言完成某工程导线网平差计算实验数据;某工程项目按城市测量规范(CJJ8-99)不设一个二级导线网作为首级平面控制网,主要技术要求为:平均边长200cm,测角中误差±8,导线全长相对闭合差<1/10000,最弱点的点位中误差不得大于5cm,经过测量得到观测数据,设角度为等精度观测值、测角中误差为m=±8秒,鞭长光电测距、测距中误差为m=±√smm,根据所学的‘误差理论与测量平差基础’提出一个最佳的平差方案,利用matlab完成该网的严密平差级精度评定计算;平差程序设计思路:1采用间接平差方法,12个点的坐标的平差值作为参数.利用matlab进行坐标反算,求出已知坐标方位角;根据已知图形各观测方向方位角;2计算各待定点的近似坐标,然后反算出近似方位角,近似边.计算各边坐标方位角改正数系数;3确定角和边的权,角度权Pj=1;边长权Ps=100/S;4计算角度和边长的误差方程系数和常数项,列出误差方程系数矩阵B,算出Nbb=B’PB,W=B’Pl,参数改正数x=inv(Nbb)*W;角度和边长改正数V=Bx-l;6 建立法方程和解算x,计算坐标平差值, 精度计算;程序代码以及说明:s10=;s20=;s30=;s40=;s50=;s60=;s70=;s80=;s90=;s100=;s110=;s120=;s130=;s140=; %已知点间距离Xa=;Ya=;Xb=;Yb=;Xc=;Yc=;Xd=;Yd=;Xe=;Ye=;Xf=;Yf=; %已知点坐标值a0=atand((Yb-Ya)/(Xb-Xa))+180;d0=atand((Yd-Yc)/(Xd-Xc));f0=atand((Yf-Ye)/(Xf-Xe))+360; %坐标反算方位角a1=a0+(163+45/60+4/3600)-180a2=a1+(64+58/60+37/3600)-180;a3=a2+(250+18/60+11/3600)-180;a4=a3+(103+57/60+34/3600)-180;a5=d0+(83+8/60+5/3600)+180;a6=a5+(258+54/60+18/3600)-180-360;a7=a6+(249+13/60+17/3600)-180;a8=a7+(207+32/60+34/3600)-180;a9=a8+(169+10/60+30/3600)-180;a10=a9+(98+22/60+4/3600)-180;a12=f0+(111+14/60+23/3600)-180;a13=a12+(79+20/60+18/3600)-180;a14=a13+(268+6/60+4/3600)-180;a15=a14+(180+41/60+18/3600)-180; %推算个点方位角aa=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 a13 a14 a15]'X20=Xb+s10*cosd(a1);X30=X20+s20*cosd(a2);X40=X30+s30*cosd(a3);X50a=X40+s40*cosd(a4);X60=Xd+s50*cosd(a5);X70=X60+s60*cosd(a6);X80=X70+s70*cosd(a7);X90=X80+s80*cosd(a8);X100=X90+s90*cosd(a9);X50c=X100+s100*cosd(a10);X130=Xf+s110*cosd(a12);X140=X130+s120*cosd(a13);X150=X140+s130*cosd(a14);X50e=X150+s140*cosd(a15); %各点横坐标近似值X0=[X20 X30 X40 X60 X70 X80 X90 X100 X130 X140 X150 X50a X50c X50e]'Y20=Yb+s10*sind(a1);Y30=Y20+s20*sind(a2);Y40=Y30+s30*sind(a3);Y50a=Y40+s40*sind(a4);Y60=Yd+s50*sind(a5);Y70=Y60+s60*sind(a6);Y80=Y70+s70*sind(a7);Y90=Y80+s80*sind(a8);Y100=Y90+s90*sind(a9);Y50c=Y100+s100*sind(a10);Y130=Yf+s110*sind(a12);Y140=Y130+s120*sind(a13);Y150=Y140+s130*sind(a14);Y50e=Y150+s140*sind(a15); %个点从坐标近似值Y0=[Y20 Y30 Y40 Y60 Y70 Y80 Y90 Y100 Y130 Y140 Y150 Y50a Y50c Y50e]'P=[X0 Y0];X50=(X50a+X50c+X50e)/3Y50=(Y50a+Y50c+Y50e)/3s4=sqrt((Y40-Y50)^2+(X40-X50)^2);s1=sqrt((Y100-Y50)^2+(X100-X50)^2);s14=sqrt((Y150-Y50)^2+(X150-X50)^2);A1=[cosd(a1) cosd(a2) cosd(a3) cosd(a4) cos(a5) cosd(a6) cosd(a7) cosd(a8) cosd(a9) cosd(a10) cosd(a12) cosd(a13) cosd(a14)cosd(a15)]';B11=[sind(a1) sind(a2) sind(a3) sind(a4) sin(a5) sind(a6) sind(a7) sind(a8) sind(a9) sind(a10) sind(a12) sind(a13) sind(a14) sind(a15)]'; s=blkdiag(s10,s20,s30,s4,s50,s60,s70,s80,s90,s10',s110,s120,s130,s 14);a=*inv(s)*B11b=*inv(s)*A1ab4=atand((Y50-Y40)/(X50-X40))+180;ab10=atand((Y50-Y100)/(X50-X100));ab14=atand((Y50-Y150)/(X50-X150))+360;m4=ab4-a3+180;m10=ab10-a9+180;m11=ab4-ab10;m15=ab14-a14+180;m16=ab10-ab14+360;m04=103+57/60+34/3600;m010=98+22/60+4/3600;m011=94+53/60+50/3600;m015=180+41/60+18/3600;m016=ab10-ab14+360;l=[0 0 0 m4-103-57/60-34/3600 0 0 0 0 0 m10-98-22/60-4/3600m11-94-53/60-50/3600 0 0 0 m15-180-41/60-18/3600 m16-103-23/60-8/3600 0 0 0 s40-s4 0 0 0 0 0 s100-s1 0 0 0 s140-s14]';e1=(abs(X20-Xb))/s10;e2=(abs(X30-X20))/s20;e3=(abs(X40-X30))/s30;e4=(abs(X50-X40))/s4;e5=(abs(X60-Xd))/s50;e6=(abs(X70-X60))/s60;e7=(abs(X80-X70))/s70;e8=(abs(X90-X80))/s80;e9=(abs(X100-X90))/s90;e10=(abs(X50-X100))/s1;e11=(abs(X130-Xf))/s110;e12=(abs(X140-X130))/s120;e13=(abs(X150-X140))/s130;e14=(abs(X50-X150))/s14; e=[e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14]'m1=(abs(Y20-Yb))/s10;m2=(abs(Y30-Y20))/s20;m3=(abs(Y40-Y30))/s30;m4=(abs(Y50-Y40))/s4;m5=(abs(Y60-Yd))/s50;m6=(abs(Y70-Y60))/s60;m7=(abs(Y80-Y70))/s70;m8=(abs(Y90-Y80))/s80;m9=(abs(Y100-Y90))/s90;m10=(abs(Y50-Y100))/s1;m11=(abs(Y130-Yf))/s110;m12=(abs(Y140-Y130))/s120;m13=(abs(Y150-Y140))/s130;m14=(abs(Y50-Y150))/s14; m=[m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14]' %以上为求得误差方程系数B=[ 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0] %系数矩阵BP=blkdiag(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,100/s10,100/s20,100/s30,1 00/s40,100/s50,100/s60,100/s70,100/s80,100/s90,100/s100,100/s 110,100/s120,100/s130,100/s140); %定义权矩阵Nbb=B'*P*BW=B'*P*l;x=inv(Nbb)*WV=B*x-l;inv(Nbb);Y=V'*P*V;O=sqrt(Y/6)*3600 %精度评定计算结果:平差值坐标X: +003 *Qx1= Qy1= Qx2= Qy2= ……Qx15= Qy15=。

数据结构课程设计——导线网平差程序的设计与实现

数据结构课程设计——导线网平差程序的设计与实现

数据结构课程设计——导线网平差程序的设计与实现设计二:导线网平差程序的设计与实现一、设计目的立足于《数据结构与测绘软件开发》这一课程的课堂教学及其实验课程设计,为着实提高学生基于计算机辅助的方式切实解决工程实际问题的动手能力,通过本实习,一方面,使学生深入了解课堂所学知识,另一方面,通过实践掌握测绘行业软件设计与开发的基本方法,深刻掌握矩阵运算、曲线/曲面拟合的数值解法,掌握不同类型的典型测绘软件设计方法,使得学生初步具备编写测绘软件常用算法的能力以及开发中小规模测绘专业软件的能力。

有导线网如图,观测了14条边长和16个转折角,已知测角精度10βδ''=,测边精度为1.0()()S S m mm δ=。

已知A 、B 、C 、D 、E 、F 点的坐标(无误差),如下表:表1 已知点数据点号 X(m) Y(m)A 5256.953 4520.068B 5163.752 4281.277C 3659.371 3621.210D 4119.879 3891.607E 4581.150 5345.292F 4851.5545316.953表2 角度观测值编号角度观测值(° ′ ″)编号角度观测值(° ′ ″)1 163 45 04 9 169 10 302 64 58 37 10 98 22 043 250 18 11 11 94 53 50 4 103 57 34 12 111 14 235 83 08 05 13 79 20 18三、关键问题描述3.1 未知点近似坐标计算平面控制网进行平差计算时需要计算未知点的近似坐标1.坐标计算公式1、2点的坐标已知,并观测了1-2、1-3的夹角,根据这些数据可以求出3号点坐标根据1、2两点的坐标,可以反算出1、2方向的方位角T12,3号点的坐标为++=++=)sin()cos(121313121313ααT S y y T S x x式子中S13为观测边长,α为观测角度 2.计算流程从读入的数据循环计算未知点的坐标,已计算出的坐标当做已知坐标的点处理参加下次计算,以此类推,逐步计算出未知点的坐标3.实现算法CMatrix CPlaneNetAdjust::XYJS() { CMatrix _XYJS(Pnumber,2); double T12; for(int i=0;i0&&xy[k2].Y>0) { T12=GetT12(k1,k2); } double s12=Gets12(k1,k2); double s13=Gets12(k1,k3); double T13=T12+guancejiao[i].Guancezhi; double dx=s13*cos(T13); double dy=s13*sin(T13); xy[k3].X=xy[k1].X+dx; xy[k3].Y=xy[k1].Y+dy; } for(int i=0;i<="" bdsfid="103" double="" p="" temp1="xy[i].X;" temp2="xy[i].Y;" {="">}return _XYJS;}3.2 误差方程列立1.理论分析平面控制网的误差方程都是非线性方程,必须引入参数近似值将误差方程线性化,取X的充分近似值 0X ,x ?是微小量,在按台劳公式展开时可以略去二次和二次以上的项,而只取至一次项,于是可对非线性平差值观测方程式线性化,于是有如下的式子对于观测角的改正数有对于边长观测值的改正数有2.实现算法如下:CMatrix CPlaneNetAdjust::B() { CMatrix _B1(Lnumber,Pnumber*2); double a; double b; double c; double d; double m; double n; double m1; double n1; for(int i=0;i<="">D A D A D B D B DA DB X X Y Y X X Y Y L ??arctan ??arctan 1-----=-=αα()()22??S AD A D Y Y X X -+-=kjkjk k jk jk j jk jkj jk jk jk y S Y x S Y y S X x S Y ?)(?)(?)(?)(?200200200200"??+??-??-??+=ρρρραδh jhjh h jh jh j jh jh j jh jh jh y S Y x S Y y S X x S Y ?)(?)(?)(?)(?200 200200200"??+??-??-??+=ρρρραδ)(?)("?)("?)("?)("?)("?)("?)(" )("00200200200200200200200200i jk jh h jh jhh jh jh j jh jh j jh jh k jk jkk jk jk j jk jk j jk jk i L y S X x S Y y S X x S Y y S X x S Y y S X xS Y v ---??+?-?-?-+?-?-?-=ααρρρρρρρρi k jkjkk jk jk j jk jk j jk jk i l y S Y x S X y S Y x S X v -?+?+?-?-=000000000jki i S L l -=2002000)()(j k j k jk Y Y X X S -+-=_B1.setValue(i,2*k1,0);_B1.setValue(i,2*k1+1,0);}else{_B1.setValue(i,2*k1,a);_B1.setValue(i,2*k1+1,b);}if(k2<knpnumber)< bdsfid="148" p=""></knpnumber)<> {_B1.setValue(i,2*k2,0);_B1.setValue(i,2*k2+1,0);}else{_B1.setValue(i,2*k2,-a);_B1.setValue(i,2*k2+1,-b);}}for(int i=0;i<tnumber;i++)< bdsfid="160" p=""></tnumber;i++)<>{const double p=206.265;int k1=cezhan[i];int k3=huoshi[i];int k2=qianshi[i];double dx12=xy[k2].X-xy[k1].X;double dy12=xy[k2].Y-xy[k1].Y;double dx13=xy[k3].X-xy[k1].X;double dy13=xy[k3].Y-xy[k1].Y;c=(p*dx13/Gets12(k1,k3)/Gets12(k1,k3)-p*dx12/Gets12(k1,k2)/Gets12(k1,k2));c=-c;d=-p*dy13/Gets12(k1,k3)/Gets12(k1,k3)+p*dy12/Gets12(k1,k2)/Get s12(k1,k2);d=-d;m=-p*dy13/Gets12(k1,k3)/Gets12(k1,k3);m=-m;n=p*dx13/Gets12(k1,k3)/Gets12(k1,k3);n=-n;m1=p*dy12/Gets12(k1,k2)/Gets12(k1,k2);m1=-m1;n1=-p*dx12/Gets12(k1,k2)/Gets12(k1,k2);n1=-n1;if(k1<knpnumber)< bdsfid="183" p=""></knpnumber)<> {_B1.setValue(i+Snumber,2*k1,0);_B1.setValue(i+Snumber,2*k1+1,0);}else if(k1>=knPnumber){_B1.setValue(i+Snumber,2*k1,c);_B1.setValue(i+Snumber,2*k1+1,d);}if(k2<knpnumber)< bdsfid="194" p=""></knpnumber)<> {_B1.setValue(i+Snumber,2*k2,0);_B1.setValue(i+Snumber,2*k2+1,0);}else if(k2>=knPnumber){ _B1.setValue(i+Snumber,2*k2,m1); _B1.setValue(i+Snumber,2*k2+1,n1); } if(k3=knPnumber) { _B1.setValue(i+Snumber,2*k3,m); _B1.setValue(i+Snumber,2*k3+1,n); } }CMatrix _B(Lnumber,2*(Pnumber-knPnumber)); for(int i=0;i<_B1.getRow();i++) { for(int j=2*knPnumber;j<2*Pnumber;j++) { double temp=_B1.getValue(i,j); _B.setValue(i,(j-2*knPnumber),temp); } } return _B;}3.3 法方程构建与解算1.理论分析误差方程系数构成法方程2.实现代码①计算LCMatrix CPlaneNetAdjust::L() { CMatrix _L(Lnumber,1); double l; double s; double s0; for(int i=0;i<="" bdsfid="209" const="" cout<<l<l x B V -=?0?=-Pl B x PB B TTmin =PV V T V L L +=?20σ20?σPV V T double A13; double A;int k1=cezhan[i]; int k2=huoshi[i]; int k3=qianshi[i];A12=GetT12(k1,k2); A13=GetT12(k1,k3); A=GetA(k1,k2,k3); l=A13-A12; if(l<0) { l=pi+l; }if(l>=pi) { l=l-pi; }l=l-A;//cout<<rad_dms(a12)<<" "<<rad_dms(a)<<"<="" "<<rad_dms(a13)<<"="" bdsfid="220" p=""></rad_dms(a12)<<">"<<rad_dms(l)<<endl;< bdsfid="222" p=""></rad_dms(l)<<endl;<>_L.setValue(i+Snumber,0,rad_dms(l));} return _L; }②计算权阵PCMatrix CPlaneNetAdjust::P() { CMatrix _P(Lnumber,Lnumber); for(int i=0;i<="" p="" {="">temp=temp=Cjwucha*Cjwucha/(1*sqrt(bianchang[i].Len))/( 1*sqrt(bianchang[i].Len)); _P.setValue(i,i,temp); } for(int i=Snumber;i<="">3.4 精度估计1.单位权中误差间接平差与条件平差虽采用了不同的函数模型,但它们是在相同的最小乘原理下进行的,所以两法的平差结果总是相等的,这是因为在满足条件下的V 是唯一确定的,故平差值不因方法不同而异。

导线平差计算方案设置-16页文档资料

导线平差计算方案设置-16页文档资料

导线平差计算方案设置一、导线类型:1.闭、附合导线(图1)2.无定向导线(图2)3.支导线(图3)4.特殊导线或网(见数据输入一节),该选项适用于所有的导线,但不计算闭合差。

而且该类型不需要填写未知点数目。

当点击表格最后一行时自动添加一行,计算时删除后面的空行。

5.坐标导线。

指使用全站仪直接观测坐标、高程的闭、附合导线。

6.单面单程水准测量记录计算。

指仅进行单面读数且仅进行往测而无返测的水准测量记录计算。

当数据中没有输入“中视”时可以用作五等、等外水准等的记录计算。

当输入了“中视”时可以用作中平测量等的记录计算。

说明:除“单面单程水准测量记录计算”仅用于低等级的水准测量记录计算外,其它类型选项都可以进行平面及高程的平差计算,输入了平面数据则进行平面的平差,输入了高程数据则进行高程的平差,同时输入则同时平差。

如果不需进行平面的平差,仅计算闭、附合高程路线,可以选择类型为“无定向导线”,或者选择类型为“闭附合导线”但表格中第一行及最后一行数据(均为定向点)不必输入,因为高程路线不需定向点。

二、概算1.对方向、边长进行投影改化及边长的高程归化。

2.应选择相应的坐标系统,以及Y坐标是否包含500KM。

选择了概算时,Y坐标不应包含带号。

三、平面计算设置(一)、等级:选择等级,以便根据《工程测量规范》自动进行限差等的设置。

不同的规范,或者相同的规范但不同的版本可能技术要求不同,请在软件进行自动设置后做必要的检查,如有不符,可以自行设置。

(二)、近似平差与严密平差的选择及近似平差的方位角、边长是否反算1.近似平差:程序先分配角度闭合差再分配坐标增量闭合差,即分别平差法。

2.严密平差:按最小二乘法原理平差。

3.《工程测量规范》规定:一级及以上平面控制网的计算,应采用严密平差法,二级及以下平面控制网,可根据需要采用严密或简化方法平差。

当采用简化方法平差时,应以平差后坐标反算的角度和边长作为成果。

《城市测量规范》规定:四等以下平面控制网可采用近似平差法和按近似方法评定其精度。

基于Visual Basic的导线平差程序设计

基于Visual Basic的导线平差程序设计

基于Visual Basic的导线平差程序设计张贺;徐茂林;宫雨生【摘要】In order to solve the problem of processing lead control measurement data,the integrated environ-ment of Visual Basic 6.0 is used to develop traverse adjustment program. The program can calculate the ap-proximate coordinates of wire,calculate the error equation coefficient,calculate the adjustment values and evaluate theaccuracy,automatically draw the error ellipse and wire sketch,and has the functions of data input, output mode,data storage and management. The measurement data is used for adjustment calculation by de-signed program and commerical South adjustment easy 2005 software,the accuracy and practicability of de-signed program are verified to ensure the reliability of data.%为了解决控制测量中导线的数据处理问题,采用Visual Basic 6.0的集成环境开发了导线平差程序,可以实现导线的近似坐标计算、误差方程系数计算、法方程的组成与解算、平差值计算及精度评定、导线略图和误差椭圆的自动绘制,以及数据录入、输出方式、数据存储与管理等功能。

导线网平差软件设计

导线网平差软件设计

导线网平差软件设计
杨序邦
【期刊名称】《工程科技》
【年(卷),期】2003(000)002
【摘要】在施工中,往往要加密导线控制并进行精度评定,而一般的简易平差法
不能得到较为全面的精度指标,为满足施工测量的需要,开发了该导线网平差软件。

【总页数】7页(P74-80)
【作者】杨序邦
【作者单位】东莞石碣大桥项目部
【正文语种】中文
【中图分类】P221
【相关文献】
1.图根导线结点网平差软件设计及实现 [J], 罗峰;欧海平;李长辉;邢汉发
2.断缺一边无定向导线之解法及无定导线网平差 [J], 陈一;梁禹
3.基于坐标增量的导线网平差方法研究 [J], 王格;洪友堂;李淑慧;李丽华;徐佳佳
4.基于MATLAB的改进导线网平差程序设计 [J], 王鹏磊
5.基于 MATLAB 的导线网平差软件设计及误差椭圆的绘制 [J], 翟敏;陶秋香
因版权原因,仅展示原文概要,查看原文内容请购买。

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