摄影测量作业3-空间后方交会计算
空间后方交会与前方交会求解地面点坐标的计算方法

双像解析计算的空间后交-前交方法当我们通过航空摄影,获得地面的一个立体像对时,采用双像解析计算的空间后交-前交方法计算地面点的空间点位。
这种方法首先由单片后方交会求出左、右像片的外方位元素,再用空间前方交会公式求出待定点坐标,其具体的作业步骤如下:● 像片野外控制测量一个立体像对采用空间后方交会-前方交会法计算点的地面坐标时,像对内必须具有一定数量的地面控制点坐标。
一般情况下,在一个像对的重叠范围四个角上,找出四个明显地物点,在野外判识出地面的实际位置,并准确地在像片上刺出各点的位置,要求在像片的背面绘出各点与周围地物关系的点位略图,加注记说明。
然后用普通测量计算方法,求出四个控制点的地面坐标X,Y,Z 。
● 用立体坐标量测仪测像点的坐标像片在仪器上归心定向后,测出四个控制点的像片坐标()11y ,x 与()22y ,x ,然后测出所需要解求的地面点坐标()11y ,x 和()22y ,x 。
● 空间后方交会法计算像片外方位元素利用控制点分别计算每个像片的六个外方位元素,包括:S1X ,S1Y ,S1Z ,1ϕ,1ω,1κ和S2X ,S2Y ,S2Z ,2ϕ,2ω,2κ。
● 空间前方交会计算所求点的地面坐标1. 用各自像片的角元素,计算出左、右像片的旋转矩阵1R 与2R 。
2. 根据左、右像片的外方位线元素计算摄影基线分量X B ,Y B ,Z B :⎪⎭⎪⎬⎫-=-=-=S1S2Z S1S2Y S1S2X Z Z B Y Y B X X B3. 逐点计算像点的像空间辅助坐标:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡f y x R Z Y X 111111,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡f y x R Z Y X 1111114. 计算点投影系数:⎪⎪⎭⎪⎪⎬⎫--=--=12211121221221Z X Z X X B Z B N Z X Z X X B Z B N Z X Z X5. 计算所求点的地面摄影测量坐标:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡222222111222222222111111111Z N Y N X N B B B Z Y X Z N Y N X N Z Y X Z N Y N X N Z Y X Z Y X Z Y X S S S S S S S S S A A A 6. 重复3-5步骤完成所有点地面坐标的计算。
空间后方交会的解算

空间后方交会的解算一. 空间后方交会的目的摄影测量主要利用摄影的方法获取地面的信息,主要是是点位信息,属性信息,因此要对此进行空间定位和建模,并首先确定模型的参数,这就是空间后方交会的目的,用以求出模型外方位元素。
二. 空间后方交会的原理空间后方交会的原理是共线方程。
共线方程是依据相似三角形原理给出的,其形式如下111333222333()()()()()()()()()()()()A S A S A S A S A S A S AS A S A S A S A S A S a X X b Y Y c Z Z x f a X X a Y Y a Z Z a X X b Y Y c Z Z y f a X X a Y Y a Z Z -+-+-=--+-+--+-+-=--+-+-上式成为中心投影的构线方程,我们可以根据几个已知点,来计算方程的参数,一般需要六个方程,或者要三个点,为提高精度,可存在多余观测,然后利用最小二乘求其最小二乘解。
将公式利用泰勒公式线性化,取至一次项,得到其系数矩阵A ;引入改正数(残差)V ,则可将其写成矩阵形式:V AX L =-其中111333222333[,]()()()()()()()()()()()()()()Tx y A S A S A S x A S A S A S A S A S A S y A S A S A S L l l a X X b Y Y c Z Z l x x x fa X X a Y Y a Z Z a X Xb Y Yc Z Z l y y y fa X X a Y Y a Z Z =-+-+-=-=+-+-+--+-+-=-=+-+-+- 则1()T T X A A A L -=X 为外方位元素的近似改正数,由于采用泰勒展开取至一次项,为减少误差,要将的出的值作为近似值进行迭代,知道小于规定的误差三. 空间后方交会解算过程1. 已知条件近似垂直摄影00253.24mmx y 0f ===2. 解算程序流程图MATLAB 程序format long;s1=xlsread('data.xls');%读取数据a1=s1(1:4,1:2);%影像坐标b1=s1(1:4,3:5);%地面摄影测量坐标a2=s1.*10^-3;%影像坐标单位转化j1=a2(1,:)-a2(2,:);j2=j1(1,1)^2+j1(1,2)^2;lengh_a1=sqrt(j2); %相片某一长度j1=b1(1,:)-b1(1,:);j2=j1(1,1)^2+j1(1,2)^2;lengh_b1=sqrt(j2); %地面对应的长度m=lengh_b1/lengh_a1;%求出比例尺n0=0;p0=0;q0=0;x0=mean(b1(:,1));y0=mean(b1(:,2));f=153.24*10^-3;z0=m*f;x001={x0,x0,x0,x0};X0=cell2mat(x001)';y001={y0,y0,y0,y0};Y0=cell2mat(y001)';z001={z0,z0,z0,z0};Z0=cell2mat(z001)';%初始化外方位元素的值aa1=cos(n0)*cos(q0)-sin(n0)*sin(p0)*sin(q0);aa2=-sin(q0)*cos(n0)-sin(n0)*sin(p0)*cos(q0);aa3=-sin(n0)*cos(p0);bb1=sin(q0)*cos(p0);bb2=cos(q0)*cos(p0);bb3=-sin(p0);cc1=sin(n0)*cos(q0)+sin(p0)*cos(n0)*sin(q0);cc2=-sin(n0)*sin(q0)+sin(p0)*cos(q0)*cos(n0);cc3=cos(n0)*cos(p0);%计算改正数XX1=aa1.*(b1(:,1)-X0)+bb1.*(b1(:,2)-Y0)+cc1.*(b1(:,3)-Z0); XX2=aa2.*(b1(:,1)-X0)+bb2.*(b1(:,2)-Y0)+cc2.*(b1(:,3)-Z0); XX3=aa3.*(b1(:,1)-X0)+bb3.*(b1(:,2)-Y0)+cc3.*(b1(:,3)-Z0); lx=a1(:,1)+f.*(XX1./XX3);ly=a1(:,2)+f.*(XX2./XX3);l={lx',ly'};L=cell2mat(l)';%方程系数A=[-3.969*10^-5 0 2.231*10^-5 -0.2 -0.04 -0.06899;0 -3.969*10^-5 1.787*10^-5 -0.04 -0.18 0.08615;-2.88*10^-5 0 1*10^-5 -0.17 0.03 0.08211;0 -2.88*10^-5 -1.54*10^-5 0.03 -0.2 0.0534;-4.14*10^-5 0 4*10^-6 -0.15 -7.4*10^-3 -0.07663;0 -4.14*10^-5 2.07*10^-5 -7.4*10^-3 -0.19 0.01478;-2.89*10^-5 0 -1.98*10^-6 -0.15 -4.4*10^-3 0.06443;0 -2.89*10^-5 -1.22*10^-5 -4.4*10^-3 -0.18 0.01046];%L=[-1.28 3.78 -3.02 -1.45 -4.25 4.98 -4.72 -0.385]'.*10^-2; %第一次迭代X=inv(A'*A)*A'*L;3.结果X=1492.41127406195-554.4015671761941425.68660973544-0.0383847815608609 0.00911624039769785 -0.105416434087641S=1492.41127406195-554.401567176194 1425.68660973544 38436.9616152184 27963.1641162404-0.105416434087641。
摄影测量空间后方交会

