单向空间后方交会报告
单像空间后方交会名词解释

单像空间后方交会名词解释
单像空间后方交会是摄影测量学中的一个重要概念,它是指利用单个影像进行地物测量和定位的方法。
在单像空间后方交会中,通过对单张影像进行分析,可以确定地面上物体的位置和形状。
这个过程涉及到对影像中的特征点进行识别和匹配,然后利用相机内外参数以及影像上的像点坐标来计算地物的三维坐标。
单像空间后方交会的过程包括以下几个步骤,首先是对影像进行预处理,包括去畸变、影像配准等操作;然后是特征点的提取和匹配,这一步是通过计算机视觉算法来实现的,可以利用角点、边缘等特征来进行匹配;接下来是相机内外参数的标定,这一步是为了将像素坐标转换为实际世界坐标而进行的;最后是利用已知的相机参数和像点坐标来计算地物的三维坐标。
单像空间后方交会在航空摄影、遥感影像解译和地图制图等领域有着广泛的应用。
它可以通过对单张影像的处理,实现对地物的测量和定位,为地理信息系统和地图制图提供了重要的数据基础。
同时,随着计算机视觉和图像处理技术的不断发展,单像空间后方交会的精度和效率也在不断提高,为各种应用领域提供了更加可靠和精确的地物信息。
单像空间后方交会实习报告

单像空间后方交会实习报告一、实习目的单像空间后方交会是摄影测量中确定像片外方位元素的重要方法。
通过本次实习,旨在深入理解单像空间后方交会的基本原理和计算过程,熟练掌握相关软件的操作,提高对摄影测量数据处理的实践能力,并培养解决实际问题的思维和方法。
二、实习原理单像空间后方交会的目的是利用像片上的像点坐标以及相应的地面控制点坐标,通过数学模型求解像片的外方位元素(三个线元素 Xs、Ys、Zs 和三个角元素φ、ω、κ)。
其基本原理基于共线条件方程,即摄影中心、像点和相应的地面点位于同一条直线上。
共线条件方程可以表示为:\\begin{align}x x_0&= f\frac{a_1(X X_s) + b_1(Y Y_s) + c_1(Z Z_s)}{a_3(X X_s) + b_3(Y Y_s) + c_3(Z Z_s)}\\y y_0&= f\frac{a_2(X X_s) + b_2(Y Y_s) + c_2(Z Z_s)}{a_3(X X_s) + b_3(Y Y_s) + c_3(Z Z_s)}\end{align}\其中,\((x,y)\)为像点坐标,\((x_0,y_0)\)为主点坐标,\(f\)为摄影机焦距,\((X,Y,Z)\)为地面点的物方空间坐标,\((X_s,Y_s,Z_s)\)为摄影中心的物方空间坐标,\((a_1,b_1,c_1),(a_2,b_2,c_2),(a_3,b_3,c_3)\)为由角元素φ、ω、κ 构成的旋转矩阵的元素。
三、实习数据本次实习使用了一组航空像片,像片比例尺为 1:5000,焦距为152mm,像主点坐标为\((x_0,y_0)=(5000mm,5000mm)\)。
同时,提供了 6 个均匀分布在像片范围内的地面控制点的物方空间坐标和像点坐标。
四、实习步骤1、数据准备整理地面控制点的物方空间坐标和像点坐标,确保数据的准确性。
输入像片的基本参数,如像主点坐标、焦距等。
单向空间后方交会名词解释

单向空间后方交会名词解释
单向空间后方交会是指在测量学中用于确定目标位置的一种方法。
它通常用于地理测量、导航和航空航天领域。
在这种方法中,
通过测量目标物体在不同位置的角度和距离,然后利用三角测量原
理来计算目标物体的位置坐标。
这种方法需要至少两个观测点,每
个观测点都测量目标物体与自身的角度和距离,然后通过三角计算
来确定目标物体的位置。
这种方法通常用于需要测量远距离目标位
置的情况,例如在航空航天领域中用于确定飞行器或卫星的位置。
单向空间后方交会方法的优点之一是可以通过简单的测量手段
来确定目标位置,而不需要直接测量目标物体与观测点之间的距离。
这使得它在某些情况下比其他测量方法更为实用和经济。
然而,这
种方法也有一些局限性,例如需要准确的角度测量和观测点之间的
相对位置确定等要求。
同时,由于测量误差的累积,可能会对最终
的位置计算结果产生一定的影响。
总的来说,单向空间后方交会是一种常用的测量方法,它通过
角度和距离测量来确定目标位置,适用于需要测量远距离目标位置
的情况。
然而,在实际应用中需要注意测量精度和误差控制等因素,以确保最终计算结果的准确性。
单像空间后方交会实习报告

单像空间后方交会实习报告摘要本报告旨在总结并评估笔者在单像空间后方交会实习中的经验和收获。
首先,报告介绍了单像空间后方交会实习的目的和背景。
接着,报告详细描述了实习期间所进行的实验和操作步骤。
在实习过程中,笔者遇到了一些挑战,但通过团队合作和专业指导取得了成功。
最后,报告总结了实习对于个人职业发展的重要性,并提出了改进实习体验的建议。
1. 引言单像空间后方交会是测量和分析地球或其他星球上的点的空间坐标的方法之一。
该方法通过将来自不同位置的图像投影到一个共同的平面上,并在该平面上对图像进行测量和分析,以确定点的坐标。
本实习旨在将现实生活中的实地测量和图像处理技术相结合,通过实际操作了解和掌握单像空间后方交会的原理和应用。
2. 实习过程本次实习分为三个步骤:图像获取、图像处理和空间坐标计算。
2.1 图像获取首先,为了进行后续的图像处理和分析,我们需要获取一组具有不同视角的图像。
为了实现这个目标,我们选择了一片公共景区进行实地测量。
在测量过程中,我们使用了专业的测量设备和相机,并按照一定的间隔和角度拍摄了一组图像。
这些图像将被用于后续的图像处理和分析。
2.2 图像处理在图像处理阶段,我们使用了专业的图像处理软件对获取到的图像进行处理。
首先,我们使用了相机标定算法对相机内外参数进行校准,以保证后续测量的精度和准确度。
然后,我们对每张图像进行了特征点提取和匹配,以建立图像之间的对应关系。
最后,根据所获得的对应关系,我们重建了图像场景的三维模型,并将其用于后续的空间坐标计算。
2.3 空间坐标计算在空间坐标计算阶段,我们使用了单像空间后方交会的原理,计算了每个图像特征点的空间坐标。
首先,我们将图像场景的三维模型与图像上的特征点进行对应,以确定特征点在三维空间中的位置。
然后,我们利用三角测量原理计算出特征点的三维坐标。
最后,通过对所有图像特征点的计算,我们可以得到目标点的空间坐标。
3. 实习挑战与解决在实习过程中,我们遇到了一些挑战,如图像质量、算法调优和测量误差等。
单向后方交会实验报告

