附合导线平差程序设计报告
附合导线平差步骤

附合导线平差步骤一、数据处理1.数据输入:将测站、观测角度、观测距离等原始数据输入计算机或平差软件。
2.数据质检:对输入的数据进行初步的质检,检查是否存在错误数据、异常数据等,发现并剔除异常数据。
3.角度数据处理:将观测角度转换为弧度,便于后续计算。
4.距离数据处理:对观测距离进行单位转换,通常将其转换为米或千米。
5.数据配对:将同一测站观测到的角度和距离数据做配对,构成观测组。
6.编点编号:对测站进行编号,便于后续计算。
二、导线控制要素计算1.导线连杆长度计算:根据测站坐标计算导线连杆的几何长度。
2.导线初始点坐标计算:根据导线方位角、连杆长度和已知控制点的坐标计算导线初始点的坐标。
3.导线朝向角计算:根据已知控制点的坐标和导线的方位角,计算导线的朝向角。
三、平差计算1.平差模型确定:选择适当的平差模型,常用的有单位权平差模型、具有不等权的平差模型等。
2.条件方程建立:根据平差模型和导线控制要素的计算结果,建立条件方程组。
3.条件方程系数矩阵确定:根据条件方程组,将其转化为系数矩阵形式。
4.闭合差计算:根据条件方程和系数矩阵,利用最小二乘法计算闭合差,并评估其精度。
5.参数平差:利用闭合差和条件方程系数矩阵,通过参数平差法计算出导线的平差结果。
6.残差计算:根据平差结果和原始观测数据,计算各个观测量的平差残差,并评估其精度。
四、结果分析和判断1.平差结果分析:对平差结果进行查验和分析,判断平差是否满足要求,是否符合实际测量误差的范围。
2.误差判断:根据平差结果和平差残差,判断是否存在异常误差,如超限误差、粗大误差等。
3.解释和修正:对异常误差进行解释和修正,如重新检查测量数据、进行补充观测等。
以上就是附合导线平差步骤的主要内容,通过这些步骤可以得到导线的最佳平差值,为后续的工程测量提供准确的基础数据。
在实际应用中,还需根据具体情况对平差步骤进行调整和优化,以满足实际工程测量的需求。
附合导线平差计算过程说明

附合导线平差计算过程说明1)道路观测左角∑β测左=308°2.'38"+70°35'41"+156°56'39"+185°39'2"+205°21'59"+174°36'43"+197°31'46"+157°36'36"+135°14'40"+167°38'50"=1759°14'34"ƒβ测=a始边- a终边=-15"。
ƒβ容=± 40√n =±126"。
ƒβ测<ƒβ容,测角精度符合要求。
2)改正角:β=β测- ƒβ测/N。
3)坐标方位角的推算:根据起始边的坐标方位角及改正角,依据公式a下一边’= a始边+180°+转角(观测转左角)依次计算各边的坐标方位角。
4)坐标增量的计算及闭合差的调整坐标增量计算根据已经推算出的导线各边的坐标方位角和相应边的边长,按下面公式计算各边的坐标增量。
△ X AB=D AB*COS a AB,△ Y AB=D AB*SIN a AB,按附合导线要求,各边的坐标增量代数和的理论植,等于终起两点的已知坐标之差,所以,纵、横坐标增量闭合差按公式计算,Fx=∑△x测-(X终-X起)FY=∑△Y测-(Y终-Y起)导线全长闭合差f=√(ƒx2+ƒy2)=0.102m,k=f/∑D=1/38370<1/2000.满足精度要求。
5)根据后一点的坐标及改正后的坐标增量,按公式推算前一点坐标。
X前=X后+△x改Y前=Y后+△Y改最后,推算出终止边的坐标,与原有设计值相等,以作检核。
导线平差程序设计

