周一至周五 | 9:00—22:00

期刊论文网 > 自然科学论文 > 测绘学论文 > 测绘工程论文 导线近似平差计算设计与实现

测绘工程论文 导线近似平差计算设计与实现

2019-01-26 11:37:06来源:组稿人论文网作者:婷婷

 

  摘要

 

  近年来,随着国力的提高,国内基础设施建设快速发展,大型工程日益增多,测绘工程技术在其中发挥着基础性和不可替代的作用,而测绘工程中数据的处理也是最重要的一个环节。

 

  本课题的研究目的是解决测量作业中的外业数据智能化处理问题。课题主要研究的方向是导线的近似平差计算。通过建立数据库建立项目数据,再对数据库进行对应的写入、操作和读出功能。依据导线近似平差模型的计算计算公式和流程,对数据进行输入、计算、和输出及绘图功能。本设计利用C#编程语言进行模块的开发,实现了导线的计算及展示功能,具有计算速度快、结果准确、能处理庞大数据的特点,从而实现测量数据处理的自动化、智能化。该软件通过多窗体的设计,数据库的搭建,可供用户对数据库中的数据进行添加、删除、修改等操作;实现弧度和角度的互相转换;对导线的已知数据和观测数据的输入和输出功能;实现对导线数据进行计算的功能以及对平差结果的数据和图形浏览功能。

 

  关键词:控制测量;近似平差;程序设计;导线测量

 

  第一章绪论

 

  研究目的和意义

 

  近年来,随着国家大力发展基础工程建设,建设工程项目日益增多。而测绘工程技术作为基础工程建设的基础必要技术有着其不可替代的作用,测绘工程中的数据处理又是其最为关键的一个环节。

 

  在控制网的建立中精度是否达标是最主要的方面。测量数据的处理尤为重要,它的结果可以直接反映外业采集的数据是否满足施工项目的具体要求,处理的结果也可以作为指导后续工程中测量的关键数据。在桥梁形变控制测量,铁路、公路的线路控制测量,隧道的贯通控制测量等大型工程项目中,都需要很深厚的数据处理相关的知识和很多的外业数据采集经验,在数据处理这部分工作中主要包括外业采集数据的平差处理和各种闭合差的检验。从测绘行业和施工行业的整个工作流程来看,工作人员在采集相应的外业测量数据以后,还需要对应的内业数据处理工作。不同类型的工程项目,不同的行业各自的精度要求也是不相同的,使用的仪器精度本身也不尽相同,最终外业采集的数据是否能达到工程项目的需求,只有通过内业的数据处理结果来进行检核。上个世纪的老一辈测量工作者在进行数据处理的时候迫于技术的落后,只能采用手工计算的方式,工作量巨大,而且会占用大量的时间进行计算,相关的人员还必须具备很深厚的数据处理功力和很多的外业数据采集经验才能完成日常的测量工作。上世纪九十年代开始,测绘前辈们开始利用计算机进行数据处理,出现了测量平差程序,但是当时的计算机技术本身的落后导致进行平差处理的时候还要进行数据摘抄、规范输入格式、绘制计算略图、编号编码等一系列的繁琐工作,不但浪费了大量的时间,还不能保证在众多的流程中不会出错,使测绘科学技术发展缓慢。

 

  因此本课题的研究是为了解决测绘外业中导线网的智能化数据处理问题。导线测量作为控制测量项目中最常见和主要的方式之一,在不同的测量项目中由于需求的精度不同,经常需要根据地形环境和人文因素等布设最佳的控制网,控制网的观测技术从最早的三边测量、三角测量、边角测量再发展到现在的导线测量和GPS控制测量。在现在的控制测量方式中,由于导线测量布设简单、每点仅仅需要与前后两点通视、选点方便,特别是在建筑物较多或者隐蔽地区这些通视困难的地方应用起来特别灵活,数据的采集也很方便,相对于现代其他测量技术成本较低,并且满足大部分测量项目的精度要求,因此导线测量的应用极其广泛。而在整个测量控制网中,是否满足精度是测量任务重最关键的方面。在控制测量项目中采集的数据繁多,因此需要平差计算的数据也繁多,并且程序繁琐,利用传统手工计算或者借助于计算器编程计算,不但计算的工作量大,并且很容易出错,导致整个项目的推进困难。由此可以看出控制测量数据处理对智能化的需求很迫切,因此实现控制网平差数据处理的计算机自动解算、智能完成繁重的内业数据处理任务、图形化具有亲和力的操作界面,这些都可以大大减轻测绘工作人员的负担,提高工作效率,从而缩短项目的工期,同时还可以降低测量人员对于专业知识的依赖,更加准确的指导测量任务的进行,从而实现预期的精度指标,指导工程项目中的其他项目正常进行。取代在计算机技术不发达时代里刻板、繁重的工作流程,而且计算结果比以前更加准确,避免了人为出现错误的机会,减少了财力、物力、人力的成本、从而大大促进测绘技术的发展和进步。

 

  国内外研究现状

 

  随着科学技术的进步,计算机知识和各种应用软件的普及,计算机已经在各个领域里得到应用,计算机同样可以实现测量工作的数据处理,因此测绘先辈们开始了探索利用计算机程序实现数据处理的自动处理,以减少手工计算时间提高工作效率,同时提高计算精度,最早通常采用PC-E500,后来VB高级编程语言的出现使平差程序有了更大的发展,在计算的同时还实现了展点绘图功能,有的软件还搭配了一些测量的常用计算工具。

 

  在测绘行业欣欣向荣,对数据处理软件需求不断增大的背景下,国内很多大型的测绘仪器公司都研发出了可以适应不同场景的测量平差软件,很多具有科研实力的高校和生产单位也开发了适用于自身需求的测量平差软件。通过实地对操作人员的调查和各种论坛、贴吧等对平差软件的网上回馈,发现现在市面上的测量平差软件质量参差不齐。

 

  国外也开发了很多的平差软件,往往其规模比较庞大,涵盖的领域很广,也有评价很高的测绘数据处理软件。由于国人和国外使用习惯上,具体数据处理流程上,还有实际地域导致的数据处理方式需求上的不同,导致国内用户对其的实际需求并不大。而且由于语言的差异性,使用国外的软件对用户的专业性水平要求很高。这些原因都导致目前市面上并没有国外人员专门针对国内的数据处理要求开发相应的软件,但是通过对一些国外的文献可以发现国外的平差程序内部采用的算法和国内相似,也是精密平差和近似平差。

 

  对国内现在市面上流传的平差软件的分析主要可以从软件设计方式和内部算法两方面来分析。

 

  (1)在软件设计方式上目前比较流行的又分为两类,一类需要其他载体才能运行,比如:基于CASIO fx系列计算器的平差程序、基于Excel VBA的平差程序、基于AutoCAD VBA的平差程序。这类平差软件对小量数据处理方便,但是对于大量数据来讲存在数据录入繁琐,软件处理结果只有数据没有图等缺点;还有一类是以窗体程序的形式运行的,比如平差易、清华山维等。这类程序由于操作环境友好,运行环境简单,程序兼容性高,处理大数据更加方便等特点成为了现在的主流。因此会本平差系统采用目前流行的.net框架下的Winform窗体进行开发。

 

  (2)在程序的内部算法上采用的有近似平差和严密平差这两种主要的方式。严密平差相对而言过程比较繁琐,需要进行多次的平差改正,其计算公式和计算过程也是相当的复杂。近似平差的计算一般是普通的闭合差配附,在一般的工程测量作业和测图等工程项目中,近似平差的计算的精度是完全能达到项目要求的。而且精密平差和近似平差的结果只相差在毫米级别,而且计算过程简单,可以减少很多工作量,从而提高工作效率。并且在观测精度较高时,选用近似平差方式得到的数据精度也很高,完全可以满足工程需要。因此本导线近似平差系统的内部算法采用近似平差的计算方式。

 

  根据目前的近似平差原理,平面控制导线平差的主要内容包括(以两个连接角附合导线近似平差模型为例)(1)根据给定初始数据计算定向边方位角。(2)根据各个转向角的实际测量数据计算各个转向角的方位角。(3)根据计算所得的转向角计算角度闭合差,若闭合差在最大限差范围内则进行调整(包括计算角度改正数,得到改正后角度)。(4)根据改正后的转折角和对应的导线长度计算各导线点坐标增量。(5)计算坐标闭合差,若闭合差在最大限差范围内则进行调整(包括计算坐标改正数,得到改正后坐标值)。

 

  进行角度闭合差调整时,将闭合差反号平均分配到各观测角;进行坐标增量闭合差调整时,采用与对应边长成正比的原则来计算坐标增量的改正数数值。

 

  通过对形式平差的计算步骤分析可以发现除去本身模型和外业数据精度的不足,影响计算精度的主要原因便是计算过程中数据的精度丢失问题,因此本平差系统对计算的精度有相应的改进。由于在选用的c#语言中decimal数据类型在运算中存在诸多限制,因此程序中大多采用double数据类型进行存储。由于计算机以二进制存储数字,除了少数几个小数可以用二进制准确表达外,其他小数均以二进制无限循环小数进行存储,是近似值。因此在进行大量计算以后会产生数据丢失。对数据进行四舍五入可以有效的解决这一问题。通过对文献资料查阅得知,角度转换到弧度后,弧度保留到八位有效数字可以较好的保存数据精度。

 

  本文研究的具体内容

 

  结合现有的理论基础,本课题着重研究导线近似平差原理计算过程的精度优化、算法智能化系统实现方式的优化,结合现有近似平差理论基础和现有近似平差数据处理软件的优缺点,本课题旨在开发一个既符合常用测量精度要求,也满足测绘生产人员实际需求的导线近似平差软件。

 

  其中系统算法方面的基本内容包括。

 

  (1)两个连接角附合导线近似平差模型的计算精度优化及系统实现

 

  (2)单连接角附合导线近似平差模型的计算精度优化及系统实现

 

  无定向附合导线近似平差模型的计算精度优化及系统实现

 

  (4)闭合导线近似平差模型的计算精度优化及系统实现

 

  (5)支导线近似平差模型的计算精度优化及系统实现

 

  系统可视化界面基本内容包括

 

  (1)数据的自动导入:对于线路较长的导线,数据自动导入可以大大提高数据处理效率。

 

  (2)少量外业数据的手动输入:对于线路较短的导线,采用手工记录

 

  手工输入的方式,省去了调整文本格式的步骤,并且可以使过程更加清晰更加人性化

 

  (3)平差计算中间辅助计算结果显示,在得到平差总结果的同时还可以直观看到中间的闭合差等中间数据,便于在结果超限时查找具体原因。

 

  (4)测量数据最终精度显示

 

  (5)导线成图展示,在得出平差结果的同时,利用GDI+技术把导线绘制出来,可以更加直观,详细的观察导线,也可以通过图形对测量数据进行再次检核。

 

  (6)导出导线平差报告保存到本地,对于合格的导线结果,可以选择导出到本地,便于将详细的数据写入到其他报告中。

 

  (7)帮助,对软件的数据处理方式,适用范围,数据录入方式等作出相应的解释,方便用户进行操作。

 

  第二章相关理论和技术

 

  2.1开发环境概述

 

  2.1.1 C#编程语言介绍

 

  C#是微软公司于2000年6月发布的一种基于.NET Framework框架的面向对象的编程语言。首次亮相于微软职业开发者论坛。C#是微软的研究人员安德斯.海尔斯伯格的最新研究成果。C#是由C和C++派生出来的一种面向对象、现代、简单和类型安全的编程语言,在继承了C和C++优点的同时也去掉了他们的一些复杂的特征(例如不允许多重继承没有宏),同时综合了VB简洁的可视化操作和C++的高效率。同时C#和面向对象语言Java也有着惊人的相似性,它有着与Java相同的单一继承、接口、方法等概念,同时有着与Java几乎相同的编译执行过程和语法。但是C#与Java也有着显著的不同点,它借鉴了众多语言的特点,在组件对象模型集成方面借鉴了Delphi,C#也是微软公司.NET Windows网络框架的主角。由于C#是由C/C++发展过来的,C/C++的程序员可以很快的掌握它,C#不但有优雅的语法、强大的操作能力、便捷的面向组件编程支持和创新的语言特征,同时相对于其他语言有其显著的特点:

 

  (1)兼容性、支持跨平台。C#遵循.NET的语言规范(CLS),保证了可以跟其他语言的兼容,同时C#程序可以在Windows系统下的不同类型的设备上运行如PDA、手机PC等装置。

 

  (2)操作简单、语法简洁。C#去掉了指针操作,不用直接操作内存,同时具备强大的垃圾处理机制(GC),减少了开发人员的对内存管理的很多负担,C#的这些特征都使开发者利用很少的代码实现强大的功能,并且可以很轻松的避免错误的出现,从而缩短开发程序的时间。

 

  (3)面向对象特征,C#具有面向对象的封装、继承、多态特点,使代码的重用性大大提高。

 

  (4)可以轻松的开发Web程序,C#语言支持绝大多数的Web标准,如SOPA、XML、HTML等。这是C#的最大特点,使用它可以轻松开发企业级应用平台。

 

  (5)完善的异常和错误处理机制。C#提供了完善全面的异常和错误处理机制,使得程序在交付使用的时候可以更加强壮。

 

  (6)提供了强大的版本处理技术。C#语言内置了版本控制模块,使得开发人员可以更加容易的维护和开发。

 

  (8)C#提供了强大的语法提示功能。可以使开发人员在开发的过程中容易的发现语法错误,提高开发效率,提升开发质量。

 

  2.1.2 C#代码书写规范

 

  代码的书写规则对于功能的实现没有多大的影响,但是对于代码的后期维护和改善是很有帮助的。养成良好的代码书写规范可以使得软件的开发维护变得更加简单,代码书写的规范如下:

 

  (1)在给类和方法命名时多用简单的组合单词表示,并且使用Pascal命名规则即:用于命名的每个单词的首字母都需要大写。

 

  (2)在给变量和参数命名时,采用Camel命名规则即:命名的第一个单词首字母小写,其余单词首字母大写。

 

  (3)每行的代码量不要太多,一般不要超过80个字符。

 

  (4)在代码的书写过程中尽量多的使用接口,然后用类去实现接口,方便提高代码的灵活性和理解性。

 

  (5)尽量不要修改系统自动生成的代码,如果必须更改才能实现一些功能,那么修改的代码风格应和原来的代码风格一致。

 

  (6)在声明局部变量时尽量声明在需要用的地方并且要做详细的说明。

 

  (7)尽量不要使用太多的嵌套循环,除非深层循环需要跳出,否则不要使用goto语句。

 

  (8)应避免声明具有太多参数的方法,如果参数太多可以使用结构的形式进行传递。

 

  (9)在生成和构建长的字符串时,避免使用string类型,应采用stringbuilder类型。

 

  (10)避免在代码中大量使用try…catch语句。

 

  2.1.3 SQL Server数据库管理系统与ADO.NET技术介绍

 

  SQL Server数据库是美国Microsoft公司推出的一种关系型数据库。它是基于C/S结构,是运行在计算机硬件和操作系统之上的数据库管理软件。Microsoft SQL Server2008是一个强大的版本,在该版本上微软公司推出了很多新的特征和很过关键性的改进,这些特征和改进使得它成为至今为止最为强大和全面的版本。SQL Server2008是一个高性能的、可扩展、为分布式客户机和服务器计算所设计的DBMS,实现了与Windows各版本的完美结合,提供了基于事务的企业级信息管理系统方案。主要有以下特点:

 

  (1)高性能设计,可充分发挥Windows操作系统的优势

 

  (2)系统管理方式先进,支持Windows窗体管理,支持远程和本地的系统管理与配置方式,提高了管理效率。

 

  (3)强大的事务处理管理机制,利用多种方式方法保证数据的完整性和安全性。

 

  (4)SQL Server2008以其内置的数据复制功能、强大的管理工具及与Internet的紧密集成和开放的系统架构为广大的用户、开发者和系统集成商提供了一个出众的数据库平台。

 

  (5)完善的数据加密机制,SQL Server2008可以实现对整个数据库、日志文件和特定的数据文件进行加密。这一功能可以满足公司对数据隐私的要求,而这些功能都是在不需要对已有程序进行改动的情况下进行的,使得数据的加密处理更加方便。

 

  (6)SQL Server2008增强了审查功能,使得你可以审查你的数据操作,从而提高了遵从性和安全性。审查不止包括对数据的修改信息,还包括对数据库的读写等操作。还可以定义对每一个数据库的审查规则,使得数据库的审查执行性能更好,配置的灵活性也很高。

 

  (7)可预测系统性能,公司现在面对着不断增长的数据压力,因此数据的管理需要提供可预计的响应和随着数据量的增长进行对应的操作,SQL Server2008提供了一个强大的功能集合,使得数据平台的工作负荷都是可知的。

 

  2.1.4 ADO.NET技术

 

  ADO.NET技术是Microsoft.NET框架下的一部分,它是是一个COM组件库,应用程序可以借此技术与基于文件或基于服务器的数据存储很方便的进行通信和管理。由于ADO.NET技术传送的数据都是XML格式的,因此任何可以读取和处理XML格式的应用程序都可以对数据进行处理。ADO.NET允许和不同的数据源以及数据库进行交互,一些老式的数据源使用ODBC协议,现在许多新的数据源开始使用OleDb协议,并且还在不断的出现新的数据源,而这些数据源都可以通过ADO.NET技术来连接。ADO.NET功能由相应的类库实现,相应的类介绍如下:

 

  (1)Connection类:该类的作用主要是实现数据库与应用程序的连接,在进行数据库的连接时必须调用此类。在连接时输入相应的数据服务器名、数据库名、用户名等需要的参数。

 

  (2)Command类:该类的主要作用是实现数据库命令的传入查询对应的数据,主要的方法有ExecuteRead()、ExecuteScalar()和ExecuteNonQuery().

 

  (3)DataReader类:许多的数据操作需要操作人员一行一行的读取数据进行处理。DataReade返回的数据都是快速的并且只能向前的数据流。

 

  (4)DataSet类:该类的对象是数据在内存中的表现形式。它包括多个DataTable对象,而DataTabel包含列和行,就像一个数据库中的表。

 

  (5)DataAdapter类:很多时候开发人员只需要对数据进行读取,并且开发人员很需要将其改变至底层的数据源。同样在很多情况下要求在内存中缓存数据,以减少对不需要改变数据的调用次数。DataAdapter便可以轻松的实现以上情况的处理。

 

  2.2本章小结

 

  本章详细介绍了开发本系统所需要的开发技术和理论,针对本系统的开发语言C#的基本理论和相关代码规范,语言优势和特点进行了详细的阐述,对本系统进行数据存储的SQL Server2008的优点和特点进行了详细的说明,同时也对C#语言和数据库进行通讯的ADO.NET技术进行了详细的阐述。

 

  第三章测量原理及算法实现

 

  3.1控制测量原理

 

  3.1.1控制测量概述

 

  在测量工作中,首先要在测区内部选择一些具有控制意义的点,组成一定的几何图形,形成测区的观测骨架,用相对精确的观测手段和计算方法,在统一的坐标系中,确定这些具有控制意义的点的平面位置坐标和高程,然后以它为基础来测定其他地面点的点位或者进行施工放样,或者进行其他的测量工作。其中,这些具有控制意义的点位称之为控制点;由控制点组成的几何图形称之为控制网;对控制网进行布设、观测、计算,确定控制点空间位置的工作称之为控制测量。

 

  通过控制测量可以确定地球的形状和大小。在碎部测量中,专门为地形图测图而布设的控制网称之为图根控制网,相对应的控制测量称之为图根控制测量。专门为大型工程施工而布设的控制网称为施工控制网,其可以作为变形监测和施工放样的依据。由此可见,控制网测量起到控制全局和限制误差累积的作用,为各项具体的科学研究和测量工作提供了强有力的依据。

 

  控制测量分为高程控制测量和平面控制测量。高程控制测量用于确定控制点的高程,平面控制测量用于确定控制点的平面位置。

 

  3.1.2导线控制测量

 

  在传统的测量工作中,平面控制测量通常采用的方式有三角网测量、导线测量、交会测量、天文测量和GPS控制测量。目前,在大面积控制测量中,GPS控制测量已成为建立平面控制网的主要方法,但是在一些隐蔽区域、建筑物较多、面积较小的区域,导线控制测量因其布设简单、选点方便、布设灵活、成本低的优势应用极其广泛。

 

  将相应的控制点用直线连接起来形成的折线、称之为导线,这些连接成折线的控制点称之为导线点,点间的折线称之为导线边,相邻导线之间的夹角称之为转折角(又称导线角、导线折角)。与坐标方位角已知的导线边相连接的转折角称为连接角(定向角)。通过观测导线边的转折角大小和导线边的长度,根据起算数据经过相应的计算获得导线点的平面坐标,即为导线测量。导线因其不同的要求和情况分为五种布设形式:附合导线(如图3-1-1(a)所示)、闭合导线(如图3-1-1(b)所示)、支导线(如图3-1-1(c)所示)、附合导线网(如图3-1-1(d)所示)、自由导线网(如图3-1-1(e)所示)。

 

  图3-1-1导线布设形式

 

  3.2平面控制点坐标计算

 

  在导线平面控制网中进行坐标计算,首先需要确定的是每个导线点的坐标方位角,然后根据坐标方位角和导线边长对导线点的平面坐标进行推算。

 

  (1)导线点坐标方位角的推算:

 

  如图3-2-1(a)所示,已知B点处的导线折角为β,定向边AB的坐标方位角值αAB,当β为左角的时候如图3-2-1(a)所示,那么可以推断直线BC的坐标方位角αBC为:

 

  αBC=αAB+β-180°(3-1)

 

  当β为右角的时候如图3-2-1(b)所示,那么直线BC推断的坐标方位角为:

 

  αBC=αAB-β-180°(3-2)

 

  由式(3-1)、式(3-2)可以得出推算导线点坐标方位角的一般公式如下:

 

  αBC=αAB±β±180°(3-3)

 

  式(3-3)中,β为左角时,其取”+”,β为右角时取”-”。如果推算的坐标方位角大于360°,则应该减去360°,如果出现负值,则应该加上360°。

 

  图3-2-1坐标方位角推算

 

  (2)平面直角坐标计算:

 

  如图3-2-2所示,设A为已知点,B为未知点,当A点坐标(XA,YA)、A点至B点的水平距离SAB和坐标方位角αAB均为已知时,则可求得B点坐标(XB,YB)

 

  图3-2-2坐标推算

 

  XB=XA+∆XABYB=YA+∆YAB(3-4)

 

  式中

 

  ∆XAB=SAB*cosαAB∆YAB=SAB*sinαAB(3-5)

 

  因此,式(3-4)也可以写成:

 

  XB=XA+SAB*cosαABYB=YA+SAB*sinαAB(3-6)

 

  式中∆XAB和∆YAB称之为坐标增量

 

  3.3关键算法描述及编程语言实现

 

  导线控制测量的核心是获取更好的获取导线点在统一坐标系下的平面坐标。在计算的过程中涉及到的计算数据主要是已知点的坐标、已知导线点的坐标方位角,而外业数据采集的数据主要是观测边长和角度。一般导线的平差处理都要进行极为严密的处理,但是对于二级单位以下等级的图根,是允许对单节点导线网、单一导线采用近似平差的方法加以计算的。

 

  导线控制测量所涉及到的近似平差计算思路主要是针对边长和角度的观测误差,也就是先进行角度闭合差的分配的基础上,推算各导线点坐标,再进行坐标闭合差的分配。在闭合差的分配上,角度闭合差分配采用平均分配的方式,坐标闭合差采用按导线边距离求权值进行分配。

 

  在实际执行导线平差工作之前,要先严格按照对应等级的相关测量规范实施外业数据采集工作,在各项限差满足要求的情况下对导线进行近似平差计算。

 

  3.3.1支导线的计算

 

  如图3-3-1所示为支导线,其中线段MA为已知坐标方位角的定向边,A点为已知坐标的导线点,p1、p2、p3…pn为待定点,β1、β2、β3…βn为转折角观测值。

 

  (1)线段MA的坐标方位角已知为αMA,按(3-3)式推算其余导线边的坐标方位角。

 

  (2)根据观测的各导线边边长和推算的各点坐标方位角,按照(3-5)式推算各导线点坐标增量。

 

  (3)由已知点A坐标和推算的各导线点坐标增量根据(3-4)式计算各导线点坐标。

 

  图3-3-1支导线计算

 

  整合计算代码截图如下图3-3-2所示:

 

  图3-3-2

 

  3.3.2仅有一个连接角的附合导线计算

 

  如图3-3-3所示为仅有一个连接角的附合导线,其中线段MA为已知坐标方位角的定向边,A、B两点为已知坐标的导线点,p1、p2、p3…pn为待定点,β1、β2、β3…βn为转折角观测值。

 

  (1)线段MA的坐标方位角已知为αMA,按(3-3)式推算其余导线边的坐标方位角。

 

  (2)根据观测的各导线边边长和推算的各点坐标方位角,按照(3-5)式推算各导线点坐标增量。

 

  (3)由已知点A坐标和推算的各导线点坐标增量根据(3-4)式计算各导线点坐标。

 

  (4)将推算出来的B点坐标与B点真实坐标进行比对,根据(3-7)式得出闭合差fx和fy。

 

  fx=xB,-xBfY=yB,-yB(3-7)

 

  (5)按照权值,进行闭合差的分配,根据(3-8)式可得各点改正数。

 

  v∆xij=-fxS*Sijv∆yij=-fyS*Sij(3-8)

 

  (6)根据(3-9)式计算改正后的坐标增量。

 

  ∆xij=∆xij,+v∆xij∆yij=∆yij,+v∆yij(3-9)

 

  (7)根据(3-4)式计算各导线点坐标。

 

  (8)根据(3-10)式来推算导线精度指标:导线全长相对闭合差k

 

  k=1Sfs(3-10)

 

  式中,fs=fx2+fy2

 

  图3-3-3仅有一个连接角的附合导线计算

 

  整合计算代码截图如下图3-3-4所示:

 

  图3-3-4

 

  3.3.3具有两个连接角的附合导线计算

 

  如图3-3-5所示为有两个连接角的附合导线,其中线段MA为已知坐标方位角的定向边,线段BN坐标方位角已知,A、B两点为已知坐标的导线点,p1、p2、p3…pn为待定点,β1、β2、β3…βn为转折角观测值。

 

  (1)线段MA的坐标方位角已知为αMA,按(3-3)式推算其余导线边的坐标方位角。

 

  (2)因为各转折角的观测存在误差,使得推算的直线BN的坐标方位角与真值不同,由式子(3-11)计算角度闭合差fβ,即

 

  fβ=αBN,-αBN(3-11)

 

  (3)由于各转折角都是等精度观测的,所以按照(3-12)或(3-13)式将坐标方位角闭合差fβ平均分配到每个角度上,则方位角改正数vβi,βi为左角时,改正数为:

 

  vβi=-fβn+1(3-12)

 

  βi为右角的时候,其改正数为:

 

  vβi=-fβn+1(3-13)

 

  式中,n+1为导线点个数。

 

  (4)在转折角改正后,采用与仅有一个连接角的附合导线相同的计算方法推算各待求导线点坐标。

 

  (5)根据(3-10)式来推算导线精度指标:导线全长相对闭合差k

 

  图3-3-5具有两个连接角的附合导线计算

 

  整合计算代码截图如下图3-3-5所示:

 

  图3-3-5

 

  3.3.4闭合导线的计算

 

  如图3-3-6所示为闭合导线,其中其中线段MA为已知坐标方位角的定向边,A点为已知坐标的导线点,2,3…N为待计算导线点,β1、β2、β3…βn为转折角观测值。

 

  (1)由于角度的观测存在误差,使得多边形观测的内角和不等于其理论值,根据(3-14)式计算角度闭合差fβ

 

  fβ=[β内]1n-n-2*180°(3-14)

 

  (2)按(3-15)式计算观测值改正数vβi

 

  vβi=-fβn(3-15)

 

  (3)在完成角度改正以后,按照仅有一个连接角的导线的计算方式计算各待求导线点坐标,只是在计算坐标闭合差的时候采用(3-16)式

 

  fx=[∆x]1nfy=[∆x]1n(3-16)

 

  (4)根据(3-10)式来推算导线精度指标:导线全长相对闭合差k

 

  图3-3-6单一闭合导线计算

 

  整合计算代码截图如下图3-3-7所示:

 

  图3-3-7

 

  3.2.5无连接角导线的计算

 

  如图3-3-8为无连接角导线,其中1,2,3,4,5为待求导线点,A(xA,yA),B(xB,yB)两点为已知坐标导线点,SAB、αAB分别为AB的边长和坐标方位角,(xi,、yi,)和(xi,yi)分别为导线点坐标的计算值和平差值。算法实施步骤如下:

 

  (1)假定导线第一条边A1坐标方位角,按照(3-3)式推算各点的坐标方位角。

 

  (2)在得到各点假定的坐标方位角后,按照支导线的计算方法推算各点假定坐标值。

 

  (3)根据(3-17)式计算Q1,Q2,即

 

  Q1=∆xAB,*∆xAB+∆yAB,*∆yAB(∆xAB,)2+(∆yAB,)2Q2=∆xAB,*∆yAB-∆yAB,*∆xAB(∆xAB,)2+(∆yAB,)2(3-17)

 

  (4)计算得到Q1,Q2后,根据(3-18)式计算各导线点坐标

 

  xi=xA+Q1xi,-xA-Q2(yi,-yA)yi=yA+Q1yi,-yA+Q2(xi,-xA)(3-18)

 

  (5)根据(3-19)式计算闭合导线精度评定指数:固定边长相对闭合差k

 

  k=1SAB|fs|(3-19)

 

  式中fs=SAB,-SAB

 

  图3-3-8无连接角符合导线计算

 

  整合计算代码截图如下图3-3-9所示:

 

  图3-3-9

 

  本章小结

 

  本章控制测量开始入手进行分析,然后介绍了导线测量基本概念进而引出导线的坐标方位角和坐标推算,介绍了角度和坐标的推算方法。而后对导线近似平差的算法过程进行了详细的分析,为导线近似平差系统的设计和编写提供了必要的基础性知识。

 

  第四章软件设计要求及系统设计

 

  4.1软件设计的要求

 

  4.1.1软件设计总体要求

 

  本环节确定本系统的总体设计,本系统的实现分解成几个部分。首先一个受用户欢迎的软件必须有简洁友好的界面,因此根据用户需求绘制出程序界面草图,将用于监听和执行事件的控件分布其中。控件的具体功能实现在软件编码阶段实现。

 

  在实现软件的所有功能的同时,本系统对软件的要求如下:

 

  (1)科学性

 

  本软件是针对测绘工作导线平差计算,软件性质决定了它专业性较强。内部的算法必须遵循测绘工作导线平差基本理论,同时软件的界面设计必须考虑使用人群的使用场景和使用习惯。

 

  (2)标准化、规范化

 

  本系统的设计应遵循软件设计基本要求,各阶段划分明确,同时实现阶段应遵循代码的书写规范,便于后续的维护、修改和升级。软件测试阶段应用大量实际数据对软件进行测试,保证软件符合设计要求。

 

  (3)实用性和可操作性

 

  本系统的设计应考虑适用人群为测绘工作者,在设计系统时应考虑测绘工作者的使用场景和操作习惯,使设计的软件更具亲和性。

 

  (4)安全保密

 

  由于测绘数据需要保密的特殊性,因此设计软件时应考虑软件的数据不会被随意查看和修改,相应的用户只能操作自己的数据。

 

  4.1.2软件测试与维护

 

  软件测试是贯穿于软件开发始终的一个活动,主要指标是测试软件是否符合用户需求得到预期中的效果,由软件计划、单元测试、集成测试、系统测试、验收测试组成。程序维护是为了在交付使用之后找出存在的BUG。

 

  针对本系统而言,在软件计划方面,在系统总体架构确定后软件启动初期就开始进行规划、在项目进行的各个阶段都要进行相应的测试计划的编写。在单元测试方面,本系统按照功能模块分为五个单元,在完成每个单元的代码编写工作之后都应该进行详细的数据测试和异常测试。在集成测试方面,本系统在将五个功能模块集成在一起之后还需对功能模块进行详细的测试,以确保功能模块的工作不会受到其他模块的影响。在完成主要功能模块的整合之后还需要对整个系统进行详细的测试,观察全部的功能是否能正常实现,同时进行相应的异常数据输入测试。

 

  本系统主要测试的方向为在进行数据输入时,数据的排列顺序和数据的格式可能出现错误,从而导致程序错误,经过大量不同的操作顺序的测试和修改,本系统应该避免崩溃的出现。

 

  导线观测方向的输入

 

  结果查看

 

  数据计算

 

  具有一个连接角的符合导线计算

 

  具有两个连接角的符合导线计算

 

  闭合导线计算

 

  支导线计算

 

  不定向导线计算

 

  已知坐标方位角的输入

 

  数据手动录入

 

  新建项目

 

  导线近似平差系统

 

  已知坐标的数据

 

  查看本用户历史记录

 

  导入数据

 

  数据文件读取

 

  导线平差最终结果查看

 

  4.2软件流程功能及模块划分

 

  导线平差中间计算结果查看

 

  图4-1-1

 

  由图4-1-1可以看出,本系统的总体结构主要分为五个部分,即数据文件读取、数据的手动录入、数据计算、结果查看和图形绘制,在设计中也主要针对这几个模块进行设计。

 

  本系统应当实现的功能主要有:

 

  1、实现弧度到角度的互相转换。

 

  2、对各种导线的已知数据、观测数据的输入和导出。

 

  3、对各种导线测量数据进行平差计算,并将结果显示在可视化界面中的同时将数据写入到数据库中。

 

  4、对测量平差完的数据进行查看。

 

  5、对计算的导线坐标进行图形展示。

 

  4.3数据库设计

 

  数据库设计按照导线类型设计,每个类型的导线按原始数据和结果分别建立数据库,在每个数据库中用表名中用户名区分数据的不同来源。

 

  4.3.1支导线数据库设计

 

  1、支导线原始数据表(TraverseData),用来保存已知数据和观测数据,表结构如图4-3-1所示。

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50方向文本50初始角度文本50图4-3-1支导线原始数据表

 

  2、支导线结果表(ResultData),用来保存支导线的计算结果,表结构如图4-3-2所示。

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50图4-3-2支导线结果表

 

  4.3.2有一个连接角的附合导线数据库设计

 

  1、有一个连接角的附合导线原始数据表(OneAngleData),用来保存观测数据和导线的初始数据,具体表结构如图4-3-3

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50方向文本50初始角度文本50图4-3-3有一个连接角附合导线原始数据表

 

  2、有一个连接角的附合导线结果表(OneAngleDataResult),用来保存具有一个已知角的附合导线的计算结果,具体的表结构如图4-3-4所示。

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X改正数小数FloatY改正数小数FloatX坐标小数FloatY坐标小数Float图4-3-4有一个连接角的附合导线计算结果表

 

  4.3.3有两个连接角的附合导线数据库设计

 

  1、有两个连接角的附合导线原始数据表(TwoAngleData),用来保存观测数据和导线的初始数据,具体表结构如图4-3-5

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50方向文本50初始角度文本50图4-3-5有两个连接角附合导线原始数据表

 

  2、有两个连接角的附合导线结果表(TwoAngleDataResult),用来保存具有两个已知角的附合导线的计算结果,具体的表结构如图4-3-6所示。

 

  列名数据类型字段长度点号文本50距离文本50角度改正文本50坐标方位角文本50X改正数小数Y改正数小数FloatX坐标小数FloatY坐标小数Float图4-3-6有两个连接角附合导线计算结果表

 

  4.3.4闭合导线数据库设计

 

  1、闭合导线原始数据表(CloseData),用来保存观测数据和导线的初始数据,具体表结构如图4-3-7

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50方向文本50初始角度文本50图4-3-7闭合导线原始数据表

 

  2、闭合导线结果表(CloseDataResult),用来保存闭合导线的计算结果,具体的表结构如图4-3-8所示。

 

  列名数据类型字段长度点号文本50距离文本50角度改正文本50坐标方位角文本50X改正数小数FloatY改正数小数FloatX坐标小数FloatY坐标小数Float图4-3-8闭合导线计算结果表

 

  4.3.5不定向导线数据库设计

 

  1、不定向导线原始数据表(TWithOutAngleData),用来保存观测数据和导线的初始数据,具体表结构如图4-3-9

 

  列名数据类型字段长度点号文本50角度文本50距离文本50X坐标文本50Y坐标文本50方向文本50初始角度文本50图4.3.9不定向导线原始数据表

 

  2、不定向导线结果表(TWithOutAngleDataResult),用来保存不定向导线计算结果,具体的表结构如图4-3-8所示。

 

  列名数据类型字段长度点号文本50角度文本50距离文本50假定方位角文本50假定X坐标小数Float假定Y坐标小数FloatX坐标小数FloatY坐标小数Float图4-3-8

 

  本章小结

 

  软件总体设计包括软件结构设计和数据库结构设计等内容。本章对本系统的总体要求和相应的数据库进行了详细的设计,本测量平差程序通过对数据库的数据存取并进行相应的计算达到将输入的已知点、已知角、对应的观测数据转换为最终的导线坐标,并将结果显示在屏幕中,如果检查无误,将数据库中的数据以图形的形式展示在屏幕上。

 

  第五章导线近似平差系统软件的实现

 

  5.1软件界面设计

 

  软件的界面设计要充分考虑使用者使用的便利性,通过菜单、工具条和实时提示等技术,使软件的功能高度集成,操作不复杂,并且提供相对友好的用户界面。界面的主要设计要求是:

 

  (1)要与运行的操作系统的风格具有一定的协调性和一致性,并且能充分体现功能的直观性和便利性。

 

  (2)数据操作的统一和规范性。

 

  (3)各管理模块的不同管理功能操作不同的操作界面,使得各功能操作迅速并且相对独立。

 

  (4)在同一界面里面的控件排列,按照用户的交互功能不同,划分为不同的功能区域,例如用户数据的输入区域、导线图形的显示区域、输入数据的展示区域、输出数据的展示区域等,便于用户快速的掌握使用方法并进行期望的操作。

 

  (5)对于整个系统的功能和方法提供对应的操作帮助说明。

 

  5.1.1登录界面

 

  界面窗体及按钮介绍:

 

  如图5-1-1为导线近似平差系统的登录界面,在该页面上可以实现用户的登录,修改密码和用户注册三个操作。

 

  (1)用户信息输入框:该数据输入框在登录、修改密码、注册三个不同的选择下可以指导用户输入不同的信息,完成用户的输入、修改密码和注册。

 

  (2)登录按钮:在用户登录数据输入情况下,当用户输入对应的正确信息并选择需要操作的导线类型以后,便可登录系统,进行相应的数据操作以及过往历史记录查询。

 

  (3)修改密码按钮:在登录界面初始状态下点击该按钮,便可由用户登录信息输入转换为用户密码修改信息输入框,在修改状态下输入相应的数据,点击确定便可实现密码的修改。

 

  (4)用户注册按钮:在登录界面初始状态下点击该按钮,便可由用户登录信息输入转换为用户注册信息输入框,在注册状态下输入相对应的用户数据,点击确定便可实现新用户的注册。

 

  图5-1-1系统登录界面

 

  5.1.2系统主界面

 

  窗体界面及菜单按钮介绍

 

  如图5-1-2为导线近似平差系统主界面,在该页面下可以实现数据的手动输入,大量数据自动导入,结果显示,导线示意图展示等操作。

 

  (1)数据显示框:在数据输入时,若少量数据手动输入,每输入一条数据,该数据就会在显示框当中显示出来,大量数据导入时文本里面的所有数据都会被显示在该控件上;在进行平差计算以后,计算的结果会全部展示在该控件上,以便用户查阅。

 

  (2)用户数据输入框:考虑到有时候用户的数据量比较小,避免用户新建TXT文档的繁琐操作,便可采用直接输入的方式,只用按照窗体的提示输入相应的数据,便可轻松地执行平差操作。

 

  (3)中间计算结果显示框:平差计算的主要中间值会清晰的显示在这里,用户可以很轻松的获取相应的数据。

 

  (4)导线图形展示框:该控件用于将计算的导线坐标和原始已知坐标以图形的形式展示出来,方便用户判断测量是否规范合理,同时可以根据导线的形状检核测量数据是否与规划一致。

 

  (5)菜单栏:菜单栏包括文件菜单、平差计算菜单、导出报告菜单以及帮助菜单。文件菜单下可以实现项目的新建、数据的大量导入、过往平差记录的查询。平差计算菜单在数据输入无误之后可以实现导线的平差计算。导出报告菜单在平差计算完成以后可以实现将计算的结果导出到外部TXT文档,便于在用户后续上交结果的形成。帮助菜单提供了本系统的操作方法,在用户不知道怎么操作时可通过帮助菜单寻求答案。

 

  图5-1-2导线近似平差系统主界面

 

  5.2系统实现流程

 

  本系统的实现主要由系统的登录界面和导线计算主界面,在系统的登录界面需要用户输入自己的用户名和密码,并选择相应的需要操作的导线类型,在登录界面的所有操作完成并验证成功以后便可进入相应的计算界面。在计算界面首先需要新建项目名称,然后选择手动输入数据还是自动导入数据,如果手动输入则应先输入已知数据,然后逐条添加观测数据;如果选择自动导入则选择需要导入的txt文本。然后是系统的内部对角度、坐标、以及改正数进行推算,得出最终的结果。点击导出报告按钮即可实现平差数据的导出。具体的实现流程如下流程图5-2-1所示:

 

  用户登录

 

  选择导线类型

 

  新建项目

 

  数据自动导入

 

  数据手动输入

 

  角度推算

 

  是

 

  判断角度是否需要平差

 

  角度平差

 

  否

 

  重新推算角度

 

  得到坐标方位角

 

  导出数据

 

  作图

 

  提取中间计算结果

 

  否

 

  重新推算坐标

 

  得出各点平差后坐标

 

  坐标平差计算

 

  是

 

  判断坐标是否需要平差

 

  坐标推算

 

  图5-2-1

 

  5.3导线功能模块程序实现

 

  5.3.1数据采集模块的设计

 

  在导线近似平差系统中,数据的采集模块主要作用是起到数据采集的作用。意味着该系统运行过程中的所有使用的基础数据都是在这一模块中采集到的。在实际的测量活动中,数据采集模块本身并不会具备测量作用,其仅仅是将测量工具所发回的信息数据收集起来并返回软件操作的客户端,再由对应的客户端对采集的数据进行处理。因此在该模块的设计中,最主要的是设计出采集数据的算法。本系统在数据的采集上采用手动和自动两种方式,将数据采集后立即写入对应的数据库。在需要对数据进行处理的时候,由对应的处理模块对该数据进行提取。具体的工作流程如图5-3-1-1所示:

 

  开始进行观测任务

 

  确定测量任务类型

 

  客户端调用数据采集命令

 

  是否自动导入数据

 

  自动导入数据

 

  手动输入数据

 

  数据存入数据库

 

  处理模块进行调用

 

  图5-3-1-1数据采集模块

 

  5.3.2数据处理模块的设计

 

  数据处理模块在系统中起到的主要作用是将数据采集模块采集的数据从数据库提取出来,然后按照用户选择的导线类型对提取的数据进行计算,并将计算的结果保存到事先建立的数据库中。在后续需要数据展示的时候由结果展示模块提取该数据进行多样的展示。该模块具体的实现步骤如下图5-3-2-1所示:

 

  数据提取

 

  选择导线类型

 

  采用对应的数学模型计算

 

  整理计算结果

 

  保存结果到数据库

 

  显示模块进行调用

 

  图5-3-2-1数据处理模块

 

  5.3.3结果展示模块的设计

 

  该模块的作用是将计算好的数据从数据库中提取出来,并将结果分为三部分,第一部分是展示在数据框里面的数据方式的展示,第二部分是在图形控件中展示的图形方式的展示,第三部分是显示在可视化控件上的中间计算结果,以数字的形式展示出来。具体的实现步骤如下图5-3-3-1所示:

 

  图形控件显示

 

  可视化控件显示

 

  数据展示框显示

 

  数据提取

 

  图5-3-3-1结果展示模块

 

  本章小结

 

  本章从导线近似平差系统的界面开始详细阐述整个系统实现的流程。在系统的具体实现上按功能的不同分为数据采集、数据处理、数据展示三大板块。每个板块都以数据库数据作为连接搭建起整个系统。再加上系统的导出、帮助等小模块实现整个系统的完整功能。

 

  第六章数据测试

 

  6.1导线测量数据测试

 

  在导线近似平差系统构建完成后,利用现有计算正确的数据进行数据测试,验证搭建的系统是否可以按照预定的设计思路进行实现,并验证得出的结论是否正确。在数据测试阶段,采用以下的步骤对各模块进行测试:

 

  (1)新建工程项目。

 

  (2)导入项目数据。

 

  (3)平差计算。

 

  (4)导出平差报告。

 

  (5)查看帮助资料。

 

  6.1.1支导线样本数据测试

 

  本例采用测量学教材的支导线数据,在一个工程项目中已知起始点坐标A(513.26,258.17),已知定向边方位角215.36.45,导线观测方向为左角,具体的中间观测数据如下表6-1-1-1中数据所示:

 

  表6-1-1-1支导线原始数据

 

  教材计算结果表如下表6-1-1-2所示:

 

  导线近似平差系统计算结果如下表6-1-1-3所示:

 

  表6-1-1-3近似平差系统支导线计算结果表

 

  平差报告导出如图6-1-1-4所示:

 

  图6-1-1-4数据导出

 

  帮助界面显示如下图6-1-1-5所示:

 

  图6-1-1-5帮助界面

 

  本例将教材原始观测数据导入到系统中进行计算,通过表6-1-1-2和表6-1-1-3的比较,可以得出结论:导线近似平差系统计算的结果和教材算例的结果完全一致,说明本系统支导线模块在数据输入、数据处理、数据展示等模块设计正确。将平差数据导出为外部文件,格式符合标准,数据正确,帮助界面显示正常,说明该模块的运行结果符合最初设计要求。

 

  6.1.2具有一个连接角附合导线数据测试

 

  本测试算例数据采用测量教材中具有一个连接角附合导线初始数据进行计算,在一个工程项目中已知导线起始点坐标A(513.26,258.17),导线终点B(510.99,923.28),导线起始坐标方位角为215°36′45″,导线观测方向为左角,导线点为1,2,3三个点,具体的观测数据如下表6-1-2-1所示:

 

  表6-1-2-1具有一个已知角附合导线原始数据表

 

  手工计算该导线结果如下表6-1-2-2所示:

 

  采用导线近似平差系统对原始数据进行计算的结果如下表6-1-2-3所示:

 

  表6-1-2-3具有一个已知角附合导线计算结果表

 

  平差结果导出如图6-1-2-4所示:

 

  图6-1-2-4导出平差结果

 

  帮助界面如下图6-1-2-5所示:

 

  图6-1-2-5帮助界面

 

  本例子对教材的原始数据进行了多次的手工近似平差计算,并利用导线近似平差系统进行多次计算,得到表6-1-2-2和表6-1-2-3的结果,通过对两个结果的比对,可以得出结论,本系统计算的结果和教材案例的结果完全吻合,说明本系统内部的算法设计符合实际情况。将计算结果导出为外部文件后格式标准,结

 

  果正确,帮助界面内容完整,说明该模块的设计符合实际设计要求。

 

  6.1.3具有两个连接角附合导线数据测试

 

  本测试算例数据采用测量教材中具有两个连接角附合导线初始数据进行计算,在一个工程项目中已知导线起始点坐标A(513.26,258.17),导线终点B(510.99,923.28),导线起始坐标方位角为215°36′45″,终止坐标方位角为41°29′20″导线观测方向为左角,导线点为1,2,3三个点,具体的观测数据如下表6-1-3-1所示:

 

  表6-1-3-1具有两个连接角附合导线原始数据

 

  手工计算该导线结果如下表6-1-3-2所示:

 

  采用导线近似平差系统对原始数据进行计算的结果如下表6-1-3-3所示:

 

  表6-1-3-3具有两个已知角附合导线计算结果表

 

  平差结果导出如图6-1-2-4所示:

 

  图6-1-2-4导出平差结果

 

  帮助界面如下图6-1-2-5所示:

 

  图6-1-2-5帮助界面

 

  本例的原始数据来源于教材,利用本系统进行计算后结果如表6-1-3-3所示,表6-1-3-2为教材上的标准手工计算结果,根据两个结果的对比可以得出结论。本系统计算的结果与教材的标准计算结果完全吻合,说明本系统的内部算法设计合理;如图6-1-2-4所示导出结果正确,格式简单明了,符合工程项目数据摘抄的需要;帮助界面内容设置合理且完整,逻辑清晰,从系统设计的各方面都说明该模块的设计符合设计要求。

 

  6.1.4不定向导线数据测试

 

  本测试算例数据采用测量教材中不定向导线初始数据进行计算,在一个工程项目中已知导线起始点坐标A(5264.106,5004.762),导线终点B(5168.430,6165.205),导线起始坐标方位角为未知,则设置为87°27′10″,终止坐标方位角未知,导线观测方向为左角,导线点为1,2,3,4,5五个点,具体的观测数据如下表6-1-4-1所示:

 

  表6-1-4-1不定向导线原始观测数据

 

  教材中对该原始数据的计算结果如下图6-1-4-2所示:

 

  采用导线近似平差系统的不定向导线模块对原始数据进行计算,结果如下表6-1-4-3所示:

 

  表6-1-4-3不定向导线模块计算结果表

 

  平差结果导出情况如下图6-1-4-4所示

 

  图6-1-4-4不定向导线导出平差结果

 

  帮助界面如下图6-1-4-5所示:

 

  图6-1-4-5帮助界面

 

  本测试算例的原始数据来源于教材,在利用导线近似平差系统进行计算以后,结果如表6-1-4-3所示,教材的标准手工计算结果如表6-1-4-2所示。根据两个表结果的对比可以得出以下结论:导线近似平差系统的不定向导线模块计算结果与教材的标准计算结果一致。这充分说明本系统的不定向导线计算模块设计符合实际计算情况,并具有快速计算的优势。导线的平差结果导出如图6-1-4-4所示:平差导出的结果内容充足,简洁明了,能满足工程项目对数据导出的需求,同时格式布局合理,一目了然增强了数据的易读性。帮助界面内容齐全,逻辑清晰。从以上的分析可以得出导线近似平差系统的不定向导线模块各部分功能设计都符合要求。

 

  6.1.5闭合导线数据测试

 

  本测试算例数据采用测量教材中闭合导线初始数据进行计算,在一个工程项目中已知导线起始点和终止点坐标1(500,500),导线起始坐标方位角为131°17′00″,导线观测方向为左角,导线点为2,3,4三个点,具体的观测数据如下表6-1-5-1所示:

 

  表6-1-5-1闭合导线原始数据表

 

  教材中对该原始数据的计算结果如下图6-1-5-2所示

 

  利用导线近似平差系统对该原始数据进行计算的结果如下图6-1-5-3所示:

 

  图6-1-5-3闭合导线模块计算结果表

 

  平差结果导出情况如下图6-1-5-4所示

 

  帮助界面如下图6-1-5-5所示:

 

  图6-1-5-5帮助界面

 

  本测试案例的原始数据来源于测量学教材,在利用导线近似平差系统的闭合导线模块对原始数据进行计算处理以后结果如图6-1-5-3所示,教材标准手工计算结果如图6-1-5-2所示,根据对两个表的对比可知,利用导线近似平差系统的闭合导线模块对原始数据的计算与教材标准计算结果一致。则可以得出结论,导线近似平差系统的闭合导线计算模块设计符合实际计算流程。导线平差结果导出如图6-1-5-4所示:平差导出的结果内容充足,简洁明了,能满足工程项目对数据导出的需求,同时格式布局合理,一目了然增强了数据的易读性。帮助界面内容齐全,逻辑清晰。从以上的分析可以得出导线近似平差系统的闭合导线模块各部分功能设计都符合要求。

 

  本章小结

 

  本章是对导线近似平差系统的各个计算模块进行具体的数据测试。测试的原始数据都是来源于教材,用来进行检核的数据也是来源于教材,因此原始数据的来源可靠,并且具有一定的工程应用价值,数据的计算结果也可靠。因此本系统的计算结果与教材算例的结果一致,更能说明系统的计算模块设计符合实际计算流程,并且具有快速计算和不会因为粗心导致出错的优势。

 

  总结和展望

 

  本论文以导线近似平差理论为依托,探讨了控制测量以及导线在控制测量方面的应用,详细阐述了导线的概念以及导线的近似平差模型过程。并利用C#程序语言实现了导线测量的坐标及平差计算和绘图,具体该软件实现了以下功能:

 

  (1)总结了导线近似平差模型的算法,并编写了近似平差以及精度评定的c#语言算法。

 

  (2)算法上在计算过程中对小数位数采取保留多位的方式提高计算精度。

 

  (3)实现弧度与角度的互相转化问题。

 

  (4)实现sql server数据库的搭建,并对数据进行相应的存储和操作。

 

  (5)实现数据的手动输入和自动导入

 

  (6)对多种导线进行平差计算,并在将结果显示在屏幕上的同时将数据保存进数据库。

 

  (7)实现了对导线计算结果的Windows GDI+图形显示

 

  (8)实现平差报告导出为外部文件。

 

  (9)实现不同用户登录功能以及不同用户查询相应历史计算功能。

 

  (10)实现导线平差计算中间结果显示功能。

 

  测量平差软件从计算机开始发展就已经成为数据处理的最佳方式,经过长时间的发展已经达到了一个很高的水平,但鉴于作者的时间和水平有限,本近似平差系统还存在许多的不足,还需要进一步的完善和研究,已经实现的模块还需要不断地改进和数据检核,有待于进一步改进的地方:

 

  (1)对导入数据后对数据的操作亲和性不足,可以加入在数据框进行随机增加和修改功能。

 

  (2)在计算水平坐标的同时可以加入高程进行水准计算。

 

  (3)在程序在分配平差后残差的过程中,由于计算机对角度的计算采用的是保留多位小数的方式而不是度分秒的计算方式,因此在最后的残差分配上尚有缺陷。

 

  (4)在导线的图形绘制上可以直接导入CAD的模块进行展点和相应的图形绘制。

栏目分类