解析空三航带法区域网平差程序设计
- 格式:docx
- 大小:16.98 KB
- 文档页数:6
第六章解析空中三角测量解析空中三角测量:在一条航带几十个像对覆盖的区域或由几条航带几百个像对的区域内,仅仅由外业实测几个少量的控制点,按一定的数学模型,平差解算出(加密)摄影测量作业过程中所需要的全部控制点(称待测点或加密点)及每张像片的外方位元素,这就是空中三角测量与区域网平差的基本思想,称之为解析空中三角测量或解析空三加密。
解析空中三角测量通常采用的平差模型可分为航带法,独立模型法和光束法;按加密区域分为单航带法和区域网法(区域网法按平差单元分为:航带法区域网平差,独立模型法区域网平差,光束法区域网平差)像点坐标的量测:解析空中三角测量主要是通过测量相应的控制点,加密点以及相应连接点的像点坐标,以解析或数字形式建立立体模型并进行严格的数值解算,因此像点坐标的量测至关重要。
像点坐标的系统误差:摄影物镜的畸变差,大气折光,地球曲率,底片变形等因素底片变形改正,摄影机物镜畸变差改正(对称畸变和非对称畸变),地球曲率改正。
航带网法空中三角测量研究对象是一条航带的模型。
在一条航带内,①利用立体像对按连续法建立单个模型?把单个模型连接成航带模型,构成航带自由网?把航带模型视为一个单元模型进行航带网的绝对定向。
航带法空中三角测量建网过程:1建立航带模型(像点坐标量测及改正系统误差;连续法相对定向建立单个了立体模型;模型连接建立统一的航带自由网)2航带模型的绝对定向3航带模型的非线性改正航带模型的非线性改正:通常采用多项式曲面来逼近复杂的变形曲面,利用提供的控制点的已知值与加密值之间的不符值,通过最小二乘拟合,是控制点处拟合曲面上的变形值与实际相差最小。
采用的多项式一种是对三维坐标分列的多项式,另一种是平面坐标采用正形变换多项式,而高程则采用一般多项式。
航带网法区域网平差步骤:1按单航带模型法分别建立航带模型,以取得各航带模型点在本航带统一的辅助坐标系中的坐标值2各航带模型的绝对定向3计算重心坐标及重心化坐标4根据模型中控制点的加密坐标应与外业实测坐标相等及相邻航带间公共连接点的坐标应相等为条件,列出误差方程式,并用最小二乘准则平差计算,整体解求各航带的非线性改正系数5用平差计算得出的多项式系数分别计算各航带点改正后的坐标值。
解析空中三角测量方法1、概念解析空中三角测量是指航空摄影测量中利用像片内在的几何特性,在室内加密控制点的方法。
即利用连续摄取的具有一定重叠的航摄像片,依据少量野外控制点,以摄影测量方法建立同实地相应的航线模型或区域网模型(光学的或数字的),从而获取加密点的平面坐标和高程,主要用于测地形图。
2、介绍解析空中三角测量是指用计算的方法,根据像片上量测的像点坐标和少量地面控制点,采用较严密的数学公式,按最小二乘法原理,用电子计算机解算待定点的平面坐标和高程。
也称电算加密。
20世纪40年代,随着电子计算机的发明和应用,解析空中三角测量首先在英国的军事测量局投入应用。
20世纪60年代以来,由于电子计算机技术和计算数学的发展,解析空中三角测量取得了长足的进步,形成了一套比较完善的测算方法。
由于精度高,效果好,解析空中三角测量被认为是测地定位的一种精密方法。
解析空中三角测量目前常用的方法是区域网平差。
区域网平差是指在由多条航线连接成的区域内进行控制点加密,并对加密点的平面坐标和高程进行的整体平差。
3、优点(1)不触及被量测目标即可测定其位置和几何形状;(2)可快速地在大范围内同时进行点位测定,以节省野外测量工作量;(3)不受通视条件限制;(4)区域内部精度均匀,且不受区域大小限制。
4、分类按平差模型:航带法、独立模型法、光束法。
按加密区域:单航带法、区域网法。
区域网法:航带法区域网平差、独立模型法区域网平差、光束法区域网平差。
5、新技术(1)GPS辅助空中三角测量GPS辅助空中三角测量是利用安装于飞机上与航摄仪相连接的和设在地面一个或多个基准站上的至少两台GPS信号接收机同步而连续地观测GPS卫星信号、同时获取航空摄影瞬间航摄仪快门开启脉冲,经过GPS载波相位测量差分定位技术的离线数据后处理获取航摄仪曝光时刻摄站的三维坐标,然后将其视为附加观测值引入摄影测量区域网平差中,以取代地面控制,经采用统一的数学模型和算法来整体确定目标点位和像片方位元素,并对其质量进行评定的理论、技术和方法。
浅谈空中三角测量常见问题探讨和解决方法本文概要介绍了自动空中三角测量软件VirtuoZo AAT作业原理。
并根据作者多年实践经验比较详细地介绍了自动空中三角测量中区域网平差解算时遇到的问题及解决方法。
标签空中三角测量;区域网平差;作业原理随着计算机技术及摄影测量理论的发展,摄影测量已从传统的模拟、解析摄影测量迈入全数字摄影测量时代。
全数字摄影测量系统中空中三角测量成为自动化程度最高的一道工序。
自动空三在理想状态下可以自动内定向、自动相对定向、自动模型连接、半自动区域网平差解算,最后输出加密点坐标。
本文将结合VirtuoZo AAT阐述在空三加密作业过程中区域网平差解算时经常出现的问题及解决办法。
1 自动空中三角测量所谓自动空中三角测量(俗称空三加密)就是利用模式识别技术和多影像匹配等方法代替人工在影像上自动选点与转点,同时自动获取像点坐标,提供给区域网平差程序解算,以确定加密点在选定的坐标系中的空间位置和影像的定向参数。
自动空中三角测量的特点是:①、自动化程度高,作业速度快,作业效率高。
②、高效可靠的剔除粗差。
③、加密精度高。
④、可以自动处理包含交叉航线和分断航线的复杂测区。
2 自动空中三角测量作业原理2.1 建立区域网首先需将整个测区的光学影像(航摄影像)逐一扫描成数字影像(数码影像除外),然后输入航摄仪检定数据,建立测区文件、摄影机信息文件、地面控制点坐标文件和影像列表文件。
2.2 自动内定向自动内定向是通过对影像中框标点的自动识别与定位来建立数字影像中的各像元行、列数与其像平面坐标之间的对应关系。
通过这一步基本上消除了像片因扫描、压平等因素导致的变形。
2.3 自动相对定向自动相对定向是用特征点提取算子从相邻两幅影像的重叠范围内选取均匀分布的明显特征点,并对每一特征点进行局部多点松弛法影像匹配,得到其在另一幅影像中的同名点。
2.4 自动模型连接模型连接是对每幅影像中所选取的明显特征点,在所有与其重叠的影像中,利用核线(共面)条件约束的局部多点松弛法影像匹配算法进行自动转点,并对每一对点进行反向匹配,以检查并排除其匹配出的同名点中可能存在的粗差。
全数字空三大型区域网合网平差技术与实践
王月莉
【期刊名称】《测绘标准化》
【年(卷),期】2006(022)001
【摘要】目前全数字空中三角测量常采用单网加密与网间接边的生产模式.针对某项目的具体要求,即要求整个测区作为一个区域网进行平差计算,提出分网采集像方坐标与合网平差计算的生产模式,并对合网平差中出现的问题进行了分析,同时给出了解决的方法,积累了这方面的经验.实践证明效果很好.
【总页数】4页(P28-30,33)
【作者】王月莉
【作者单位】国家测绘局第一航测遥感院,西安,710054
【正文语种】中文
【中图分类】P2
【相关文献】
1.某大型水电工程控制网中实施三维网平差的实践 [J], 王渊;马如坤
2.长航线区域网GPS辅助空三生产大比例尺地形图的有关问题探讨 [J], 朱陈明;许晖
3.三网合一三级办网打造垂直性萧山网——做大做强区域新闻网的实践与思考[J], 金烽;
4.解析空三航带法区域网平差程序设计 [J], 张岩;朱大明;申辽;于佳慧;宰春旭;刘致
远
5.最小二乘配置法在航测区域网平差和三角网坐标转换中的应用 [J], 唐淑贤因版权原因,仅展示原文概要,查看原文内容请购买。
解析空三航带法区域网平差程序设计随着新一代GPS系统在各个方面的高速发展,摄影测量技术已经被运用于国土资源监测、气象监测和天体科学等多个领域之中。
摄影测量技术也被逐渐运用到测绘科学中,丰富测绘学科测量技术手段的同时,摄影测量促进测量学的发展。
从摄影测量应用到生产的各个环节,人们对摄影测量的精度要求从未停止过,工程项目对摄影测量的测量精度也提出更高的要求。
本文通过摄影测量的解析空中三角测量方法,在整个目标范围内,将航测线路的模型点作为摄影测量辅助位置观测值,在一个区域范围内,利用多条航带构建一个模型网,再进行整体平差计算出区域网内各航带位置的改正系数,从而解算出航带中各个加密点的三维地表位置数据。
以这种数学模型和平差方法為基础,研究相应的算法,编写出相应的程序进行测试,通过实例计算并对最终结果进行精度评定。
1 Visual Studio简介1.1 什么是Visual StudioC# 编程语言作为美国Microsoft Corporation为Visual Studio (以下简称VS)开发环境下推出的一种简洁、类型安全的面向对象的计算机编程语言,软件程序开发的相关工作人员可以通过它编写在.NET Framework上运行的各种安全、可靠的应用程序。
1.2 C#所具有的特点C#具有以下突出特点:(1)C#的语法结构简单明了。
其最大的特点就是不允许对计算机系统的内存进行控制,去掉了复杂的指针操作。
(2)彻底的面向对象设计。
C#编程语言拥有面向对象的计算机语言的全部特征:封装、继承和多态。
(3)与Web紧密结合。
C#编程语言支持绝大多数的Web标准,例如HTML、XML、SOAP等语言。
(4)强大的安全机制。
能够自动处理在程序设计中常见的问题,较为高级的垃圾回收机制让普通编码基本忽略内存释放问题。
(5)兼容性好。
由于C#编程语言应用着.NET的编程语言规范设计(CLS),因此可以与其他的编程语言进行开发的组件相互兼容。
(6)灵活的版本處理技术。
由于C#作为一门开发语言本身就带有了针对版本管理系统,因此程序员能够更加容易地开发程序和更好的维护程序的后期使用情况。
(7)完善的错误、异常处理机制。
C#提供系统多线程控制,可能是所有语言中多线程和异步变成最方便的。
(8)易有经验的程序员学习。
C#能够适应C或者C++语言设计的函数,所以不会丢失C或者C++本身带有的作用。
由于C#和它们之间的继承的关系,C#对于C或者C++就功能方面很类似,精通相关语言的程序工作人员能够很方便的转向C#。
2 解析摄影测量区域网空中三角测量航带法空三测量是解析空三测量加密的三种方法之一,该方法的主要研究对象是单条航空摄影航带所构建的模型。
首先,将单个独立模型经由模型连接的方法连成一整个航带模型,每一条航带模型都是有很多个单个模型组合成,而每个独立模型由许多个立体像对构成,最后获得构成航带自由网的模型,将整个航带模型作为单个模型进行航带自由网进行绝对定向。
由于每个单个模型中的许多立体像对中都存在着误差,积累下来的误差会随着立体像对的组合不断的传递到下一个层次中,由立体像对积累到单个独立模型,再由单个独立模型整合到自由网,在这过程中产生的误差甚至会使整个航带自由网的结果发生巨大的扭曲变形。
所以在航带模型经过绝对定向之后,针对模型的线性改正将会是重中之重,这是解算出加密点的地面摄影测量坐标必不可少的步骤。
3 航带法空中三角测量区域网平差程序设计3.1 技术路线3.2 程序的界面设计界面是表现软件好坏最直观的的形式,界面的好与不好直接表达了使用者对软件的感受。
高质量的界面可以给使用者带来轻松快乐的想法,反之对于低水平的设计,会让使用者在直觉上产生反感,再有效的功能都会在使用者的担心和放弃中流逝。
对于本次航带法区域网平差程序的设计,我将做一个能够按步骤显示计算进度流程的设计,运用多个C#的DatagridView控件,一步一步的表示出计算的步骤,在计算的过程中也加入了许多MessageBox消息弹出窗口的提示。
设计的思想是将两条航带的数据经过相对定向计算,模型拼接已经绝对定向的解算后,寻找两条航带的连接点,并用Excel表格进行数据的保存,然后选择特定的控制点和经过绝对定向解算之后的模型点,作为一条航带的数据,分别对两条航带和连接点进行数据的导入。
对于存储航带数据的Excel表格将设置为sheet1存储控制点的坐标数据,sheet2将存储与控制点对应的模型点的坐标数据,而对于存储连接点数据的Excel表格将设置为sheet1存储第一条下连接点坐标数据,sheet2存储第二条航带上连接点坐标,然后根据第三章所建立的数学模型设计的相关代码来计算这个航带网所需的非线性改正数,然后每一步都将根据所需的要求使用DatagridView来显示解算的结果,最终求出这两条航带的改正系数,如图2所示。
3.3 数据的导入和保存以对程序中第一条航带的数据导入、导出数据作为例子表示:(1)运用IO流的方式打开处理好的Excel表格文件,并将表格数据导入new_openfile中:OpenFileDialog new_openfile = new OpenFileDialog();new_openfile.Filter = “(EXCEL)*.xls|*.xls";(2)判断表格的数据是否为空new_openfile.ShowDialog()== DialogResult.OK(3)若导入的数据不为空,则将对Excel表格的文件的位置进行获取并连接到Excel文件的数据库中,建立ss作为读取表格中sheet的数据,sc作为读取文件位置的数据:string ss = null;string cs = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + new_openfile.FileName + ";Excel 8.0;HDR=Yes;IMEX=1";OleDbConnection CNN = new OleDbConnection(cs);CNN.Open();(4)历遍Excel文件的Sheet,并显示每个Sheet名:DataTable ttable = CNN.GetSchema("Tables");foreach (DataRow row in ttable.Rows)if (row["Table_Type"].ToString()== "TABLE")ss = "select * from [sheet1$]";OleDbCommand CMD = new OleDbCommand(ss,CNN);OleDbDataReader RAD = CMD.ExecuteReader();DataTable tab = new DataTable();(5)建立一个名为row的数组,并将数据导入for (int i = 0; i RAD.FieldCount; i++)tab.Columns.Add(RAD.GetName(i),RAD.GetField¬Type (i));DataRow row1;while (RAD.Read()){row1 = tab.NewRow();for (int j = 0; j tab.Columns.Count; j++){row1[j] = RAD.GetValue(j);}tab.Rows.Add(row1);}(6)之后将读取到的数据导入dataGridView 中,最后将数据值读入相对于的数组中:dataGridView1.DataSource = tab;kzddata1 = new double[dataGridView1.RowCount - 1,dataGridView1.ColumnCount];for (int i = 0; i dataGridView1.RowCount - 1; i++){for (int j = 0; j dataGridView1.ColumnCount; j++){kzddata1[i,j] = Convert.ToDouble(dataGridView1 [j,i].Value); }}(7)导出数据的将以文本文档的格式表现联立txt文档文件,并对其进行保存的操作:SaveFileDialog new_save = new SaveFileDialog(); //需要建立文件的写入流,然后输入正确的内容即可new_save.Filter = "(文本文档)*.txt|*.txt";if(new_save.ShowDialog()== DialogResult.OK){string fname = new_save.FileName;//建立IO流与文件的联系FileStream f1 = new FileStream(fname,FileMode. Create);StreamWriter f11 = new StreamWriter(f1);//输入相关的内容f11.Flush();//流清空f11.Close();//连接关闭f1.Close();//流关闭}本程序的作业流程是将像片数据经过航带空三测量计算后得出的模型点坐标进行整理和分析,对上下两条航带取所需要模型点和两条航带的连接点整理。
按固定的格式保存至Except文件中,將整理好的数据导入到相对应的数组中,对导入的数组数据处理,再对两条航带进行分析和利用数学模型建立相对应的代码,利用航带的上下连接点计算两条航带的非线性更正数,通过非线性改正数对各个航带的独立存在模型点进行非线性改正获取最终成果,最后将结果保存至txt文档中。
4 实例计算分析4.1 程序调试结果分析经过解析空三绝对定向过后得到的模型点坐标和控制点坐标,以及经过航带网设计后的上下航带的连接点数据的整理,以第一条航带建立Excel表格为基础,选择sheet1保存控制点数据,sheet2保存模型点的数据,在本次存储航带连接点过程中,以sheet1存储第一条航带下连接点数据,sheet2存储第二条航带上连接点数据。
由此,将三个表格数据导入到程序中进行计算,最终计算航带的模型点坐标经过非线性改正后的结果。
以下为程序运行的结果,如图3所示。
4.2 精度评定以下为经过计算过后的非线性改正数:(1)第一条航带的非线性改正数,如表1所示。
(2)第二条航带的非线性改正数,如表2所示。
5 结论本文设计了解析空三航带法区域网平差程序,通过航带法空中三角测量的优点来建立航带法空中三角测量区域网平差模型。