摄影测量实验报告材料(空间后方交会—前方交会)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间后方交会-空间前方交会程序编程实验一.实验目的要求
掌握运用空间后方交会-空间前方交会求解地面点的空间位置。学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程。
二.仪器用具
计算机、编程软件(MATLAB)
三.实验数据
实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程。另外还给出了5对地面点在左右像片中的像平面坐标和左右像片的内方位元素。实验数据如下:
内方位元素:f=152.000mm,x0=0,y0=0 四.实验框图
小于
计算完毕
此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1’的角度值)为止。在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
计算完毕,精度评定
在空间后方交会中运用的数学模型为共线方程
确定Xs,Ys,Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs 和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs 和Ys的初始值。Zs可取地面所有GCP的Z坐标的平均值再加上航高。
空间前方交会的数学模型为:
五.实验源代码
function Main_KJQHFJH()
global R g1 g2 m G a c b1 b2;
m=10000;a=5;c=4;
feval(@shuru); %调用shuru()shurujcp()函数完成像点及
feval(@shurujcp); %CCP有关数据的输入
XYZ=feval(@MQZqianfangjh); %调用MQZqianfangjh()函数完成空间前方、
%%%%%% 单位权中误差%%%% %后方交会计算解得外方位元素global V1 V2; %由于以上三个函数定义在外部文件中故需
VV=[]; %用feval()完成调用过程
for i=1:2*c
VV(i)=V1(i);VV(2*i+1)=V2(i);
end
m0=sqrt(VV*(VV')/(2*c-6));
disp('单位权中误差m0为正负:');disp(m0); %计算单位权中误差并将其输出显示
输入GCP像点坐标及地面摄影测量坐标系坐标的函数和输入所求点像点坐标函
数:
function shurujcp()
global c m;
m=input('摄影比例尺:'); %输入GCP像点坐标数据函数并分别将其
c=input('GCP的总数='); % 存入到不同的矩阵之中
disp('GCP左片像框标坐标:');
global g1;g1=zeros(c,2);
i=1;
while i<=c
m=input('x=');
n=input('y=');
g1(i,1)=m;g1(i,2)=n;
i=i+1;
end
disp('GCP右片像框标坐标:');
global g2;g2=zeros(c,2);
i=1;
while i<=c
m=input('x=');
n=input('y=');
g2(i,1)=m;g2(i,2)=n;
i=i+1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%
function shuru()
global a;
a=input('计算总像对点数='); %完成想计算所需的像平面坐标global b1; %坐标输入,存入不同的矩阵中
b1=zeros(a,2);
disp('左片像点坐标:')
i=1;
while i<=a
m=input('x=');
n=input('y=');
b1(i,1)=m;b1(i,2)=n;
i=i+1;
end
%%
global b2;
b2=zeros(a,2);
disp('右片像点坐标:')
i=1;
while i<=a
m=input('x=');
n=input('y=');
b2(i,1)=m;b2(i,2)=n;
i=i+1;
end
%%
global c;
c=input('GCP的总数=');
disp('GCP摄影测量系坐标:') global G;
G=zeros(3,c);
i=1;
while i<=c
m=input('X=');
n=input('Y=');
v=input('Z=');
G(i,1)=m;G(i,2)=n;G(i,3)=v;
i=i+1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 空间前方交会和后方交会函数:
function XYZ=MQZqianfangjh()
global R1 R2 a f b1 b2 Ra Rb;
global X1 X2;R1=Ra;R2=Rb;R1=zeros(3,3);R2=zeros(3,3);
global g1 g2 G V1 V2 V WF cQXX QXX1 QXX2;
xs0=(G(1,1)+G(3,1))/2;
ys0=(G(1,2)+G(3,2))/2;
[Xs1,Ys1,Zs1,q1,w1,k1 R]=houfangjh(g1,xs0,ys0); %对左片调用后方交会函数
R1=R;
V1=V;
WF1=WF;
QXX1=QXX;
save '左片外方位元素为.txt' WF -ascii %将计算所得的外方位元素存入到.txt
% 文件中
for i=1:c