第二节 单一导线简易平差程序设计
附合导线简易平差结果输出 输出到txt文本文件,可采用如下方式: 2)输出到个人选择的目录下 CFileDialog file(NULL/FALSE);//保存文件方式 file.m_ofn.lpstrTitle=“保存文件”;//对话框名称 if(file.DoModal()==IDOK){ CString Str=file.GetPathName();//文件名与路径
闭合导线示意图
第一节 导线平差计算的分类
单一导线平差计算:采用简易平差法 具体做法:闭合差反号分配
导线网平差计算:采用严密平差法 具体做法:间接平差或附有限制条件的间接平差法
第二节 单一导线简易平差程序设计
附合导线平差计算类的设计
第二节 单一导线简易平差程序设计
举例:附合导线计算的程序设计!
第二节 单一导线简易平差程序设计
第二节 单一导线简易平差程序设计
附合导线平差计算数据结构设计—简单、通用 读文件格式:
附合导线类型标识符 FOLLOW_LINE2
导线点总数(思考:定向点计算在内吗?)
起点坐标 起始边方位角 终点坐标 终边方位角 观测左角 水平边长
起算数据的类型:可以是两点坐标,或者是一点坐标与 方位角。
第二节 单一导线简易平差程序设计
附合导线简易平差算法流程 导线边近似方位角的推算
角度闭合差的检核与调整
导线边坐标增量的计算
平
差
坐
全长闭合差的检核与调整 标
计
算
第二节 单一导线简易平差程序设计
附合导线简易平差结果输出 输出到txt文本文件,可采用如下方式: 1)直接输出到项目所在路径或指定路径下 FILE *fp; Fp=fopen(“out.txt”,”w”); Fprintf(fp,”……”,……); …… Fclose(fp);
闭合导线平差程序设计

闭合导线平差程序设计闭合导线平差程序设计1. 定义闭合导线平差是一种常用的野外测量数据处理方法,主要是对收集到的起点、中间点、终点等观测数据进行处理,以期获得精确的位置、距离等值。
2. 基本原理闭合导线平差是基于平差原理的实现,将测量起点和终点看作以相同的大小、方向的弯曲线片段组成的单一参数闭合线段进行处理,根据所取的测量观测值,以及观测变现的不确定性,经过合理的参数求解,以期尽可能准确的提取出距离、位置等变量。
3. 设计步骤利用闭合导线平差程序,实现起点和终点连接形成精确环形线段,需要包含以下几个步骤:(1) 输入测量数据:首先要搜集和输入测量数据,一般包括起点和终点的测角、距离、坐标以及各中间点的测角、距离、坐标等;(2)初始网值近似值:根据输入的测量数据,给定平差网的近似值,进行网格结构初始设置;(3)变量定义:确定变量类型,处理所有变量,根据不同的变量和变化范围,定义各种数学变量;(4)观测方程拟合:根据给定的变量,基于平差原理,拟合出符合条件及符合实际效果的观测方程;(5)历程和角度单位转换:完成测量数据的转换,将各中间点的测量数据转换为距离和角度绝对值,得到带符号角度,以方便后续数据处理;(6)主要的参数以及函数计算:根据已经获得的观测方程,求解出与之对应的函数及参数,以期获得所需要的精确结果;(7)几何和参数变换:根据主要参数和函数,进行变换和单位转换,获得をn换得整个线段的几何及参数关系;(8)最终结果输出:按照实际需求,输出最终结果,并将其保存进行下一步分析。
4. 程序优化闭合导线平差程序中有不少地方可以优化,以期获得更精准和更可靠的结果。
(1)近似值优化:数据输入时,给定的近似值尽可能的接近实际值,以期可以准确接近最终结果;(2)变量优化:确定变量类型时,按照不同改变范围和不确定性,尽可能让变量涵盖更广范围;(3)函数优化:选择合适的函数,尽可能的接近实际情况,尽心参数优化以及公式优化;(4)单位转换优化:尽量控制单位转换的正确性,以准确得出带符号角度;(5)数据输出优化:根据实际需求,输出更详细和准确的数据,以期及时发现并优化平差算法。
导线平差的程序设计与实现-毕业论文