摄影测量空间后方交会以单张影像空间后方交会方法,求解该像的外方位元素一、实验数据与理论基础:1、实验数据:航摄仪内方位元素f=153.24mm,x0=y0=0,以及4对点的影像坐标和相应的地面坐标:影像坐标地面坐标x(mm)y(mm)X(m)Y(m)Z(m)1-86.15-68.9936589.4125273.322195.172-53.4082.2137631.0831324.51728.693-14.78-76.6339100.9724934.982386.50410.4664.4340426.5430319.81757.312、理论基础(1) 空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。
(2) 每一对像方和物方点可列出2个方程,若有3个已知地面坐标的控制点,可列出6个方程,求取外方位元素改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。
二、数学模型和算法公式1、数学模型:后方交会利用的理论模型为共线方程。
共线方程的表达公式为:)()()()()()(333111S A S A S A S A S A S A Z Z c Y Y b X X a Z Z c Y Y b X X a fx -+-+--+-+--=)()()()()()(333222S A S A S A S A S A S A Z Z c Y Y b X X a Z Z c Y Y b X X a fy -+-+--+-+--=其中参数分别为:κωϕκϕsin sin sin cos cos 1-=aκωϕκϕsin sin sin sin cos 2--=a ωϕcos sin 3-=aκωsin cos 1=b κωcos cos 2=b ωsin 3-=bκωϕκϕsin sin cos cos sin 1+=c κωϕκϕcos sin cos sin sin 2+-=c ωϕcos cos 3=c旋转矩阵R 为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321321321c c c b b b a a a R2、 由于外方位元素共有6个未知数,根据上述公式可知,至少需要3个不在一条直线上的已知地面点坐标就可以求出像片的外方位元素。
摄影测量-空间前交、后交【精选文档】

空间后交—前交程序设计(实验报告)姓名:班级:学号:时间:空间后交-前交程序设计一、实验目的用 C 、VB或MATLAB语言编写空间后方交会-空间前方交会程序⑴提交实习报告:程序框图、程序源代码、计算结果、体会⑵计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度二、实验数据f=150。
000mm,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%求间接平差时需要的系数%%%已知%a=像点坐标x,b=像点坐标y,f内方位元素主距%φ=q,ψ=w,κ=k%像空间坐标系X,Y,Z%地面摄影测量坐标系Xs,Ys,Zsfunction [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;函数ok%%%%%%%%%%%%%%目的是为了保证各取的值的有效值%%xy为n*1,a为1*nfunction result=ok(xy,a)format short gi=size(xy,1);for n=1:io=xy(n)—floor(xy(n,1));o=round(o*(10^a(n)))/(10^a(n));xy(n,1)=floor(xy(n,1))+o;endformat long gresult=xy;函数rad2dmsxy%%%%求度分秒表现形式的三个外方位元素,三个角度function xydms=rad2dmsxy(xy)[a,b,c,d,e,f]=testvar(xy);d=deg2dms(rad2deg(d));e=deg2dms(rad2deg(e));f=deg2dms(rad2deg(f));xydms=[a,b,c,d,e,f]';函数spacehoujiao%%%%%%%空间后交%%% f%%输入p(2*n,1)%%像点坐标x,y,X,Y,Z,均为(n,1)function [xy,m,R]=spacehoujiao(p,x,y,f,X,Y,Z)format long;%%%%%权的矢量化,这是等精度时的,如果非,将函数参数改为PP=diag(p);%%求nj=size(X,2);%%初始化Xs=0;Ys=0;Zs=0;for n=1:jXs=Xs+X(n);Ys=Ys+Y(n);Zs=Zs+Z(n);endSx=sqrt((x(2)-x(1))^2+(y(2)—y(1))^2);%%%%两像点之间距离Sd=sqrt((X(2)-X(1))^2+(Y(2)-Y(1))^2);%%%%两地面控制点之间距离m=Sd/Sx; %%%%图像比例系数Xs=Xs/j;Ys=Ys/j;Zs=m*f+Zs/j;m0=0;q=0;w=0;k=0;i=0;a=rand(2*j,6);l=rand(2*j,1);%%%%for n=1:j[a(2*n—1,:),l(2*n—1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n),Xs,Ys,Zs);enddet=inv(a’*P*a)*transpose(a)*P*l;%%%%%%%%%循环体while 1%%%%%%%%%%%%%%%%[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);%%%%%%%%%if ((detXs<0。
摄影测量学空间后方交会实验报告

摄影测量学实验报告实验一、单像空间后方交会学院:建测学院班级:测绘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.实验结果四.实验总结此次实验让我深入了解单像空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
(完整版)摄影测量作业部分答案

1.什么是摄影测量学,摄影测量发展的三个阶段摄影测量学是对研究的物体进行摄影,测量和解译所获得的影像,获取被摄物体的几何信息和物理信息的一门科学。
三个阶段:模拟、解析、数字摄影测量。
2.根据成图的需要,规定了摄影比例尺后,如何选择航空摄影机与航摄高度?答:采用特宽角航摄机,航高值就小,采用常角或窄角航摄机,航高值就大。
(航高的大小将决定飞机实际升限和最小安全高度的限制,另外,测图的高程测定精度与航高有关(高程中误差与航高成正比))大比例尺单像测图,应选用常角或窄角航摄机,小比例尺立体测图应选用特宽角航摄机。
3.什么是航摄像片的内外方位元素,各有何作用?答:内方位元素包括三个参数,即摄影中心S到像片的垂距(主距)f及像主点o在像框标坐标系中的坐标00,y x,用其来恢复摄影光束。
确定摄影光束在摄影瞬间的空间位置和姿态的参数,称为外方位元素,一张的外方位元素包括六个参数,其中有三个是直线元素,用于描述摄影中心的空问坐标值;另外三个是角元素,用于表达像片面的空间姿态。
4.摄影测量中常用的坐标系有哪些,各有何作用?答:摄影测量中常用的坐标系有两大类。
一类是用于描述像点的位置,称为像方空间坐标系;另——类是用于描述地面点的位置.称为物方空间坐标系。
(1)像方空间坐标系①像平面坐标系像平面坐标系用以表示像点在像平面上的位置,通常采用右手坐标系,xy轴的选择按需要而定.在解析和数字摄影测量中,常根据框标来确定像平面坐标系,称为像框标坐标系。
②像空间坐标系为了便于进行空间坐标的变换,需要建立起描述像点在像空间位置的坐标系,即像空间坐标系。
以摄影中心S为坐标原点,xy,轴与像平面坐标系的xy轴平行,z轴与主光轴重合,形成像空间右手直角坐标系s-xyz③像空间辅助坐标系像点的像空间坐标可直接以像平面坐标求得,但这种坐标的待点是每张像片的像空间坐标系不统一,这给计算带来困难。
为此,需要建立一种相对统一的坐标系.称为像空间辅助坐标系,用s-XYZ表示。
摄影测量学空间后方交会实验报告13页

摄影测量学空间后方交会实验报告13页报告摘要:本实验以三张已知高度物体的相片为样本,运用摄影测量学的空间后方交会算法,通过MATLAB编程实现对物体三维坐标的计算,并加以检验与探讨,得出结论相对合理。
同时,本实验也通过对MATLAB编程的应用,掌握了空间后方交会算法的理论及实践方法。
1. 实验目的(1)学习和应用摄影测量学中的空间后方交会算法,掌握其计算方法和程序实现过程。
(2)了解数字像相机的相关特性,并掌握其使用方法。
(3)通过对样本数据的处理,熟悉和掌握MATLAB编程的应用技巧。
2. 实验器材数字相机一部,尺子一把,样本图像三张,MATLAB软件。
3. 实验原理在精密测量领域中,采用摄影测量学的空间后方交会算法,可实现三维坐标的测量和重建。
这种方法是将已知物体的照片,通过对像点的提取及校准,得出像点坐标系下的物体的三维坐标系下的坐标。
这种算法的基本思路是:利用像点坐标系下的物体三维坐标系下的坐标关系,构建一个误差最小的方程组,通过矩阵的求解,得到物体三维坐标系下的坐标。
数字相机是一种基于CCD或CMOS成像器材料的成像设备,根据数字信号的处理能力,合成电子图像。
数字相机的性能主要包括分辨率、感光度、曝光控制、焦距、光圈等参数。
使用数字相机拍摄时,应根据拍摄对象的光线条件、距离、尺寸、景深等因素,进行调节。
4. 实验过程(1)利用数字相机拍摄三张已知高度物体的照片,并在样本上面贴标记,用尺子测算实际高度。
(2)利用图像处理软件MATLAB,对照片进行像点识别和校准,得到像点坐标系下的坐标。
(3)根据相片中已知物体的测高值及像点坐标系下的坐标值,通过MATLAB编写空间后方交会的程序算法,得出物体的三维坐标系下的坐标。
(4)对得出的坐标值进行检验及探讨,分析误差来源及部分工具库的使用方法。
5. 实验结果与分析本实验所得出的三维坐标值,原本应是在一个确定点之间展开的点集。
知道参数计算不全或精度不够是常有的事情(尤其在没有精密测量器具的条件下),这种情况我们应该考虑从给出的角度和图像来看和计算得到位置。
《摄影测量学》第10讲-空间后方交会

0 0 Fx ( X S ,YS0 , Z S ,ϕ 0 , ω0 ,κ 0 ) → Fx0
0 (XS − XS ) +
(YS − YS0 ) +
0 (Z S − Z S ) +
(ω − ω0 ) +
∂Fx0 ∂κ
0 0 (κ − κ 0 ) + Fx ( X S , YS0 , Z S ,ϕ 0 , ω0 ,κ 0 )
内 容 安 排
• 单像空间后方交会概述 • 共线方程的线性化(难点) 共线方程的线性化(难点) • 利用共线条件方程解算像片的外方位元 点) ( 点)
[一]概述
1、什么叫单像空间后方交会 什么叫单像空间后方交会 利用地面控制点及其在片像上的像点, 利用地面控制点及其在片像上的像点,确定一 张像片外方位元素的方法。 张像片外方位元素的方法。
2
(
)
求:a = ?
取初值
任取a0=0: da = 6 由于:da = a − a0,a = a0 + da = 6 da = −36 / 13 = −2.8 取a0=6: 由于:da = a − a0,a = a0 + da = 3.2 da = −1 取a0=3.2 由于:da = a − a0,a = a0 + da = 2.2
S S
) + b2 ( Y − Y S ) + c 2 ( Z − Z S ) ) + b3 ( Y − Y S ) + c 3 ( Z − Z S )
a1 ( X − X S ) + b1 (Y − YS ) + c1 ( Z − Z S ) Fx = x + f =0 a3 ( X − X S ) + b3 (Y − YS ) + c3 ( Z − Z S ) Fy = y + f a 2 ( X − X S ) + b2 (Y − YS ) + c 2 ( Z − Z S ) =0 a3 ( X − X S ) + b3 (Y − YS ) + c3 ( Z − Z S )
相片的空间后方交会解算 -回复