班级:测绘一班 学号:20133279日期:2015426Southw^ JIaotong UnjiverSity、计算原理.二、算法流程.三、源程序.四、计算结果.五、结果分析.六、心得体会. 目录131313、计算原理已知条件摄影机主距f=153.24mm, xO=O, yO=O,像片比例尺为1:40000,有四对点的像点坐标与相应的地面坐标如下表。
二、算法流程(1)获取已知数据。
从航摄资料中差取平均航高与摄影机主距;获取控制点的地面测量坐标并转换为地面摄影坐标。
(2)量测控制点的像点坐标并作系统误差改正。
(3)确定未知数的初始值。
在竖直摄影且地面控制点大体对称分布的情况下,按如下方法确定初始值,即x S 上,Y s0n丄Z0n,Z s mf(4)用三个角元素的初始值按下式,计算各个方向余弦值,组成旋转矩阵R31 cos cos sin sin sina2cos sin sin sin cos33 sin cosb1 cos sinb2 cos cosb3 sinC1 sin cos cos sin sin'c sin sin cos sin cosC3 cos cos(5)逐点计算像点坐标的近似值。
禾I」用未知数的近似值和控制点的地面坐标; 带入共线方程式,逐点近似像点坐标的近似值((6)(7) X)、(y)。
逐点计算误差方程式的系数和常数项,组成误差方程式。
计算法方程的系数矩阵A A和常数项A L L,组成法方程式。
(8) 解法方程,求得外方位元素的改正数dX s、dY s、dZ s、d、d、d 。
(9)用前次迭代取得的近似值,加本次迭代的改正数,xr xL dX S\Y S K Y S K1 dY S K,Z K 计算外方位元素的新值。
z K1dz(K K 1 . K K K 1 . K Kd , d ,(10)将求得的外方位元素改正数与规定的限差比较,负责用新的近似值重复(4)-(9),直到满足要求为止。
单向空间后方交会报告

单向空间后方交会程序设计报告课题名称计算单向空间后方交会 姓 名胡小伟 学 号 2009301610207学院、班级 测绘学院0906班方向A2011年 10月18日※※※※※※※※※※※※※※※ 单向空间后方交会程序设计报告(1)编程工具:Matlab R2010a(2)程序代码:已知值及初始值控制点:x(mm) y(mm)-11.00 -13.8010.48 -6.4410.78 8.3122.712 8.32X(m) Y(m) Z(m)500017.19 4185066.00 885.40500452.19 4185197.50 915.82500470.16 4185494.50 928.76500302.16 4185489.00 949.71焦距:28.1359(mm)外方位元素初值:X(m) Y(m) Z(m) phi(rad) omega(rad) kappa(rad) 500215.49 4185301.89 1475.56 0.054882 0.057034 -0.036175%单向空间后方交会clc;%主距mf=28.1359/1000;%像点坐标mxy = [-11.00 -13.8010.48 -6.4410.78 8.3122.712 8.32]/1000;%地面坐标mXYZ = [500017.19 4185066.00 885.40;500452.19 4185197.50 915.82;500470.16 4185494.50 928.76;500302.16 4185489.00 949.71];%比例尺m=(sqrt((XYZ(1,1)-XYZ(2,1))^2+(XYZ(1,2)-XYZ(2,2))^2))/...(sqrt((xy(1,1)-xy(2,1))^2+(xy(1,2)-xy(2,2))^2))%初值XS0=500215.49YS0=4185301.89ZS0=1475.56H=m*fFai0=0.054882Oum0=0.057034Kpa0=-0.036175a1=cos(Fai0)*cos(Kpa0)-sin(Fai0)*sin(Oum0)*sin(Kpa0);a2=-cos(Fai0)*sin(Kpa0)-sin(Fai0)*sin(Oum0)*cos(Kpa0);a3=-sin(Fai0)*cos(Oum0);b1=cos(Oum0)*sin(Kpa0);b2=cos(Oum0)*cos(Kpa0);b3=-sin(Oum0);c1=sin(Fai0)*cos(Kpa0)+cos(Fai0)*sin(Oum0)*sin(Kpa0);c2=-sin(Fai0)*sin(Kpa0)+cos(Fai0)*cos(Oum0)*cos(Kpa0);c3=cos(Fai0)*cos(Oum0);for i=1:4f=28.1359/1000;x(i)=-f*(a1*(XYZ(i,1)-XS0)+b1*(XYZ(i,2)-YS0)+c1*(XYZ(i,3)-ZS0))/...(a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0));y(i)=-f*(a2*(XYZ(i,1)-XS0)+b2*(XYZ(i,2)-YS0)+c2*(XYZ(i,3)-ZS0))/...(a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0));lx(i)=xy(i,1)-x(i);ly(i)=xy(i,2)-y(i);endxyL=[lx(1);lx(1); lx(2);lx(2);lx(3);lx(3); lx(4);lx(4)]A1=[-f/H 0 -xy(1,1)/H -f*(1+(xy(1,1)^2)/(f^2)) -(xy(1,1))*(xy(1,2)/f) xy(1,2)0 -f/H -(xy(1,2))/H -(xy(1,1))*(xy(1,2)/f) -f*(1+(xy(1,2)^2)/(f^2)) -xy(1,2)]; A2=[-f/H 0 -xy(2,1)/H -f*(1+(xy(2,1)^2)/(f^2)) -(xy(2,1))*(xy(2,2)/f) xy(2,2)0 -f/H -(xy(2,2))/H -(xy(2,1))*(xy(2,2)/f) -f*(1+(xy(2,2)^2)/(f^2)) -xy(2,2)]; A3=[-f/H 0 -xy(3,1)/H -f*(1+(xy(3,1)^2)/(f^2)) -(xy(3,1))*(xy(3,2)/f) xy(3,2)0 -f/H -(xy(3,2))/H -(xy(3,1))*(xy(3,2)/f) -f*(1+(xy(3,2)^2)/(f^2)) -xy(3,2)]; A4=[-f/H 0 -xy(4,1)/H -f*(1+(xy(4,1)^2)/(f^2)) -(xy(4,1))*(xy(4,2)/f) xy(4,2)0 -f/H -(xy(4,2))/H -(xy(4,1))*(xy(4,2)/f) -f*(1+(xy(4,2)^2)/(f^2)) -xy(4,2)]; A=[A1;A2;A3;A4];X=(A'*A)\A'*LXS1=(XS0+X(1))YS1=(YS0+X(2))ZS1=(ZS0+X(3))Fai1=Fai0+X(4)Oum1=Oum0+X(5)Kpa1=Kpa0+X(6)XS1=(XS0+X(1))YS1=(YS0+X(2))ZS1=(ZS0+X(3))jishu=1;while (abs((Fai1-Fai0)>0.000003)||(abs(Oum1-Oum0)>0.000003)...||(abs(Kpa1-Kpa0))>0.000003)jishu=jishu+1XS0=XS1YS0=YS1ZS0=ZS1Fai0=Fai1Oum0=Oum1Kpa0=Kpa1a1=cos(Fai0)*cos(Kpa0)-sin(Fai0)*sin(Oum0)*sin(Kpa0);a2=-cos(Fai0)*sin(Kpa0)-sin(Fai0)*sin(Oum0)*cos(Kpa0);a3=-sin(Fai0)*cos(Oum0);b1=cos(Oum0)*sin(Kpa0);b2=cos(Oum0)*cos(Kpa0);b3=-sin(Oum0);c1=sin(Fai0)*cos(Kpa0)+cos(Fai0)*sin(Oum0)*sin(Kpa0);c2=-sin(Fai0)*sin(Kpa0)+cos(Fai0)*cos(Oum0)*cos(Kpa0);c3=cos(Fai0)*cos(Oum0);for i=1:4f=28.1359/1000;x(i)=-f*(a1*(XYZ(i,1)-XS0)+b1*(XYZ(i,2)-YS0)+c1*(XYZ(i,3)-ZS0))/...(a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0));y(i)=-f*(a2*(XYZ(i,1)-XS0)+b2*(XYZ(i,2)-YS0)+c2*(XYZ(i,3)-ZS0))/...(a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0));lx(i)=xy(i,1)-x(i);ly(i)=xy(i,2)-y(i);endxyL=[lx(1);lx(1); lx(2);lx(2);lx(3);lx(3); lx(4);lx(4)]A1=[-f/H 0 -xy(1,1)/H -f*(1+(xy(1,1)^2)/(f^2)) -(xy(1,1))*(xy(1,2)/f) xy(1,2)0 -f/H -(xy(1,2))/H -(xy(1,1))*(xy(1,2)/f) -f*(1+(xy(1,2)^2)/(f^2)) -xy(1,2)]; A2=[-f/H 0 -xy(2,1)/H -f*(1+(xy(2,1)^2)/(f^2)) -(xy(2,1))*(xy(2,2)/f) xy(2,2)0 -f/H -(xy(2,2))/H -(xy(2,1))*(xy(2,2)/f) -f*(1+(xy(2,2)^2)/(f^2)) -xy(2,2)]; A3=[-f/H 0 -xy(3,1)/H -f*(1+(xy(3,1)^2)/(f^2)) -(xy(3,1))*(xy(3,2)/f) xy(3,2)0 -f/H -(xy(3,2))/H -(xy(3,1))*(xy(3,2)/f) -f*(1+(xy(3,2)^2)/(f^2)) -xy(3,2)]; A4=[-f/H 0 -xy(4,1)/H -f*(1+(xy(4,1)^2)/(f^2)) -(xy(4,1))*(xy(4,2)/f) xy(4,2)0 -f/H -(xy(4,2))/H -(xy(4,1))*(xy(4,2)/f) -f*(1+(xy(4,2)^2)/(f^2)) -xy(4,2)]; A=[A1;A2;A3;A4];X=(A'*A)\A'*LFai1=Fai0+X(4)Oum1=Oum0+X(5)Kpa1=Kpa0+X(6)XS1=(XS0+X(1))YS1=(YS0+X(2))ZS1=(ZS0+X(3))end(3)运行结果:改正数:X =1.0e-003 *0.880693463596646-0.173862879363425-0.160454437823512-0.0014419260245700.0003069730686500.000107948847312外方位元素:Fai =0.054994013287714Oum =0.056571816845093Kpa =-0.036172713831137XS =5.002154276846778e+005YS =4.185302159274295e+006ZS =1.475497145016308e+003(4)心得体会通过本次编程,我对单向空间后方交会的算法有了直观、深入的了解,并对Matlab的使用有了进一步的认识。
单像空间后方交会实习报告

单像空间后方交会实习报告一、引言在我参加实习项目期间,我有幸在测绘工程实践中学习到了单像空间后方交会的相关知识和技能。
本报告旨在总结和详细介绍我在这个项目中所学到的内容,并分享我在实践中的经验和感悟。
二、实习背景实习项目的目标是通过使用单像空间后方交会方法对给定的影像数据进行三维测量,实现对地物位置和形状的准确测绘。
实习过程中,我所参与的任务是基于无人机获取的航片进行测绘,希望能达到较高的准确性和精度。
三、实习内容1. 影像数据获取与准备为了能够进行后方交会,首先我需要获取一组高质量、清晰度较高的影像数据。
在实习项目中,我们使用了专业的无人机拍摄了一系列航测相片。
在选择相机设备、安装和定位无人机方面,我们尽可能保证了影像的质量和准确性。
2. 影像处理和点提取获取到影像数据后,对影像进行预处理以满足后方交会的需要。
这一步骤包括图像的几何校正、色调校正等。
接下来,从影像中手动或者自动提取出具有明显特征点的区域,作为后方交会的控制点。
3. 单像空间后方交会参数计算在进行后方交会之前,需要确定准确的内、外方位元素。
内方位元素包拟化比例分母纸试验、比例尺、转分度仪、坐标尺等设备。
外方位元素的测量利用经纬度、高程等信息,通过空间三角测量的方法来计算。
4. 控制点的标定和精度评定为了保证交会精度,需要至少有三个以上的控制点,同时还需在计算之前对这些控制点进行标定。
控制点的标定首先进行坐标基准的精确定义,然后通过重复测量来评估控制点的精度。
5. 三维坐标的计算根据前面计算得到的内、外方位元素以及控制点的坐标,可以利用单像空间后方交会的方法来计算其它像上点的坐标。
这一步骤主要涉及相对定向和绝对定向的计算,其中相对定向可以通过一些数学模型和算法来实现。
四、实习总结通过参与单像空间后方交会实习项目,我深刻认识到了测绘工程的重要性和挑战性。
在实践中,我学到了很多相关的知识和技能。
首先,我掌握了使用无人机获取影像数据的方法和技巧,了解了影像处理的基本步骤和注意事项。
单片空间后方交会

VA xl
x(ATA)1(ATl)
V
v v
x y
,
X s
x
Ys Z s
,
l
x0 y 0
x y
A
a11 a 2 1
a12 a 22
a13 a 23
a14 a 24
a15 a 25
a16 a 2 6
0
V TV 2n 6
Qx x(ATA)1
mi 0 Qxiix
《摄影测量学》(上)第四章
单片空间后方交会
武汉大学
遥感信息工程学院 摄影测量教研室
精选课件
主要内容
一、定义 二、误差方程和法方程 三、计算过程
精选课件
一、定义
z y
x s(Xs, Ys, Zs)
Z a
bc
Y
A
C
B
根据影像覆盖范 围内一定数量的 分布合理的地面 控制点(已知其 像点和地面点的 坐标),利用共 线条件方程求解 像片外方位元素
X
二、误差方程
已知值 x0 , y0 , f , m, X, Y, Z 观测值 x,y 未知数 Xs, Ys, Zs, , , , 泰勒级数展开
vx x x x X xsX s Y x sY s Z xsZ sx0x vy y y y X ysX s Y y sY s Z ysZ sy0y
张剑清,潘励,王树根 编著,《摄影测量学》,武汉大学出版社
参考书
1、李德仁,周月琴 等编,《摄影测量与遥感概论》,测绘出版社 2、李德仁,郑肇葆 编著,《解析摄影测量学》,测绘出版社
精选课件
课间实习
内容
用 C 或 C++ 语言编写单片空间后方交会程序
基于加权整体最小二乘的单像空间后方交会解算

基于加权整体最小二乘的单像空间后方交会解算朱笑笑;曹泽强【摘要】在常规单像空间后方交会的解算过程中,整体最小二乘(TIS)算法在减小地面控制点及观测变量存在的误差方面有较广泛的应用.但在解算不等精度测量时,直接采用TLS算法进行参数估计易出现解失真的情况,因此为提高解算精度,可以为不同观测值定权,进行外方位元素的计算.本文以解算全微分共线方程为研究主线,并引进协因数阵为观测值定权,尝试采用加权整体最小二乘算法(WTLS)对单像空间后方交会进行解算.实验结果表明,本文算法较最小二乘算法与整体最小二乘算法在精度和准确度方面均有较大提高,在单像空间后方交会解算中具有较好的应用前景.【期刊名称】《现代测绘》【年(卷),期】2019(042)001【总页数】3页(P18-20)【关键词】单像空间后方交会;参数估计;加权整体最小二乘算法【作者】朱笑笑;曹泽强【作者单位】江苏师范大学地理测绘与城乡规划学院,江苏徐州221000;江苏师范大学地理测绘与城乡规划学院,江苏徐州221000【正文语种】中文【中图分类】P2070 引言单像空间后方交会是以共线方程为基础,利用航摄像片上3个及以上的像点坐标(X,Y,Z)及其对应的地面点坐标(X A,Y A,Z A),计算像片外方位元素的工作[1]。
当存在多余观测时,为得到参数的最佳估值,通常采用经典最小二乘算法(Least Squares,LS)对误差方程式进行求解[2]。
采用该算法的前提是偶然误差仅存在于观测向量b 中,而系数矩阵A 不含误差[3]。
然而在很多情况下,控制点的像片坐标和地面坐标均存在误差[4],因而通过共线方程解算外方位元素[5]必须考虑系数矩阵A 中的误差。
为了兼顾两部分的误差,建立更合理的解算模型,Chen[1]等引入了整体最小二乘(Total Least Squares,TLS)算法。
该算法可用于解决观测变量含误差(Errors-In-Variables,EIV)[6]的模型估计问题。
(完整word版)单像空间后方交会程序报告

单像空间后方交会程序报告指导老师:刘老师班级:测绘 101姓名:尚锋学号:19号1、应用程序的主进口部分的代码:using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace 单像空间后方交会{static class Program{///<summary>///应用程序的主进口点。
///</summary>[ STAThread]static void Main(){Application .EnableVisualStyles();Application .SetCompatibleTextRenderingDefault( false );Application .Run( new Form1());}}}2、方法解算类(通用)部分的代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 单像空间后方交会{class Tongyong{struct image_point // 一个像点结构,包括像点坐标和地面点坐标{public double x;public double y;public double X;public double Y;public double Z; }private private private private private private private private private private private private private publicdouble f;// 主距double u;//u 为外方向元素,下边 5个同样double w;double k;double Xs;double Ys;double Zs;image_point [] p = new image_point [4];// 四个控制点double [] R = new double [9]; // 旋转矩阵double [] a = new double [8];// 像点坐标近似值double [,] A =new double [8, 6];// 偏差方程式系数double [] L = new double [8];// 偏差方程式常数项int count = 0;// 统计代次数Tongyong( double g, double [] q)// 结构函数,初始化各变量 , 单位 m{f = g;for ( int i = 0; i < 4; i++){int j = i * 5;p[i].x = q[j];p[i].y = q[j + 1];p[i].X = q[j + 2];p[i].Y = q[j + 3];p[i].Z = q[j + 4];}double ave = 0, sum = 0;for ( int i = 0; i < 3; i++)// 求比率尺分母{for ( int j = i + 1; j < 4; j++){sum += Math.Pow(p[i].Y - p[j].Y, 2)) / + Math.Pow(p[i].y - p[j].y, 2));} Math.Sqrt(Math.Pow(p[i].X - p[j].X, 2) + Math.Sqrt( Math.Pow(p[i].x - p[j].x, 2)}ave = sum / 6;u = 0;// 给定外方向元素的初始值w = 0;k = 0;Xs = (p[0].X + p[1].X + p[2].X + p[3].X) / 4; , 角度均设置为0//Xs 为四个控制点 X的均匀值,Ys近似Ys = (p[0].Y + p[1].Y + p[2].Y + p[3].Y) / 4;Zs = (p[0].Z + p[1].Z + p[2].Z + p[3].Z) / 4 + ave * f;}private double sin( double m) // 正弦,为简化而写 , 下同{return Math.Sin(m);}private double cos( double m){return Math.Cos(m);}private void calcos()// 计算旋转矩阵{R[0] = cos(u) * cos(k) - sin(u) * sin(w) * sin(k);R[1] = -cos(u) * sin(k) - sin(u) * sin(w) * cos(k);R[2] = -sin(u) * cos(w);R[3] = cos(w) * sin(k);R[4] = cos(w) * cos(k);R[5] = -sin(w);R[6] = sin(u) * cos(k) + cos(u) * sin(w) * sin(k);R[7] = cos(u) * sin(w) * cos(k) - sin(u) * sin(k);R[8] = cos(u) * cos(w);}private void calabout() // 像点坐标的近似值{int i;for (i = 0; i < 4; i++){a[2 * i] = -f * (R[0] * (p[i].X - Xs) + R[3] * (p[i].Y-Ys) + R[6] * (p[i].Z - Zs)) / (R[2] * (p[i].X - Xs) + R[5] * (p[i].Y-Ys) + R[8] * (p[i].Z - Zs));a[2* i + 1] = -f * (R[1] * (p[i].X - Xs) + R[4] * (p[i].Y -Ys) + R[7] * (p[i].Z - Zs)) / (R[2] * (p[i].X - Xs) + R[5] * (p[i].Y-Ys) + R[8] * (p[i].Z - Zs));}}private void calxx() // 偏差方程式的系数和常数项{int for i;(i = 0; i < 4; i++) // 系数{double z = R[2] * (p[i].X - Xs) + R[5] * (p[i].Y - Ys) + R[8] * (p[i].Z - Zs);int n = i * 2;A[n, 0] = (R[0] * f + R[2] * p[i].x) / z;A[n, 1] = (R[3] * f + R[5] * p[i].x) / z;A[n, 2] = (R[6] * f + R[8] * p[i].x) / z;A[n, 3] = p[i].y * sin(w) - f * cos(w) * cos(k) - p[i].x/f * (p[i].x * cos(w) * cos(k) - p[i].y * cos(w) * sin(k)); A[n,4] = -f * sin(k) - p[i].x / f * (p[i].x * sin(k) +p[i].y * cos(k));A[n, 5] = p[i].y;A[n + 1, 0] = (R[1] * f + R[2] * p[i].y) / z;A[n + 1, 1] = (R[4] * f + R[5] * p[i].y) / z;A[n + 1, 2] = (R[7] * f + R[8] * p[i].y) / z;A[n + 1, 3] = -p[i].x * sin(w) + f * cos(w) * sin(k) -p[i].x / f * (p[i].x * cos(w) * cos(k) - p[i].y * sin(k) * cos(w));A[n + 1, 4] = -f * cos(k) - p[i].y / f * (p[i].x * sin(k) + p[i].y * cos(k));A[n + 1, 5] = -p[i].x;}for (i = 0; i < 4; i++)// 常数项{L[2 * i] = p[i].x - a[2 * i];L[2 * i + 1] = p[i].y - a[2 * i + 1];}}private double calAdd(){double [,] temp =new double [6, 6];//A 的转置与 A相乘的积double [,] ANew = new double [6, 8];//A 的转置double [] t =new double [6];//A 的转置与 L相乘的积double [] X = new double [6];// 更正数int i, j, n;for (i = 0; i < 8; i++)// 求A的转置 ANew{for (j = 0; j < 6; j++){ANew[j, i] = A[i, j];}}for (i = 0; i < 6; i++)// 求A的转置与 A相乘的积 temp {for (j = 0; j < 6; j++){temp[i, j] = 0;for (n = 0; n < 8; n++){temp[i, j] += ANew[i, n] * A[n, j];}}}MATINV(temp);//temp for (i = 0; i < 6; i++) 的逆,保留在自己矩阵中// 求A的转置与 L的乘积 t{t[i] = 0;for (j = 0; j < 8; j++){t[i] += ANew[i, j] * L[j];}}for (i = 0; i < 6; i++)// 求更正数 X{X[i] = 0;for (j = 0; j < 6; j++){X[i] += temp[i, j] * t[j];}}Xs += X[0];// 外方向元素初始值加上更正数Ys += X[1];Zs += X[2];u += X[3];w += X[4];k += X[5];return maxone(X);// 返回判断条件 , 最大的更正数的值}public void makeSure() // 计算流程控制函数{calcos();calabout();calxx();double VALUE = calAdd();count++;while (VALUE > 0.00001)// 迭代至最大更正数为止{calcos();calabout();calxx();VALUE = calAdd();count++;}}private void MATINV(double [,] c) // 求6阶矩阵的逆{int i, j, h, m;const int n = 6;double l;double [,] q = new double [n, 12];for (i = 0; i < n; i++) // 结构高斯矩阵{for (j = 0; j < n; j++){q[i, j] = c[i, j];}}for (i = 0; i < n; i++) // 单位矩阵{{for (j = n; j < 12; j++)if (i + 6 == j)q[i, j] = 1;elseq[i, j] = 0;}}for (h = 0, m = 0; m < n - 1; m++, h++)// 消去对角线以下的数据{for (i = m + 1; i < n; i++){if(q[i, h] == 0d)continue ;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (h = n - 1, m = n - 1; m > 0; m--, h--)//消去对角线以上的数据{for (i = m - 1; i >= 0; i--){if(q[i, h] == 0d)continue ;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (i = 0; i < n; i++)// 将对角线上数据化为 1{l = 1.0 / q[i, i];for (j = 0; j < 12; j++){q[i, j] *= l;}}for (i = 0; i < n; i++)// 提取逆矩阵{for (j = 0; j < n; j++){c[i, j] = q[i, j + 6];}}}private double maxone(double [] Arr)// 返回六个元素中的最大值{double [] ARR =new double [6];for ( int i = 0; i < 6; i++){ARR[i] = Arr[i];if (ARR[i] < 0d)// 取正ARR[i] = -ARR[i];}Array .Sort(ARR, 0, 6);return ARR[5];}public int COUNT{get{return count;}}public double U {get{return u;}}public double W {get{return w;}}public double K {get{return k;}}public double XS {get{return Xs;}}public double YS {get{return Ys;}}public double ZS {get{return Zs;}}}3、窗体一部分的代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;using System.Data.OleDb;using System.IO;namespace 单像空间后方交会{public partial class Form1 : Form {private private double [] data= double f = 0;new double [20];// 主距// 保留表中的数据public Form1(){InitializeComponent();}private void Form1_Load( object sender, EventArgs e) {//TODO: 这行代码将数据加载到表“ database1DataSet1.data ”中。
摄影测量实习报告-单片空间后方交会.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、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
单向空间后方交会实习报告

一、实习目的本次实习的主要目的是通过单张影像的空间后方交会算法,掌握摄影测量学中的基本原理和方法,培养实际操作能力和理论联系实际的能力。
通过实习,要求学生了解空间后方交会的概念、原理和计算方法,熟练运用相关软件进行空间后方交会的实际操作,并对结果进行分析和评定。
二、实习内容1. 了解空间后方交会的基本概念:空间后方交会是一种摄影测量方法,通过分析单张影像上若干个控制点的地面坐标和像坐标,利用共线条件方程,求解影像的外方位元素。
2. 学习空间后方交会的原理:影像上的控制点与相机镜头中心形成共线方程,通过最小二乘法求解影像的外方位元素。
外方位元素包括六个参数:三个表示相机在三维空间中的位置,三个表示相机在三维空间中的姿态。
3. 掌握空间后方交会的计算方法:利用共线条件方程,通过最小二乘法求解外方位元素。
计算过程中需要注意控制点的选择、权重的分配和迭代求解的精度。
4. 熟悉空间后方交会的实际操作:使用相关软件(如MATLAB、ERDAS IMAGINE等)进行空间后方交会的实际操作,包括数据的输入、参数的设置和结果的输出。
5. 结果分析和评定:对空间后方交会的结果进行分析和评定,包括计算精度、误差分析和结果的可信度。
三、实习过程1. 理论学习和讨论:在学习空间后方交会的基本概念和原理的基础上,进行小组讨论,理解并掌握空间后方交会的计算方法。
2. 软件操作练习:在老师的指导下,使用相关软件进行空间后方交会的实际操作,熟悉软件的操作界面和功能。
3. 数据处理和计算:根据实习提供的数据,进行空间后方交会的计算,包括控制点的选择、权重的分配和迭代求解的过程。
4. 结果分析和评定:对空间后方交会的结果进行分析和评定,计算精度、误差分析和结果的可信度。
四、实习总结通过本次实习,我对空间后方交会的基本概念、原理和计算方法有了更深入的了解,掌握了相关软件的操作方法,并能够进行空间后方交会的实际操作。
在实习过程中,我学会了如何选择控制点、分配权重和判断迭代求解的精度。
空间后方交会实习报告

空间后方交会实习报告一、实习目的与任务本次实习的主要目的是让我们了解并掌握空间后方交会的基本原理和方法,通过实际操作,提高我们处理空间数据的能力。
实习任务是在给定的控制点坐标和观测数据的基础上,利用空间后方交会原理,求解待求点的位置坐标。
二、实习内容与过程1. 实习准备:首先,我们学习了空间后方交会的基本原理,了解了其数学模型和计算方法。
然后,我们了解了实习所使用的软件工具,并掌握了基本操作方法。
2. 数据处理:我们根据给定的控制点坐标和观测数据,利用软件进行数据输入和处理。
在这个过程中,我们学会了如何处理观测数据,如何检查数据质量,以及如何进行数据平差。
3. 成果分析:通过空间后方交会计算,我们得到了待求点的位置坐标。
我们对比了不同参数设置下的计算结果,分析了参数设置对计算结果的影响。
同时,我们还进行了精度分析,评估了计算结果的精度。
三、实习心得与体会1. 通过本次实习,我们深入理解了空间后方交会的基本原理和计算方法,掌握了数据处理的基本技能。
2. 我们学会了如何利用软件工具进行空间数据处理,提高了我们的实际操作能力。
3. 通过成果分析和精度分析,我们了解了参数设置对计算结果的影响,提高了我们的数据分析能力。
4. 本次实习让我们认识到,空间数据处理是一个复杂的过程,需要仔细的分析和处理。
我们学会了如何检查数据质量,如何处理数据异常,以及如何评估计算结果的精度。
四、实习总结通过本次实习,我们对空间后方交会有了更深入的了解,提高了我们的空间数据处理能力。
同时,我们也认识到,空间数据处理是一个需要细致入微的工作,需要我们不断提高自己的专业素养和实际操作能力。
在今后的学习和工作中,我们将不断努力,提高自己的专业水平,为我国的空间数据处理事业做出贡献。
后方交会实验报告

摄影测量学实验报告实验名称:空间后方交会班级:测绘工程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 六.实验截图七.实验心得此次实验让我更加了解空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
【免费下载】单像空间后方交会实习报告

4. 实习过程:4.1 学习单张像片空间后方交会的基本理论,掌握其基本思想。如果我 们知道每幅影像的 6 个外方位元素,就能确定被摄物体与航摄影像的关系。而单 像空间后方交会就是用于测定像片的外方位元素的,它的基本思想是:以单幅影 像为基础,从影像所覆盖的地面范围内若干控制点的已知地面坐标和相应点的像 坐标量测值出发,根据共线方程,解求该影像在航空摄影时刻的外方位元素 Xs,Ys,Zs,p,w,k.由于空间后方交会所采用的数学模型共线方程是非线性函数,为了 便于外方位元素的解求,首先将其线性化。4.2 在纸上绘出空间后方交会的计算机 程序框图。为了能够在宏观上指导我们编写程序,我们需要在草稿纸上绘出程序
一、实习目的 1. 掌握空间后方交会的定义和实现算法 (1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控 制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像 在航空摄影时刻的外方位元素 Xs,Ys,Zs,φ,ω,κ。 (2)算法:由于每一对像方和物方共轭点可列出 2 个方程,因此若有 3 个已知地面 坐标的控制点,则可列出 6 个方程,解求 6 个外方位元素的改正数△Xs,△Ys,△ Zs,△φ,△ω,△κ。实际应用中为了提高解算精度,常有多余观测方程,通常是 在影像的四个角上选取 4 个或均匀地选择更多的地面控制点,因而要用最小二乘平差 方法进行计算。
摄影测量学 单像空间后方交会实习报告
1
9-空间后方交会

a11 a12 Ai a21 a22
a13 a23
a14 a24
a15 a25
a16 a26
T
X dXS
dYS
dZS
d d d
li l x
ly
T
vi vx
vy
T
把所有像控点的误差方程列出后,构成总 误差方程,根据最小二乘间接评差原理可 列出法方程式:
五、空间后方交会实践
如何获取像片的六个外方位元素?
1)利用雷达;全球定位系统GPS;惯性导航系统.
2)空间后方交会:利用一定数量的地面控制点, 根据共线方程,反求像片的外方位元素。(已知 像片的内方位元素,至少三个地面点坐标并测出 相应的像点坐标)
计算要点:
1)计算的数学模型:共线方程按泰勒级数展开, 取一次项(线性化)。
2)在像片的四角选取四个或更多地面控制点,利 用最小二乘法平差计算。
计算步骤: 1)获取已知数据:比例尺1/m;H;内定向;控制点 地面坐标。
2)测量控制点的像点坐标。标刺,测量像框坐 标;像主点改正。 3)确定未知参数的初始值:竖直摄影时,角元 素初始值为零;线元素中,Zs0=H=mf; Xs0,Ys0取 控制点坐标的均值。
投 影 中 心 的 系 数
二、线性化-续
X Y Z
x xs 1 1 R R R y y s z zs
1 1
其中,R
R R R
1
1
1
把各偏导数代入整理得
f XX b2 Z Z ZZ x XX f sin XY f cos a 15 fsin ZZ ZZ x Yf a 16 Z fX f b1 YY f b2 XY y b 3 a 24 f b1 Z ZZ ZZ y XY f sin YY f cos a 25 fcos ZZ ZZ y X f a 26 Z x a 14 f Yf
05单片空间后方交会