山西水利职业技术学院实习报告题目导线平差的程序设计与实现姓名:孟国娇学号:专业:工程造价1139报告提交日期:山西水利职业技术学院设计任务书学院:土建工程系专业年级:工程造价2011 学生姓名:孟国娇任务下达日期:2012年 2 月20日毕业设计日期:2012年3月12日至2012年6月13日毕业设计题目:导线平差的程序设计与实现毕业设计主要内容和要求:主要内容:(1)测量平差的研究背景及意义;(2)测量平差概述;(3)Excel在单一附和导线近似平差中的应用;(4)Excel在单一附和导线条件平差中的应用;(5)导线网的间接平差理论;(6)导线网平差的结构和函数设计与实现。
设计要求:(1)毕业设计要充分发挥主观能动性,积极思考,主动实践;(2)毕业设计撰写结构要严整,叙述清楚,理论分析适当,数据可靠,研究方法合理,结论正确,论文格式符合规范;(3)研究成果要有一定的实用或参考价值。
院长签字:指导教师签字:摘要随着测绘科学技术的不断发展,在测量数据的处理中产生很多种平差的方法。
在本文中,导线网的近似平差和条件平差的一些简单计算可通过Excel表编制计算公式和编程实现,我们只需在已编好的Excel表中稍作调整和公式修改,并输入已知数据,最终就可得到所需的平差结果,这为测量的内业工作提供了服务和参考;导线网的间接平差程序是利用C++编程实现的,我们需要将导线网的已知数据信息按照特定的规则输入到dat文本中,利用C++程序读取文本数据信息后,对其进行一系列的平差计算,最终获得平差后的结果,并以dat文本的形式输出且保存,这样就可为测量工作提供一定的参考,还能为测绘数据的管理带来帮助。
关键词:导线平差;Excel;C++;程序目录1绪论...............................................................................................................................................1.1研究背景及意义.................................................................................................................1.2国内外研究状况.................................................................................................................1.3本文研究的具体内容.........................................................................................................1.4平差程序相关说明.............................................................................................................1.4.1平差程序计算特点..................................................................................................1.4.2平差程序的基本要求..............................................................................................1.4.3平差程序的结构化设计..........................................................................................1.4.4平差程序模块化......................................................................................................1.4.5平差程序的数据结构.............................................................................................. 2测量平差.......................................................................................................................................2.1测量平差概述.....................................................................................................................2.1.1测量平差..................................................................................................................2.1.2测量平差的函数模型..............................................................................................2.2最小二乘原理.....................................................................................................................2.3条件平差原理.....................................................................................................................2.3.1条件平差的数学模型..............................................................................................2.3.2条件平差原理..........................................................................................................2.3.3条件平差的计算步骤..............................................................................................2.3.4精度评定..................................................................................................................2.4间接平差原理.....................................................................................................................2.4.1间接平差的数学模型..............................................................................................2.4.2间接平差的的一般原理..........................................................................................2.4.3按间接平差法求平差值的计算步骤......................................................................2.4.4精度评定.................................................................................................................. 3Excel在导线平差中的应用.........................................................................................................3.1 Excel在平差中的应用基础...............................................................................................3.1.1 引言.........................................................................................................................3.1.2Excel在平差中的基本应用操作函数...................................................................3.1.3 核心问题的解决及技巧.........................................................................................3.1.4 三角函数在Excel中的处理方法..........................................................................3.1.5 小结.........................................................................................................................3.2Excel在附和导线近似平差中的应用..............................................................................3.2.1 单一附和导线近似平差.........................................................................................3.2.2单一附和导线近似平差实例..................................................................................3.3 Excel在导线网条件平差中的应用...................................................................................3.3.1单一附合导线条件平差..........................................................................................3.3.2边角权的确定及单位权中误差..............................................................................3.3.3单一附和导线条件平差实例.................................................................................. 4导线网的间接平差程序设计与实现 ...........................................................................................4.1矩阵的相关函数.................................................................................................................4.1.1矩阵相乘..................................................................................................................4.1.2矩阵转置..................................................................................................................4.1.3矩阵求逆..................................................................................................................4.1.4矩阵输出..................................................................................................................4.1.5设置实数输出精度..................................................................................................4.2平差中的重要函数.............................................................................................................4.2.1角度制与弧度制的相互转化..................................................................................4.2.2测量正反算函数......................................................................................................4.2.3近似坐标计算..........................................................................................................4.3导线网的平差理论.............................................................................................................4.3.1平差概述..................................................................................................................4.3.2边角网的最小二乘平差..........................................................................................4.4间接平差的结构与函数设计.............................................................................................4.4.1间接平差..................................................................................................................4.4.2结构与函数设计......................................................................................................4.5导线网平差的程序应用.....................................................................................................4.5.1平面网数据的输入格式..........................................................................................4.5.2导线网平差程序应用实例...................................................................................... 5结论与展望 ...................................................................................................................................5.1Excel在导线平差中的应用..............................................................................................5.1.1Excel在导线近似平差中的应用...........................................................................5.1.2Excel在导线网条件平差中的应用.......................................................................5.2C++在导线平差中的应用 .................................................................................................5.3测量平差的展望................................................................................................................ 参考文献........................................................................................................................................... 致谢. (54)1绪论1.1研究背景及意义测量工作是工程施工非常基础、重要的环节,对工程设计、工程施工、工程的验收都发挥着指导性、不可替代的作用。
附和导线平差计算详细教程,留着慢慢学习!

