摄影测量实验报告(前方交汇后方交汇)
摄影测量解析基础(后方交会前方交会)
06
结果输出
输出目标点的三维坐标数据。
前方交会方法的优缺点分析
优点 不需要地面控制点,可以在未知环境中进行测量。
可以快速获取大范围的三维空间信息。
前方交会方法的优缺点分析
• 适用于动态目标和快速测量场景。
前方交会方法的优缺点分析
01
缺点
02
03
04
对光照条件敏感,光照变化会 影响测量精度。
对摄影图像的质量要求较高, 需要清晰、分辨率高的图像。
随着科技的不断发展,摄影测量技术也在不断进步和完善,其在各个领域的应用 也日益广泛和深入。
摄影测量的历史与发展
01
摄影测量起源于19世纪中叶,当时人 们开始使用胶片相机进行地形测量。 随着技术的发展,数字相机逐渐取代 了胶片相机,使得摄影测量更加便捷 和高效。
02
近年来,随着计算机技术和人工智能 的飞速发展,摄影测量技术也取得了 重大突破。例如,无人机技术的兴起 使得摄影测量更加灵活、快速和安全 ;计算机视觉和深度学习技术的应用 则提高了影像解析的自动化和智能化 水平。
在复杂地形和遮挡严重的环境 中,前方交会方法可能会失效
。
05 实际应用案例
Hale Waihona Puke 后方交会方法应用案例总结词
通过已知的摄影站和地面控制点,解算出摄影中心和地面点的空间坐标。
详细描述
后方交会方法常用于地图更新、地籍测量和城市三维建模等领域。例如,在城市三维建模中,利用后方交会方法 可以快速准确地获取建筑物表面的空间坐标,为构建真实感强的城市三维模型提供数据支持。
图像获取
获取至少两幅不同角度的摄影图像。
01
02
像片处理
对图像进行预处理,包括图像校正、去噪等 操作。
摄影测量学后方交会matlab实习报告
摄影测量原理单张影像后方交会实习目录一实习目的 (3)二实习原理 (3)1. 间接平差 (3)2. 共线方程 (3)3. 单向空间后方交会 (4)三计算流程 (4)1. 求解步骤 (4)2.计算机框图 (4)四程序实现 (5)五结果分析 (6)1.外方位元素 (6)2.误差 (6)3.旋转矩阵R (7)六实习体会 (7)1. 平台的选择 (7)2.问题的解决 (7)3.心得体会 (8)七代码展示 (8)一实习目的为了增强同学们对后方交会公式的理解,培养同学们对迭代循环编程的熟悉感,本次摄影测量课间实习内容定为用C语言或其他程序编写单片空间后方交会程序,最终输出像点坐标、地面坐标、单位权中误差、外方位元素及其精度。
已知四对点的影像坐标和地面坐标如下。
内方位元素fk=153.24mm,x0=y0=0。
本次实习,我使用了matlab2014进行后方交会程序实现。
结果与参考答案一致,精度良好。
二实习原理题干中有四个控制点在地面摄影测量坐标系中的坐标和对应的像点坐标,由此可列出8个误差方程,存在2个多余观测(n=2)。
故可利用间接平差的最小二乘法则求解。
由于共线方程是非线性函数模型,为了方便计算,需要将其“线性化”。
但如果仅取泰勒级数展开式的一次项,未知数的近似值改正是不精确的。
因此必须采用迭代趋近法计算,直到外方位元素的改正值小于限差。
1.间接平差间接平差为平差计算最常用的方法。
在确定多个未知量的最或然值时,选择它们之间不存在任何条件关系的独立量作为未知量组成用未知量表达测量的函数关系、列出误差方程式,按最小二乘法原理求得未知量的最或然值的平差方法。
在一个间接平差问题中,当所选的独立参数X个数与必要观测值t个数相等时,可将每个观测值表达成这t个参数的函数,组成观测方程。
函数模型为:L = BX + d。
2.共线方程共线方程是中心投影构像的数学基础,也是各种摄影测量处理方法的重要理论基础。
式中:x,y 为像点的像平面坐标;x0,y0,f 为影像的内方位元素;XS,YS,ZS 为摄站点的物方空间坐标;XA,YA,ZA 为物方点的物方空间坐标;ai,bi,ci (i = 1,2,3)为影像的3 个外方位角元素组成的9 个方向余弦。
摄影测量实习总结报告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.实验结果四.实验总结此次实验让我深入了解单像空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
后方交会实验报告
摄影测量学实验报告实验名称:空间后方交会班级:测绘工程12-1一.实验目的掌握运用空间后方交会求解外方元素的过程。
学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用已知公式和计算机编程语言实现空间后方交会的过程,完成外方位元素的求解。
二.实验工具个人电脑,visual basic6.0三.实验源代码Private Sub Command1_Click()Dim c(),kx(),ky(),l(),aa(),a11(),a12(),a13(),a14(),a15(),a16(), a21(),a22(),a23(),a24(),a25()Dim a26(),v(),mm(5)nn=Val(Text2.Text)nnt=nn-1ReDim c(nnt,5),kx(nnt),ky(nnt),l(2*nnt+1,0),aa(2*nnt+1,5), a11(nnt),a12(nnt),a13(nnt),a14(nnt),a15(nnt),a16(nnt),a21(nnt), a22(nnt),a23(nnt),a24(nnt),a25(nnt)ReDim a26(nnt)f=Val(Text1.Text)fei=0#w=0#k=0#If Label2.Caption=""ThenMsgBox"尚未读取文本",,"提示信息"Elsea=Split(Label2.Caption,vbCrLf)For i=0To nnthh=Split(a(i),"")For j=0To5c(i,j)=Val(hh(j))Next jNext im1=(c(0,1)-c(1,1))^2+(c(0,2)-c(1,2))^2 m2=(c(0,3)-c(1,3))^2+(c(0,4)-c(1,4))^2 m=Sqr(m2/m1)zs=m*fxs=0ys=0For i=0To nntxs=xs+c(i,3)ys=xs+c(i,4)Next ixs=xs/nnys=ys/nnDoa1=Cos(fei)*Cos(k)-Sin(fei)*Sin(w)*Sin(k)a2=-Cos(fei)*Sin(k)-Sin(fei)*Sin(w)*Cos(k)a3=-Sin(fei)*Cos(w)b1=Cos(w)*Sin(k)b2=Cos(w)*Cos(k)b3=-Sin(w)c1=Sin(fei)*Cos(k)+Cos(fei)*Sin(w)*Sin(k)c2=-Sin(fei)*Sin(k)+Cos(fei)*Sin(w)*Cos(k)c3=Cos(fei)*Cos(w)For i=0To nntkx(i)=-f*(a1*(c(i,3)-xs)+b1*(c(i,4)-ys)+c1*(c(i,5)-zs)) /(a3*(c(i,3)-xs)+b3*(c(i,4)-ys)+c3*(c(i,5)-zs))ky(i)=-f*(a2*(c(i,3)-xs)+b2*(c(i,4)-ys)+c2*(c(i,5)-zs)) /(a3*(c(i,3)-xs)+b3*(c(i,4)-ys)+c3*(c(i,5)-zs))Next iFor i=0To nntl(i*2,0)=c(i,1)-kx(i)l(i*2+1,0)=c(i,2)-ky(i)Next iFor i=0To nntzb=(a3*(c(i,3)-xs)+b3*(c(i,4)-ys)+c3*(c(i,5)-zs))a11(i)=(a1*f+a3*c(i,1))/zba12(i)=(b1*f+b3*c(i,1))/zba13(i)=(c1*f+c3*c(i,1))/zba21(i)=(a2*f+a3*c(i,2))/zba22(i)=(b2*f+b3*c(i,2))/zba23(i)=(c2*f+c3*c(i,2))/zba14(i)=c(i,2)*Sin(w)-(c(i,1)*(c(i,1)*Cos(k)-c(i,2)*Sin(k)) /f+f*Cos(k))*Cos(w)a15(i)=-f*Sin(k)-c(i,1)/f*(c(i,1)*Sin(k)+c(i,2)*Cos(k))a16(i)=c(i,2)a24(i)=-c(i,1)*Sin(w)-(c(i,2)*(c(i,1)*Cos(k)-c(i,2)*Sin(k)) /f-f*Sin(k))*Cos(w)a25(i)=-f*Cos(k)-c(i,2)/f*(c(i,1)*Sin(k)+c(i,2)*Cos(k)) a26(i)=-c(i,1)Next iFor i=0To nntaa(2*i,0)=a11(i)aa(2*i,1)=a12(i)aa(2*i,2)=a13(i)aa(2*i,3)=a14(i)aa(2*i,4)=a15(i)aa(2*i,5)=a16(i)aa(2*i+1,0)=a21(i)aa(2*i+1,1)=a22(i)aa(2*i+1,2)=a23(i)aa(2*i+1,3)=a24(i)aa(2*i+1,4)=a25(i)aa(2*i+1,5)=a26(i)Next iReDim at(5,2*nnt+1),ata(5,5),nata(5,5),nataat(5,2*nnt+1), detx(5,0)at=zhuanzhi(aa)ata=cheng(at,aa)nata=qiuni(ata)nataat=cheng(nata,at)detx=cheng(nataat,l)xs=xs+detx(0,0)ys=ys+detx(1,0)zs=zs+detx(2,0)fei=fei+detx(3,0)w=w+detx(4,0)k=k+detx(5,0)Loop Until Abs(detx(0,0))<0.000001And Abs(detx(1,0))< 0.000001And Abs(detx(2,0))<0.000001And Abs(detx(3,0))<0.000001And Abs(detx(4,0))<0.000001And Abs(detx(5,0))< 0.000001ReDim v(2*nnt+1,0),ax(2*nnt+1,0)ax=cheng(aa,detx)v=jian(ax,l)vv=0For i=0To2*nnt+1vv=v(i,0)^2+vvNext imo=Sqr(vv/(2*nn-6))For i=0To5mm(i)=mo*Sqr(nata(i,i))Next itxtshow.Text=txtshow.Text&"外方元素为中误差为"&vbCrLf&"Xs"&xs&" "&mm(0)&vbCrLf&"Ys"&ys&" "&mm(1)&vbCrLf&"Zs"&zs&" "&mm(2)&vbCrLf&"Φ"&fei&"" &mm(3)&vbCrLf&"W"&w&"" &mm(4)&vbCrLf&"K"&k&""& mm(5)&vbCrLf&vbCrLftxtshow.Text=txtshow.Text&"报告时间:"&Year(Date)&Format(Month(Date),"00")& Format(Day(Date),"00")&vbCrLftxtshow.Text=txtshow.Text&"审批人签字:"End IfEnd SubPrivate Sub Command2_Click()CommonDialog1.Filter="文档|*.txt"CommonDialog1.ShowOpenLabel1.Caption=CommonDialog1.FileNameEnd SubPrivate Sub Command3_Click()Label2.Caption=""Dim mylineIf Label1.Caption<>""ThenOpen Label1.Caption For Input As#1Do While Not EOF(1)Line Input#1,mylineLabel2.Caption=Label2.Caption+myline+vbCrLfLoopClose#1End SubPrivate Sub Command4_Click()CommonDialog1.DialogTitle="保存文件" CommonDialog1.Filter="文档|*.doc" CommonDialog1.Action=2If CommonDialog1.FileName<>""ThenOpen CommonDialog1.FileName For Output As#1 Print#1,txtshow.TextClose#1End IfEnd SubPrivate Sub Command5_Click()txtshow.Text=""End SubPrivate Sub Command6_Click()If MsgBox("确认退出程序?",68,"提示信息")=6Then EndEnd IfEnd SubPublic Function cheng(a(),b())ReDim s(UBound(a,1),UBound(b,2))If UBound(a,2)<>UBound(b,1)Then MsgBox"不符合乘法要求"EndElseFor i=0To UBound(s,1)For j=0To UBound(s,2)s(i,j)=0For Q=0To UBound(a,2)s(i,j)=Val(s(i,j))+Val(a(i,Q))*Val(b(Q,j)) Next QNext jNext icheng=sEnd IfEnd FunctionPublic Function zhuanzhi(a())Dim sReDim s(UBound(a,2),UBound(a,1))For i=0To UBound(a,1)For j=0To UBound(a,2)s(j,i)=a(i,j)Next jNext izhuanzhi=sEnd FunctionPublic Function qiuni(m())Dim s()If UBound(m,1)<>UBound(m,2)Then MsgBox("求逆错误")EndElsen=UBound(m,1)Dim e(),m1,m2,m3ReDim e(n,2*n+1)ReDim s(n,2*n+1)For i=0To nFor j=0To ne(i,j)=m(i,j)Next jNext iFor i=0To nFor j=n+1To2*n+1e(i,j)=0Next jNext iFor i=0To ne(i,n+i+1)=1 Next iFor t=0To nIf e(t,t)=0Then For i=t+1To nFor j=0To2*n+1 s(i,j)=e(i,j)e(i,j)=e(t,j)e(t,j)=s(t,j)Next jIf e(t,t)<>0Then GoTo daima1End IfNext iIf e(t,t)=0Then MsgBox("求逆错误") EndGoTo lastlineEnd Ifdaima1:m1=e(t,t)For j=0To2*n+1e(t,j)=e(t,j)/m1Next jFor i=t+1To nm2=e(i,t)For j=0To2*n+1e(i,j)=e(i,j)-m2*e(t,j) Next jNext iNext tFor t=0To n-1For i=t+1To nm3=e(t,i)For j=0To2*n+1e(t,j)=e(t,j)-m3*e(i,j) Next jNext iNext tReDim c(n,n)For i=0To nFor j=0To nc(i,j)=Round(e(i,j+n+1),2)Next jNext iqiuni=cEnd Iflastline:End FunctionPublic Function jian(a(),b())Dim s,tReDim s(UBound(a,1),UBound(a,2))If UBound(a,1)<>UBound(b,1)Or UBound(a,2)<>UBound(b,2) ThenMsgBox"不符合减法要求"EndElseFor i=0To UBound(a,1)For j=0To UBound(a,2)s(i,j)=Val(a(i,j))-Val(b(i,j))Next jNext ijian=sEnd IfEnd FunctionPrivate Sub Form_Load()Form1.Image1.Top=0Form1.Image1.Left=0Form1.Image1.Width=Form1.Width Form1.Image1.Height=Form1.Height End SubPrivate Sub Form_Resize()Form1.Image1.Top=0Form1.Image1.Left=0Form1.Image1.Width=Form1.Width Form1.Image1.Height=Form1.Height End Sub四.实验框图获取已知数据量测控制点的像点坐标确定未知数初始值五.实验数据1-0.08615-0.0689936589.4125273.322195.17 2-0.053400.0822137631.0831324.51728.69 3-0.01478-0.0766339100.9724934.982386.5 40.010460.0644340426.5430319.81757.31六.实验截图七.实验心得此次实验让我更加了解空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
摄影测量作业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; }
摄影测量实习报告
摄影测量实习报告第一篇:摄影测量实习报告篇一:摄影测量实习报告一、实习任务利用自己所熟悉的一种编程语言,实现单像空间后方交会,解求此张像片的6个外方位元素,,ω,κ,范文之实习报告:摄影测量实习报告。
二、实习目的1、深刻理解单张像片空间后方交会的原理与意义;2、在存在多余观测值时,利用最小二乘平差方法,经过迭代,求的外方位元素的最佳值;3、熟悉vc编程方法,利用编程实现计算。
三、实习原理以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,求解该影象在航空摄影时刻的像片外方位元素,,ω,κ共线条件方程如下:x-x0=-f*[a1(x-xs)+b1(y-ys)+c1(z-zs)]/[a3(x-xs)+b3(y-ys)+c3(z-zs)] y-y0=-f*[a2(x-xs)+b2(y-ys)+c2(z-zs)]/[a3(x-xs)+b3(y-ys)+c3(z-zs)]其中:x,y为像点的像平面坐标;x0,y0,f为影像的外方位元素;,为摄站点的物方空间坐标;x,y,z为物方点的物方空间坐标;旋转矩阵r为;由于此共线条件方程是非线性方程,先对其进行线性化,利用泰勒展开得:=(x)-x++++++++ =(y)-y++++++++像点观测值一般视为等权,即p=i;矩阵形式:v=ax-l,p=i;通过间接平差,为提高精度,增加多余观测方程,根据最小二乘平差原理,可计算出外方位元素的改正数。
经过迭代计算,每次迭代用未知数的近似值与上次迭代计算的改正数之和作为新的近似值,重复计算,求出新的改正数,这样反复趋近,直到改正数小于某个限值为止。
四、程序框图输入原始数据归算像点坐标x,y计算并确定初值,,组成旋转矩阵r计算(x)(y)和逐点组成误差方程式并法化所有点完否?解法方程,求未知数改正数计算改正后的外方位元素未知数改正数<限差否?整理并输出计算结果正常结束非正常结束输出中间结果和出错信息迭代次数是否小于限差否?否否否是五、计算结果1、像点坐标,地面坐标点数像点编号 x y x y z 2像片内方位元素:f = 153.840 x0=y0=0摄影比例尺:1:2500运算结果:六、数据分析选取第六张像片进行计算,迭代次数为2次。
摄影测量实验报告(前方交汇后方交汇)
摄影测量学实验报告学院:地信院班级:测绘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十、实验心得体会经过几个星期的努力,这个当初看似不可能完成的任务终于完成了,我感到很欣慰很有成就感。
摄影测量学实习报告4篇
摄影测量学实习报告摄影测量学实习报告精选4篇(一)实习报告:摄影测量学一、实习目的本次实习的主要目的是通过实际操作,了解摄影测量学的基本原理和方法,掌握航空摄影测量的流程和技术。
二、实习内容1. 学习基本理论知识通过课堂学习,了解摄影测量学的基本原理,学习航空摄影测量的相关知识,包括像空间、像对空间、光束法平差等。
2. 实地观摩航空摄影测量现场参观航空摄影测量实地测量现场,了解航空摄影测量的航摄设备和测量仪器的使用方法,观摩航摄过程,了解数据采集的流程。
3. 学习数据处理软件学习使用摄影测量数据处理软件,包括航空摄影测量数据处理软件和地理信息系统软件,学习数据处理的流程和方法。
4. 实际操作摄影测量针对实际问题,使用航空摄影测量设备进行实地测量,采集数据,并使用数据处理软件进行数据处理和分析,得出测量结果。
三、主要收获通过本次实习,我对摄影测量学有了更深入的了解和认识,掌握了航空摄影测量的基本原理和方法。
我学会了使用航空摄影测量设备进行实地测量,并熟练运用数据处理软件进行数据处理和分析。
在实践中,我进一步了解了数据采集的流程和数据处理的要点,提高了解决实际问题的能力。
四、存在问题在实习过程中,我发现自己在实际操作中出现了一些问题,比如摄影测量设备的操作不熟练,数据处理软件的使用不熟悉等。
这些问题需要进一步加强学习和实践,提高操作的熟练程度。
五、总结通过本次实习,我深入了解了摄影测量学的基本原理和方法,学会了使用航空摄影测量设备进行实地测量,并运用数据处理软件进行数据处理和分析。
这次实习加深了我对摄影测量学的理解,提高了解决实际问题的能力,并为今后的工作打下了坚实的基础。
摄影测量学实习报告精选4篇(二)在摄影测量实习期间,我有幸能够参与实践,并且从中获得了许多宝贵的经验和体会。
首先,实习期间我学会了如何使用各种摄影测量仪器和设备。
我了解了测量仪器的工作原理,并且学会了准确地操作它们。
通过实际操作,我对测量仪器的性能和特点有了更深入的了解,这对于我今后的工作会有很大帮助。
摄影测量学单像空间后方交会编程实习报告
摄影测量学单像空间后方交会编程实习报告班级:130x姓名:xx学号:2013302590xxx指导老师:李欣一、实习目得通过对提供得数据进行计算,输出像片得外方位元素并评定精度。
深入理解单像空间后方交会得思想,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素得过程。
通过尝试编程实现加强编程处理问题得能力与对实习内容得理解,通过对实验结果得分析,增强综合运用所学知识解决实际问题得能力。
了解摄影测量平差得基本过程,掌握空间后方交会得定义与实现算法。
二、实习内容根据学习得单像空间后方交会得知识,用程序设计语言(C++或C语言)编写一个完整得单像空间后方交会程序,通过对提供得数据进行计算,输出像片得外方位元素并评定精度。
三、实习数据已知航摄仪得内方位元素:fk =153、24mm,x=y=0,摄影比例尺为1:15000;4个地面控制点得地面坐标及其对应像点得像片坐标:2 -53、40 82、21 37631、08 31324、51 728、693 -14、78 -76、63 39100、97 24934、98 2386、504 10、46 64、43 40426、54 30319、81 757、31四、实习原理如果我们知道每幅影像得6个外方位元素,就能确定被摄物体与航摄影像得关系。
因此,如何获取影像得外方位元素,一直就是摄影测量工作者所探讨得问题。
可采取得方法有:利用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像得外方位元素;也可以利用影像覆盖范围内一定数量得控制点得空间坐标与摄影坐标,根据共线条件方程,反求该影像得外方位元素,这种方法称为单幅影像得空间后方交会。
单像空间后方交会得基本思想就是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点得已知地面坐标与相应点得像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻得外方位元素Xs,Ys,Zs,ϕ,ω,κ。
后方交会实验报告
摄影测量学实验报告实验名称:空间后方交会班级:测绘工程12-1一.实验目的掌握运用空间后方交会求解外方元素的过程。
学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用已知公式和计算机编程语言实现空间后方交会的过程,完成外方位元素的求解。
二.实验工具个人电脑,visual basic 6.0三.实验源代码Private Sub Command1_Click()Dim c(), kx(), ky(), l(), aa(), a11(), a12(), a13(), a14(), a15(), a16(), a21(), a22(), a23(), a24(), a25()Dim a26(), v(), mm(5)nn = Val(Text2.Text)nnt = nn - 1ReDim c(nnt, 5), kx(nnt), ky(nnt), l(2 * nnt + 1, 0), aa(2 * nnt + 1, 5), a11(nnt), a12(nnt), a13(nnt), a14(nnt), a15(nnt), a16(nnt), a21(nnt), a22(nnt), a23(nnt), a24(nnt), a25(nnt)ReDim a26(nnt)f = Val(Text1.Text)fei = 0#w = 0#k = 0#If Label2.Caption = "" ThenMsgBox "尚未读取文本", , "提示信息"Elsea = Split(Label2.Caption, vbCrLf)For i = 0 To nnthh = Split(a(i), " ")For j = 0 To 5c(i, j) = Val(hh(j))Next jNext im1 = (c(0, 1) - c(1, 1)) ^ 2 + (c(0, 2) - c(1, 2)) ^ 2 m2 = (c(0, 3) - c(1, 3)) ^ 2 + (c(0, 4) - c(1, 4)) ^ 2 m = Sqr(m2 / m1)zs = m * fxs = 0ys = 0For i = 0 To nntxs = xs + c(i, 3)ys = xs + c(i, 4)Next ixs = xs / nnys = ys / nnDoa1 = Cos(fei) * Cos(k) - Sin(fei) * Sin(w) * Sin(k)a2 = -Cos(fei) * Sin(k) - Sin(fei) * Sin(w) * Cos(k)a3 = -Sin(fei) * Cos(w)b1 = Cos(w) * Sin(k)b2 = Cos(w) * Cos(k)b3 = -Sin(w)c1 = Sin(fei) * Cos(k) + Cos(fei) * Sin(w) * Sin(k)c2 = -Sin(fei) * Sin(k) + Cos(fei) * Sin(w) * Cos(k)c3 = Cos(fei) * Cos(w)For i = 0 To nntkx(i) = -f * (a1 * (c(i, 3) - xs) + b1 * (c(i, 4) - ys) + c1 * (c(i, 5) - zs)) / (a3 * (c(i, 3) - xs) + b3 * (c(i, 4) - ys) + c3 * (c(i, 5) - zs))ky(i) = -f * (a2 * (c(i, 3) - xs) + b2 * (c(i, 4) - ys) + c2 * (c(i, 5) - zs)) / (a3 * (c(i, 3) - xs) + b3 * (c(i, 4) - ys) + c3 * (c(i, 5) - zs))Next iFor i = 0 To nntl(i * 2, 0) = c(i, 1) - kx(i)l(i * 2 + 1, 0) = c(i, 2) - ky(i)Next iFor i = 0 To nntzb = (a3 * (c(i, 3) - xs) + b3 * (c(i, 4) - ys) + c3 * (c(i, 5) - zs))a11(i) = (a1 * f + a3 * c(i, 1)) / zba12(i) = (b1 * f + b3 * c(i, 1)) / zba13(i) = (c1 * f + c3 * c(i, 1)) / zba21(i) = (a2 * f + a3 * c(i, 2)) / zba22(i) = (b2 * f + b3 * c(i, 2)) / zba23(i) = (c2 * f + c3 * c(i, 2)) / zba14(i) = c(i, 2) * Sin(w) - (c(i, 1) * (c(i, 1) * Cos(k) - c(i, 2) * Sin(k)) / f + f * Cos(k)) * Cos(w)a15(i) = -f * Sin(k) - c(i, 1) / f * (c(i, 1) * Sin(k) + c(i, 2) * Cos(k))a16(i) = c(i, 2)a24(i) = -c(i, 1) * Sin(w) - (c(i, 2) * (c(i, 1) * Cos(k) - c(i, 2) * Sin(k)) / f - f * Sin(k)) * Cos(w)a25(i) = -f * Cos(k) - c(i, 2) / f * (c(i, 1) * Sin(k) + c(i, 2) * Cos(k))a26(i) = -c(i, 1)Next iFor i = 0 To nntaa(2 * i, 0) = a11(i)aa(2 * i, 1) = a12(i)aa(2 * i, 2) = a13(i)aa(2 * i, 3) = a14(i)aa(2 * i, 4) = a15(i)aa(2 * i, 5) = a16(i)aa(2 * i + 1, 0) = a21(i)aa(2 * i + 1, 1) = a22(i)aa(2 * i + 1, 2) = a23(i)aa(2 * i + 1, 3) = a24(i)aa(2 * i + 1, 4) = a25(i)aa(2 * i + 1, 5) = a26(i)Next iReDim at(5, 2 * nnt + 1), ata(5, 5), nata(5, 5), nataat(5, 2 * nnt + 1), detx(5, 0)at = zhuanzhi(aa)ata = cheng(at, aa)nata = qiuni(ata)nataat = cheng(nata, at)detx = cheng(nataat, l)xs = xs + detx(0, 0)ys = ys + detx(1, 0)zs = zs + detx(2, 0)fei = fei + detx(3, 0)w = w + detx(4, 0)k = k + detx(5, 0)Loop Until Abs(detx(0, 0)) < 0.000001 And Abs(detx(1, 0)) < 0.000001 And Abs(detx(2, 0)) < 0.000001 And Abs(detx(3, 0)) <0.000001 And Abs(detx(4, 0)) < 0.000001 And Abs(detx(5, 0)) < 0.000001ReDim v(2 * nnt + 1, 0), ax(2 * nnt + 1, 0)ax = cheng(aa, detx)v = jian(ax, l)vv = 0For i = 0 To 2 * nnt + 1vv = v(i, 0) ^ 2 + vvNext imo = Sqr(vv / (2 * nn - 6))For i = 0 To 5mm(i) = mo * Sqr(nata(i, i))Next itxtshow.Text = txtshow.Text & "外方元素为中误差为" & vbCrLf & "Xs " & xs & " " & mm(0) & vbCrLf & "Ys " & ys & " " & mm(1) & vbCrLf & "Zs " & zs & " " & mm(2) & vbCrLf & "Φ" & fei & " " & mm(3) & vbCrLf & "W " & w & " " & mm(4) & vbCrLf & "K " & k & " " & mm(5) & vbCrLf & vbCrLftxtshow.Text = txtshow.Text & " 报告时间:" & Year(Date) & Format(Month(Date), "00") & Format(Day(Date), "00") & vbCrLftxtshow.Text = txtshow.Text & " 审批人签字:"End IfEnd SubPrivate Sub Command2_Click()CommonDialog1.Filter = "文档|*.txt"CommonDialog1.ShowOpenLabel1.Caption = CommonDialog1.FileNameEnd SubPrivate Sub Command3_Click()Label2.Caption = ""Dim mylineIf Label1.Caption <> "" ThenOpen Label1.Caption For Input As #1Do While Not EOF(1)Line Input #1, mylineLabel2.Caption = Label2.Caption + myline + vbCrLfLoopClose #1End SubPrivate Sub Command4_Click()CommonDialog1.DialogTitle = "保存文件" CommonDialog1.Filter = "文档|*.doc" CommonDialog1.Action = 2If CommonDialog1.FileName <> "" ThenOpen CommonDialog1.FileName For Output As #1Print #1, txtshow.TextClose #1End IfEnd SubPrivate Sub Command5_Click()txtshow.Text = ""End SubPrivate Sub Command6_Click()If MsgBox("确认退出程序?", 68, "提示信息") = 6 Then EndEnd IfEnd SubPublic Function cheng(a(), b())ReDim s(UBound(a, 1), UBound(b, 2))If UBound(a, 2) <> UBound(b, 1) Then MsgBox "不符合乘法要求"EndElseFor i = 0 To UBound(s, 1)For j = 0 To UBound(s, 2)s(i, j) = 0For Q = 0 To UBound(a, 2)s(i, j) = Val(s(i, j)) + Val(a(i, Q)) * Val(b(Q, j)) Next QNext jNext icheng = sEnd IfEnd FunctionPublic Function zhuanzhi(a())Dim sReDim s(UBound(a, 2), UBound(a, 1))For i = 0 To UBound(a, 1)For j = 0 To UBound(a, 2)s(j, i) = a(i, j)Next jNext izhuanzhi = sEnd FunctionPublic Function qiuni(m())Dim s()If UBound(m, 1) <> UBound(m, 2) Then MsgBox ("求逆错误")EndElsen = UBound(m, 1)Dim e(), m1, m2, m3ReDim e(n, 2 * n + 1)ReDim s(n, 2 * n + 1)For i = 0 To nFor j = 0 To ne(i, j) = m(i, j)Next jNext iFor i = 0 To nFor j = n + 1 To 2 * n + 1e(i, j) = 0Next jNext iFor i = 0 To ne(i, n + i + 1) = 1 Next iFor t = 0 To nIf e(t, t) = 0 ThenFor i = t + 1 To nFor j = 0 To 2 * n + 1 s(i, j) = e(i, j)e(i, j) = e(t, j)e(t, j) = s(t, j)Next jIf e(t, t) <> 0 Then GoTo daima1End IfNext iIf e(t, t) = 0 Then MsgBox ("求逆错误") EndGoTo lastlineEnd Ifdaima1:m1 = e(t, t)For j = 0 To 2 * n + 1e(t, j) = e(t, j) / m1Next jFor i = t + 1 To nm2 = e(i, t)For j = 0 To 2 * n + 1e(i, j) = e(i, j) - m2 * e(t, j) Next jNext iNext tFor t = 0 To n - 1For i = t + 1 To nm3 = e(t, i)For j = 0 To 2 * n + 1e(t, j) = e(t, j) - m3 * e(i, j) Next jNext iNext tReDim c(n, n)For i = 0 To nFor j = 0 To nc(i, j) = Round(e(i, j + n + 1), 2)Next jNext iqiuni = cEnd Iflastline:End FunctionPublic Function jian(a(), b())Dim s, tReDim s(UBound(a, 1), UBound(a, 2))If UBound(a, 1) <> UBound(b, 1) Or UBound(a, 2) <> UBound(b, 2) ThenMsgBox "不符合减法要求"EndElseFor i = 0 To UBound(a, 1)For j = 0 To UBound(a, 2)s(i, j) = Val(a(i, j)) - Val(b(i, j))Next jNext ijian = sEnd IfEnd FunctionPrivate Sub Form_Load()Form1.Image1.Top = 0Form1.Image1.Left = 0Form1.Image1.Width = Form1.Width Form1.Image1.Height = Form1.Height End SubPrivate Sub Form_Resize()Form1.Image1.Top = 0Form1.Image1.Left = 0Form1.Image1.Width = Form1.Width Form1.Image1.Height = Form1.Height End Sub四.实验框图获取已知数据量测控制点的像点坐标确定未知数初始值五.实验数据1 -0.08615 -0.06899 36589.41 25273.32 2195.172 -0.05340 0.08221 37631.08 31324.51 728.693 -0.01478 -0.07663 39100.97 24934.98 2386.54 0.01046 0.06443 40426.54 30319.81 757.31 六.实验截图七.实验心得此次实验让我更加了解空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
摄影测量实习报告-单片空间后方交会
摄影测量实习报告实习内容:单片空间后方交会编程实习者:李友兵学号:**********指导老师:张金平老师实习时间: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、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
摄影测量学实验报告
课间实验报告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. 空间前方交会的计算过程为了能够在宏观上指导我们编写程序,我们需要在草稿纸上绘出程序框图。
2019年摄影测量学单像空间后方交会编程实习报告-范文word版 (13页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! == 摄影测量学单像空间后方交会编程实习报告篇一:摄影测量学单像空间后方交会编程实习报告摄影测量学单像空间后方交会编程实习报告班级:姓名:学号:201X302590xxx指导老师:李欣一、实习目的通过对提供的数据进行计算,输出像片的外方位元素并评定精度。
深入理解单像空间后方交会的思想,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。
通过尝试编程实现加强编程处理问题的能力和对实习内容的理解,通过对实验结果的分析,增强综合运用所学知识解决实际问题的能力。
了解摄影测量平差的基本过程,掌握空间后方交会的定义和实现算法。
二、实习内容根据学习的单像空间后方交会的知识,用程序设计语言(C++或C语言)编写一个完整的单像空间后方交会程序,通过对提供的数据进行计算,输出像片的外方位元素并评定精度。
三、实习数据已知航摄仪的内方位元素:fk=153.24mm,x0=y0=0,摄影比例尺为1:15000;4个地面控制点的地面坐标及其对应像点的像片坐标:四、实习原理如果我们知道每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。
因此,如何获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。
可采取的方法有:利用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;也可以利用影像覆盖范围内一定数量的控制点的空间坐标与摄影坐标,根据共线条件方程,反求该影像的外方位元素,这种方法称为单幅影像的空间后方交会。
单像空间后方交会的基本思想是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,?,ω,κ。
五、实习流程1. 获取已知数据。
摄影测量实习报告
摄影测量实习报告摄影测量实习报告——单张影像空间后方交会程序设计实习时间2013.5.20-2013.5.24学生班级测绘10-2班学生姓名刘航学生学号**********所在院系矿业工程学院指导教师张会战邵亚琴一、实习目的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 ,ф,ω,κ。
摄影测量学空间后交-前交实验报告
中南大学本科生课程设计(实践)任务书、设计报告(摄影测量与遥感概论)题目:空间后方交会-前交院系:地球科学与信息物理学院班级:测绘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)。
摄影测量学实验报告学院:地信院班级:测绘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十、实验心得体会经过几个星期的努力,这个当初看似不可能完成的任务终于完成了,我感到很欣慰很有成就感。