m, x0 , y0 , f , Xtp, Ytp, Ztp
量测控制点像点坐标 x,y
确定未知数初值
Xs0, Ys0, Zs0, 0, 0, 0
组成误差方程式并法化
解求外方位元素改正数
检查迭代是否收敛
本讲参考资料 教材
张剑清,潘励,王树根 编著,《摄影测量学》,武汉大学出版社
内定向问题需要借助影像的框标来解决
内定向通常采用多项式变换公式,形式为:
X AX' t
其中: X’为量测的像点仪器坐标或扫描坐 标, X为变换后的像点坐标,A为变换矩阵, t为变换参数。
一、影像内定向
常用的变换公式有:
x
线性正形变换公式(4参数) y
a0 b0
a1x' a2 x'
Z s
x0
x
vy
y
y
y
y X s
X s
y Ys
Ys
y Z s
Z s
y0
y
若用 a11, a12...... 表示各项系数,则上式可写成:
vx a11X s a12Ys a13Zs a14s a15s a16s lx vy a21X s a22Ys a23Zs a24s a25s a26s ly
Ys ) c2 (Z Zs ) Ys ) c3 (Z Zs )
f
Y Z
X YZ
a1 aa32
b1 b2 b3
c1 X X s
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fai1=Fai0+X(4) Oum1=Oum0+X(5) Kpa1=Kpa0+X(6) XS1=(XS0+X(1)) YS1=(YS0+X(2)) ZS1=(ZS0+X(3)) jishu=1;
while (abs((Fai1-Fai0)>0.000003)||(abs(Oum1-Oum0)>0.000003)... ||(abs(Kpa1-Kpa0))>0.000003)
500302.16 4185489.00 949.71
焦距:28.1359(mm)
外方位元素初值:
X(m)
Y(m)
Z(m) phi(rad) omega(rad) kappa(rad)
500215.49 4185301.89 1475.56 0.054882 0.057034 -0.036175
%单向空间后方交会
for i=1:4 f=28.1359/1000; x(i)=-f*(a1*(XYZ(i,1)-XS0)+b1*(XYZ(i,2)-YS0)+c1*(XYZ(i,3)-ZS0))/... (a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0)); y(i)=-f*(a2*(XYZ(i,1)-XS0)+b2*(XYZ(i,2)-YS0)+c2*(XYZ(i,3)-ZS0))/... (a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0)); lx(i)=xy(i,1)-x(i); ly(i)=xy(i,2)-y(i);
(2)程序代码:
已知值及初始值
控制点:x(mm) y(mm)
-11.00 -13.80
10.48 -6.44
10.78 8.312
2.712 8.32
X(m)
Y(m)
Z(m)
500017.19 4185066.00 885.40
500452.19 4185197.50 915.82
500470.16 4185494.50 928.76
%比例尺
m=(sqrt((XYZ(1,1)-XYZ(2,1))^2+(XYZ(1,2)-XYZ(2,2))^2))/... (sqrt((xy(1,1)-xy(2,1))^2+(xy(1,2)-xy(2,2))^2))
%初值
XS0=500215.49 YS0=4185301.89 ZS0=1475.56 H=m*f Fai0=0.054882 Oum0=0.057034 Kpa0=-0.036175
0 -f/H -(xy(4,2))/H -(xy(4,1))*(xy(4,2)/f) -f*(1+(xy(4,2)^2)/(f^2)) -xy(4,2)]; A=[A1;A2;A3;A4]; X=(A'*A)\A'*L Fai1=Fai0+X(4) Oum1=Oum0+X(5) Kpa1=Kpa0+X(6)
clc;
%主距m
f=28.1359/1000;
%像点坐标m
xy = [-11.00 10.48 10.78 2.712
-13.80 -6.44 8.312 8.32]/1000;
%地面坐 4185066.00 885.40; 500452.19 4185197.50 915.82; 500470.16 4185494.50 928.76; 500302.16 4185489.00 949.71];
0 -f/H -(xy(3,2))/H -(xy(3,1))*(xy(3,2)/f) -f*(1+(xy(3,2)^2)/(f^2)) -xy(3,2)]; A4=[-f/H 0 -xy(4,1)/H -f*(1+(xy(4,1)^2)/(f^2)) -(xy(4,1))*(xy(4,2)/f) xy(4,2)
XS1=(XS0+X(1)) YS1=(YS0+X(2)) ZS1=(ZS0+X(3)) end
(3)运行结果:
改正数:X =
1.0e-003 * 0.880693463596646
-0.173862879363425 -0.160454437823512 -0.001441926024570
0.000306973068650 0.000107948847312
end x
y L=[lx(1);lx(1); lx(2);lx(2);lx(3);lx(3); lx(4);lx(4)] A1=[-f/H 0 -xy(1,1)/H -f*(1+(xy(1,1)^2)/(f^2)) -(xy(1,1))*(xy(1,2)/f) xy(1,2)
0 -f/H -(xy(1,2))/H -(xy(1,1))*(xy(1,2)/f) -f*(1+(xy(1,2)^2)/(f^2)) -xy(1,2)]; A2=[-f/H 0 -xy(2,1)/H -f*(1+(xy(2,1)^2)/(f^2)) -(xy(2,1))*(xy(2,2)/f) xy(2,2)
外方位元素:
Fai = 0.054994013287714
Oum = 0.056571816845093
Kpa = -0.036172713831137
XS = 5.002154276846778e+005
YS = 4.185302159274295e+006
ZS =
1.475497145016308e+003 (4)心得体会
jishu=jishu+1 XS0=XS1 YS0=YS1 ZS0=ZS1 Fai0=Fai1 Oum0=Oum1 Kpa0=Kpa1 a1=cos(Fai0)*cos(Kpa0)-sin(Fai0)*sin(Oum0)*sin(Kpa0); a2=-cos(Fai0)*sin(Kpa0)-sin(Fai0)*sin(Oum0)*cos(Kpa0); a3=-sin(Fai0)*cos(Oum0); b1=cos(Oum0)*sin(Kpa0); b2=cos(Oum0)*cos(Kpa0); b3=-sin(Oum0); c1=sin(Fai0)*cos(Kpa0)+cos(Fai0)*sin(Oum0)*sin(Kpa0); c2=-sin(Fai0)*sin(Kpa0)+cos(Fai0)*cos(Oum0)*cos(Kpa0); c3=cos(Fai0)*cos(Oum0);
※※※※※※※※※
※ 单向空间后方交会程序 ※
※
※
※
设计报告
※
※※※※※※※※※
单向空间后方交会程序设计报告
课题名称 姓名 学号 学院、班级
方向
计算单向空间后方交会 胡小伟
2009301610207 测绘学院 0906 班
A
2011 年 10 月 18 日
(1)编程工具:Matlab R2010a
0 -f/H -(xy(4,2))/H -(xy(4,1))*(xy(4,2)/f) -f*(1+(xy(4,2)^2)/(f^2)) -xy(4,2)]; A=[A1;A2;A3;A4]; X=(A'*A)\A'*L
XS1=(XS0+X(1)) YS1=(YS0+X(2)) ZS1=(ZS0+X(3))
0 -f/H -(xy(2,2))/H -(xy(2,1))*(xy(2,2)/f) -f*(1+(xy(2,2)^2)/(f^2)) -xy(2,2)]; A3=[-f/H 0 -xy(3,1)/H -f*(1+(xy(3,1)^2)/(f^2)) -(xy(3,1))*(xy(3,2)/f) xy(3,2)
end x y L=[lx(1);lx(1); lx(2);lx(2);lx(3);lx(3); lx(4);lx(4)] A1=[-f/H 0 -xy(1,1)/H -f*(1+(xy(1,1)^2)/(f^2)) -(xy(1,1))*(xy(1,2)/f) xy(1,2)
0 -f/H -(xy(1,2))/H -(xy(1,1))*(xy(1,2)/f) -f*(1+(xy(1,2)^2)/(f^2)) -xy(1,2)]; A2=[-f/H 0 -xy(2,1)/H -f*(1+(xy(2,1)^2)/(f^2)) -(xy(2,1))*(xy(2,2)/f) xy(2,2)
for i=1:4 f=28.1359/1000; x(i)=-f*(a1*(XYZ(i,1)-XS0)+b1*(XYZ(i,2)-YS0)+c1*(XYZ(i,3)-ZS0))/... (a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0)); y(i)=-f*(a2*(XYZ(i,1)-XS0)+b2*(XYZ(i,2)-YS0)+c2*(XYZ(i,3)-ZS0))/... (a3*(XYZ(i,1)-XS0)+b3*(XYZ(i,2)-YS0)+c3*(XYZ(i,3)-ZS0)); lx(i)=xy(i,1)-x(i); ly(i)=xy(i,2)-y(i);