附和导线平差计算详细教程,留着慢慢学习!本篇继续讲解附和导线的内业平差。
平差顾名思义就是把总误差进行平均分配,让每个点的误差都控制在允许的范围内。
平差有两种方式,一是手动平差,二是软件平差。
本文讲解手动平差,这个过程能让新手测量员们掌握平差的原理,和相关的基础知识。
本文还是以上篇的实例来讲解,开始前先来看看上篇文章中我们外业观测的记录。
第1步,制作平差计算表并填入已知数据在Excel中按适当格式制作一个《附和导线平差计算表》(表格我已经做好了,需要的可以给我发私信),然后按要求输入起始边和附和边的起、终点坐标并计算方位角和边长。
再参照观测记录表在”测点“栏中依次填入各个测点,在”观测左角值”栏中填入每个测站测得的平均角值,在“距离”栏中填入各导线边的平均边长。
填入后的效果如下图:注:已知边的方位角和边长的计算方式很多,比如用5800计算器的Pol函数,道路之星的测站、CASS查询等。
第2步,计算角度闭合差计算角度闭合差,是为了检验外业角度观测的精度是否满足相应等级导线的技术要求。
如果实测的角度闭合差<>相关计算公式:实测角度闭合差=实测附和边方位角-理论附和边方位角实测附和边方位角=起始边方位角-N*180+实测左角值之和容许角度闭合差各等级导线有相应规定(各等级导线的技术要求在上篇文章中)。
注:N为测量站数,方位角取值范围是0度(含)到360度(不含),大于360度的减去360度,小于0度的加上360度。
本案例经计算:角度闭合差=7.1秒,容许闭合差=22秒,观测精度合格。
第3步,计算左角改正数经过角度闭合差的计算,确定外业成果合格后,就要计算左角改正数。
左角改正数=角度闭合差的相反数/测站个数改正后左角值=观测左角值+左角改正数本案例角度闭合差=7.1秒,那么左角改正数=-7.1/5=-1.42秒。
分配说明:为尽量平均分配误差,我们可将改正数保留1位小数,所以案例中每个测站分配-1.4秒,这时还有0.1秒未得到分配。
导线平差实验报告

