1 / 11
文档名称:

摄影测量-空间前交、后交.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

摄影测量-空间前交、后交.doc

上传人:分享精品 2016/3/22 文件大小:0 KB

下载得到文件列表

摄影测量-空间前交、后交.doc

文档介绍

文档介绍:空间后交- 前交程序设计(实验报告) 姓名: 班级: 学号: 时间: 空间后交-前交程序设计一、实验目的用C、 VB或 MATLAB 语言编写空间后方交会- 空间前方交会程序⑴提交实****报告:程序框图、程序源代码、计算结果、体会⑵计算结果: 像点坐标、地面坐标、单位权中误差、外方位元素及其精度二、实验数据 f= , x0=0 , y0=0 三、实验思路 1. 利用空间后方交会求左右像片的外方位元素(1). 获取 m( 于像片中选取两点, 于地面摄影测量坐标系中选取同点, 分别计算距离,距离比值即为 m), x,y,f,X,Y,Z (2). 确定未知数初始值 Xs,Ys,Zs,q,w,k (3). 计算旋转矩阵 R (4). 逐点计算像点坐标的近似值( x ),( y) (5). 组成误差方程式(6). 组成法方程式(7). 解求外方位元素(8). 检查是否收敛,即将求得的外方位元素的改正数与规定限差比较,小于限差即终止;否则用新的近似值重复步骤( 3)-(7) 2. 利用求出的外方位元素进行空间前交,求出待定点地面坐标(1). 用各自像片的角元素计算出左、右像片的方向余弦值, 组成旋转矩阵 R1,R2 (2). 根据左、右像片的外方位元素, 计算摄影基线分量 Bx, By, Bz (3). 计算像点的像空间辅助坐标( X1,Y1,Z1 )和( X2,Y2,Z2 ) (4). 计算点投影系数 N1和 N2 (5). 计算未知点的地面摄影测量坐标四、实验过程⑴程序框图⑵程序代码函数 AandL % 求间接平差时需要的系数输入计算输出 spacehoujiao spaceqianiao testvar AAndL deg2dmsxy ok %%% 已知%a= 像点坐标 x,b= 像点坐标 y,f 内方位元素主距%φ=q, ψ=w, κ=k % 像空间坐标系 X,Y,Z % 地面摄影测量坐标系 Xs,Ys,Zs function [A1,L1,A2,L2]=AandL(a,b,f,q,w,k,X,Y,Z,Xs,Ys,Zs) %%%%%%%%%%% 选择矩阵元素 a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k); a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k); a3=-sin(q)*cos(w); b1=cos(w)*sin(k); b2=cos(w)*cos(k); b3=-sin(w); c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k); c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k); c3=cos(q)*cos(w); %%%%%%% 共线方程的分子分母 X_=a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs); Y_=a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs); Z_=a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs); %%%%%%% 近似值 x=-f*X_/Z_; y=-f*Y_/Z_; %%%%%%%A 组成 L 组成 a11=1/Z_*(a1*f+a3*x); a12=1/Z_*(b1*f+b3*x); a13=1/Z_*(c1*f+c3*x); a21=1/Z_*(a2*f+a3*y); a22=1/Z_*(b2*f+b3*y); a23=1/Z_*(c2*f+c3*y); a14=y*sin(w)-(x/f*(x*cos(k)-y*sin(k))+f*cos(k))*cos(w); a15=-f*sin(k)-x/f*(x*sin(k)+y*cos(k)); a16=y; a24=-x*sin(w)-(y/f*(x*cos(k)-y*sin(k))-f*sin(k))*cos(w); a25=-f*cos(k)-y/f*(x*sin(k)+y*cos(k)); a26=-x; lx=a-x; ly=b-y; %%%%%%%%% 组成一个矩阵,并返回 A1=[a11,a12,a13,a14,a15,a16]; A2=[a21,a22,a23,a24,a25,a26]; L1=lx; L2=ly; 函数 deg2dms %%%%%%%% 角度转度分秒 function y=deg2dms(x) a=floor(x); b=floor((x-a)*60); c=(x-a-b/60)*3600; y=a+(b/100)+(c/10000); 函数 dms2deg %%%%% 度分秒转度 function y=dms2deg(x) a=floor(x); b=floor((x-a)*100); c=(x-a-b/100)*10000; y=a+b/60+c/3600