相片的空间后方交会解算-回复相片的空间后方交会解算是大地测量学中的一种测量方法,用来确定摄影测量中的相片位置和相对方位。
这种解算方法非常重要,可以用于制图、地形分析、地貌研究等各种大地测量的应用中。
下面将逐步回答关于相片的空间后方交会解算的问题,希望能够对你有所帮助。
首先,什么是相片的空间后方交会解算呢?相片的空间后方交会解算是指通过观测相片上的像点所对应的地面点的坐标,以及摄影测量的外方位元素(包括摄影基线的长度和方向,摄影机的姿态等),通过一系列的计算方法,确定相片所拍摄的地面点的坐标。
通过这种方法,可以将相片的像点坐标转化为地面点的坐标,从而达到控制相片位置的目的。
接下来,相片的空间后方交会解算有哪些步骤?相片的空间后方交会解算包括以下几个基本步骤:1. 外方位元素的确定:首先需要确定摄影测量中的外方位元素,包括摄影基线的长度和方向,摄影机的姿态等。
这些元素是解算相片空间位置的基础,可以通过测量方法或者其他数据源来确定。
2. 像点的测量:接下来需要对相片上的像点进行测量,确定其位置。
通常使用特定的测量设备,如数字化扫描仪或者像片投影仪,将像点的坐标测量出来。
3. 标定元素的确定:在解算之前,还需要确定相机的内方位元素,包括主距、畸变系数等。
这些元素可以通过相机的标定或者其他方法来确定。
4. 空间后方交会解算:有了上述的基本数据,就可以进行空间后方交会的计算了。
首先,根据已知的外方位元素和内方位元素,将像点的像平面坐标转化为物方空间坐标。
然后,利用解析几何的方法,以及已知的地面控制点坐标,通过空间交会的原理,求解出未知点的坐标。
最后,通过检核和精度评定来评估解算结果的可靠性。
以上就是相片的空间后方交会解算的基本步骤。
相片的空间后方交会解算在大地测量学中有着广泛的应用。
它可以用于测绘制图,制作数字地面模型,地形分析等各类应用。
它还可以应用于地貌研究,通过对不同时间段拍摄的相片进行空间后方交会解算,可以观察地形变化和地表运动等现象。
摄影测量作业3-空间后方交会计算

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; }
摄影测量实习空间后方交会