一、实验目的本次实验旨在使学生了解和掌握导线平差的基本原理和方法,通过实际操作,培养学生运用数学模型解决实际问题的能力,提高学生在测绘工程中的实际操作技能。
二、实验原理导线平差是测量数据处理的一种方法,通过调整观测值,使平差后的观测值与实际观测值尽可能接近。
实验中,我们主要采用最小二乘法进行导线平差,该方法的基本原理是:在最小二乘法中,误差平方和为最小,即:\[ S = \sum_{i=1}^{n} (L_i - L_{\text{平差}})^2 \]其中,\( L_i \)为第\( i \)个观测值,\( L_{\text{平差}} \)为平差后的观测值。
三、实验仪器与材料1. 全站仪一台2. 导线测量记录簿3. 计算器4. 导线平差计算软件四、实验步骤1. 测量数据采集(1)将全站仪安置在已知点A上,对B、C、D、E等点进行观测,记录观测数据。
(2)按照测回法进行水平角观测,记录观测数据。
(3)对导线各边进行水平边长观测,记录观测数据。
2. 数据整理(1)将观测数据输入导线平差计算软件。
(2)对数据进行整理,包括角度换算、坐标转换等。
3. 平差计算(1)设置平差参数,如权系数、改正数等。
(2)进行平差计算,得到平差后的观测值。
4. 结果分析(1)分析平差后的观测值与实际观测值的差异。
(2)根据差异,调整平差参数,提高平差精度。
五、实验结果通过实验,我们得到了以下结果:1. 平差后的观测值与实际观测值的差异较小,说明平差效果较好。
2. 通过调整平差参数,可以进一步提高平差精度。
六、实验总结本次实验使我们深入了解了导线平差的基本原理和方法,掌握了导线平差计算步骤。
通过实际操作,我们提高了运用数学模型解决实际问题的能力,为今后的测绘工作打下了基础。
七、实验心得1. 导线平差是测量数据处理的重要方法,对于提高测量精度具有重要意义。
2. 在实验过程中,要注意数据整理和平差参数的设置,以确保实验结果的准确性。
附合导线平差程序设计报告

