空间后方交会编程实习报告_第1页
空间后方交会编程实习报告_第2页
空间后方交会编程实习报告_第3页
空间后方交会编程实习报告_第4页
空间后方交会编程实习报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

空间后方交会编程实习汇报一实习目的用程序设计语言(VisualC++或者C语言)编写一种完整的单片空间后方交会程序,通过对提供的试验数据进行计算,输出像片的外方位元素并评估精度。本试验的目的在于让学生深入理解单片空间后方交会的原理,体会在有多出观测状况下,用最小二乘平差措施编程实现解求影像外方位元素的过程。通过上机调试程序加强动手能力的培养,通过对试验成果的分析,增强学生综合运用所学知识处理实际问题的能力。二实习内容运用一定数量的地面控制点,根据共线条件方程求解像片外方位元素。三实习数据已知航摄仪的内方位元素:fk=153.24mm,x0=y0=0.0mm,摄影比例尺为1:50000;4个地面控制点的地面坐标及其对应像点的像片坐标:点号像片坐标(mm)地面点坐标(m)xyXYZ1-86.15-68.9936589.4125273.322195.172-53.4082.2137631.0831324.51728.693-14.78-76.6339100.9724934.982386.50410.4664.4340426.5430319.81757.31四实习原理假如我们懂得每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。因此,怎样获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。可采用的措施有:运用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;也可以运用影像覆盖范围内一定数量的控制点的空间坐标与摄影坐标,根据共线条件方程,反求该影像的外方位元素,这种措施称为单幅影像的空间后方交会。单像空间后方交会的基本思想是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和对应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,t,w,k。五实习流程(1)获取已知数据。从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。(3)确定未知数的初始值。单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的状况下,可按如下措施确定初始值:Z0s=H=m*f+ΣZi/4;X0s=Σxi/n;Y0s=ΣYi/n;t=ω=κ=0;式中:m为摄影比例尺分母;(4)计算旋转矩阵R。运用角元素的近似值按下式计算方向余弦值a1,a2,a3,b1,b2,b3,c1,c2,c3,构成R阵。(5)逐点计算像点坐标的近似值。运用未知数的近似值按共线条件方程计算控制点像点坐标的近似值(x)、(y)。(6)按下式逐点计算误差方程式的系数和常数项,构成误差方程。(7)计算法方程的系数矩阵ATA与常数项ATL,构成法方程;(8)解求外方位元素。根据法方程,解求外方位元素的改正数,并与对应的近似值求和,得到外方位元素新的近似值。(9)检查计算与否收敛。将所求得的外方位元素的改正数与规定的限差比较,一般对t、ω、κ、Xs、Ys、Zs的改正数Δt,Δω,Δκ,ΔXs,ΔYs,ΔZs予以限差,当改正数不不小于限差时,迭代结束。否则用新的近似值反复(4)——(8)环节计算,直到满足规定为止。(10)空间后方交会的精度估计:按上述措施所求得的影像外方位元素的精度可以通过法方程式中未知数的系数矩阵的逆阵(ATA)-1来解求,此时视像点坐标为等精度不有关观测值。由于ATA)-1中第i个主对角线上的元素Qii就是法方程式中第i个未知数的权倒数,若单位权中误差为m0,则第i个未知数的中误差为:mi=0当参与空间后方交会的控制点有n个时,则单位权中误差可按下式计算:六重要代码与详解voidR(doublet,doublew,doublek,double*a,double*b,double*c){ a[0]=cos(t)*cos(k)-sin(t)*sin(w)*sin(k);a[1]=-cos(t)*sin(k)-sin(t)*sin(w)*cos(k);a[2]=-sin(t)*cos(w);b[0]=cos(w)*sin(k);b[1]=cos(w)*cos(k);b[2]=-sin(w);c[0]=sin(t)*cos(k)+cos(t)*sin(w)*sin(k);c[1]=-sin(t)*sin(k)+cos(t)*sin(w)*cos(k);c[2]=cos(t)*cos(w);}//子函数计算旋转矩阵R。运用角元素的近似值按下式计算方向余弦值a1,a2,a3,b1,b2,b3,c1,c2,c3,构成R阵。voidmain(){inti,m,num;doublet,w,k,Xs,Ys,Zs,f;//六个外方位元素与焦距fdoublex[N]={-86.15,-53.40,-14.78,10.46},y[N]={-68.99,82.21,-76.63,64.43};//4个像点坐标doubleX[N]={36589.41,37631.08,39100.97,40426.54},Y[N]={25273.32,31324.51,24934.98,30319.81},Z[N]={2195.17,728.69,2386.50,757.31};//四个控制点的空间坐标m=50000;f=153.24;//影像比例尺1/m与焦距f//以上重要是已知数据的定义doubleV[6]={0},a[3],b[3],c[3],Xo[N],Yo[N],Zo[N],A[6*M],B[6*M],l[M],C[36],D[6],E[8];for(i=0;i<N;i++){x[i]=x[i]/1000.0;y[i]=y[i]/1000.0;//像点坐标单位换算}//如下为确定未知数的初始值。Xs=(X[0]+X[1]+X[2]+X[3])/N;Ys=(Y[0]+Y[1]+Y[2]+Y[3])/N;Zs=m*f+(Z[0]+Z[1]+Z[2]+Z[3])/N;//Xs,Ys,Zs为摄站点的空间坐标初始值f=f/1000.0;t=w=k=0.0;//角元素的近似值for(num=1;num<10;num++)//num控制循环迭代次数{ R(t,w,k,a,b,c);//计算旋转矩阵R。运用角元素的近似值按下式计算方向余弦值a1,a2,a3,b1,b2,b3,c1,c2,c3,构成R阵。for(i=0;i<N;i++)//下面的循环用来逐点计算误差方程式的系数和常数项,构成误差方程。{//如下是用共线条件方程计算控制点像点坐标的近似值(x)、(y)。Xo[i]=-f*(a[0]*(X[i]-Xs)+b[0]*(Y[i]-Ys)+c[0]*(Z[i]-Zs))/(a[2]*(X[i]-Xs)+b[2]*(Y[i]-Ys)+c[2]*(Z[i]-Zs));Yo[i]=-f*(a[1]*(X[i]-Xs)+b[1]*(Y[i]-Ys)+c[1]*(Z[i]-Zs))/(a[2]*(X[i]-Xs)+b[2]*(Y[i]-Ys)+c[2]*(Z[i]-Zs));Zo[i]=a[2]*(X[i]-Xs)+b[2]*(Y[i]-Ys)+c[2]*(Z[i]-Zs);//Zo便于背面计算A[12*i+0]=(a[0]*f+a[2]*x[i])/Zo[i];A[12*i+1]=(b[0]*f+b[2]*x[i])/Zo[i];A[12*i+2]=(c[0]*f+c[2]*x[i])/Zo[i];A[12*i+3]=y[i]*sin(w)-(x[i]*(x[i]*cos(k)-y[i]*sin(k))/f+f*cos(k))*cos(w);A[12*i+4]=-f*sin(k)-x[i]*(x[i]*sin(k)+y[i]*cos(k))/f;A[12*i+5]=y[i];A[12*i+6]=(a[1]*f+a[2]*y[i])/Zo[i];A[12*i+7]=(b[1]*f+b[2]*y[i])/Zo[i];A[12*i+8]=(c[1]*f+c[2]*y[i])/Zo[i];A[12*i+9]=-x[i]*sin(w)-(y[i]*(x[i]*cos(k)-y[i]*sin(k))/f-f*sin(k))*cos(w);A[12*i+10]=-f*cos(k)-y[i]*(x[i]*sin(k)+y[i]*cos(k))/f;A[12*i+11]=-x[i];l[2*i]=x[i]-Xo[i];l[2*i+1]=y[i]-Yo[i];//计算l}zhuanzhi(A,B,8,6);//转置Axiangchen(B,A,C,6,8,6);//求ATAxiangchen(B,l,D,6,8,1);//求常数项ATLqiuni(C,6);//求ATA的逆xiangchen(C,D,V,6,6,1);//求改正数VXs+=V[0];Ys+=V[1];Zs+=V[2];t+=V[3];w+=V[4];k+=V[5];//成果改正 if((fabs(V[0])<=0.00001)&&(fabs(V[1])<=0.00001)&&(fabs(V[2])<=0.00001)&&(fabs(V[3])<=0.00001)&&(fabs(V[4])<=0.00001)&&(fabs(V[5])<=0.00001))break;//限差控制。检查计算与否收敛。将所求得的外方位元素的改正数与规定的限差比较。当改正数不不小于限差时,迭代结束。否则用新的近似值反复计算,直到满足规定为止。}//如下是计算单位权中误差doubles=0,m0,v[8];xiangchen(A,V,E,8,6,1);//计算AXfor(i=0;i<8;i++){v[i]=E[i]-l[i];//计算AX-L s+=v[i]*v[i];//计算[vv]}m0=sqrt(s/2);//单位权中误差按下式计算:,这里n=4.R(t,w,k,a,b,c);//输出成果printf("像主点的空间坐标为:\n");printf("Xs=%.2f\n",Xs);printf("Ys=%.2f\n",Ys);printf("Zs=%.2f\n",Zs);printf("旋转矩阵R为:\n");for(i=0;i<3;i++) printf("%.5f",a[i]);printf("\n");for(i=0;i<3;i++) printf("%.5f",b[i]);printf("\n");for(i=0;i<3;i++) printf("%.5f",c[i]);printf("\n");printf("单位权中误差为:",m0);cout<<m0<<endl;}七实习成果八实习总结通过本次实习我深刻地理解单片空间后方交会的原理,尤其是共线方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论