摄影测量实习空间后方交会—. 后方交会解算程序。
(1)原程序:D=input('请输入地面点坐标:')Y=input('请输入影像坐标点:')/1000f=input('请输入主距:')/1000C=input('请输入像主点坐标初始值:')J=input('请输入外方位角初始值:')i=size(Y,1);Y=[Y;Y(1,:)];D=[D;D(1,:)];Xs=0;Ys=0;for j=1:im=sqrt(((D(j,1)-D(j+1,1)).^2+(D(j,2)-D(j+1,2)).^2)/((Y(j,1)-Y(j+1,1)).^2+(Y(j,2)-Y(,2)).^2))/(i-1);Xs=Xs+D(j,1)/i;Ys=Ys+D(j,2)/i;endZs=m*f;for j=1:1000R(1,1)=cos(J(1))*cos(J(3))-sin(J(1))*sin(J(2))*sin(J(3));R(1,2)=-cos(J(1))*sin(J(3))-sin(J(1))*sin(J(2))*cos(J(3));R(1,3)=-sin(J(1))*cos(J(2));R(2,1)=cos(J(2))*sin(J(3));R(2,2)=cos(J(2))*cos(J(3));R(2,3)=-sin(J(2));R(3,1)=sin(J(1))*cos(J(3))+cos(J(1))*sin(J(2))*sin(J(3));R(3,2)=-sin(J(1))*sin(J(3))+cos(J(1))*sin(J(2))*cos(J(3));R(3,3)=cos(J(1))*cos(J(2));for n=1:iXp(n)=R(1,1)*(D(n,1)-Xs)+R(2,1)*(D(n,2)-Ys)+R(3,1)*(D(n,3)-Zs);Yp(n)=R(1,2)*(D(n,1)-Xs)+R(2,2)*(D(n,2)-Ys)+R(3,2)*(D(n,3)-Zs);Zp(n)=R(1,3)*(D(n,1)-Xs)+R(2,3)*(D(n,2)-Ys)+R(3,3)*(D(n,3)-Zs);xc(n)=-f*Xp(n)/Zp(n);yc(n)=-f*Yp(n)/Zp(n);A(2*n-1,1)=(R(1,1)*f+R(1,3)*xc(n))/Zp(n);A(2*n-1,2)=(R(2,1)*f+R(2,3)*xc(n))/Zp(n);A(2*n-1,3)=(R(3,1)*f+R(3,3)*xc(n))/Zp(n);A(2*n,1)=(R(1,2)*f+R(1,3)*yc(n))/Zp(n);A(2*n,2)=(R(2,2)*f+R(2,3)*yc(n))/Zp(n);A(2*n,3)=(R(3,2)*f+R(3,3)*yc(n))/Zp(n);A(2*n-1,4)=yc(n)*sin(J(2))-(xc(n)/f*(xc(n)*cos(J(3))-yc(n)*sin(J(3)))+f*cos(J(3)))*c os(J(2));A(2*n-1,5)=-f*sin(J(3))-xc(n)*(xc(n)*sin(J(3))+yc(n)*cos(J(3)))/f;A(2*n-1,6)=yc(n);A(2*n,4)=-xc(n)*sin(J(2))-(yc(n)/f*(xc(n)*cos(J(3))-yc(n)*sin(J(3)))-f*sin(J(3)))*cos(J(2));A(2*n,5)= -f*cos(J(3))-yc(n)*(xc(n)*sin(J(3))+yc(n)*cos(J(3)))/f;A(2*n,6)=-xc(n);L(2*n-1,1)=Y(n,1)-xc(n);L(2*n,1)=Y(n,2)-yc(n);endX=inv(A'*A)*A'*L;Xs=Xs+X(1);Ys=Ys+X(2);Zs=Zs+X(3);J(1)=J(1)+X(4);J(2)=J(2)+X(5);J(3)=J(3)+X(6);M=max(abs(X));if M<=0.001XsYsZsRbreak;endend二.运行实例(课本p-44 习题24)27.已知四队点的影像坐标和地点坐标如下:试计算近似垂直摄影情况下空间后方交会的解。
测绘中的航空摄影测量像空间后方交会定向技术和方法

测绘中的航空摄影测量像空间后方交会定向技术和方法测绘中的航空摄影测量——像空间后方交会定向技术和方法导言:测绘工作是指通过对地球进行观测和测量,获取和处理地理空间信息的一系列工作。
航空摄影测量是测绘工作中重要的手段之一,能够高效、精确地获取大范围的地理信息。
而像空间后方交会定向技术和方法则是航空摄影测量中的关键环节,本文将对其进行探讨和介绍。
一、像空间后方交会定向的定义和原理像空间后方交会定向是航空摄影测量中解算摄影测量像对的相对定向元素、绝对定向元素和外业布控点坐标的一种方法。
它的基本原理是通过观测同一地物点在不同影像上的像点坐标,并结合已知的摄影测量元素,利用空间三角测量的方法和数学公式对航空影像进行分析和处理,最终得到准确的地物点坐标。
二、像空间后方交会定向的步骤和流程1. 影像预处理像空间后方交会定向的第一步是对采集的航空影像进行预处理。
这包括影像的几何校正、去畸变、边缘匹配和色调调整等工作。
通过这些预处理操作,可以保证后续的像点提取和像控测量的准确性。
2. 像点提取和像控测量像空间后方交会定向的关键步骤是对影像上的像点进行提取和测量。
这需要使用数字图像处理和计算机视觉的技术,通过筛选、匹配和校正等步骤,得到准确的像点坐标。
同时,还需要使用地面测量仪器对一些选定的像控点进行测量,作为后续定向的基础。
3. 摄影测量元素求解根据像点提取和像控测量的结果,结合已知的摄影测量元素,如摄影高度、焦距和旋转元素等,使用空间三角测量的方法和数学公式,求解相对定向和绝对定向元素。
这些元素包括像对的旋转角度、轴向比例尺和像对的位置误差等。
4. 外业布控点定位和坐标转换为了验证像空间后方交会定向结果的精度和可靠性,需要在实地布控一些已知坐标和控制点,通过GPS定位等技术手段测量其坐标。
然后,利用坐标转换的方法,将这些外业布控点的坐标转换为像平面坐标,与像空间后方交会定向的结果进行比对和分析。
5. 精度评定和验证在完成所有的定向计算和坐标转换后,需要对像空间后方交会定向的结果进行精度评定和验证。
(空间后方交会的计算过程)空间后方交会知识讲解

Z
a3(XA
XS
)b3(YA
YS
)c3(ZA
ZS)
各偏导数是系数,用新的符号表示,则:
x
f
X
Z
y
f
Y
Z
a11
x X S
( f
X
)
Z f
X S
X X S
Z
Z
X S
2
Z
X
f
a1 Z a3
2
X
1
(a1 f
a3x)
Z
Z
同理可推导出
a 12
x YS
1
Z
(b1 f
b3x)
a 13
x Z S
1
Z
(c1 f
6) 组成误差方程式 7) 组成法方程式 8)解求外方位元素 9)检查计算是否收敛:将求得外方位元素的
改正数与规定的限差比较,小于限差则计 算终止,否则迭代计算。
四、空间后方交会的精度
求解各未知数的精度可以通过法方程系数矩阵求逆的方 法,解由其相应的权倒数 Q ii ,按照下式计算未知数 的中误差
或写成: V x a 1 d 1S X a 1d 2 S Y a 1d 3S Z a 1d 4 a 1d 5 a 1d 6 lk x V y a 2 d 1S X a 2d 2 S Y a 2d 3S Z a 2d 4 a 2d 5 a 2d 6 l k y
其中:
llx y x y ((x y)) xy ffa a a a 3 12 3 ((((X X X X A A A A X X X X S SS S)))) b b b b 1 33 2 ((Y ((Y Y Y A A A A Y Y Y Y S SS S )))) c cc c 1 3(3 2 (Z ((Z Z Z A A A A Z Z Z Z S SS S ))))
空间后方交会的计算框图

摄 影 测 量 学
一、共线条件方程线性化(Linearization)
1、共线条件方程解析一般形式
x f y f a1 ( X X S ) b1 (Y YS ) c1 ( Z Z S ) a3 ( X X S ) b3 (Y YS ) c3 ( Z Z S ) a2 ( X X S ) b2 (Y YS ) c2 ( Z Z S ) a3 ( X X S ) b3 (Y YS ) c3 ( Z Z S )
分析
a1 x a 2 y a3 f X Xs ( Z Zs ) c x c y c f 1 2 3 Y Ys ( Z Zs ) b1 x b2 y b3 f c1 x c2 y c3 f 6个外方位元素 : X , Y , Z ,,ω,κ, S S S
x A a1 X b1Y c1 Z y A a2 X b2Y c2 Z z a X b Y c Z 3 3 3 A
( 2)
像空系中
xA yA zA x y f
x f y f a1 X b1Y c1 Z a 3 X b3Y c3 Z a 2 X b2Y c2 Z a 3 X b3Y c3 Z
YT
A
D
XT
3
摄 影 测 量 学
向量表达式
z y x S y
SA λ Sa
xA yA zA x y f
x
-f
oy
a
A
zA
xA
x f y f
xA zA yA zA
摄 影 测 量 学
单像空间后方交会