《测量平差程序》课程设计(报告)学生姓名:罗正材学号:1108030128专业:2011级测绘工程指导教师:肖东升目录一、前言 (3)二、平差程序的基本要求 (3)三、平差程序模块化 (3)图1四、平差中的重要函数(一)、角度制与弧度制的相互转化C/C++程序设计中,关于角度的计算以弧度制为单位,而在测量以及具体工作中我们通常习惯以角度制为单位。
这样,在数据处理中,经常需要在角度制与弧度制之间进行相互转化。
这里,我们利用C/C++数学函数库math.h中的相关函数完成这两种功能。
这里,我们使用double类型数据表示角度制数和弧度制数。
例如:123度44分58.445秒,用double类型表示为123.4458445,其中分、秒根据小数位确定。
在角度制与弧度制的转化中,涉及如下图2所示的两个环节。
度.分秒度弧度图21.角度化弧度函数double d_h(double angle) //角度化弧度{ double a,b;angle=modf(angle,&a);//a为提取的度值(int类型),angle为分秒值(小数)angle=modf(angle*100.0,&b); // b为提取的分值(int类型),angle为秒值(小数)return (a+b/60.0+angle/36.0)*(PI+3.0E-16)/180.0;}2.弧度化角度函数double h_d(double angle) //弧度化角度{ double a,b,c;angle=modf(angle*180.0/(PI-3.0E-16),&a);angle=modf(angle*60.0,&b);angle=modf(angle*60.0,&c);return a+b*0.01+c*0.0001+angle*0.0001;}其中,函数modf(angle,&a)为C语言数学库函数,返回值有两个,以引用类型定义的a 返回angle的整数部分,函数直接返回值为angle的小数部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《测量平差程序》课程设计(报告)学生姓名:罗正材学号:1108030128专业:2011级测绘工程指导教师:肖东升目录一、前言 (3)二、平差程序的基本要求 (3)三、平差程序模块化 (3)图1四、平差中的重要函数(一)、角度制与弧度制的相互转化C/C++程序设计中,关于角度的计算以弧度制为单位,而在测量以及具体工作中我们通常习惯以角度制为单位。
这样,在数据处理中,经常需要在角度制与弧度制之间进行相互转化。
这里,我们利用C/C++数学函数库math.h中的相关函数完成这两种功能。
这里,我们使用double类型数据表示角度制数和弧度制数。
例如:123度44分58.445秒,用double类型表示为123.4458445,其中分、秒根据小数位确定。
在角度制与弧度制的转化中,涉及如下图2所示的两个环节。
度.分秒度弧度图21.角度化弧度函数double d_h(double angle) //角度化弧度{ double a,b;angle=modf(angle,&a);//a为提取的度值(int类型),angle为分秒值(小数)angle=modf(angle*100.0,&b); // b为提取的分值(int类型),angle为秒值(小数)return (a+b/60.0+angle/36.0)*(PI+3.0E-16)/180.0;}2.弧度化角度函数double h_d(double angle) //弧度化角度{ double a,b,c;angle=modf(angle*180.0/(PI-3.0E-16),&a);angle=modf(angle*60.0,&b);angle=modf(angle*60.0,&c);return a+b*0.01+c*0.0001+angle*0.0001;}其中,函数modf(angle,&a)为C语言数学库函数,返回值有两个,以引用类型定义的a 返回angle的整数部分,函数直接返回值为angle的小数部分。
(二)近似坐标计算在平面网间接平差计算中,近似坐标计算是非常重要的一项基础工作。
近似坐标是否计算成功是间接平差是否可以进行的必要条件。
1.两方向交会已知条件:两个点的近似坐标,这两个点到未知点的方位角,如图3所示图3两方向交会根据图4.2,设11αtgk=,22αtgk=,则很容易写出⎪⎩⎪⎪⎨⎧-=--=BPBPAPAPyykxxyyk21整理该式,得两方向交会的的计算公式⎪⎪⎭⎫⎝⎛--=⎪⎪⎭⎫⎝⎛⎪⎪⎭⎫⎝⎛--BBAAPPyxkyxkyxkk212111(4.1)对(4.1)式计算,即可得到未知点的近似坐标。
应用中需要注意的是,若两方向值相同或相反,则该式无解。
程序中,定义该问题的函数为:int xy0ang(obser &a1,obser &a2)2.三边交会如图4所示,为排除两边长交会的二义性,给出如下三边交会的模型,已知条件:三个点的近似坐标,这三个点到未知点的距离测量值。
图4 三边交会 对每条边长测量值,可列出边长条件⎪⎩⎪⎨⎧-+-=-+-=-+-=)()()()()()()()()(222322222221c y y x x S b y y x x S a y y x x S C P C P B P B P A P A P计算上式中(a )与(b )和(c )三式的差,消去未知参数的平方项,整理得三边交会的计算公式⎝⎛++---++---=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫⎝⎛----22222122232212222A A C C A A B B P P C A CA B A BA y x S y x S y x S y x S y x y y x x y y x x (4.2对(4.2)式计算,即可得到未知点的近似坐标。
应用中需要注意的是,若三点位于同一条直线,则该式无解。
程序中,定义该问题的函数为:int xy0dist (obser &a ,obser &b , obser &c )。
3.坐标正算使用测量正算公式计算控制网的近似坐标。
程序中,定义该问题的函数为:int zheng (obser &a ) 4.角度后方交会使用测量后方交会计算公式计算控制网的近似坐标。
程序中,定义该问题的程序函数为:int houj (obser &a ,obser &b , obser &c ) 5.测角网无定向导线计算无定向导线,主要应用于计算已知控制点不相邻的三角网的近似坐标。
基本思想为:先由一个已知点开始,假设一条边的边长与方位角,根据三角网的角度观测值推算其它边的边长与方位角,然后,由任一导线计算,直到计算至另一个已知点为止。
假设导线的起点为A ,终点为B 。
这时,计算出的B 点坐标必然与已知坐标不同,设A 与B 的已知坐标为(B B A A y x y x ,,,),B 点的计算坐标为B ’('',B B y x ),则用这些数据可以计算边长的放大系数k 和假设方位角的改正数da222'2')()()()(A B A B A B A B y y x x y y x x k -+--+-=),(),(B A afa B A afa d '-=α 其中,),(B A afa 为计算方位角的函数。
这时,对网中的假设边长和所有由假设边长推算的近似边长进行k 倍的放大,对假设方位角和所有由假设方位角推算的近似方位角进行方位角改正。
然后应用坐标正算法可以计算三角网中所有点的近似坐标。
五、结论:C++在导线平差中的应用在‘导线网的间接平差程序设计与实现’中,通过使用C ++编程,采用测量平差中的间接平差的方法,实现了导线网的间接平差,最终得到了导线网中待定数据。
在‘导线网平, int d, m, f; double s; f = dms>=0 ? 1 : -1;//0.001秒 = 4.8481368110953599358991410235795e-9弧度 dms += f * 0.0000001; d = (int)dms;dms = (dms - d) * 100.0; m = (int)dms;s = (dms - m) * 100.0;return (d + m / 60.0 + s / 3600.0) * _TORAD - f * 4.8481368110953599358991410235795e-9;//弧度转“度分秒”double RADtoDMS(double rad){int f = rad >= 0 ? 1 : -1; // 符号+-//加0.001秒(用弧度表示),化为度rad = (rad + f * 4.8481368110953599358991410235795e-9) * _TODEG;int d = (int)rad;rad = (rad - d) * 60.0;int m = (int)rad;dx = array->elem[1].x - array->elem[0].x;dy = array->elem[1].y - array->elem[0].y;adj.azi0=atan2(dy, dx) + (dy < 0 ? 1 : 0) * _2PI;//alfa-0dx = array->elem[3].x - array->elem[2].x;dy = array->elem[3].y - array->elem[2].y;adj.azin=atan2(dy, dx) + (dy < 0 ? 1 : 0) * _2PI;//alfa-nadj.x1=array->elem[1].x;adj.y1=array->elem[1].y;adj.xn=array->elem[2].x;adj.yn=array->elem[2].y;Destroy(array);//}//观测值信息写到动态数组void ReadObsValue(FILE * in, DyArray * array){0)elsebreak;//退出读观测值的循环}}//求角度闭合差fbvoid Fb(DyArray * array){double sumb=0.0;//beta求和for (int i=0; i< array->length; i++){sumb+=array->elem[i].b;}adj.fb=adj.azi0+sumb-_PI*array->length-adj.azin;adj.v=-adj.fb/array->length;adj.fb=adj.fb/_PI*180*3600;adj.fr=2*8*sqrt(array->length);if (abs(adj.fb) >= adj.fr)pnt.dir1.dist=(array->elem[0].dir1.dist+array->elem[1].dir0.dist)/2;pnt.dir1.dx=pnt.dir1.dist*cos(pnt.dir1.alfa);pnt.dir1.dy=pnt.dir1.dist*sin(pnt.dir1.alfa);AddDir(array,pnt,0);for(int i=1;i<array->length-1;i++){pnt.dir1.alfa=array->elem[i-1].dir1.alfa+array->elem[i].b-_PI;pnt.dir1.dist=(array->elem[i].dir1.dist+array->elem[i+1].dir0.dist)/2;pnt.dir1.dx=pnt.dir1.dist*cos(pnt.dir1.alfa);pnt.dir1.dy=pnt.dir1.dist*sin(pnt.dir1.alfa);AddDir(array,pnt,i);}for(i=0;i<array->length-1;i++){array->elem[i].dir1.alfa=RADtoDMS(array->elem[i].dir1.alfa);//alfa转为角度}{array->elem[i].dir1.dx-=adj.fx*array->elem[i].dir1.dist/sums;//坐标增量改正array->elem[i].dir1.dy-=adj.fy*array->elem[i].dir1.dist/sums;}}//解算近似平差坐标void Coordinate(DyArray * array){SurPnt pnt;array->elem[0].x=adj.x1;array->elem[0].y=adj.y1;for(int i=0;i<array->length-2;i++){//strcpy(,array->elem[i+1].name);pnt.x=array->elem[i].x+array->elem[i].dir1.dx;//pnt.y=array->elem[i].y+array->elem[i].dir1.dy;fprintf(out, "α%s-%s=%.0lf°%.0lf′%.0lf″\n", array->elem[i].name, array->elem[i+1].name,d, m, s);}fprintf(out, "\n近似平差坐标\n");for (i=1; i<array->length-1; i++){fprintf(out, "%s x=%.3lfm y=%.3lfm\n", array->elem[i].name, array->elem[i].x,array->elem[i].y);}}int main(int argc, char* argv[]){DyArray pnts;Init(&pnts);elsestrcpy(outfile, argv[2]);FILE * out = fopen(outfile, "w");if(out == NULL){printf("File %s cann't open!", outfile);return -1;}//读入已知点的坐标ReadKnwData(in, &pnts);Init(&pnts);//观测值信息写到动态数组ReadObsValue(in, &pnts);//求角度闭合差fbFb(&pnts);//角度改正CorrectAngle(&pnts);//推算方位角Direct(&pnts);。