摄影测量实验报告(前方交汇后方交汇)

合集下载

摄影测量解析基础(后方交会前方交会)

摄影测量解析基础(后方交会前方交会)

06
结果输出
输出目标点的三维坐标数据。
前方交会方法的优缺点分析
优点 不需要地面控制点,可以在未知环境中进行测量。
可以快速获取大范围的三维空间信息。
前方交会方法的优缺点分析
• 适用于动态目标和快速测量场景。
前方交会方法的优缺点分析
01
缺点
02
03
04
对光照条件敏感,光照变化会 影响测量精度。
对摄影图像的质量要求较高, 需要清晰、分辨率高的图像。
随着科技的不断发展,摄影测量技术也在不断进步和完善,其在各个领域的应用 也日益广泛和深入。
摄影测量的历史与发展
01
摄影测量起源于19世纪中叶,当时人 们开始使用胶片相机进行地形测量。 随着技术的发展,数字相机逐渐取代 了胶片相机,使得摄影测量更加便捷 和高效。
02
近年来,随着计算机技术和人工智能 的飞速发展,摄影测量技术也取得了 重大突破。例如,无人机技术的兴起 使得摄影测量更加灵活、快速和安全 ;计算机视觉和深度学习技术的应用 则提高了影像解析的自动化和智能化 水平。
在复杂地形和遮挡严重的环境 中,前方交会方法可能会失效

05 实际应用案例
Hale Waihona Puke 后方交会方法应用案例总结词
通过已知的摄影站和地面控制点,解算出摄影中心和地面点的空间坐标。
详细描述
后方交会方法常用于地图更新、地籍测量和城市三维建模等领域。例如,在城市三维建模中,利用后方交会方法 可以快速准确地获取建筑物表面的空间坐标,为构建真实感强的城市三维模型提供数据支持。
图像获取
获取至少两幅不同角度的摄影图像。
01
02
像片处理
对图像进行预处理,包括图像校正、去噪等 操作。

摄影测量学后方交会matlab实习报告

摄影测量学后方交会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篇

摄影测量实习总结报告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-空间后方交会计算

摄影测量作业3-空间后方交会计算
5
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十、实验心得体会经过几个星期的努力,这个当初看似不可能完成的任务终于完成了,我感到很欣慰很有成就感。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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十、实验心得体会经过几个星期的努力,这个当初看似不可能完成的任务终于完成了,我感到很欣慰很有成就感。

相关文档
最新文档