摄影测量学实习报告遥感07011班吴倩200732590254一、实习目的1.掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。
(2)算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。
实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。
2.了解摄影测量平差的基本过程(1)获取已知数据。
从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。
(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。
(3)确定未知数的初始值。
单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,φ、ω、κ的初值都设为0。
或者κ的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。
(4)计算旋转矩阵R。
利用角元素近似值计算方向余弦值,组成R阵。
(5)逐点计算像点坐标的近似值。
利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。
(6)逐点计算误差方程式的系数和常数项,组成误差方程式。
(7)计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。
(8)解求外方位元素。
根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。
(9)检查计算是否收敛。
将所求得的外方位元素的改正数与规定的限差比较,通常对φ,ω,κ的改正数△φ,△ω,△κ给予限差,通常为0.1′,当3个改正数均小于0.1′时,迭代结束。
摄影测量实验报告(空间后方交会—前方交会)

摄影测量实验报告(空间后⽅交会—前⽅交会)空间后⽅交会-空间前⽅交会程序编程实验⼀.实验⽬的要求掌握运⽤空间后⽅交会-空间前⽅交会求解地⾯点的空间位置。
学会运⽤空间后⽅交会的原理,根据所给控制点的地⾯摄影测量坐标系坐标以及相应的像平⾯坐标系中的坐标,利⽤计算机编程语⾔实现空间后⽅交会的过程,完成所给像对中两张像⽚各⾃的外⽅位元素的求解。
然后根据空间后⽅交会所得的两张像⽚的内外⽅位元素,利⽤同名像点在左右像⽚上的坐标,求解其对应的地⾯点在摄影测量坐标系中的坐标,并完成精度评定过程,利⽤计算机编程语⾔实现此过程。
⼆.仪器⽤具计算机、编程软件(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*cVV(i)=V1(i);VV(2*i+1)=V2(i);endm0=sqrt(VV*(VV')/(2*c-6));输⼊GCP像点坐标及地⾯摄影测量坐标系坐标的函数和输⼊所求点像点坐标函数:function shurujcp()global c m;m=input('摄影⽐例尺:'); %输⼊GCP像点坐标数据函数并分别将其c=input('GCP的总数='); % 存⼊到不同的矩阵之中disp('GCP左⽚像框标坐标:');global g1;g1=zeros(c,2);i=1;while i<=cm=input('x=');n=input('y=');g1(i,1)=m;g1(i,2)=n;i=i+1;enddisp('GCP右⽚像框标坐标:');global g2;g2=zeros(c,2);i=1;while i<=cm=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<=am=input('x=');n=input('y=');b1(i,1)=m;b1(i,2)=n;i=i+1;end%%b2=zeros(a,2);disp('右⽚像点坐标:')i=1;while i<=am=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<=cm=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 c QXX 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;save '左⽚外⽅位元素为.txt' WF -ascii %将计算所得的外⽅位元素存⼊到.txt% ⽂件中for i=1:cg1(i,1)=g1(i,1)+V1(2*i-1);g1(i,2)=g1(i,2)+V1(2*i);endsave '左⽚像点坐标.txt' g1 -asciixs0=(G(2,1)+G(4,1))/2;ys0=(G(2,2)+G(4,2))/2;[Xs2,Ys2,Zs2,q2,w2,k2 R]=houfangjh(g2,xs0,ys0); %对右⽚调⽤后⽅交会函数R2=R; V2=V;WF2=WF;QXX2=QXX;save '右⽚外⽅位元素为.txt' WF –ascii %将计算所得的外⽅位元素存⼊到.txt% ⽂件中for i=1:cg2(i,1)=g2(i,1)+V2(2*i-1);g2(i,2)=g2(i,2)+V2(2*i);endsave '右⽚像点坐标.txt' g2 -asciiX1=zeros(a,3);X2=zeros(a,3);xx=zeros(3,1);xxx=zeros(3,1);for i=1:ass=[b1(i,1);b1(i,2);-f];dd=[b2(i,1);b2(i,2);-f];xx=R1*ss;X1(i,:)=xx';xxx=R2*dd;X2(i,:)=xxx';endglobal Xs1 Xs2 Ys1 Ys2 Zs1 Zs2;BX=Xs2-Xs1;BY=Ys2-Ys1;BZ=Zs2-Zs1;global N1 N2;N1=zeros(1,a);N2=zeros(1,a);for i=1:aN1(1,i)=(BX*X2(i,3)-BZ*X2(i,1))/(X1(i,1)*X2(i,3)-X2(i,1)*X1(i,3));N2(1,i)=(BX*X1(i,3)-BZ*X1(i,1))/(X1(i,1)*X2(i,3)-X2(i,1)*X1(i,3));end %计算投影系数,并计算五点的三维坐标global XYZ;XYZ=zeros(a,3);for i=1:aXYZ(i,1)=Xs1+N1(1,i)*X1(i,1);XYZ(i,2)=((Ys1+N1(1,i)*X1(i,2))+(Ys2+N2(1,i)*X2(i,2)))/2;enddisp('左⽚外⽅位元素为:Xs Ys Zs ψωκ');disp(WF1);disp('左⽚外⽅位元素协因素阵为:');disp(QXX1);disp('左⽚像点坐标为:')disp(g1)disp('右⽚外⽅位元素为:Xs Ys Zs ψωκ');disp(WF2);disp('右⽚外⽅位元素协因素阵为:')disp(QXX2)disp('右⽚像点坐标为:')disp(g2)disp('计算所得点摄影测量坐标(X,Y,Z)为:');disp(XYZ);save 'XYZ.txt' XYZ -ascii %将计算所得结果保存到XYZ.txt⽂件中%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [Xs,Ys,Zs,q,w,k R]=houfangjh(g1,Xs0,Ys0) %计算像⽚外⽅位元素%%%%%%%%%%global f G m c b1 b2;f=0.152;Xs=Xs0;Ys=Ys0;Zs=m*f+G(1,3);q=0;w=0;k=0;while 1 %实现⼀个永真循环,是改正数⼩于限差以后跳出循环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);R=[a1,a2,a3;b1_,b2_,b3;c1,c2,c3];for i=1:caX(i)=a1*(G(i,1)-Xs)+b1_*(G(i,2)-Ys)+c1*(G(i,3)-Zs);aY(i)=a2*(G(i,1)-Xs)+b2_*(G(i,2)-Ys)+c2*(G(i,3)-Zs);aZ(i)=a3*(G(i,1)-Xs)+b3*(G(i,2)-Ys)+c3*(G(i,3)-Zs);endxj=[];yj=[];for i=1:cxj(i)=-f*aX(i)/aZ(i);yj(i)=-f*aY(i)/aZ(i);enda11=[];a12=[];a13=[];a14=[];a15=[];a16=[];a21=[];a22=[];a23=[];a24=[];a25=[];a26=[];for i=1:ca11(i)=(a1*f+a3*g1(i,1))/aZ(i);a12(i)=(b1_*f+b3*g1(i,1))/aZ(i);a13(i)=(c1*f+c3*g1(i,1) )/aZ(i);a21(i)=(a2*f+a3*g1(i,2))/aZ(i);a22(i)=(b2_*f+b3*g1(i,2))/aZ(i);a23(i)=(c2*f+c3*g1(i,2) )/aZ(i);a14(i)=g1(i,2)*sin(w)-(g1(i,1)*(g1(i,1)*cos(k)-g1(i,2)*sin(k))/f+f*cos(k))*cos(w);a15(i)=-f*sin(k)-g1(i,1)*(g1(i,1)*sin(k)+g1(i,2)*cos(k))/f;a16(i)=g1(i,2);a24(i)=-g1(i,1)*sin(w)-(g1(i,2)*(g1(i,1)*cos(k)-g1(i,2)*sin(k))/f-f*sin(k))*cos(w);a25(i)=-f*cos(k)-g1(i,2)*(g1(i,1)*sin(k)+g1(i,2)*cos(k))/f;a26(i)=-g1(i,1);endlx=[];ly=[];for i=1:clx(i)=g1(i,1)-xj(i);ly(i)=g1(i,2)-yj(i);endA=zeros(2*c,6);for i=1:cA(2*i-1,1)=a11(i);A(2*i-1,2)=a12(i);A(2*i-1,3)=a13(i);A(2*i-1,4)=a14(i);A(2*i-1,5)=a15 (i);A(2*i-1,6)=a16(i); A(2*i,1)=a21(i); A(2*i,2)=a22(i); A(2*i,3)=a23(i); A(2*i,4)=a24(i); A(2*i,5)=a25(i); A(2*i,6)=a26(i);endL=zeros(2*c,1);for i=1:cL(2*i-1,1)=lx(i);endX=inv((A')*A)*(A')*L;Xs=Xs+X(1,1);Ys=Ys+X(2,1);Zs=Zs+X(3,1);q=q+X(4,1);w=w+X(5,1);k=k+X(6,1);Xabs=abs(X);aaa=max(Xabs);if aaa<0.00003 %当改正数中绝对值最⼤的改正数⼩于限差0.00003 break; %后跳出循环,计算结果已经收敛endendglobal V;V=L';global WF QXX;WF(1)=Xs;WF(2)=Ys;WF(3)=Zs;WF(4)=q;WF(5)=w;WF(6)=k;QXX=A'*A;六.实验结果左⽚外⽅位元素Xs,Ys,Zs,ψ、ω、κ、为:5.0001950e+003 5.0007250e+003 2.0201583e+003 -7.2888190e-005 2.8193877e-002 9.5130388e-002左⽚外⽅位元素协因素阵为:4.0166895e-008 -3.7263703e-010 1.3218695e-008 7.0720033e-005 1.0001730e-007 -2.5748604e-006-3.7263703e-010 4.0032797e-008 2.6568407e-009 -2.1103715e-007 7.7772275e-005 1.9993587e-0051.3218695e-0082.6568407e-009 1.7931301e-0083.1008915e-005 6.6697659e-006 5.6403374e-0077.0720033e-005 -2.1103715e-007 3.1008915e-005 1.3087511e-001 1.0148977e-003 -1.9981396e-003 1.0001730e-007 7.7772275e-005 6.6697659e-006 1.0148977e-003 1.5539404e-001 3.0264331e-002-2.5748604e-006 1.9993587e-005 5.6403374e-007 -1.9981396e-003 3.0264331e-002 4.0721943e-002左⽚外⽅位元素Xs,Ys,Zs,ψ、ω、κ、为:5.8967023e+003 5.0687355e+003 2.0506347e+003 1.4337709e-002 4.6257617e-0021.1037952e-001右⽚外⽅位元素协因素阵为:3.9305329e-0084.9400147e-010 -1.0339207e-008 6.8065940e-005 -4.2504770e-007 1.8461496e-0064.9400147e-010 3.9051893e-008 3.3958896e-011 -3.9945442e-008 7.6312421e-005 -1.6453951e-005-1.0339207e-008 3.3958896e-011 1.5155886e-008 -2.3705097e-005 3.5940467e-007 -7.3527082e-007 6.8065940e-005 -3.9945442e-008 -2.3705097e-005 1.2229164e-001 -2.3449223e-003 4.8281474e-003-4.2504770e-007 7.6312421e-005 3.5940467e-007 -2.3449223e-003 1.5233230e-001 -2.5374659e-0022.5374659e-0023.6794789e-002GCP在左⽚和右⽚改正后的坐标(x,y)为:1.6019582e-002 7.9954660e-002 -7.3934212e-002 7.8699356e-0028.8559633e-002 8.1141190e-002 -5.2455612e-003 7.8187184e-0021.3352398e-002 -7.9378247e-002 -7.9125440e-002 -7.8877760e-0028.2242309e-002 -8.0017749e-002 -9.8858970e-003 -8.0086832e-002单位权中误差为:±1.515610577029578e-005所求地⾯点的三维坐标(X, Y, Z)为:5.4310348e+003 5.8851463e+003 5.4831646e+0025.1473645e+003 5.0555934e+003 4.8499600e+0025.4957931e+003 5.0826911e+003 5.0668967e+0025.8442434e+003 5.1098033e+003 5.3025650e+0025.5603279e+003 4.2870779e+003 4.6536459e+002七.⼼得体会经过三周的努⼒,这个当初看来艰巨的任务终于在我的不懈努⼒下圆满的完成了。
(空间后方交会的计算过程)空间后方交会 PPT

大家好
11
计算中,通常将地面控制点的坐标认为是真值,而把相应的像点 坐标认为是观测值,加入相应的改正数 V x ,V y ,得 xVx,y,Vy 列
出如下的每个点的误差方程式为:
V x X xSdS X Y x SdSY Z xSdSZ xd xd k xd k(x)x V y X ySdS X Y y SdSY Z ySdSZ yd yd k yd k(y)y
式中,x,y为像点坐标的观测值,(x),(y)为用控制点的物方坐标及 外方位元素的近似值大家代好入中心投影方程求得的像点坐标近12似值。
舍弃二次项,使之线性化得:
x y ((xy)) X X xySSd dX S X S Y Y xySSd dSS Y Y Z Z xySSd dS Z S Z x yd d xyd d k xk yd dkk
式中,(x),(y)为函数的近似值。
k
f
sin
k)
f
sin
k ] cos
a25
f
cos k
y f
(x sin k
y cos k
a26 x
当竖直投影时,角元素都是小角(小于3度),此时可近似认为
k 0 ,Z A Z S H ,各个系数的表达式可以得到简化。
大家好
10
空间后方交会计算中的误差方程和法方程
由于有六个未知数,所以至少需要知道三个 已知的地面控制点,为了能够平差,通常在 像片的四个角选取四个或更多的地面控制点。
第三章 单张航摄像片解析
大家好
1
单张像片的空间后方交会
如果我们有每张像片的六个外方位元素,就 能恢复航摄像片与被摄地面之间的几何关系, 重建地面的立体模型。
空间后方交会的解算

空间后方交会的解算一. 空间后方交会的目的摄影测量主要利用摄影的方法获取地面的信息,主要是是点位信息,属性信息,因此要对此进行空间定位和建模,并首先确定模型的参数,这就是空间后方交会的目的,用以求出模型外方位元素。
二. 空间后方交会的原理空间后方交会的原理是共线方程。
共线方程是依据相似三角形原理给出的,其形式如下111333222333()()()()()()()()()()()()A S A S A S A S A S A S A S A S A S A S A S A S a X X b Y Y c Z Z x fa X X a Y Y a Z Z a X Xb Y Yc Z Z y f a X X a Y Y a Z Z -+-+-=--+-+--+-+-=--+-+-上式成为中心投影的构线方程,我们可以根据几个已知点,来计算方程的参数,一般需要六个方程,或者要三个点,为提高精度,可存在多余观测,然后利用最小二乘求其最小二乘解。
将公式利用泰勒公式线性化,取至一次项,得到其系数矩阵A ;引入改正数(残差)V ,则可将其写成矩阵形式:V AX L =-其中111333222333[,]()()()()()()()()()()()()()()Tx y A S A S A S x A S A S A S A S A S A S y A S A S A S L l l a X X b Y Y c Z Z l x x x fa X X a Y Y a Z Z a X Xb Y Yc Z Z l y y y f a X X a Y Y a Z Z =-+-+-=-=+-+-+--+-+-=-=+-+-+- 则1()T T X A A A L -=X 为外方位元素的近似改正数,由于采用泰勒展开取至一次项,为减少误差,要将的出的值作为近似值进行迭代,知道小于规定的误差三. 空间后方交会解算过程1. 已知条件00253.24mmx y 0f ===2. 解算程序流程图MA TLAB 程序format long;s1=xlsread('data.xls');%读取数据a1=s1(1:4,1:2);%影像坐标b1=s1(1:4,3:5);%地面摄影测量坐标a2=s1.*10^-3;%影像坐标单位转化j1=a2(1,:)-a2(2,:);j2=j1(1,1)^2+j1(1,2)^2;lengh_a1=sqrt(j2); %相片某一长度j1=b1(1,:)-b1(1,:);j2=j1(1,1)^2+j1(1,2)^2;lengh_b1=sqrt(j2); %地面对应的长度m=lengh_b1/lengh_a1;%求出比例尺n0=0;p0=0;q0=0;x0=mean(b1(:,1));y0=mean(b1(:,2));f=153.24*10^-3;z0=m*f;x001={x0,x0,x0,x0};X0=cell2mat(x001)';y001={y0,y0,y0,y0};Y0=cell2mat(y001)';z001={z0,z0,z0,z0};Z0=cell2mat(z001)';%初始化外方位元素的值aa1=cos(n0)*cos(q0)-sin(n0)*sin(p0)*sin(q0);aa2=-sin(q0)*cos(n0)-sin(n0)*sin(p0)*cos(q0);aa3=-sin(n0)*cos(p0);bb1=sin(q0)*cos(p0);bb2=cos(q0)*cos(p0);bb3=-sin(p0);cc1=sin(n0)*cos(q0)+sin(p0)*cos(n0)*sin(q0);cc2=-sin(n0)*sin(q0)+sin(p0)*cos(q0)*cos(n0);cc3=cos(n0)*cos(p0);%计算改正数XX1=aa1.*(b1(:,1)-X0)+bb1.*(b1(:,2)-Y0)+cc1.*(b1(:,3)-Z0); XX2=aa2.*(b1(:,1)-X0)+bb2.*(b1(:,2)-Y0)+cc2.*(b1(:,3)-Z0); XX3=aa3.*(b1(:,1)-X0)+bb3.*(b1(:,2)-Y0)+cc3.*(b1(:,3)-Z0); lx=a1(:,1)+f.*(XX1./XX3);ly=a1(:,2)+f.*(XX2./XX3);l={lx',ly'};L=cell2mat(l)';%方程系数A=[-3.969*10^-5 0 2.231*10^-5 -0.2 -0.04 -0.06899;0 -3.969*10^-5 1.787*10^-5 -0.04 -0.18 0.08615;-2.88*10^-5 0 1*10^-5 -0.17 0.03 0.08211;0 -2.88*10^-5 -1.54*10^-5 0.03 -0.2 0.0534;-4.14*10^-5 0 4*10^-6 -0.15 -7.4*10^-3 -0.07663;0 -4.14*10^-5 2.07*10^-5 -7.4*10^-3 -0.19 0.01478;-2.89*10^-5 0 -1.98*10^-6 -0.15 -4.4*10^-3 0.06443;0 -2.89*10^-5 -1.22*10^-5 -4.4*10^-3 -0.18 0.01046];%L=[-1.28 3.78 -3.02 -1.45 -4.25 4.98 -4.72 -0.385]'.*10^-2; %第一次迭代X=inv(A'*A)*A'*L;3.结果X=1492.41127406195-554.4015671761941425.68660973544-0.0383847815608609 0.00911624039769785 -0.105416434087641S=1492.41127406195-554.401567176194 1425.68660973544 38436.9616152184 27963.1641162404-0.105416434087641。
摄影测量简答题

《摄影测量与遥感》习题集参考答案一、名词解释摄影测量与遥感:是对非接触传感器系统获得的影像及数字表达进行记录、量测及解译,从而获得自然物体和环境的可靠信息的一门工艺、科学和技术。
像平面坐标系:像平面坐标系用以表示像点在像平面上的位臵,通常采用右手坐标系,x,y轴的选择按需要而定。
在解析和数字摄影测量中,常根据框标来确定像平面坐标系,称为像框标坐标系。
相机主距:摄影中心到像片面对垂直距离,一般用f来表示。
单片空间后方交会:已知某张像片的内方位元素、至少三个地面点坐标及对应的像点坐标,则可根据共线方程列出至少六个方程式,解求出像片六个外方位元素的过程,称为单张空间后方交会。
主合点:在主垂面内,过摄影中心点S做摄影方向线VV的平行线,交vv线于i点,称为主合点。
GPS辅助空中三角测量:利用载波相位差分GPS动态定位技术获取影像获取时的摄站三维坐标,将其作为附加观测值引入摄影测量区域网平差中,整体确定物方点坐标和像片方位元素并对其质量进行评定的理论和方法。
量测相机:相机的内方位元素已知的相机,且其结构稳定,畸变较小。
非量测相机:相机的内方位元素未知,结构不稳定,且镜头畸变大。
航高:摄影中心到摄影区域平均高程面的高度。
DEM:即数字高程模型,用于表示地面特征的空间分布的数据阵列,常用的是用一系列地面点的平面坐标X 、Y 以及该地面点的高程Z 或属性组成的数据阵列。
摄影比例尺:像片水平,地面水平时,像片上一段距离l 与地面一段距离L 的比值。
航向重叠度:在摄影时,为了便于测图,一般要求航空像片在航向方向要有一定的重叠,其重叠大小即为航向重叠度,航向重叠度一般要求在60%以上。
旁向重叠度:为便于航线间的拼接,相邻航线之间需要一定的重叠,其大小即为旁向重叠度,一般要求在24%以上。
数字微分纠正:根据有关的参数与数字地面模型,利用相应的构象方程式,或按一定的数学模型用控制点解算,从原始非正射投影的数字影像获取正射影像,这种过程是将影像化为很多微小的区域逐一进行纠正,且使用的是数字方式处理,叫做数字微分纠正。
如何进行摄影测量中的空三交会

如何进行摄影测量中的空三交会摄影测量是一项重要的测量技术,广泛应用于地理测量、城市规划、建筑设计等领域。
其中,空三交会是摄影测量中的一种基本技术方法,用于计算地面上的点的三维坐标。
本文将介绍如何进行摄影测量中的空三交会,并探讨一些相关的技术和应用。
一、摄影测量的基本原理摄影测量的基本原理是利用空中摄影获取的影像信息,通过对影像进行解译和测量,得到地物的空间位置和几何形状。
它依赖于摄影测量仪器的准确性和影像测量的技术方法。
二、空三交会的概念空三交会是利用两张以上的航空摄片或航天遥感影像进行测量的方法,通过对影像上的同一地物特征点的观测和计算,确定地物在三维空间中的坐标。
空三交会可分为前方交会和后方交会两种方式。
1. 前方交会前方交会是指在摄影测量过程中,首先通过对影像上的特征点进行测量和解析,得到它们在像平面上的坐标,然后再将这些像平面上的坐标转换为地面上的三维坐标。
初始的坐标测量是在像平面上进行的,因此被称为前方交会。
2. 后方交会后方交会是指在摄影测量过程中,首先测量和解析影像上的特征点,确定它们在像平面上的坐标,然后通过已知的控制点和航摄参数,将像平面上的坐标转换为地面上的坐标。
后方交会是在测量过程中才计算地面坐标,因此被称为后方交会。
三、空三交会的关键步骤空三交会的关键步骤包括航摄参数的确定、像点的测量和解析、控制点的建立和支持测量等。
1. 航摄参数的确定航摄参数是进行空三交会的关键条件,它包括摄影基线、摄影高程、摄影角等。
确定航摄参数的方法有空间后方交会、解析法和地面镜面法等。
其中,空间后方交会是最常用的方法,通过对已知控制点的观测和测量,使用测量软件进行后方交会计算,得到摄影测量仪器的外方位元素和内方位元素。
2. 像点的测量和解析像点的测量和解析是空三交会的核心步骤,它通过解析影像找到图上的同名点,然后对这些同名点进行测量,得到它们在像平面上的坐标。
一般情况下,会选取多个同名点进行测量,以提高测量结果的可信度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法确定初始值,即:
q=w=k=0
式中:m 为摄影比例尺分母;n 为控制点个数。 (4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵 R。 (5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面 坐标代入共线方程式,逐点计算像点坐标的近似值(x)、(y)。 (6)逐点计算误差方程式的系数和常数项,组成误差方程式。 (7)计算法方程的系数矩阵 A 和常数项 L,组成法方程式。 (8)解法方程,求得外方位元素的改正数 dXs,dYs,dZs,dq,dw,dk。 (9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素 的新值。 (10)将求得的外方位元素改正数与规定的限差比较,若小于限差则迭代结束。否则用 新的近似值重复(4)~(9),直到满足要求为止。
4
10.46 64.43 40426.54 30319.81 757.31
以单像空间后方交会方法,求解该像片的外方位元素。
作业要求: 1、用一门计算机语言(如 C,C++,C#,VB)编写单像空间后方交会程序,各角
元素迭代计算至其改正值小于 6 秒。 2、提交正式的课程作业报告。 3、作业报告包括:封面、目录、正文等,其中正文部分包括:作业任务、计算
2
一.实验目的
掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间后方交 会外方位元素的解算。
二.实验数据及实验设备
计算机 windows10 系统,编程软件 VS2015,地面控制点在摄影测量坐标系 中的坐标及其像点坐标文件 data.txt。
已知条件
摄影机主距 f=153.24mm,x0=0.01mm,y0=-0.02mm, 像片比例尺为 1:40000,像片上四个像点的框标坐标及其对应的地面坐标如下表。
CString strPathName = dlgOpenFile.GetPathName();//获取选择的文件的完整路径
CString strFileTitle = dlgOpenFile.GetFileTitle();//获取文件名 CString strExtName = dlgOpenFile.GetFileExt();//获取文件扩展名 CStdioFile sf; //创建文件对象
点号
像点坐标
地面坐标
x(mm) y(mm) X(m)
Y(m)
Z(m)
1
-86.15 -68.99 36589.41 25273.32 2195.17
2
-53.40 82.21 37631.08 31324.51 728.69
3
-14.78 -76.63 39100.97 24934.98 2386.50
double _Z = a3*(XA - XS) + b3*(YA - YS) + c3*(ZA - ZS);
A(2*i, 0) = (, 1) = (b1*f + b3*x) / _Z; A(2*i, 2) = (c1*f + c3*x) / _Z;
5
CFileDialog dlgOpenFile(TRUE, _T("txt"), NULL, OFN_FILEMUSTEXIST, _T("(文本文件)|*.txt|(所有文件)|*.*)||"));
if (dlgOpenFile.DoModal() == IDCANCEL) return;//如果选择取消按钮,则退出
for (int j = 0; j < 5;j++) listXYZ(i,j)=_wtof(m_list1.GetItemText(i, j + 1)); xyXYZ = listXYZ; ButtonClickeOk = 0;//表示导入数据按钮已被点击并且已导入数据 }
CMatrix CKongJianHouFangJiaoHuiDlg::GetX(CMatrix A, CMatrix L)//计算外方位元素改正数矩 阵 {
double w = XX(0, 4); double k = XX(0, 5); double q = XX(0, 3);; double a1 = cos(q)*cos(k) - sin(q)*sin(w)*sin(k); double a2 = -cos(q)*sin(k) - sin(q)*sin(w)*cos(k); double a3 = -sin(q)*cos(w); double b1 = cos(w)*sin(k); double b2 = cos(w)*cos(k); double b3 = -sin(w); double c1 = sin(q)*cos(k) + cos(q)*sin(w)*sin(k);
m_list1.SetItemText(index1, i + 1, strSplit[i]);
} }
} sf.Close();
6
int Line = m_list1.GetItemCount(); CMatrix listXYZ(Line, 5); for (int i = 0; i < Line; i++)
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 {
//以读的形式打开文件,如果打开失败 if (!sf.Open(strPathName, CFile::modeRead)) {
MessageBox(_T("读取文件出错!")); return; } CString strLine;//存放每一行文本 CStringArray strSplit; CeHuiLei SplitString; int hang = 0; while (sf.ReadString(strLine)) { if (hang <= 1) {
原理、算法流程、源程序、计算结果、结果分析、心得体会等。
三.实验所用到的数学公式及程序计算步骤。
单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标 根据共线方程反 求影像的外方位元素。 数学模型:共线条件方程式:
3
求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测
四.程序流程图。
4
五.程序的主要源代码如下所示:
#include "stdafx.h" #include "KongJianHouFangJiaoHui.h" #include "KongJianHouFangJiaoHuiDlg.h" #include "afxdialogex.h" #include "CeHuiLei.h" #include "Matrix.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CMatrix xyXYZ; int ButtonClickeOk = 1; void CKongJianHouFangJiaoHuiDlg::OnBnClickedOk()//导入测量数据按钮代码 {
hang++; } else {
int n = SplitString.SplitStringArray(strLine, ',', strSplit); int index1 = m_list1.GetItemCount(); CString sno1 = _T(""); sno1.Format(_T("%d"), index1 + 1); int nR = m_list1.InsertItem(index1, sno1); for (int i = 0; i < 5; i++) {
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; }
地球科学与环境工程学院 摄影测量实验报告书
课 程 名: 《摄影测量学》 学 号: 姓 名: 指导老师: 日 期: 2017 年 4 月 20 日
1
目录
一、目的与要求 ................................................ 3 二、实验数据与实验准备 ........................................ 3 三、程序流程图 ................................................ 4 四、实验代码 .................................................. 5 五、实验结果截图 ............................................. 10 六、实验总结 ................................................. 11