空间后方交会原理
空间后方交会的解算

空间后方交会的解算一. 空间后方交会的目的摄影测量主要利用摄影的方法获取地面的信息,主要是是点位信息,属性信息,因此要对此进行空间定位和建模,并首先确定模型的参数,这就是空间后方交会的目的,用以求出模型外方位元素。
二. 空间后方交会的原理空间后方交会的原理是共线方程。
共线方程是依据相似三角形原理给出的,其形式如下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。
单像空间后方交会实习报告

单像空间后方交会实习报告一、实习目的单像空间后方交会是摄影测量中确定像片外方位元素的重要方法。
通过本次实习,旨在深入理解单像空间后方交会的基本原理和计算过程,熟练掌握相关软件的操作,提高对摄影测量数据处理的实践能力,并培养解决实际问题的思维和方法。
二、实习原理单像空间后方交会的目的是利用像片上的像点坐标以及相应的地面控制点坐标,通过数学模型求解像片的外方位元素(三个线元素 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. 控制点观测:确定一定数量的控制点,并测量其像点位置及相对方位角。
控制点的选择应满足精度要求和实际情况,通常采用地面测量或其他摄影测量方法进行。
3. 几何模型:根据反投影原理和控制点观测,建立几何模型,描述像空间与物空间之间的几何关系。
模型包括相机的内外参数、像点的位置和相对方位角等。
4. 误差方程:利用几何模型,建立误差方程,将测量值与真实值之间的误差表示出来。
误差方程是分析误差来源、计算误差范围的基础。
二、后方交会误差的来源后方交会的误差主要来自于以下几个方面:1. 相机内外参数的误差:相机的内外参数是后方交会的重要参数,包括焦距、主点位置、旋转矩阵、平移向量等。
由于摄影测量设备和仪器的制造和使用限制,这些参数会存在误差,从而影响后方交会的结果。
2. 观测误差:观测误差包括控制点的像点测量误差和方位角观测误差。
像点测量误差可以由像点测量精度来描述,方位角观测误差可以由方位角观测精度来描述。
观测误差是由测量设备、操作人员和环境等因素共同引起的。
3. 地面控制点的精度:后方交会的精度还受到地面控制点的精度限制。
如果地面控制点的精度较差,那么后方交会的精度也会受到影响。
单张像片的空间后方交会原理

单像空间后方交会原理非常简单,稍稍懂一点线性代数和微分学知识就很容易理解。
但它的意义很大,所有的基于视觉技术的定位(测量)都是从它扩展来的,没有它就没有后面的复杂算法的演进,以面向更复杂的场景以及需求。
这块内容一般来说就是在已知地面上若干点的地面坐标以后,反求该相应摄影光束的外参数,当用以作摄影机的标定时,还可借以同时求出摄影的内参数。
具体的说就是一个多元线性模型,根据不同的需求可以基于它进一步构建各种平差模型。
摄影测量学空间后方交会实验报告

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

空间后方—前方交会的原理
空间后方交会和前方交会都是航天技术中的重要概念。
空间后方交会是通过地面控制点和像片上的像点来确定单幅影像的外方位元素的方法。
这种方法以单张像片为基础,求解每张像片的外方位元素,确定被摄物体与航摄像片的几何关系。
后方交会需要地面控制点,依靠单张像片就可求出其外方位元素。
而前方交会则是利用立体像对的同名像点求解地面点坐标的过程。
它利用同名像点坐标和像对的相对方位元素解算模型点坐标。
这种方法在确定了被摄物体与航摄像片的几何关系后,利用立体像对同名像点对对相交的原理确定物方空间坐标。
如需了解更多关于空间后方—前方交会原理的信息,建议查阅航天领域相关书籍或咨询专业人士。
空间后方—前方交会的原理

空间后方—前方交会的原理
以空间后方—前方交会的原理为题,我来为大家描述一下。
空间后方—前方交会是一种用于确定目标位置的方法,常用于航空、导航、测绘等领域。
它利用人眼的立体视觉和视差效应,通过观察目标在不同视角下的位置变化,来推断目标的实际位置。
这种方法可以较精确地确定目标的距离和方位,尤其适用于远距离观测。
在进行空间后方—前方交会时,我们首先需要选择两个观测点,它们之间的距离应足够远,以便产生明显的视差效应。
然后,我们分别在这两个观测点上观察目标,并记录下目标在两个观测点的位置。
接下来,我们需要测量观测点之间的距离,并确定观测点与目标之间的夹角。
这些数据将用于计算目标的实际位置。
通过对两个观测点的位置和距离进行几何分析,我们可以得到目标相对于观测点的位移向量。
然后,我们再将这个位移向量与观测点之间的夹角结合起来,就可以计算出目标相对于观测点的实际位置。
空间后方—前方交会的原理基于视差效应,即当我们观察远处的目标时,由于两只眼睛的视角不同,目标在两只眼睛中的位置也会有所不同。
通过比较这两个位置的差异,我们就可以推断出目标的实际位置。
总的来说,空间后方—前方交会是一种利用视差效应来确定目标位
置的方法。
它可以在远距离观测中提供较为准确的测量结果,具有广泛的应用前景。
五上、数字摄影测量学单片空间后方交会

总误差方程
法方程
V Ax L
x (AT A) 1 (AT L)
X s Ys V1 A1 l1 Z V2 A2 l2 s V , A , L , x , Vn An ln T T li xi ( xi ) yi ( yi ) , Vi v xi v yi a11 a12 a13 a14 a15 a16 Ai a21 a22 a23 a24 a25 a26
已知点必须多余点, 数据处理方法采用 最小二乘法!
这是所有测量的一个统一的基本原则! 摄影测量也不例外。
二、误差方程与法方程
已知值 x0 , y0 , f ,m, X, Y, Z 观测值 x , y 相应改正数 vx,vy 未知数 Xs, Ys, Zs, , , 泰勒级数展开
四、空间后方交会的精度
求解各未知数的精度可以通过法方程系数矩阵 求逆的方法,解出相应的权倒数 Qii
mi m0 Qii 按下式计算第i未知数的中误差:
式中,m0为单位权中误差,计算公式 为: m [VV ] 0 2n 6 ,其中n为控制点的点数。
空间后方交会用到的已知点越多,空间后方交会 的精度越高,此外空点的分布也空间后方交会计算 的精度。空间后方交会使用的控制点应当避免位于 一个圆柱面上,否则,会出现解不唯一的情况。
偏导数 1
x f X Z 2 ( Z X) X s Z X s X s f 2 ( a1Z a3 X ) Z 1 X (a1 f f a3 ) Z Z 1 (a1 f a3 x) Z
偏导数 2
x f X Z 2 ( Z X) Z
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间后方交会原理.txtゅ你不用一上线看见莪在线,就急着隐身,放心。
莪不会去缠你。
说好的不离不弃现在反而自己却做不到╮单幅航空影像空间后方交会程序设计
来源:
摘要:航空影像单像空间后方交会是利用影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像点坐标,根据共线方程,在最小二乘法的原则下,计算航空影像的外方位元素。
本文采用 编译平台和C#语言编写了单像空间后方交会的参数计算程序。
利用相关文献中的实验数据与结果,证明本程序运行良好,参数解算精确,可以满足工程项目要求。
关键词:摄影测量与遥感;外方位元素;共线方程;最小二乘原则;空间后方交会;
0 引言
确定影像或摄影光束在摄影瞬间的空间位置和姿态的参数,称为影像的外方位元素。
一幅影像的外方位元素包括6 个参数,其中3 个参数线参数,用于描述摄影中心S 相对于物方空间坐标系的位置(X,Y,Z);另外3 个是角元素,用于描述影像面在摄影瞬间的空中姿态。
角元素有三种不同的表达形式:(1)以Y 轴为主轴的φ-ω-κ系统(主轴是在旋转过程中,空间方向不变的一个固定轴):以Y 为主轴旋转φ角,然后绕X 轴旋转ω角,最后围绕Z 轴旋转κ角。
(2)以X 轴为主轴的φ?-ω?-κ?系统:以X 为主轴旋转ω?角,然后绕轴旋转φ?角,最后围绕Z 轴旋转κ?角。
(3)以Z 轴为主轴的A-α-κ系统:以Z 为主轴旋转A 角,然后绕Y 轴旋转α角,最后围绕Z 轴旋转κ角。
本文的角元素系统选择使用第一种表达方式,即φ-ω-κ[1]。
如果知道了每幅影像的6 个外方位元素,就能确定被摄物体与航摄影像的关系。
因此,如何获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。
目前,从技术方面来说,解决这个问题主要有两种手段:一种是利用雷达、全球定位系统(GPS),惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;另一种是利用影像覆盖范围内一定数量的控制点的空间坐标与摄像坐标,根据共线条件方程,反求该影像的外方位元素,这种方法称为单幅影像的空间后方交会。
在无法直接得到影像外方位元素的情况下,只能通过单像空间后方交会的方式来获取影像的外方位元素[2]。
本文在最小二乘法的原则下,采用 编译平台和C#语言编写了单像空间后方交会的参数计算程序。
利用相关文献中的实验数据与结果,证明本程序运行良好,参数解算精确,可以满足工程项目要求。
1 航空影像单像空间后方交会的基本思想和流程设计
单像空间后方交会的基本思想是:以单幅航空影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的外方位元素。
由于空间后方交会所采用的数学模型共线方程是非线性函数,为了方便外方位元素的求解,需要首先对共线方程进行线性化。
共线方程的非线性形式是:
式在共线方程线性化的基础之上,设计了航空影像单像空间后方交会算法的计算流程。
式即为共线方程的线性化形式。
由于采用了泰勒公式将非线性的共线方程化成了线性的共线方程形式,因此在程序设计的时候,需要采用迭代运算的方式使运算精度达到工程应用的要求。
设置外方位元素的初始值在航空影像近似水平的情况下,可以设置外方位元素的初始值:
ω使用控制点中的两个控制点,确定的航高值作为外方位元素L Z 的初始值。
航高值H 的确定流程如下:
式±式根据计算出的航高和控制点在摄影测量坐标系下的坐标值可以计算出, ,κ L L X Y 的
初始值。
控制点在摄影测量坐标系下的坐标值计算公式为:
式使用下列公式,在最小二乘法原则下确定, ,κ L L X Y 的初始值[3]:
式2-6,2-7其中:X 和Y 是控制点的地面坐标;和y'是控制点在摄影测量坐标系下的坐标值。
由此可以解算出参数X Y a,b,T ,T ,据此确定参数的初始值:
κ式2-8,注意:κ值的确定采用的是全圆反正切,这和初等数学中的反正切图像不一样。
该函数是计算机系统中的一个数学函数,将最后所得值归算到-180°到+180°之间。
计算方向余弦矩阵方向余弦矩阵的形式如下:
式方向余弦的各个元素的计算方法求解影像的外方位元素的参数根据控制点的个数和坐标值,确定法方程,以其中一点A 为例,解释如下:各个系数的值即是式2-2 中的各个改正数的系数值。
如果有四个已知的控制点,那么矩阵B就是8× 6的矩阵。
使用四个以上的控制点,可以解出Δ的值(Δ = (BT B)?1 (BTε ))。
然后重复步骤和1.3 进行一次迭代运算,即可完成单像空间后方交会的工作。
2 单像空间后方交会的程序设计
根据以上基本理论,采用 编译平台和C#语言编写了单像空间后方交会的参数计算程序。
程序界面设计如下:点击打开按钮后,选择控制点文件,即可在dataGridView 控件中可以自动显示出控制点文件中的内容。
然后点击确定按钮完成程序运算。
函数作用:计算摄影测量地面坐标系和大地地面坐标系之间的仿射变换参数。
输入:摄影测量地面坐标系坐标值,存放在泛形结构Csrc 中;大地地面坐标系坐标值,存放在泛形结构Cdst 中。
输出:摄影测量地面坐标系和大地地面坐标系之间的仿射变换参数。
函数名称:
函数作用:组成方向余弦矩阵,返回一个3*3 的数组。
输入:外方位元素的三个值:omt , fa , kama。
输出:方向余弦矩阵。
3 实验过程与结果
使用相关文献中提供的数据对本程序进行测试,测试结果表明程序设计合理,运算结果正确,可以应用于工程项目。
根据文献[5]P238 提供的相关测试数据,对程序进行检测。
4 结论本文介绍了航空影像外方位元素的概念和单幅航空影像后方交会的基本理论,在此基础之上,利用.NET 平台和C#语言设计了参数解算程序。
设计名称为的主函数,输入是控制点的影像坐标和空间坐标,输出单幅影像的六个外方位元素。
通过相关文献中提供的实验数据进行实验,结果表明本文开发的单像后方交会参数解算程序效果良好,运算正确,可以应用于工程项目。
文章来自中国硕士论文网,更多工程硕士论文就在中国硕士论文网,如需转载请保留一个链接:
参考文献
张剑清等著.摄影测量学[M].武汉:武汉大学出版社
李德仁等著.摄影测量与遥感概论[M].北京:测绘出版社
张凤举,张华海等编著.控制测量学[M].北京:煤炭工业出版社出版社
周礼著.C#和.NET3.0 第一步[M].北京:清华大学出版社.。