摄影测量实验报告(空间后方交会—前方交会)
摄影测量解析基础(后方交会前方交会)
06
结果输出
输出目标点的三维坐标数据。
前方交会方法的优缺点分析
优点 不需要地面控制点,可以在未知环境中进行测量。
可以快速获取大范围的三维空间信息。
前方交会方法的优缺点分析
• 适用于动态目标和快速测量场景。
前方交会方法的优缺点分析
01
缺点
02
03
04
对光照条件敏感,光照变化会 影响测量精度。
对摄影图像的质量要求较高, 需要清晰、分辨率高的图像。
随着科技的不断发展,摄影测量技术也在不断进步和完善,其在各个领域的应用 也日益广泛和深入。
摄影测量的历史与发展
01
摄影测量起源于19世纪中叶,当时人 们开始使用胶片相机进行地形测量。 随着技术的发展,数字相机逐渐取代 了胶片相机,使得摄影测量更加便捷 和高效。
02
近年来,随着计算机技术和人工智能 的飞速发展,摄影测量技术也取得了 重大突破。例如,无人机技术的兴起 使得摄影测量更加灵活、快速和安全 ;计算机视觉和深度学习技术的应用 则提高了影像解析的自动化和智能化 水平。
在复杂地形和遮挡严重的环境 中,前方交会方法可能会失效
。
05 实际应用案例
Hale Waihona Puke 后方交会方法应用案例总结词
通过已知的摄影站和地面控制点,解算出摄影中心和地面点的空间坐标。
详细描述
后方交会方法常用于地图更新、地籍测量和城市三维建模等领域。例如,在城市三维建模中,利用后方交会方法 可以快速准确地获取建筑物表面的空间坐标,为构建真实感强的城市三维模型提供数据支持。
图像获取
获取至少两幅不同角度的摄影图像。
01
02
像片处理
对图像进行预处理,包括图像校正、去噪等 操作。
摄影测量实习总结报告5篇
摄影测量实习总结报告5篇摄影测量实习总结报告(1)一、实习目的摄影测量与遥感实习是摄影测量学和遥感技术相应用的综合实习课。
本课程的任务是通过实习掌握摄影测量的原理、影像处理方法、成图方法,掌握遥感的信息获取、图像处理、分类判读及制图的方法和作业程序。
从而更系统地掌握摄影测量与遥感技术。
通过实习使我们更熟练地掌握摄影测量及遥感的原理,信息获取的途径,数字处理系统和应用处理方法。
进一步巩固和深化理论知识,理论与实践相结合。
培育我们的应用能力和创新能力、工作仔细、实事求是、吃苦耐劳、团结协作的精神,为以后从事生产实践工作打下坚实的理论与实践相结合的综合素质基础。
二、实习内容1) 遥感影像图制作;2) 相片控制测量;3) 航空摄影测量相对立体观察与两侧;4) 航片调绘、遥感图像属性调查;5) 相片及卫片的判读及调绘6) 调绘片的内页整饰7) 撰写实习报告,提交成果。
三、实习设备与资料1) 摄影测量与遥感书本上的理论知识。
2) 通过电脑查找有关这门学科的实践应用及其它相关知识等。
3) 电脑上相关的摄影测量的图片信息资料及判读方法。
4) 现有的实习报告模板及大学城空间里的相关教学资料。
四、实习时间与地点时间:__年6月19日——__年6月26日。
地点:学校图书馆、教室、寝室及搜集摄影测量与遥感这门学科的资料等相关地方。
五、实习过程5.1摄影测量与遥感学的进展情景摄影测量与遥感是从摄影影像和其他非接触传感器系统获取所讨论物体,主要是地球及其环境的可靠信息,并对其进行记录、量测、分析与应用表达的科学和技术。
随着摄影测量进展到数字摄影测量阶段及多传感器、多分辨率、多光谱、多时段遥感影像与空间科学、电子科学、地球科学、计算机科学以及其他边缘学科的交叉渗透、相互融合,摄影测量与遥感已逐渐进展成为一门新型的地球空间信息科学。
由于它的科学性、技术性、应用性、服务性以及所涉及的广泛科学技术领域,其应用已深化到经济建设、社会进展、国家安全和人民生活等各个方面。
摄影测量学空间后方交会实验报告
摄影测量学实验报告实验一、单像空间后方交会学院:建测学院班级:测绘082姓名:肖澎学号: 15一.实验目的1.深入了解单像空间后方交会的计算过程;2.加强空间后方交会基本公式和误差方程式,法线方程式的记忆;3.通过上机调试程序加强动手能力的培养。
二.实验原理以单幅影像为基础,从该影像所覆盖地面范围内若干控制点和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的相片外方位元素。
三.实验内容1.程序图框图2.实验数据(1)已知航摄仪内方位元素f=153.24mm,Xo=Yo=0。
限差0.1秒(2)已知4对点的影像坐标和地面坐标:3.实验程序using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{class Program{static void Main(){//输入比例尺,主距,参与平参点的个数Console.WriteLine("请输入比例尺分母m:\r");string m1 = Console.ReadLine();double m = (double)Convert.ToSingle(m1);Console.WriteLine("请输入主距f:\r");string f1 = Console.ReadLine();double f = (double)Convert.ToSingle(f1);Console.WriteLine("请输入参与平差控制点的个数n:\r");string n1 = Console.ReadLine();int n = (int)Convert.ToSingle(n1);//像点坐标的输入代码double[] arr1 = new double[2 * n];//1.像点x坐标的输入for (int i = 0; i < n; i++){Console.WriteLine("请输入已进行系统误差改正的像点坐标的x{0}值:\r", i+1);string u = Console.ReadLine();for (int j = 0; j < n; j += 2){arr1[j] = (double)Convert.ToSingle(u);}}//2.像点y坐标的输入for (int i = 0; i < n; i++){Console.WriteLine("请输入已进行系统误差改正的像点坐标的y{0}值:\r", i+1);string v = Console.ReadLine();for (int j = 1; j < n; j += 2){arr1[j] = (double)Convert.ToSingle(v);}}//控制点的坐标输入代码double[,] arr2 = new double[n, 3];//1.控制点X坐标的输入for (int j = 0; j < n; j++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的X{0}值:\r", j+1);string u = Console.ReadLine();arr2[j , 0] = (double)Convert.ToSingle(u);}//2.控制点Y坐标的输入for (int k = 0; k < n; k++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的Y{0}值:\r", k+1);string v = Console.ReadLine();arr2[k , 1] = (double)Convert.ToSingle(v);}//3.控制点Z坐标的输入for (int p =0; p < n; p++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的Z{0}值:\r", p+1);string w = Console.ReadLine();arr2[p , 2] = (double)Convert.ToSingle(w);}//确定外方位元素的初始值//1.确定Xs的初始值:double Xs0 = 0;double sumx = 0;for (int j = 0; j < n; j++){double h = arr2[j, 0];sumx += h;}Xs0 = sumx / n;//2.确定Ys的初始值:double Ys0 = 0;double sumy = 0;for (int j = 0; j < n; j++){double h = arr2[j, 1];sumy += h;}Ys0 = sumy / n;//3.确定Zs的初始值:double Zs0 = 0;double sumz = 0;for (int j = 0; j <= n - 1; j++){double h = arr2[j, 2];sumz += h;}Zs0 = sumz / n;doubleΦ0 = 0;doubleΨ0 = 0;double K0 = 0;Console.WriteLine("Xs0,Ys0,Zs0,Φ0,Ψ0,K0的值分别是:{0},{1},{2},{3},{4},{5}", Xs0, Ys0, Zs0, 0, 0, 0);//用三个角元素的初始值按(3-4-5)计算各方向余弦值,组成旋转矩阵,此时的旋转矩阵为单位矩阵I:double[,] arr3 = new double[3, 3];for (int i = 0; i < 3; i++)arr3[i, i] = 1;}double a1 = arr3[0, 0]; double a2 = arr3[0, 1]; double a3 = arr3[0, 2];double b1 = arr3[1, 0]; double b2 = arr3[1, 1]; double b3 = arr3[1, 2];double c1 = arr3[2, 0]; double c2 = arr3[2, 1]; double c3 = arr3[2, 2];/*利用线元素的初始值和控制点的地面坐标,代入共线方程(3-5-2),* 逐点计算像点坐标的近似值*///1.定义存放像点近似值的数组double[] arr4 = new double[2 * n];//----------近似值矩阵//2.逐点像点坐标计算近似值//a.计算像点的x坐标近似值(x)for (int i = 0; i < 2 * n; i += 2){for (int j = 0; j < n; j++){arr4[i] = -f * (a1 * (arr2[j, 0] - Xs0) + b1 * (arr2[j, 1] - Ys0) + c1 * (arr2[j, 2] - Zs0)) / (a3 * (arr2[j, 0] - Xs0) + b3 * (arr2[j, 1] - Ys0) + c3 * (arr2[j, 2] - Zs0)); }}//b.计算像点的y坐标近似值(y)for (int i = 1; i < 2 * n; i += 2){for (int j = 0; j < n; j++){arr4[i] = -f * (a2 * (arr2[j, 0] - Xs0) + b2 * (arr2[j, 1] - Ys0) + c2 * (arr2[j, 2] - Zs0)) / (a3 * (arr2[j, 0] - Xs0) + b3 * (arr2[j, 1] - Ys0) + c3 * (arr2[j, 2] - Zs0)); }}//逐点计算误差方程式的系数和常数项,组成误差方程:double[,] arr5 = new double[2 * n, 6]; //------------系数矩阵(A)//1.计算dXs的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 0] = -1 / m; //-f/H == -1/m}//2.计算dYs的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 1] = -1 / m; //-f/H == -1/m}//3.a.计算误差方程式Vx中dZs的系数for (int i = 0; i < 2 * n; i += 2)arr5[i, 2] = -arr1[i] / m * f;}//3.b.计算误差方程式Vy中dZs的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 2] = -arr1[i] / m * f;}//4.a.计算误差方程式Vx中dΦ的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 3] = -f * (1 + arr1[i] * arr1[i] / f * f);}//4.a.计算误差方程式Vy中dΦ的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 3] = -arr1[i - 1] * arr1[i] / f;}//5.a.计算误差方程式Vx中dΨ的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 4] = -arr1[i] * arr1[i + 1] / f;}//5.b.计算误差方程式Vy中dΨ的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 4] = -f * (1 + arr1[i] * arr1[i] / f * f);}//6.a.计算误差方程式Vx中dk的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 5] = arr1[i + 1];}//6.b.计算误差方程式Vy中dk的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 5] = -arr1[i - 1];}//定义外方位元素组成的数组double[] arr6 = new double[6];//--------------------外方位元素改正数矩阵(X)//定义常数项元素组成的数组double[] arr7 = new double[2 * n];//-----------------常数矩阵(L)//计算lx的值for (int i = 0; i < 2 * n; i += 2)arr7[i] = arr1[i] - arr4[i]; //将近似值矩阵的元素代入}//计算ly的值for (int i = 1; i <= 2 * (n - 1); i += 2){arr7[i] = arr1[i] - arr4[i]; //将近似值矩阵的元素代入}/* 对于所有像点的坐标观测值,一般认为是等精度量测,所以权阵P为单位阵.所以X=(ATA)-1ATL *///1.计算ATdouble[,] arr5T = new double[6, 2 * n];for (int i = 0; i < 6; i++){for (int j = 0; j < 2 * n; j++){arr5T[i, j] = arr5[j, i];}}//A的转置与A的乘积,存放在arr5AA中double[,] arr5AA = new double[6, 6];for (int i = 0; i < 6; i++){for (int j = 0; j < 6; j++){arr5AA[i, j] = 0;for (int l = 0; l < 2 * n; l++){arr5AA[i, j] += arr5T[i, l] * arr5[l, j];}}}nijuzhen(arr5AA);//arr5AA经过求逆后变成原矩阵的逆矩阵//arr5AA * arr5T存在arr5AARATdouble[,] arr5AARAT = new double[6, 2 * n];for (int i = 0; i < 6; i++){for (int j = 0; j < 2 * n; j++){arr5AARAT[i, j] = 0;for (int p = 0; p < 6; p++){arr5AARAT[i, j] += arr5AA[i, p] * arr5T[p, j];}}}//计算arr5AARAT x L,存在arrX中double[] arrX = new double[6];for (int i = 0; i < 6; i++){for (int j = 0; j < 1; j++){arrX[i] = 0;for (int vv = 0; vv < 6; vv++){arrX[i] += arr5AARAT[i, vv] * arr7[vv];}}}//计算外方位元素值double Xs, Ys, Zs, Φ, Ψ, K;Xs = Xs0 + arrX[0];Ys = Ys0 + arrX[1];Zs = Zs0 + arrX[2];Φ = Φ0 + arrX[3];Ψ = Ψ0 + arrX[4];K = K0 + arrX[5];for (int i = 0; i <= 2; i++){Xs += arrX[0];Ys += arrX[1];Zs += arrX[2];Φ += arrX[3];Ψ += arrX[4];K += arrX[5];}Console.WriteLine("Xs,Ys,Zs,Φ,Ψ,K的值分别是:{0},{1},{2},{3},{4},{5}", Xs0, Ys0, Zs0, Φ, Ψ, K);Console.Read();}//求arr5AA的逆矩public static double[,] nijuzhen(double[,] a) {double[,] B = new double[6, 6];int i, j, k;int row = 0;int col = 0;double max, temp;int[] p = new int[6];for (i = 0; i < 6; i++){p[i] = i;B[i, i] = 1;}for (k = 0; k < 6; k++){//找主元max = 0; row = col = i;for (i = k; i < 6; i++){for (j = k; j < 6; j++){temp = Math.Abs(a[i, j]);if (max < temp){max = temp;row = i;col = j;}}}//交换行列,将主元调整到k行k列上if (row != k){for (j = 0; j < 6; j++){temp = a[row, j];a[row, j] = a[k, j];a[k, j] = temp;temp = B[row, j];B[row, j] = B[k, j];B[k, j] = temp;i = p[row]; p[row] = p[k]; p[k] = i; }if (col != k){for (i = 0; i < 6; i++){temp = a[i, col];a[i, col] = a[i, k];a[i, k] = temp;}}//处理for (j = k + 1; j < 6; j++){a[k, j] /= a[k, k];}for (j = 0; j < 6; j++){B[k, j] /= a[k, k];a[k, k] = 1;}for (j = k + 1; j < 6; j++){for (i = 0; j < k; i++){a[i, j] -= a[i, k] * a[k, j];}for (i = k + 1; i < 6; i++){a[i, j] -= a[i, k] * a[k, j];}}for (j = 0; j < 6; j++){for (i = 0; i < k; i++){B[i, j] -= a[i, k] * B[k, j];}for (i = k + 1; i < 6; i++){B[i, j] -= a[i, k] * B[k, j];}for (i = 0; i < 6; i++) {a[i, k] = 0;a[k, k] = 1;}}//恢复行列次序for (j = 0; j < 6; j++){for (i = 0; i < 6; i++) {a[p[i], j] = B[i, j]; }}for (i = 0; i < 6; i++){for (j = 0; j < 6; j++) {a[i, j] = a[i, j];}}return a;}4.实验结果四.实验总结此次实验让我深入了解单像空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
双像解析摄影测量三种方法的比较-学习心得
双像解析摄影测量三种⽅法的⽐较-学习⼼得双像解析摄影测量三种⽅法的⽐较为了加强印象,还是要做做笔记的,那继续做电⼦笔记吧双像解析摄影测量三种⽅法的⽐较:后⽅交会-前⽅交会⽅法;相对定向-绝对定向法;⼀步定向法后⽅交会-前⽅交会法主要步骤:⾸先进⾏后⽅交会,利⽤单张影像上3个以上已知控制点分别计算像⽚外⽅位元素,再通过前⽅交会计算出地⾯⽬标的物⽅坐标。
该⽅法的缺点在于每张影像上都必须有3个以上控制点,并且前⽅交会求取的地⾯点坐标的精度取决于后⽅交会所解算外⽅位元素的精度(前⽅交会过程没有充分利⽤多余条件进⾏平差计算)。
因此,该⽅法往往在已知影像的外⽅位元素、需确定少量的待定点坐标时采⽤。
相对定向-绝对定向法主要步骤:⾸先利⽤两张影像重叠区内5对以上同名点,按照共⾯条件⽅程解算相对定向元素,并计算同名点模型坐标,同时要求⾄少2个平⾼点1个⾼程点位于像⽚重叠区内以计算控制点模型坐标。
然后利⽤控制点模型坐标和对应地⾯坐标根据三维相似变换⽅程解算出绝对定向元素。
最后根据绝对定向元素求取⽬标的物⽅坐标。
(计算公式⽐较多,⽤这种⽅法的解算结果不能严格表达⼀幅图像的外⽅位元素)该⽅法的缺点在于需要已知重叠区内最少5对同名点。
同样地,绝对定向的精度取决于相对定向精度。
因此常⽤于航带法解析三⾓测量的应⽤。
⼀步定向法主要步骤:利⽤已有控制点地⾯坐标、像⽚上对应像点坐标,根据共线条件⽅程⼀步解算出像⽚外⽅位元素和⽬标的地⾯坐标。
该⽅法⼀步完成,精度完全由控制点和像点坐标量测精度决定,理论上⽐以上两种⽅法精度⾼。
但该⽅法相较以上两种⽅法,求解过程较复杂。
(待定点的坐标是完全按最⼩⼆乘法原理解求出来的,该⽅法常⽤于光线束法解析空中三⾓测量中的应⽤。
)下⾯简单介绍⼀种影像定位的⽅法:有理函数模型(RFM)有理函数模型可以直接建⽴起像点和空间坐标之间的关系,不需要内外⽅位元素,回避成像的⼏何过程,可以⼴泛⽤于线阵影像的处理中。
空间后方—前方交会的原理
空间后方—前方交会的原理
空间后方交会和前方交会都是航天技术中的重要概念。
空间后方交会是通过地面控制点和像片上的像点来确定单幅影像的外方位元素的方法。
这种方法以单张像片为基础,求解每张像片的外方位元素,确定被摄物体与航摄像片的几何关系。
后方交会需要地面控制点,依靠单张像片就可求出其外方位元素。
而前方交会则是利用立体像对的同名像点求解地面点坐标的过程。
它利用同名像点坐标和像对的相对方位元素解算模型点坐标。
这种方法在确定了被摄物体与航摄像片的几何关系后,利用立体像对同名像点对对相交的原理确定物方空间坐标。
如需了解更多关于空间后方—前方交会原理的信息,建议查阅航天领域相关书籍或咨询专业人士。
摄影测量实习报告
摄影测量实习报告——单张影像空间后方交会程序设计实习时间 2013.5.20-2013.5.24 学生班级测绘10-2班学生姓名刘航学生学号 1072143212 所在院系矿业工程学院指导教师张会战邵亚琴1.深入理解单片空间后方交会的原理,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。
2.掌握空间后方交会的定义和实现算法(1) 定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。
(2) 算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。
实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。
3. 利用Visual C++或者Matlab(或其他熟悉的计算机语言)编写一个完整的单片空间后方交会程序,通过对提供的试验数据进行计算,输出像片的外方位元素并进行评定精度。
4.通过编写程序实现单张影像空间后方交会计算,掌握非线性方程线性化的过程、相应数据读入与存储的方法以及迭代计算的特点,巩固各类基础课程及计算机课程的学习内容,培养上机调试程序的动手能力,通过对实验结果的分析,增强综合运用所学知识解决专业实际问题的能力。
二、实习环境1.硬件环境:Window操作系统2.软件环境:VC++或Matlab或其他计算机语言利用一定数量的地面控制点,根据共线条件方程求解像片外方位元素并进行精度评定。
四、实习原理以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,求解该影象在航空摄影时刻的像片外方位元素 Xs,Ys,Zs,ф,ω,κ。
摄影测量实验报告(空间后方交会—前方交会)
空间后方交会—空间前方交会程序编程实验一.实验目的要求掌握运用空间后方交会-空间前方交会求解地面点的空间位置.学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。
然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程.二.仪器用具计算机、编程软件(MATLAB)三.实验数据实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。
此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程.另外还给出了5对地面点在左右像片中的像平面坐标和左右像片的内方位元素。
实验数据如下:内方位元素:f=152。
000mm,x0=0,y0=0 四.实验框图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0。
00003,相当于0。
1'的角度值)为止。
在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
在空间后方交会中运用的数学模型为共线方程确定Xs,Ys,Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs 和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs 和Ys的初始值。
Zs可取地面所有GCP的Z坐标的平均值再加上航高.空间前方交会的数学模型为:五.实验源代码function Main_KJQHFJH()global R g1 g2 m G a c b1 b2;m=10000;a=5;c=4;feval(@shuru);%调用shuru()shurujcp()函数完成像点及feval(@shurujcp);%CCP有关数据的输入XYZ=feval(@MQZqianfangjh); %调用MQZqianfangjh()函数完成空间前方、%%%%%% 单位权中误差%%%%%后方交会计算解得外方位元素global V1 V2;%由于以上三个函数定义在外部文件中故需VV=[]; %用feval()完成调用过程for i=1:2*cVV(i)=V1(i);VV(2*i+1)=V2(i);endm0=sqrt(VV*(VV’)/(2*c-6));disp('单位权中误差m0为正负:’);disp(m0); %计算单位权中误差并将其输出显示输入GCP像点坐标及地面摄影测量坐标系坐标的函数和输入所求点像点坐标函数:function shurujcp()global c m;m=input(’摄影比例尺:');%输入GCP像点坐标数据函数并分别将其c=input('GCP的总数=');%存入到不同的矩阵之中disp('GCP左片像框标坐标:');global g1;g1=zeros(c,2);i=1;while i<=cm=input('x=');n=input('y=');g1(i,1)=m;g1(i,2)=n;i=i+1;enddisp('GCP右片像框标坐标:’);global g2;g2=zeros(c,2);i=1;while i〈=cm=input('x=’);n=input('y=’);g2(i,1)=m;g2(i,2)=n;i=i+1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function shuru()global a;a=input('计算总像对点数='); %完成想计算所需的像平面坐标global b1;%坐标输入,存入不同的矩阵中b1=zeros(a,2);disp('左片像点坐标:')i=1;while i〈=am=input('x=’);n=input(’y=’);b1(i,1)=m;b1(i,2)=n;i=i+1;end%%global b2;b2=zeros(a,2);disp(’右片像点坐标:')i=1;while i〈=am=input('x=’);n=input('y=’);b2(i,1)=m;b2(i,2)=n;i=i+1;end%%global c;c=input(’GCP的总数=');disp('GCP摄影测量系坐标:’)global G;G=zeros(3,c);i=1;while i〈=cm=input(’X=');n=input(’Y=');v=input(’Z=');G(i,1)=m;G(i,2)=n;G(i,3)=v;i=i+1;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%空间前方交会和后方交会函数:function XYZ=MQZqianfangjh()global R1 R2 a f b1 b2 Ra Rb;global X1 X2;R1=Ra;R2=Rb;R1=zeros(3,3);R2=zeros(3,3);global g1 g2 G V1 V2 V WF c QXX QXX1 QXX2;xs0=(G(1,1)+G(3,1))/2;ys0=(G(1,2)+G(3,2))/2;[Xs1,Ys1,Zs1,q1,w1,k1 R]=houfangjh(g1,xs0,ys0);%对左片调用后方交会函数R1=R;V1=V;WF1=WF;QXX1=QXX;save '左片外方位元素为。
单像空间后方交会实习报告
框图。
3
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
空间后交-前交程序设计实验报告
空间后交-前交程序设计(实验报告)姓名:班级:学号:时间:空间后交-前交程序设计一、实验目的用 C 、VB或MATLAB语言编写空间后方交会-空间前方交会程序⑴提交实习报告:程序框图、程序源代码、计算结果、体会⑵计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度二、实验数据f=150.000mm,x0=0,y0=0三、实验思路1.利用空间后方交会求左右像片的外方位元素(1).获取m(于像片中选取两点,于地面摄影测量坐标系中选取同点,分别计算距离,距离比值即为m),x,y,f,X,Y,Z(2).确定未知数初始值Xs,Ys,Zs,q,w,k(3).计算旋转矩阵R(4).逐点计算像点坐标的近似值(x),(y)(5).组成误差方程式(6).组成法方程式(7).解求外方位元素(8).检查是否收敛,即将求得的外方位元素的改正数与规定限差比较,小于限差即终止;否则用新的近似值重复步骤(3)-(7)2.利用求出的外方位元素进行空间前交,求出待定点地面坐标(1).用各自像片的角元素计算出左、右像片的方向余弦值,组成旋转矩阵R1,R2(2).根据左、右像片的外方位元素,计算摄影基线分量Bx,By,Bz(3).计算像点的像空间辅助坐标(X1,Y1,Z1)和(X2,Y2,Z2)(4).计算点投影系数N1和N2(5).计算未知点的地面摄影测量坐标四、实验过程⑴程序框图函数AandL%求间接平差时需要的系数%%%已知%a=像点坐标x,b=像点坐标y,f内方位元素主距%φ=q,ψ=w,κ=k%像空间坐标系X,Y,Z%地面摄影测量坐标系Xs,Ys,Zsfunction [A1,L1,A2,L2]=AandL(a,b,f,q,w,k,X,Y,Z,Xs,Ys,Zs) %%%%%%%%%%%选择矩阵元素a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);a3=-sin(q)*cos(w);b1=cos(w)*sin(k);b2=cos(w)*cos(k);b3=-sin(w);c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);c3=cos(q)*cos(w);%%%%%%%共线方程的分子分母X_=a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs);Y_=a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs);Z_=a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs);%%%%%%%近似值x=-f*X_/Z_;y=-f*Y_/Z_;%%%%%%%A组成L组成a11=1/Z_*(a1*f+a3*x);a12=1/Z_*(b1*f+b3*x);a13=1/Z_*(c1*f+c3*x);a21=1/Z_*(a2*f+a3*y);a22=1/Z_*(b2*f+b3*y);a23=1/Z_*(c2*f+c3*y);a14=y*sin(w)-(x/f*(x*cos(k)-y*sin(k))+f*cos(k))*cos(w);a15=-f*sin(k)-x/f*(x*sin(k)+y*cos(k)); a16=y;a24=-x*sin(w)-(y/f*(x*cos(k)-y*sin(k))-f*sin(k))*cos(w);a25=-f*cos(k)-y/f*(x*sin(k)+y*cos(k));a26=-x;lx=a-x;ly=b-y;%%%%%%%%%组成一个矩阵,并返回A1=[a11,a12,a13,a14,a15,a16];A2=[a21,a22,a23,a24,a25,a26];L1=lx;L2=ly;函数deg2dms%%%%%%%%角度转度分秒function y=deg2dms(x)a=floor(x);b=floor((x-a)*60);c=(x-a-b/60)*3600;y=a+(b/100)+(c/10000);函数dms2deg%%%%%度分秒转度function y=dms2deg(x)a=floor(x);b=floor((x-a)*100);c=(x-a-b/100)*10000;y=a+b/60+c/3600;函数ok%%%%%%%%%%%%%%目的是为了保证各取的值的有效值%%xy为n*1,a为1*nfunction result=ok(xy,a)format short gi=size(xy,1);for n=1:io=xy(n)-floor(xy(n,1));o=round(o*(10^a(n)))/(10^a(n));xy(n,1)=floor(xy(n,1))+o;endformat long gresult=xy;函数rad2dmsxy%%%%求度分秒表现形式的三个外方位元素,三个角度function xydms=rad2dmsxy(xy)[a,b,c,d,e,f]=testvar(xy);d=deg2dms(rad2deg(d));e=deg2dms(rad2deg(e));f=deg2dms(rad2deg(f));xydms=[a,b,c,d,e,f]';函数spacehoujiao%%%%%%%空间后交%%% f%%输入p(2*n,1)%%像点坐标x,y,X,Y,Z,均为(n,1)function [xy,m,R]=spacehoujiao(p,x,y,f,X,Y,Z)format long;%%%%%权的矢量化,这是等精度时的,如果非,将函数参数改为P P=diag(p);%%求nj=size(X,2);%%初始化Xs=0;Ys=0;Zs=0;for n=1:jXs=Xs+X(n);Ys=Ys+Y(n);Zs=Zs+Z(n);endSx=sqrt((x(2)-x(1))^2+(y(2)-y(1))^2);%%%%两像点之间距离Sd=sqrt((X(2)-X(1))^2+(Y(2)-Y(1))^2);%%%%两地面控制点之间距离m=Sd/Sx; %%%%图像比例系数Xs=Xs/j;Ys=Ys/j;Zs=m*f+Zs/j;m0=0;q=0;w=0;k=0;i=0;a=rand(2*j,6);l=rand(2*j,1);%%%%for n=1:j[a(2*n-1,:),l(2*n-1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n ),Xs,Ys,Zs);enddet=inv(a'*P*a)*transpose(a)*P*l;%%%%%%%%%循环体while 1%%%%%%%%%%%%%%%%[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);%%%%%%%%%if((detXs<0.01)&&(detYs<0.01)&&(detZs<0.01)&&(detq<pi/648000)&&(detw<pi/648000)&& (detk<pi/648000))break;elseV=(a*det-l);Q=inv(a'*P*a);m0=m0+sqrt((V'*P*V)/(2*j-6));%%m0需要每次的改正数算出来相加%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%for n=1:j[a(2*n-1,:),l(2*n-1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n ),Xs,Ys,Zs);enddet=inv(a'*P*a)*transpose(a)*P*l;i=i+1;%%%%end%%%end[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);V=(a*det-l);Q=inv(a'*P*a);m0=m0+sqrt((V'*P*V)/(2*n-6));%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%%%%%%%%%%%可以输出迭代次数的i%%%%%%%%%%%%Xs,Ys,Zs,q,w,k,i,dXs,dYs,dZs,dq,dw,dk,detXs,detYs,detZs %%%%%%%%%%%精度mo=m0*sqrt(Q);m=[mo(1,1),mo(2,2),mo(3,3),mo(4,4),mo(5,5),mo(6,6)]';[mXs,mYs,mZs,mq,mw,mk]=testvar(m);%%%%%%%%%输出xy=[Xs,Ys,Zs,q,w,k]';%%输出(6,1)的外方位元素m=[m0,mXs,mYs,mZs,mq,mw,mk]';%%单位误差,各元素中误差R=xyR(xy);%%旋转矩阵函数spaceqianjiao%%空间前交%输入f%输入x1,y1,x2,y2,R1,R2,xy1,xy2 (n,1)%输出X,Y,Z (n,1)function [X,Y,Z]=spaceqianjiao(x1,y1,x2,y2,f,R1,R2,xy1,xy2) i=size(x1,2);[Xs1,Ys1,Zs1,q1,w1,k1]=testvar(xy1);[Xs2,Ys2,Zs2,q2,w2,k2]=testvar(xy2);for n=1:i[X1(n),Y1(n),Z1(n)]=testvar(R1*[x1(n),y1(n),-f]');[X2(n),Y2(n),Z2(n)]=testvar(R2*[x2(n),y2(n),-f]');Bx=Xs2-Xs1;By=Ys2-Ys1;Bz=Zs2-Zs1;N1=(Bx*Z2(n)-Bz*X2(n))/(X1(n)*Z2(n)-X2(n)*Z1(n));N2=(Bx*Z1(n)-Bz*X1(n))/(X1(n)*Z2(n)-X2(n)*Z1(n));X(n)=Xs1+N1*X1(n);Z(n)=Zs1+N1*Z1(n);Y(n)=0.5*((Ys1+N1*Y1(n))+(Ys2+N2*Y2(n)));end函数testvar%分割矩阵。
5摄影测量解析基础(后方交会+前方交会)
内定向通常采用多项式变换公式。假设框标在以像主点为原点的像平
面坐标系中的理论坐标为(x,y),在量测坐标系(框标坐标系、扫描 坐标系)的量测坐标为(I,J),则常用的多项式变换公式有:
线性正形变换公式
x a0 a1 I a2 J y b0 b1 I b2 J
仿射变形公式
x f
a10 X X S 0 b10 Y YS 0 c10 Z Z S 0
0 0 Z Z S 0 a0 X X b Y Y c S 0 S 0 3 3 3 0 0 Z Z S 0 a0 X X b Y Y c S0 S0 2 2 2 0 0 Z Z S 0 a0 X X b Y Y c S 0 S 0 3 3 3
•
已知值 影像的内方位元素x0,y0,f 和 m(像片摄影比例尺的分母)
以及物点坐标(X,Y,Z)
•
• •
观测值 像点坐标 x,y(观测值)
未知数 像片的外方位元素XS,YS,ZS,,, 泰勒级数展开
泰勒级数展开的概念:
Z f X1, X 2 ,, X n
设X有近似值X0 则按泰勒公式在点
误差方程的矩阵形式:
v1 1 v 2 1 v 3 0 v 4 0 v 5 0 0 0 1 0 1 0 1 1 0 1 0 dX B 23 dX C 0 dX D 14 0 0 0 0 2.9 0 0 3.7 0 0 0 Pi 10 / S i 0 0 2.5 0 0 0 0 0 3 . 3 0 0 0 0 4.0 0
摄影测量作业3-空间后方交会计算
CFileDialog dlgOpenFile(TRUE, _T("txt"), NULL, OFN_FILEMUSTEXIST, _T("(文本文件)|*.txt|(所有文件)|*.*)||"));
if (dlgOpenFile.DoModal() == IDCANCEL) return;//如果选择取消按钮,则退出
原理、算法流程、源程序、计算结果、结果分析、心得体会等。
三.实验所用到的数学公式及程序计算步骤。
单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标 根据共线方程反 求影像的外方位元素。 数学模型:共线条件方程式:
3
求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测
CMatrix X,_A,_AA,N_AA; _A = ~A;//A 的转置 _AA = _A*A; N_AA = _AA.Inv();//_AA 的逆矩阵 X = N_AA*_A*L; return X; }
CMatrix CKongJianHouFangJiaoHuiDlg::GetA(CMatrix xyXYZ, double f, CMatrix XX)//计算系数矩 阵A {
CMatrix CKongJianHouFangJiaoHuiDlg::GetL(CMatrix xyXYZ, double f, CMatrix XX)//计算 L 矩阵 {
int iRow = xyXYZ.Row(); CMatrix L(2 * iRow, 1); double XS = XX(0, 0); double YS = XX(0, 1); double ZS = XX(0, 2);
A(2*i, 3) = y*sin(w) - (x*(x*cos(k) - y*sin(k)) / f + f*cos(k))*cos(w); A(2*i, 4) = -f*sin(k) - x*(x*sin(k) + y*cos(k)) / f; A(2*i, 5) = y; A(2*i+1, 0) = (a2*f + a3*y) / _Z; A(2 * i + 1, 1) = (b2*f + b3*y) / _Z; A(2 * i + 1, 2) = (c2*f + c3*y) / _Z; A(2 * i + 1, 3) = -x*sin(w) - (y*(x*cos(k) - y*sin(k)) / f - f*sin(k))*cos(w); A(2 * i + 1, 4) = -f*cos(k) - y/ f*(x*sin(k) + y*cos(k)); A(2 * i + 1, 5) = -x; } return A; }
摄影测量实习报告(大全5篇)
摄影测量实习报告(大全5篇)第一篇:摄影测量实习报告成都信息工程学院摄影测量专业:遥感科学与技术班级: 092班姓名: xxxx 学号: xxxxxx 指导老师: xxxxx一、实习目的:1、摄影测量软件a.完成VirtuoZ0系统所带的一对数字摄影图像的内定向、相对定向、绝对定向,并生成核线影像。
156-155b.用生成的核线影像自动生成等高线、正射影像、DEM、并将等高线与正射影像叠合。
c.进行数字影像测图。
调出模型,在立体环境下完成部分测图任务。
(应交成果)2、遥感图象处理a.用ERDAS软件读出校区的QUICKBIRD影像,将多光谱图像与全色图像进行融合。
并裁减出校区范围的子图象。
b.从前面实习所测的地形图上得到一些控制点,对子图像进行几何校正。
c.分类前对图像进行一些必要的处理(空间增强、辐射增强等),使图像有很好利于分类的视觉效果。
对该图像进行分类,分类后再对图像进行一些分类后处理,最后制作成分类专题图(应交成果)。
如果想得到更理想的分类图,可使用一些新分类方法进行分类处理。
二、实习步骤:1、摄影测量(VirtuoZ0软件的使用)1.本地连接>属性>配置>高级>网络地址的值改为“00E04C3AD92C”2.打开测区,即建立一个测区如e:1234。
在测区参数的主目录键入e:1234。
3.将数据准备好。
将已拷贝hamer文件夹下的控制点文件和相机参数文件拷贝到已建好的e:1234中。
将hamerimages下的一对影象如156-155拷贝到已建好的e:1234images中。
3.将测区参数输入并保存。
4。
建一个模型如在e:1234中建model模型,输入参数并保存。
5.按“处理”菜单中的顺序进行内定向、相对定向、绝对定向、定显示区,生成核线影象。
6.用生成的核线影像自动生成等高线、正射影像、DEM、并将等高线与正射影像叠合。
7.进行数字影像测图。
调出模型,在立体环境下完成测图任务。
摄影测量实验报告(前方交汇后方交汇)
摄影测量学实验报告学院:地信院班级:测绘0904班老师:***姓名:***学号:**********2011年11 月11 日空间后方交会——空间前方交会程序编程实验一.实验目的1、要求掌握运用摄影测量中空间后方交会-空间前方交会求解地面点的空间位置的方法和原理。
2、学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的计算,完成所给像对中两张像片各自的六个外方位元素的求解和精度评定。
3、根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,利用计算机编程语言前方交会编程,求解其对应的地面点在摄影测量坐标系中的坐标,从而达到通过摄影测量量测地面地理数据的目的。
二.实验仪器1、计算机2、MATLAB计算机编程软件三、实验数据实验数据实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。
此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程。
另外还给出了 5 对地面点在左右像片中的像平面坐标和左右像片的内方位元素。
实验数据如下:四、程序设计流程图1、后方交会此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(长度改正数小于0.01m,角度改正数小于0.0003,相当于1’的角度值)为止。
在这个过程中采用迭代计算的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
2、前方交会七、实验原理公式1、后方交会中运用的共线方程数学模型ZYfZ Z c Y Y b X X a Z Z c Y Y b X X a fy y Z XfZ Z c Y Y b X X a Z Z c Y Y b X X a f x x s s s s s s s s s s s s -=-+-+--+-+--=--=-+-+--+-+--=-)()()()()()()()()()()()(333222033311103、前方交会与后方交会中均用到旋转矩阵进行的坐标转换⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-s s s s s s Z Z Y Y X X Z Z Y Y X X c b a c b a c b a Z Y X 1333222111R4、精度评定中均采用最小二乘准则进行平差计算y y Z Z y Y Y y X X y y y y v x x Z Z x Y Y x X X x x x x v s ss s s s y s s s s s s x -+∆∂∂+∆∂∂+∆∂∂+∆∂∂+∆∂∂+∆∂∂=-+∆∂∂+∆∂∂+∆∂∂+∆∂∂+∆∂∂+∆∂∂=00κκωωϕϕκκωωϕϕyy a a a Z a Y a X a v x x a a a Z a Y a X a v s s s y s s s x -+∆+∆+∆+∆+∆+∆=-+∆+∆+∆+∆+∆+∆=02625242322210161514131211κωϕκωϕ⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆∆∆∆=⎥⎦⎤⎢⎣⎡=26252423222116151413121100,,a a a a a a a a a a a a y y x x Z Y X v v s s s y x A l x V κωϕl Ax V -= )()(T1Tl A A A x -= 62T 0-=n VV σ 1T )(-=A A Q xx ii xx i m Q 0σ= 5.前方交会的转换2'12'12'1222222111111212121121212,,,Z N B Z NZ Z Z Y N B Y NY Y Y X N B X NX X X f y x R Z Y X f y x R Z Y X Z Z B Y Y B X X B Z S S Y S S X S S S S Z S S Y S S X ++=+=++=+=++=+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=-=-=标):地面坐标(摄影测量坐像空间辅助坐标:基线分量:12211121221221Z X Z X X B Z B N Z X Z X X B Z B N Z X Z X --=--=八.实验源程序1.空间后方交会(以左片为例)%已知地面摄影测量坐标Xg=[5083.205,5780.02,5210.879,5909.264];Yg=[5852.099,5906.365,4258.466,4314.283];Zg=[527.925,571.549,461.81,455.484];%对应地面坐标的左片像点坐标x=[0.016012,0.08856,0.013362,0.08224];y=[0.079963,0.081134,-0.07937,-0.080027];%设置初始值c=0;w=0;k=0;f=0.15;Dg=sqrt((Xg(1)-Xg(2))^2+(Yg(1)-Yg(2))^2);Ds=sqrt((x(1)-x(2))^2+(y(1)-y(2))^2);p=Dg/Ds;Xs0=1/4*(Xg(1)+Xg(2)+Xg(3)+Xg(4));Ys0=1/4*(Yg(1)+Yg(2)+Yg(3)+Yg(4));Zs0=p*f+(Zg(1)+Zg(2)+Zg(3)+Zg(4))/4;W=0 %统计迭代计算次数%完成迭代计算,检验改正是是否符合要求while 1%计算旋转矩阵系数a1=cos(c)*cos(k)-sin(c)*sin(w)*sin(k);a2=-cos(c)*sin(k)-sin(c)*sin(w)*cos(k);a3=-sin(c)*cos(w);b1=cos(w)*sin(k);b2=cos(w)*cos(k);b3=-sin(w);c1=sin(c)*cos(k)+cos(c)*sin(w)*sin(k);c2=-sin(c)*cos(k)+cos(c)*sin(w)*cos(k);c3=cos(c)*cos(w);R=[a1,a2,a3;b1,b2,b3;c1,c2,c3]for n=1:1:4X(n)=a1*(Xg(n)-Xs0)+b1*(Yg(n)-Ys0)+c1*(Zg(n)-Zs0); Y(n)=a2*(Xg(n)-Xs0)+b2*(Yg(n)-Ys0)+c2*(Zg(n)-Zs0); Z(n)=a3*(Xg(n)-Xs0)+b3*(Yg(n)-Ys0)+c3*(Zg(n)-Zs0); xj(n)=-f*X(n)/Z(n); %计算近似点坐标yj(n)=-f*Y(n)/Z(n);a11(n)=1/Z(n)*(a1*f+a3*x(n)); %矩阵系数a12(n)=1/Z(n)*(b1*f+b3*x(n));a13(n)=1/Z(n)*(c1*f+c3*x(n));a21(n)=1/Z(n)*(a2*f+a3*y(n));a22(n)=1/Z(n)*(b2*f+b3*y(n));a23(n)=1/Z(n)*(c2*f+c3*y(n));a14(n)=y(n)*sin(w)-(x(n)/f*(x(n)*cos(k)-y(n)*sin(k))+f*cos(k))*cos(w) ;a15(n)=-f*sin(k)-x(n)/f*(x(n)*sin(k)+y(n)*cos(k));a16(n)=y(n);a24(n)=-x(n)*sin(w)-(y(n)/f*(x(n)*cos(k)-y(n)*sin(k))-f*sin(k))*cos(w );a25(n)=-f*cos(k)-y(n)/f*(x(n)*sin(k)+y(n)*cos(k));a26(n)=-x(n);endA=[a11(1),a12(1),a13(1),a14(1),a15(1),a16(1);a21(1),a22(1),a23(1),a24(1),a25(1),a26(1);a11(2),a12(2),a13(2),a14(2),a15(2),a16(2);a21(2),a22(2),a23(2),a24(2),a25(2),a26(2);a11(3),a12(3),a13(3),a14(3),a15(3),a16(3);a21(3),a22(3),a23(3),a24(3),a25(3),a26(3);a11(4),a12(4),a13(4),a14(4),a15(4),a16(4);a21(4),a22(4),a23(4),a24(4),a25(4),a26(4)];L=[x(1)-xj(1);y(1)-yj(1);x(2)-xj(2);y(2)-yj(2);x(3)-xj(3);y(3)-yj(3); x(4)-xj(4);y(4)-yj(4)];Xp=inv((A')*A)*(A')*LV=A*Xp-LXs0=Xs0+Xp(1,1)Ys0=Ys0+Xp(2,1)Zs0=Zs0+Xp(3,1)c=c+Xp(4,1); w=w+Xp(5,1); k=k+Xp(6,1);W=W+1%判断收敛条件if((abs(Xp(1,1))<0.01&&abs(Xp(2,1))<0.01&&abs(Xp(3,1))<0.01&&abs(Xp(4 ,1))<0.0003&&abs(Xp(5,1))<0.0003&&abs(Xp(6,1))<0.0003))breakendend%精度评定Qxx=inv((A')*A) %外方元素协因素阵mo=sqrt(((V)'*V)/(2*8-6)) %单位权中误差mi=mo*sqrt(Qxx) %外方元素改正数中误差2.前方交会%后方交会中计算出的改正后外方元素Xs1=4999.7;Ys1=5000.1;Zs1=2000.0;Xs2=5896.3;Ys2=5087.9;Zs2=2029.9;%量测像点左右片坐标xa=[0.051758,0.014618,0.04988,0.08614,0.048035];ya=[0.080555,-0.000231,-0.000782,-0.001346,-0.079962];xb=[-0.039953,-0.076006,-0.042201,-0.007706,-0.044438];yb=[0.078463,0.000036,-0.001022,-0.002112,-0.079736];%由外方位线元素计算基线分量 Bx, By, BzBx=Xs2-Xs1;By=Ys2-Ys1;Bz=Zs2-Zs1;%由外方位角元素计算像空间辅助坐标X1, Y1, Z1 , X2, Y2, Z2R1=[0.9955,-0.0951,-0.0002;0.0951,0.9950,-0.0291;0.0030,0.0287,0.9996 ];R2=[0.9938,-0.1108,-0.0134;0.1101,0.9929,-0.0461;0.0184,0.0325,0.9988 ];Fa=R1*[xa(1),xa(2),xa(3),xa(4),xa(5);ya(1),ya(2),ya(3),ya(4),ya(5);-0 .015,-0.015,-0.015,-0.015,-0.015]Fb=R2*[xb(1),xb(2),xb(3),xb(4),xb(5);yb(1),yb(2),yb(3),yb(4),yb(5);-0 .015,-0.015,-0.015,-0.015,-0.015]Xa=[Fa(1,1),Fa(1,2),Fa(1,3),Fa(1,4),Fa(1,5)];Ya=[Fa(2,1),Fa(2,2),Fa(2,3),Fa(2,4),Fa(2,5)];Za=[Fa(3,1),Fa(3,2),Fa(3,3),Fa(3,4),Fa(3,5)];Xb=[Fb(1,1),Fb(1,2),Fb(1,3),Fb(1,4),Fb(1,5)];Yb=[Fb(2,1),Fb(2,2),Fb(2,3),Fb(2,4),Fb(2,5)];Zb=[Fb(3,1),Fb(3,2),Fb(3,3),Fb(3,4),Fb(3,5)];%计算点投影系数 N1 , N2for n=1:1:5Na(n)=(Bx*Zb(1,(n))-Bz*Xb(1,(n)))/(Xa(1,(n))*Zb(1,(n))-Xb(1,(n))*Za(1 ,(n)));Nb(n)=(Bx*Zb(1,(n))-Bz*Xb(1,(n)))/(Xa(1,(n))*Zb(1,(n))-Xb(1,(n))*Za(1 ,(n)));%计算地面坐标 XA, YA, ZAXg(n)=Na(n)*Xa(n)+Xs1;Zg(n)=Na(n)*Za(n)+Zs1;Yg(n)=1/2*((Ys1+Na(n)*Ya(n))+(Ys2+Nb(n)*Yb(n)));EndX=[Xg(1),Xg(2),Xg(3),Xg(4),Xg(5)]Y=[Yg(1),Yg(2),Yg(3),Yg(4),Yg(5)]Z=[Zg(1),Zg(2),Zg(3),Zg(4),Zg(5)]九、计算结果,精度评定1.左片计算结果(1)旋转矩阵R = 0.9955 -0.0951 -0.00020.0951 0.9950 -0.02910.0030 0.0287 0.9996(2)左片外方元素改正数Xp =1.0e-003 *0.0277,-0.4099,0.0058,0.0000,0.0000,0.0000(3)左片像点坐标改正数V =1.0e-005 *-0.2514,0.3595,-0.0704,-0.2227,0.5448,0.3856,-0.2179,-0.5205 (4)左片外方元素改正结果Xs0 = 4.9997e+003Ys0 = 5.0001e+003Zs0 = 2.0000e+003(5)左片迭代次数W = 5(6)左片外方元素协因素阵Qxx =1.0e+009 *1.3812 0.0062 0.4778 -0.0009 -0.0000 0.00010.0062 2.3416 0.1160 -0.0000 -0.0011 -0.00030.4778 0.1160 0.2659 -0.0003 -0.0001 0.0000-0.0009 -0.0000 -0.0003 0.0000 0.0000 -0.0000-0.0000 -0.0011 -0.0001 0.0000 0.0000 0.00000.0001 -0.0003 0.0000 -0.0000 0.0000 0.0000(7)左片单位权中误差mo =3.1794e-006(8)左片外方元素改正数中误差2.右片计算结果(1)旋转矩阵R = 0.9938 -0.1108 -0.01340.1101 0.9929 -0.04610.0184 0.0325 0.9988(2)右片外方元素改正数Xp =-0.0002,0.0072,-0.0003,0.0000,0.0000,0.0000(3)右片像点坐标改正数V =1.0e-004 *-0.0639,-0.0103,0.0157,-0.0482,-0.0735,0.1193,0.1226,-0.0607(4)右片外方元素改正结果Xs0 = 5.8963e+003Ys0 = 5.0879e+003Zs0 = 2.0299e+003(5)右片迭代次数W = 6(6)右片外方元素协因素阵Qxx =1.0e+009 *1.5207 0.1224 -0.4192 -0.0009 -0.0001 0.00010.1224 2.6049 -0.0578 -0.0001 -0.0013 0.0003-0.4192 -0.0578 0.2084 0.0003 0.0000 -0.0000-0.0009 -0.0001 0.0003 0.0000 0.0000 -0.0000-0.0001 -0.0013 0.0000 0.0000 0.0000 -0.00000.0001 0.0003 -0.0000 -0.0000 -0.0000 0.0000(7)右片单位权中误差mo = 6.7173e-006(8)右片改正数中误差3.前方交会反算的地面摄影测量坐标X =1.0e+003 *5.3846 5.1324 5.4571 5.8154 5.5274Y =1.0e+003 *5.7446 5.0165 5.0414 5.0679 4.2922Z =1.0e+003 *1.8901 1.8638 1.8633 1.8597 1.8368十、实验心得体会经过几个星期的努力,这个当初看似不可能完成的任务终于完成了,我感到很欣慰很有成就感。
摄影测量实习报告-单片空间后方交会.doc
摄影测量实习报告实习内容:单片空间后方交会编程实习者:李友兵学号:0810050121指导老师:张金平老师实习时间:2011.05.30——2011.06.03一、实习目的与任务此次摄影测量实习主要是要自主编程实现单像空间后方交会,通过已知的内方位元素和控制点像点坐标和地面坐标求解六个外方位元素,在此过程中深入理解单像空间后方交会的原理和对编程的熟悉和理解(我用的是C语言编程),和对时间的合理运用,对知识的综合运用,培养理论的实际运用能力,任务是在一个星期内自主完成。
二、单片空间后方交会理论基础单像空间后方交会:是通过以像点平面坐标为观测值,以控制点坐标为已知值,利用共线条件方程和最小二乘原理,运用间接平差方法,通过迭代求解6个外方位元素。
程序设计的思路与流程三、程序设计的思路与流程(编程框架和步骤)1、根据内方位元素和已知的数据将控制点的框标坐标转换为像平面坐标系坐标:x=x′-x0,y=y′-y02、确定未知数的初始值:角元素初始值κ0=ω0=Φ0=0;线元素初始值Zs0=H=mf,Xs0=(X1+X2+X3+X4)/4,Ys0=(Y1+Y2+Y3+Y4)/43、利用角元素初始值计算方向余弦值组成旋转矩阵Ra1=cosΦ*cosκ-sinΦ*sinω*sinκ,a2=-cosΦ*sinκ-sinΦ*sin ω*cosκ,a3=-sinΦ*cosωb1=cosω*sinκ,b2=cosω*cosκ,b3=-sinωc1=sinΦ*cosκ+cosΦ*sinω*sinκ,c2=-sinΦ*sinκ+cosΦ*sin ω*cosκ,c3=cosΦ*cosω4、逐点计算控制点的像点坐标的近似值,共线方程为:x=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys) +c3*(Z-Zs))y=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs))(x)=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))(y)=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))5、组成误差方程:Vx=a11*dXs+a12*dYs+a13*dZs+a14*dΦ+a15*dω+a16*dκ+(x)-xVy=a21*dXs+a22*dYs+a23*dZs+a24*dΦ+a25*dω+a26*dκ+(y)-y系数求解(是共线方程分别外方位元素求导,是共线方程线性化的系数):变量代换A= a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)B= a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)C= a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)a11=(a1*f+a3*x)/C,a12=(b1*f+b3*x)/C,a13=(c1*f+c3*f)/C,a14=y *sinω-((x*(x*cosκ-y*sinκ))/f+f*cosκ)cosω,a15=-f*sin κ-(x*(x*sinκ+y*cosκ)/f),a16=ya21=(a2*f+a3*x)/C,a22=(b2*f+b3*x)/C,a23=(c2*f+c3*x)/C,a24=-xsinω-((x*(x*cosκ-y*sinκ))/f-f*sinκ)cos ω,a25=-f*cosκ-(y*(x*sinκ+y*cosκ)/f),a26 =-x 误差方程的常系数(是像点坐标观测值与计算的近似值的差值):lx=x-(x) ,ly=y-(y)6、组成法方程,解求外方位元素改正数X=(A T A)-1A T L(A为误差方程的系数矩阵,L为误差方程的常系数矩阵,通过步骤5求得,此处先求A T A再求矩阵的逆矩阵,解得的改正数加上相应的近似值得到外方位元素新的近似值)7、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
摄影测量学实习报告5篇
摄影测量学实习报告摄影测量学实习报告精选5篇(一)实习报告:摄影测量学一、实习目的本次实习的主要目的是通过实际操作,了解摄影测量学的基本原理和方法,掌握航空摄影测量的流程和技术。
二、实习内容1. 学习基本理论知识通过课堂学习,了解摄影测量学的基本原理,学习航空摄影测量的相关知识,包括像空间、像对空间、光束法平差等。
2. 实地观摩航空摄影测量现场参观航空摄影测量实地测量现场,了解航空摄影测量的航摄设备和测量仪器的使用方法,观摩航摄过程,了解数据采集的流程。
3. 学习数据处理软件学习使用摄影测量数据处理软件,包括航空摄影测量数据处理软件和地理信息系统软件,学习数据处理的流程和方法。
4. 实际操作摄影测量针对实际问题,使用航空摄影测量设备进行实地测量,采集数据,并使用数据处理软件进行数据处理和分析,得出测量结果。
三、主要收获通过本次实习,我对摄影测量学有了更深入的了解和认识,掌握了航空摄影测量的基本原理和方法。
我学会了使用航空摄影测量设备进行实地测量,并熟练运用数据处理软件进行数据处理和分析。
在实践中,我进一步了解了数据采集的流程和数据处理的要点,提高了解决实际问题的能力。
四、存在问题在实习过程中,我发现自己在实际操作中出现了一些问题,比如摄影测量设备的操作不熟练,数据处理软件的使用不熟悉等。
这些问题需要进一步加强学习和实践,提高操作的熟练程度。
五、总结通过本次实习,我深入了解了摄影测量学的基本原理和方法,学会了使用航空摄影测量设备进行实地测量,并运用数据处理软件进行数据处理和分析。
这次实习加深了我对摄影测量学的理解,提高了解决实际问题的能力,并为今后的工作打下了坚实的基础。
摄影测量学实习报告精选5篇(二)在摄影测量实习期间,我有机会参与了多个摄影测量项目,并从中学到了许多实践知识和技巧。
以下是我在实习期间的一些心得体会:1. 熟悉测量仪器:在实习开始前,我花了一些时间熟悉常用的测量仪器,例如全站仪、导线仪等。
摄影测量实习报告
摄影测量实习报告在我大学四年的学习生涯中,有一个难忘而又充实的实习体验——摄影测量实习。
这个实习是我所学专业中非常重要的一门课程,旨在让我们掌握摄影测量的基本理论和实践技能。
在这篇文章中,我将分享我的实习经历和收获。
一、实习背景本次实习是在学校的实验室进行的。
实验室设备完善,有多套高精度的测量设备和机器,包括三角测量、相测量、降水测量等。
在实习前,我们需要学习相关理论知识,并接受系统的培训,熟悉各种仪器的操作、维护和调试。
二、实习内容在实习期间,我们首先进行了一系列的准备工作。
我们需要对测量地区进行实地勘测和标记控制点,以便于后续的测量工作。
在这个过程中,我们需要注重细节,特别是精度和精确度。
任何小的偏差都可能对测量结果产生影响。
其次,在掌握了测量理论和技能后,我们开始进行实际的测量工作。
在这一阶段,我们主要使用三角测量法和相测量法。
其中,三角测量法是通过测量三角形的边长和角度来计算三角形的形状和大小,进而确定测量点的位置;而相测量法则是通过摄影测量仪记录物体在不同角度下的影像,然后利用三角测量法计算出物体的空间位置。
三、实习收获通过这次实习,我不仅学到了许多摄影测量的理论知识和技能,还深刻感受到了团队合作的重要性。
在实习期间,我们必须密切合作,互相支持和协调,才能保证测量结果的准确性。
此外,实习也让我更加深入地了解了测量的重要性和广泛应用。
从地图制作、城市规划到生产建设,测量无处不在,是现代社会和经济发展的基础。
总的来说,摄影测量实习是一次非常珍贵和有意义的经历,它不仅扩展了我的知识面,提高了我的技能水平,更加深了我对于测量工作的重视和认识。
我相信,在今后的学习和工作中,这些经验和收获一定会对我产生积极的影响。
摄影测量学实验报告
课间实验报告2021年——2021年第2学期实验课程:摄影测量学实验班级:08级地理信息系统学生:学号:指导教师:**交通大学测量与空间数据处理实验室目录实验一:单像空间前方交会算法实现实验二:人眼立体相对观察实验一:单像空间前方交会算法实现一、实验目的通过用程序设计语言〔Visual C++或者C语言、C# 、VB语言〕编写一个完整的单片空间前方交会程序,通过对提供的一定数量的地面控制点进展计算,运用共线方程式反求输出像片的外方位元素并评定精度。
本实验的目的在于让学生深入理解单片空间前方交会的原理、方法,体会在有多余观测情况下,用最小二乘平差方法实现解求影像外方位元素的过程。
通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强学生综合运用所学知识解决实际问题的能力。
二、实验器材1.航片坐标量测数据,控制点成果表,航片摄影参数等:①航摄仪内方位元素:f=153.24㎜,000x y==,摄影比例尺:1/50000 ②4对控制点的影像坐标和地面坐标影像坐标地面坐标 X(㎜)y(㎜) X(m) Y(m) Z(m) 1-86.15 -68.89 36589.41 25273.32 2195.17 2-53.40 82.21 37631.08 31324.51 728.69 3-14.78 -76.63 39100.97 24934.98 2386.50 4 10.46 64.43 40426.54 30319.81 757.31试计算近似垂直摄影情况下空间前方交回的解③要求写出详细的解答过程三、 实验原理以单幅航空影像为根底,从该影像所覆盖地面范围内假设干控制点的地面坐标和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的外方位元素 。
由于空间前方交会所采用的数学模型共线方程是非线性函数,为了方便外方位元素的求解,需要首先对共线方程进展线性化。
四、 实验步骤运用程序设计语言编写计算过程代码,其代码编写原理为:1. 运用空间前方交会的根本公式:2. 误差方程式和法方程式的建立:3. 空间前方交会的计算过程为了能够在宏观上指导我们编写程序,我们需要在草稿纸上绘出程序框图。
摄影测量学空间后交-前交实验报告
中南大学本科生课程设计(实践)任务书、设计报告(摄影测量与遥感概论)题目:空间后方交会-前交院系:地球科学与信息物理学院班级:测绘1201班********学号:***********名:***二零一四年十一月一、实验目的通过对数字影像空间后交前交的程序设计实验,要求我们进一步理解和掌握影像外方位元素的有关理论、原理和方法。
利用计算机程序设计语言编写摄影测量空间交会软件进行快速确定影响的外方位元素及其精度,然后通过求得的外方位元素求解位置点的地面摄影测量坐标,达到通过摄影测量量测地面地理坐标的目的。
二、实验要求1.用C、VB、C++或MA TLAB语言编写空间后方交会-空间前方交会程序2.提交实习报告:程序框图、程序源代码、计算结果、体会3.计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度4.完成时间:11月11日前完成三、实验数据四、实验思路➢利用后方交会得出两张相片各自的外方位元素1)获取已知数据影响比例尺m,,内方位元素x0 、y0 、f ,控制点的地面摄影测量坐标Xtp, Ytp, Ztp2)量测控制点左片和右片的像点坐标 x,y3)确定未知数初值 Xs0, Ys0, Zs0, ω,φ,κ(线元素可用控制点均值代替,角元素可用0初始化),即:∑=Xtp X 41s0,∑=Ytp Y 41s0,f Z *m s =ω=0,φ=0,κ=0 4)计算旋转矩阵R5)利用共线方程逐点计算像点坐标的近似值 6)组成误差方程式并法化 7)解求外方位元素改正数8)检查迭代是否收敛(改正值是否小于某一特定常数) ➢ 利用解出的外方位元素进行前方交会1)获取已知数据x0 , y0 , f, XS1, YS1, ZS1,φ1,ω1,κ1 , XS2, YS2, ZS2,φ2,ω2,κ22)量测像点坐标 x1,y1 ,x2,y23)由外方位线元素计算基线分量BX, BY, BZ4)由外方位角元素计算像空间辅助坐标 X1, Y1, Z1 , X2, Y2, Z2 5)计算点投影系数 N1 , N2 6)计算地面坐标 XA, YA, ZA五、实验过程➢ 程序流程图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1的角度值)为止。
摄影测量实习报告-单片空间后方交会8页word文档
摄影测量实习报告实习内容:单片空间后方交会编程实习者:李友兵学号:0810050121指导老师:张金平老师实习时间:2019.05.30——2019.06.03一、实习目的与任务此次摄影测量实习主要是要自主编程实现单像空间后方交会,通过已知的内方位元素和控制点像点坐标和地面坐标求解六个外方位元素,在此过程中深入理解单像空间后方交会的原理和对编程的熟悉和理解(我用的是C语言编程),和对时间的合理运用,对知识的综合运用,培养理论的实际运用能力,任务是在一个星期内自主完成。
二、单片空间后方交会理论基础单像空间后方交会:是通过以像点平面坐标为观测值,以控制点坐标为已知值,利用共线条件方程和最小二乘原理,运用间接平差方法,通过迭代求解6个外方位元素。
程序设计的思路与流程三、程序设计的思路与流程(编程框架和步骤)1、根据内方位元素和已知的数据将控制点的框标坐标转换为像平面坐标系坐标:x=x′-x0,y=y′-y02、确定未知数的初始值:角元素初始值κ0=ω0=Φ0=0;线元素初始值Zs0=H=mf,Xs0=(X1+X2+X3+X4)/4,Ys0=(Y1+Y2+Y3+Y4)/43、利用角元素初始值计算方向余弦值组成旋转矩阵Ra1=cosΦ*cosκ-sinΦ*sinω*sinκ,a2=-cosΦ*sinκ-sinΦ*sin ω*cosκ,a3=-sinΦ*cosωb1=cosω*sinκ,b2=cosω*cosκ,b3=-sinωc1=sinΦ*cosκ+cosΦ*sinω*sinκ,c2=-sinΦ*sinκ+cosΦ*sin ω*cosκ,c3=cosΦ*cosω4、逐点计算控制点的像点坐标的近似值,共线方程为:x=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys) +c3*(Z-Zs))y=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys) +c3*(Z-Zs))(x)=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))(y)=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))5、组成误差方程:Vx=a11*dXs+a12*dYs+a13*dZs+a14*dΦ+a15*dω+a16*dκ+(x)-xVy=a21*dXs+a22*dYs+a23*dZs+a24*dΦ+a25*dω+a26*dκ+(y)-y系数求解(是共线方程分别外方位元素求导,是共线方程线性化的系数):变量代换A= a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)B= a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)C= a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)a11=(a1*f+a3*x)/C,a12=(b1*f+b3*x)/C,a13=(c1*f+c3*f)/C,a14=y *sinω-((x*(x*cosκ-y*sinκ))/f+f*cosκ)cosω,a15=-f*sin κ-(x*(x*sinκ+y*cosκ)/f),a16=ya21=(a2*f+a3*x)/C,a22=(b2*f+b3*x)/C,a23=(c2*f+c3*x)/C,a24=-xsinω-((x*(x*cosκ-y*sinκ))/f-f*sinκ)cosω,a25=-f*cosκ-(y*(x*sinκ+y*cosκ)/f),a26 =-x 误差方程的常系数(是像点坐标观测值与计算的近似值的差值):lx=x-(x) ,ly=y-(y)6、组成法方程,解求外方位元素改正数X=(A T A)-1A T L(A为误差方程的系数矩阵,L为误差方程的常系数矩阵,通过步骤5求得,此处先求A T A再求矩阵的逆矩阵,解得的改正数加上相应的近似值得到外方位元素新的近似值)7、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间后方交会-空间前方交会程序编程实验一.实验目的要求掌握运用空间后方交会-空间前方交会求解地面点的空间位置。
学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。
然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程。
二.仪器用具计算机、编程软件(MATLAB)三.实验数据实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。
此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程。
另外还内方位元素:f=152.000mm,x0=0,y0=0四.实验框图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1’的角度值)为止。
在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
在空间后方交会中运用的数学模型为共线方程确定Xs,Ys,Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs 和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs 和Ys的初始值。
Zs可取地面所有GCP的Z坐标的平均值再加上航高。
空间前方交会的数学模型为:五.实验源代码function Main_KJQHFJH()global R g1 g2 m G a c b1 b2;m=10000;a=5;c=4;feval(@shuru); %调用shuru()shurujcp()函数完成像点及feval(@shurujcp); %CCP有关数据的输入XYZ=feval(@MQZqianfangjh); %调用MQZqianfangjh()函数完成空间前方、%%%%%% 单位权中误差%%%% %后方交会计算解得外方位元素global V1 V2; %由于以上三个函数定义在外部文件中故需VV=[]; %用feval()完成调用过程for i=1:2*cVV(i)=V1(i);VV(2*i+1)=V2(i);endm0=sqrt(VV*(VV')/(2*c-6));disp('单位权中误差m0为正负:');disp(m0); %计算单位权中误差并将其输出显示输入GCP像点坐标及地面摄影测量坐标系坐标的函数和输入所求点像点坐标函数:function shurujcp()global c m;m=input('摄影比例尺:'); %输入GCP像点坐标数据函数并分别将其c=input('GCP的总数='); % 存入到不同的矩阵之中disp('GCP左片像框标坐标:');global g1;g1=zeros(c,2);i=1;while i<=cm=input('x=');n=input('y=');g1(i,1)=m;g1(i,2)=n;i=i+1;enddisp('GCP右片像框标坐标:');global g2;g2=zeros(c,2);i=1;while i<=cm=input('x=');n=input('y=');g2(i,1)=m;g2(i,2)=n;i=i+1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function shuru()global a;a=input('计算总像对点数='); %完成想计算所需的像平面坐标global b1; %坐标输入,存入不同的矩阵中b1=zeros(a,2);disp('左片像点坐标:')i=1;while i<=am=input('x=');n=input('y=');b1(i,1)=m;b1(i,2)=n;i=i+1;end%%global b2;b2=zeros(a,2);disp('右片像点坐标:')i=1;while i<=am=input('x=');n=input('y=');b2(i,1)=m;b2(i,2)=n;i=i+1;end%%global c;c=input('GCP的总数=');disp('GCP摄影测量系坐标:')global G;G=zeros(3,c);i=1;while i<=cm=input('X=');n=input('Y=');v=input('Z=');G(i,1)=m;G(i,2)=n;G(i,3)=v;i=i+1;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%空间前方交会和后方交会函数:function XYZ=MQZqianfangjh()global R1 R2 a f b1 b2 Ra Rb;global X1 X2;R1=Ra;R2=Rb;R1=zeros(3,3);R2=zeros(3,3);global g1 g2 G V1 V2 V WF c QXX QXX1 QXX2;xs0=(G(1,1)+G(3,1))/2;ys0=(G(1,2)+G(3,2))/2;[Xs1,Ys1,Zs1,q1,w1,k1 R]=houfangjh(g1,xs0,ys0); %对左片调用后方交会函数R1=R;V1=V;WF1=WF;QXX1=QXX;save '左片外方位元素为.txt' WF -ascii %将计算所得的外方位元素存入到.txt% 文件中for i=1:cg1(i,1)=g1(i,1)+V1(2*i-1);g1(i,2)=g1(i,2)+V1(2*i);endsave '左片像点坐标.txt' g1 -asciixs0=(G(2,1)+G(4,1))/2;ys0=(G(2,2)+G(4,2))/2;[Xs2,Ys2,Zs2,q2,w2,k2 R]=houfangjh(g2,xs0,ys0); %对右片调用后方交会函数R2=R;V2=V;WF2=WF;QXX2=QXX;save '右片外方位元素为.txt' WF –ascii %将计算所得的外方位元素存入到.txt% 文件中for i=1:cg2(i,1)=g2(i,1)+V2(2*i-1);g2(i,2)=g2(i,2)+V2(2*i);endsave '右片像点坐标.txt' g2 -asciiX1=zeros(a,3);X2=zeros(a,3);xx=zeros(3,1);xxx=zeros(3,1);for i=1:ass=[b1(i,1);b1(i,2);-f];dd=[b2(i,1);b2(i,2);-f];xx=R1*ss;X1(i,:)=xx';xxx=R2*dd;X2(i,:)=xxx';endglobal Xs1 Xs2 Ys1 Ys2 Zs1 Zs2;BX=Xs2-Xs1;BY=Ys2-Ys1;BZ=Zs2-Zs1;global N1 N2;N1=zeros(1,a);N2=zeros(1,a);for i=1:aN1(1,i)=(BX*X2(i,3)-BZ*X2(i,1))/(X1(i,1)*X2(i,3)-X2(i,1)*X1(i,3));N2(1,i)=(BX*X1(i,3)-BZ*X1(i,1))/(X1(i,1)*X2(i,3)-X2(i,1)*X1(i,3));end %计算投影系数,并计算五点的三维坐标global XYZ;XYZ=zeros(a,3);for i=1:aXYZ(i,1)=Xs1+N1(1,i)*X1(i,1);XYZ(i,3)=Zs1+N1(1,i)*X1(i,3);XYZ(i,2)=((Ys1+N1(1,i)*X1(i,2))+(Ys2+N2(1,i)*X2(i,2)))/2;enddisp('左片外方位元素为:Xs Ys Zs ψωκ');disp(WF1);disp('左片外方位元素协因素阵为:');disp(QXX1);disp('左片像点坐标为:')disp(g1)disp('右片外方位元素为:Xs Ys Zs ψωκ');disp(WF2);disp('右片外方位元素协因素阵为:')disp(QXX2)disp('右片像点坐标为:')disp(g2)disp('计算所得点摄影测量坐标(X,Y,Z)为:');disp(XYZ);save 'XYZ.txt' XYZ -ascii %将计算所得结果保存到XYZ.txt文件中%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [Xs,Ys,Zs,q,w,k R]=houfangjh(g1,Xs0,Ys0) %计算像片外方位元素%%%%%%%%%%global f G m c b1 b2;f=0.152;Xs=Xs0;Ys=Ys0;Zs=m*f+G(1,3);q=0;w=0;k=0;while 1 %实现一个永真循环,是改正数小于限差以后跳出循环a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);a3=-sin(q)*cos(w);b1_=cos(w)*sin(k);b2_=cos(w)*cos(k);b3=-sin(w);c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);c3=cos(q)*cos(w);R=[a1,a2,a3;b1_,b2_,b3;c1,c2,c3];aX=[];aY=[];aZ=[];for i=1:caX(i)=a1*(G(i,1)-Xs)+b1_*(G(i,2)-Ys)+c1*(G(i,3)-Zs);aY(i)=a2*(G(i,1)-Xs)+b2_*(G(i,2)-Ys)+c2*(G(i,3)-Zs);aZ(i)=a3*(G(i,1)-Xs)+b3*(G(i,2)-Ys)+c3*(G(i,3)-Zs);endxj=[];yj=[];for i=1:cxj(i)=-f*aX(i)/aZ(i);yj(i)=-f*aY(i)/aZ(i);enda11=[];a12=[];a13=[];a14=[];a15=[];a16=[];a21=[];a22=[];a23=[];a24=[];a25=[];a26=[];for i=1:ca11(i)=(a1*f+a3*g1(i,1))/aZ(i);a12(i)=(b1_*f+b3*g1(i,1))/aZ(i);a13(i)=(c1*f+c3*g1(i,1) )/aZ(i);a21(i)=(a2*f+a3*g1(i,2))/aZ(i);a22(i)=(b2_*f+b3*g1(i,2))/aZ(i);a23(i)=(c2*f+c3*g1(i,2) )/aZ(i);a14(i)=g1(i,2)*sin(w)-(g1(i,1)*(g1(i,1)*cos(k)-g1(i,2)*sin(k))/f+f*cos(k))*cos(w);a15(i)=-f*sin(k)-g1(i,1)*(g1(i,1)*sin(k)+g1(i,2)*cos(k))/f;a16(i)=g1(i,2);a24(i)=-g1(i,1)*sin(w)-(g1(i,2)*(g1(i,1)*cos(k)-g1(i,2)*sin(k))/f-f*sin(k))*cos(w);a25(i)=-f*cos(k)-g1(i,2)*(g1(i,1)*sin(k)+g1(i,2)*cos(k))/f;a26(i)=-g1(i,1);endlx=[];ly=[];for i=1:clx(i)=g1(i,1)-xj(i);ly(i)=g1(i,2)-yj(i);endA=zeros(2*c,6);for i=1:cA(2*i-1,1)=a11(i);A(2*i-1,2)=a12(i);A(2*i-1,3)=a13(i);A(2*i-1,4)=a14(i);A(2*i-1,5)=a15 (i);A(2*i-1,6)=a16(i);A(2*i,1)=a21(i); A(2*i,2)=a22(i); A(2*i,3)=a23(i); A(2*i,4)=a24(i); A(2*i,5)=a25(i); A(2*i,6)=a26(i);endL=zeros(2*c,1);for i=1:cL(2*i-1,1)=lx(i);L(2*i,1)=ly(i);endX=inv((A')*A)*(A')*L;Xs=Xs+X(1,1);Ys=Ys+X(2,1);Zs=Zs+X(3,1);q=q+X(4,1);w=w+X(5,1);k=k+X(6,1);Xabs=abs(X);aaa=max(Xabs);if aaa<0.00003 %当改正数中绝对值最大的改正数小于限差0.00003 break; %后跳出循环,计算结果已经收敛endendglobal V;V=L';global WF QXX;WF(1)=Xs;WF(2)=Ys;WF(3)=Zs;WF(4)=q;WF(5)=w;WF(6)=k;QXX=A'*A;六.实验结果左片外方位元素Xs,Ys,Zs,ψ、ω、κ、为:5.0001950e+003 5.0007250e+003 2.0201583e+003 -7.2888190e-005 2.8193877e-002 9.5130388e-002左片外方位元素协因素阵为:4.0166895e-008 -3.7263703e-010 1.3218695e-008 7.0720033e-005 1.0001730e-007 -2.5748604e-006-3.7263703e-010 4.0032797e-008 2.6568407e-009 -2.1103715e-007 7.7772275e-005 1.9993587e-0051.3218695e-0082.6568407e-009 1.7931301e-0083.1008915e-005 6.6697659e-006 5.6403374e-0077.0720033e-005 -2.1103715e-007 3.1008915e-005 1.3087511e-001 1.0148977e-003 -1.9981396e-0031.0001730e-007 7.7772275e-005 6.6697659e-006 1.0148977e-003 1.5539404e-001 3.0264331e-002-2.5748604e-006 1.9993587e-005 5.6403374e-007 -1.9981396e-003 3.0264331e-002 4.0721943e-002左片外方位元素Xs,Ys,Zs,ψ、ω、κ、为:5.8967023e+003 5.0687355e+003 2.0506347e+003 1.4337709e-002 4.6257617e-0021.1037952e-001右片外方位元素协因素阵为:3.9305329e-0084.9400147e-010 -1.0339207e-008 6.8065940e-005 -4.2504770e-007 1.8461496e-0064.9400147e-010 3.9051893e-008 3.3958896e-011 -3.9945442e-008 7.6312421e-005 -1.6453951e-005-1.0339207e-008 3.3958896e-011 1.5155886e-008 -2.3705097e-005 3.5940467e-007 -7.3527082e-0076.8065940e-005 -3.9945442e-008 -2.3705097e-005 1.2229164e-001 -2.3449223e-003 4.8281474e-003-4.2504770e-007 7.6312421e-005 3.5940467e-007 -2.3449223e-003 1.5233230e-001 -2.5374659e-0021.8461496e-006 -1.6453951e-005 -7.3527082e-007 4.8281474e-003 -2.5374659e-0023.6794789e-002GCP在左片和右片改正后的坐标(x,y)为:1.6019582e-002 7.9954660e-002 -7.3934212e-002 7.8699356e-0028.8559633e-002 8.1141190e-002 -5.2455612e-003 7.8187184e-0021.3352398e-002 -7.9378247e-002 -7.9125440e-002 -7.8877760e-0028.2242309e-002 -8.0017749e-002 -9.8858970e-003 -8.0086832e-002单位权中误差为:±1.515610577029578e-005所求地面点的三维坐标(X, Y, Z)为:5.4310348e+003 5.8851463e+003 5.4831646e+0025.1473645e+003 5.0555934e+003 4.8499600e+0025.4957931e+003 5.0826911e+003 5.0668967e+0025.8442434e+003 5.1098033e+003 5.3025650e+0025.5603279e+003 4.2870779e+003 4.6536459e+002七.心得体会经过三周的努力,这个当初看来艰巨的任务终于在我的不懈努力下圆满的完成了。