中南大学测绘程序课程设计报告姓名:XXX学号:XXXXXXX指导老师:XXX专业班级:XXXX1系统设计1、实现功能1.1优化设计:根据控制网的观测精度与网形,全面评定网的精度1.2数据输入:使用外部数据倒入,通过读取.txt格式观测文件实现数据输入1.3概算:主要是进行近似坐标的推算。1.4平差计算:对观测数据进行精密平差计算,得到平差后的点位坐标,方向观测值,边长观测值等,精度评定。1.5成果输出:控制网图形输出,绘制误差椭圆,以及平差结果导出到txt文件中。2、系统总体框架导线网平差系统数据输入近似坐标推算平差计算成果输出2.1数据输入2.1.1文件格式:2已知点数据个数1,31250.2500,11500.41002,33256.5700,10900.8400已知点数据3未知点数据个数3,4,未知点数据5,8距离观测数据个数1,3,2300.06001,4,3090.35302,5,3643.23402,3,2115.9190距离观测数据2,4,4363.61103,5,2169.07303,4,2620.90904,5,3922.860018方向观测数据个数1,2,01,3,57.2032101,4,113.1406352,5,02,3,32.1222922,4,57.5015302,1,98.2612733,1,03,2,56.2537793,5,172.533944方向观测数据3,4,282.2953834,1,04,2,26.0954124,3,46.3617984,5,77.5946715,4,05,3,39.0017795,2,70.1951512.1.2数据输入实现:(1)创建点类用于存取点的信息,如坐标、点号、长短轴、精度信息classClzControlPoint{public:ClzControlPoint();~ClzControlPoint();doubleX;doubleY;CStringstrPointID;intstate;intflg;doubledE;doubledF;doubledQ;doubledMx;doubledMy;doubledMk;};(2)创建距离类用于存取距离观测信息,如测站方向点、观测方向点、距离观测值classClzDistObs{public:ClzDistObs();~ClzDistObs();public:ClzControlPoint*cpStart,*cpEnd;doubledDist;};(3)创建方向类用于存取方向观测信息,如测站方向点、照准方向点、方向观测值classClzAngleObs{public:ClzAngleObs();~ClzAngleObs();public:ClzControlPoint*cpStation;ClzControlPoint*cpEnd;AngleObsAngle;};(4)读取文件函数:boolClzControlNetAdjust::LoadObsData(constCString&strFileName),此函数功能为通过传入的文件名strFileName进行文件读写,并将信息存到相应成员数据中。2.2近似坐标推算2.2.1近似坐标计算原理按方向和边长观测值计算导线网中待定点的近似坐标2.2.2具体实现(1)坐标概算函数:voidClzControlNetAdjust::CoordinateEstimates(),此函数功能为:第一步查找某方向观测i两端都为已知点,第二步查找某方向观测j的测站点与方向观测i测站点相同且观测方向未知,第三步根据近似坐标计算原理计算方向观测j的观测方向近似坐标,需要注意的是,在近似坐标推算中,循环计算一次之后,必须判断是否所有未知点的近似坐标已经推算出来,没有的话再进行循环计算。(这样做主要是为了防止在节点控制网中,当未知点很多时,可能推算到一个点之后,它所连得所有控制点均为坐标未知点,这样在一次循环中就会跳过这个控制点,这个点的近似坐标就没有计算出来。而在下一次循环中,它所连得控制点中就会有坐标已知点,这样这个点的近似坐标就计算出来了)。bkaAtabtd)sin(sin)cos(cosAtdytdyyAtdxtdxxabaakabaak(2)计算流程图:i=i+1否j=j+1是否是再次从i=0循环否是2.3平差计算2.3.1平差计算原理设:观测值为L,其权为P,相应的改正数为V,必要观测值个数为t,选定未知数X,则有误差方程m_pAngleObs中第j个的测站点和m_pAngleObs中第i个测站点相同,观测方向点未知计算m_pAngleObs中第i个的观测方向点近似坐标所有未知点的近似坐标是否已经推算出来近似坐标推算计算完毕坐标输入系统inti=0tom_pAngleObsCountm_pAngleObs中第i个的测站点和观测方向点是否已知LBXVminPVVT根据最小二乘原理:,求极值,,得:法方程:法方程的解:单位权中误差:2.3.2间接平差流程(1)列出误差方程及条件式(2)定权(3)组成法方程(4)解算法方程,求得dX=[dx1dy1dx2dy2⋯](5)平差后的坐标值计算X=X+dX。(6)精度评定,计算误差椭圆参数等2.3.3误差方程的列立以未知点坐标为平差对象,一个观测值对应一个误差方程式,误差方程式包括两类:方向观测误差方程式和边长观...