单像空间后方交会 习题

单像空间后方交会 习题
单像空间后方交会 习题

单像空间后方交会

(遥感07-1、2学生适用)

测绘学院 王双亭

1 概述

1.1 定义

利用一定数量的地面控制点和对应像点坐标求解单张像片外方位元素的方法称为空间后方交会。

1.2 所需控制点个数与分布

共线条件方程的一般形式为:

???

???

?

-+-+--+-+--=--+-+--+-+--=-)

()()()()()()

()()()

()()(33322203331110S S S S S S S S S S S S Z Z c Y Y b X X a Z Z c Y Y b X X

a f y y Z Z c Y Y

b X X a Z Z

c Y Y b X X a f x x (1) 式中包含有六个外方位元素,即κω?、、、、、S S S Z Y X ,只有确定了这六个外方位元素的值,才能利用共线条件方程真正确定一张像片的任一像点与对应地面点的坐标关系。

个数:对任一控制点,我们已知其地面坐标)(i i i Z Y X 、、和对应像点坐标)(i i y x 、,代入共线条件方程可以列出两个方程式,因此,只少需要3个控制点才能解算出六个外方位元素。

在实际应用中,为了避免粗差,应有多余检查点,因此,一般需要4~6个控制点。 分布:为了最有效地控制整张像片,控制点应均匀分布于像片边缘,如下图所示。

由于共线条件方程是非线性的,直接答解十分困难,所以首先将共线方程改化为线性形式,然后再答解最为简单的线性方程组。

分布合理

分布合理

分布不合理

2 空间后方交会的基本思路

2.1 共线条件方程线性化的基本思路

在共线条件方程中,令

)

()()()()()()

()()(333222111S S S S S S S S S Z Z c Y Y b X X a Z Z Z c Y Y b X X a Y Z Z c Y Y b X X a X -+-+-=-+-+-=-+-+-= (2) 则共线方程变为

???

???

?

-=--=-Z

Y f

y y Z X

f x x 0

0 (3)

对上式两侧同乘Z ,并移至方程同侧,则有

??

?=-+=-+0

)(0

)(00Z y y Y f Z x x X f (4) 令

??

?-+=-+=Z

y y Y f Fy Z

x x X f Fx )()(00 (5) 由于上式是共线方程的变形,因此,Fy Fx 、是κω?、、、、、S S S Z Y X 的函数。

对Fy Fx 、分别按泰劳级数展开,并且只保留一次项,得

???

?

??

????+???+???+???+???+???+=???+???+???+???+???+???+=κκωω??κκωω??Fy Fy Fy Z Z Fy Y Y Fy X X Fy Fy Fy Fx Fx Fx Z Z Fx Y Y Fx X X Fx Fx Fx S S S S S S S S S S S S 0

)()((6) 式中,0)(Fx 、0

)(Fy 分别是Fx 和Fy 的初值;

?

??Fx 、

?

??Fy 分别是Fx 和Fy 对各个外方位

元素的偏导数;κω???????、、、、、S S S Z Y X 分别是κω?、、、、、S S S Z Y X 初值的增量。

为了明确(6)式中常数项的意义,对(6)式两侧同乘以Z

1-

,则

??????

??????????-+???-+???-

+???-+???-+???-+-=-???-+???-+???-+???-+???-

+???-

+-

=-κκωω??κκωω??Fy

Z

Fy Z Fy Z Z Z Fy Z Y Y Fy Z X X Fy Z Fy Z Fy Z Fx

Z Fx Z Fx Z Z Z Fx

Z Y Y Fx Z X

X

Fx

Z Fx Z

Fx Z

S S

S S S S S S

S S S

S

)1()1()1()1()1()1()(11)1()1()1()1()1()

1

()(110

(7)

考查(7)式中的常数项,有

)

()]()[()]

()[(])([1)(100000

计计=-x x x x x x Z

X f

x x Z x x X f Z

Fx Z

-----=----=-+-

=- (8)

式中x 是像点坐标的观测值;计x 是由相应地面坐标和外方位元素初值计算出的像点坐标。这样(7)式中的常数项就有明确的意义,即为像点观测值和计算值之差。

同样也可以得到,

)

()]()[()]

()[(])([1)(100000

计计=-y y y y y y Z

Y f

y y Z y y Y f Z

Fy Z

-----=----=-+-

=- (9)

现将(7)式改写为

??

?-?+?+?+?+?+?=-?+?+?+?+?+?=y S S S y

x

S S S x l a a a Z a Y a X a v l a a a Z a Y a X a v κω?κω?262524232221161514131211 (10) 式中,y x v v 、为残差;ij a 为系数;κω???????、、、、、S S S Z Y X 是待求值,y x l l 、是像点观测值和计算值之差。与(7)式相比较,显然有

计====x x l Fx

Z a Fx Z a Fx Z a Fx Z a Fx Z a X Fx Z a x S S S

-=??-

??-??-??-??-=??-=κω?111Z 1Y 11615141312111 计

====y y l Fy

Z a Fy Z a Fy Z a Fy Z a Fy Z a X Fy Z a y S S S -=??-

??-

??-

??-??-=??-=κω?111Z 1Y 11262524232212 (10a )

式(10)就是以外方位元素增量为待求值的共线条件方程线性化公式,也称误差方程式。要得到完整的线性化形式,关键是求各个系数ij a ,而求ij a 的关键是求出Fy Fx 、对各

个外方位元素的偏导数。

如何求偏导数,将在共线方程线性化部分介绍。

2.2 答解外方位元素的基本过程

每个控制点都可以按(10)式列出两个误差方程式,n 个控制点可列出2n 个方程,用矩阵形式可表示为:

L AX V -= (11)

式中

[

]

T

n y

n

x

y

x

y x

v v v v v v

2

2

1

1

=V ;

?????????

???????????=n n n n n n a a a a a a a a a a a a a a a a a a 261622

1221

112262162222122

21211

1261161221

12121

111

A ; []T

S S

S Z Y X κω???????=X ;

[

]

T

n y

n

x

y

x

y x

l l l l l l

2

2

1

1

=L 。

如果能答解这2n 个方程构成的方程组,则可得到外方位元素的增量。

具体的求解过程应是一个迭代过程:

(1)给出外方位元素的初值,0

κω?、、、、、S S S Z Y X ;

(2)对每个控制点计算误差方程式系数ij a 和y x l l 、,从而按(10)式组成误差方程式; (3)答解线性方程组,得到每个外方位元素的增量

κω???????、、、、、S S S Z Y X ;

(4)将增量和初值相加,得到新的外方位元素值;

(5)各个增量是否小于规定的限差?若是,则停止迭代运算;若不是,则将新外方位元素值作为初值重复(2)~(5)。

2.3 误差方程组的答解方法(最小二乘原理)

式(11)是一个由2n 个方程组成的误差方程组,且方程个数多于待求值的个数,对这样的方程组应如何答解呢?在摄影测量中一般按最小二乘原理进行答解。

按最小二乘原理,求出的待求参数的最佳估计值应使各误差方程式的残差平方和为最小,即满足

min =V V T

(12)

这样就转化为V V T

对待求值的求极值问题。

下面以式(11)为例,说明求极值后误差方程式的变化。将V V T

分别

对κω???????、、、、、S S S Z Y X 求极值,即令

00

000=???=???=???=???=???=???κ

ω?V V V V V V V V V V V V T T T S T

S T S T

Z Y X

(13) 这样将得到六个新的线性方程式,方程式的个数与待求值的个数相同。解这个方程组,则可得到κω???????、、、、、S S S Z Y X 的最佳估计值。在测量平差中把由式(11)变为式(13)的过程称为误差方程式的法化,法化后的方程式称为法方程式。显然,法方程式的系数和常数项将与误差方程式不同。究竟法方程式的系数、常数项和原误差方程式有什么变化,又有什么关系呢?这可以通过较复杂的推导过程来找到。在这里,我们略去推导过程,只按矩阵方式给出结论。

由于

L L L A X AX A X L AX L AX V V T

T

T

T

T

T

T

+-=--=2)()(

022=-=??L A AX A X

V V T

T T

整理后有

L A AX A T

T

=

A A N T

= 即为法方程式的系数阵。 两边同乘以1

-N

,则可求出X ,即

L A N X T

1

-= (14)

该式即为κω???????、、、、、S S S Z Y X 的解。

3 共线条件方程的线性化

在“共线条件方程线性化的基本思路”中,我们知道:共线条件方程线性化的关健是求各个偏导数(

?

??Fx 和

?

??Fy ),下面我们分别求取线元素和角元素的偏导数。

3.1 线元素的偏导数

已知

??

?-+=-+=Z y y Y f Fy Z

x x X f Fx )()(00 和 )

()()()()()()

()()(333222111S S S S S S S S S Z Z c Y Y b X X a Z Z Z c Y Y b X X a Y Z Z c Y Y b X X a X -+-+-=-+-+-=-+-+-= 则

)

()

()()()()()

()

()()()()(032003200320031003100310y y c f c Z Z y y Z Y f

Z Fy y y b f b Y Z y y Y Y f

Y Fy y y a f a X Z y y X Y f

X

Fy x x c f c Z Z x x Z X f

Z Fx x x b f b Y Z

x x Y X f

Y Fx x x a f a X Z x x X X f

X

Fx S

S

S

S S S S

S S

S S S S S S S

S

S

---=??-+??=??---=??-+??=??---=??-+??=??---=??-+??=??---=??-+??=??---=??-+??=?? (15)

如果把内方位元素也作为未知数进行答解,则

Z x Fx -=??0

00

=??y Fx

X f Fx =??

00

=??x Fy

Z y Fy -=??0

Y f

Fy =??

3.2 角元素的偏导数

Fx 和Fy 是角元素κω?、、的复合函数,为了推导的方便,我们将对角元素求导数的过程分为三个步骤。

第一步:求各个方向余弦i i i c b a 、、对κω?、、的偏导数,共有27个; 第二步:求Z Y X 、、

对κω?、、的偏导数,共有9个;

第三步:求Fx 、Fy 对角元素κω?、、的偏导数,共6个。 【第一步】

已知

???????

?

???????=+=+=======ω?κω?κ?κω?κ?ωκωκωω?κω?κ?κω?κ?c o s

c o s c o s s i n c o s s i n -s i n s i n s i n c o s c o s s i n -s i n

c o s c o s in cos cos -sin cos sin sin -sin -cos sin sin sin -cos cos 32132

1321c c c b b s b a a a

则有

【第二步】

在求Z Y X 、、

对κω?、、的偏导数时,只需将各方向余弦的偏导数代入即可。但,为了公式的简单与工整,应利用各个方向余弦间的关系,将各个导数尽量化为由Z Y X 、、

和?????????????

??????????????=??-=??=??-=??=??=??=??=??=??=??-=??=??-=??=??=??=??=??=??=??=??-=??-=??=??-=??=??=??-=??,

0,

sin cos ,,,cos ,,,sin ,,0,cos ,0,,cos ,0,,sin ,0,0,sin sin ,,,cos ,,,sin ,3333

123222

213111

333

12322

21311

3333

123222

213111

κωφω

φκκωφκκωφκωωφκκωφκκωφκωφωφκκωφκκωφc c a c

c c c c a c

c c c c a c

b b b b b b b b b b b b b a a

c a a a a a c a a a a a c a

i i i c b a 、、表示的形式。这样在乘以Z 1-后,考虑???

?

???

-=--=-Z

Y f

y y Z X

f x x 0

0,各个系数很容易化成

以y x 、表示的形式。

下面仅以求

?

??X 为例,说明Z Y X 、、对κω?、、偏导数的推导过程。

由)()()(111S S S Z Z c Y Y b X X a X -+-+-=可得:

)()()(X 111S S S Z Z c Y Y b X X a -??+

-??+

-??=???

?

?

?

由于

11c a -=???

01=???

b 、

11a c =???

,代入上式有

)()(X 11S S Z Z a X X c -+--=???

这个式子显然不是用Z Y X 、、表示的形式,如何将其化为以Z Y X 、、

表示的形式呢?前面我们讲旋转矩阵的性质时,已知道旋转矩阵的每个元素等于其代数余子式,因此有 3

2

321)

1(b b a a c j

i +-=,3

2

321)

1(c c b b a j

i +-=,这里j i 、是元素的行、列数。代入上式,有

Z

b Y b Z Z

c Y Y b X X a b Z Z c Y Y b X X a b Y Y b b Y Y b b Z Z c X X a b Z Z c X X a b Z Z c X X a b Z Z c X X a b Z Z c b Z Z c b X X b a X X b a Z Z c b c b X X b a b a S S S S S S S S S S S S S S S S S S S S S S 233332222323233322233322232332233223322332)]()()([)]()()([)()()]()([)]()([)]

()([)]()([)()()()()

)(())((X +-=-+-+-+-+-+--=---+-+-+-+--=-+-+-+--=---+-+--=--+---=???

对其余的求导也作类似处理,可等到全部9个偏导数如下:

X

Z Y X Z Y

b X b Z X Y Z Y Z b X b Y Y

X Z X Z b Y b X -=??--=??+-=??-=??=??--=??=??=??+-=??κ

κ

κω

?

κκ

ω?κκ

ω?cos sin cos sin 121323

【第三步】

直接对Fx 、Fy 求κω?、、的偏导数,并将上式分别代入即可得到6个角元素偏导数,即

X

f Z y y Y f

Fy Y X y y f Z Z y y Y f Fy Y b X b y y Z b Y b f Z y y Y f

Fy Y

f Z x x X f Fx Y X x x f Z Z x x X f Fx Y b X b x x Z b Y b f Z x x X f

Fx -=??-+??=??+--=??-+??=??+--++-=??-+??=??=??-+??=??+--=??-+??=??+--++-=??-+??=??κ

κ

κ

κκκωωω???κκκκκκωωω???)

()cos sin )((cos )())(()()()()cos sin )((sin )())(()()(000120130000120230 (16)

3.3 误差方程的各个系数

将(15)和(16)式代入(10a )中,即可得到误差方程式的各个系数,即 0

,1,sin cos )

)((sin )

(])

([)

)(()]

([1)]([1)]([119180

17016002

0153

22

01

0014031130311203111==-=

-=----

-=

--+

---=

-+=-+=-+=a a f

x x a y y a f f

y y x x f

x x a yb b f

x x f b f y y x x a x x c f c Z

a x x

b f b Z a x x a f a Z a κ

κκ

1

,0,)

(c o s c o s )

(s i n )

)(()

)((])

([)]([1)]([1)]([129280

270262

0002532001

2

024032230322203221==-=

--=---

---

=+---

-+

=-+=

-+=-+=a a f

y y a x x a f f

y y f

y y x x a xb b f y y x x b f y y f a y y c f c Z

a y y

b f b Z a y y a f a Z a κ

κκ

(17)

3.4 误差方程的近似形式

在近似垂直摄影情况下,各个角元素都很小,此时,0≈==κω?,且H Z -≈,代

入(17)式,则误差方程的各个系数变为:

1600152

0140131211)

)((]

)

([)

(0y y a f

y y x x a f x x f a H

x x a a H f a -=---

=-+-=--

==-= )

(]

)

([)

)(()(00262

02500240232221x x a f

y y f a f y y x x a H

y y a H f a a --=-+

-=---

=--

=-== (18)

这样,可得到误差方程的近似形式为

???

????-?--?-++?---?--?-=-?-+?---?-+-?--?-=y

S S y x S S x l x x f y y f f y y x x Z H y y Y H f v l y y f y y x x f x x f Z H x x X H f v κω?κω?)(])([))(()())((])([02

00000002

00(19)

4 空间后方交会的计算过程

(1)获取已知数据。包括:n 个控制点的地面坐标)(i i i Z Y X 、、;内方位元素

f y x 、、00;摄影航高H ;像片比例尺m 。

(2)量测n 个控制点对应的像点坐标)(i i y x 、,并进行必要的系统误差改正。 (3)确定外方位元素的初值0

00000κ

ω?、、、、、S S S

Z Y X

。在近似垂直摄

影情况下,各个初值可按如下方法确定: 01

1

1

1

======

=

∑∑==κ

ω

?

mf H Z Y n

Y X

n

X S

n

i i

S

n

i i

S

(4)计算各个方向余弦,组成旋转矩阵R 。

(5)逐点计算像点坐标值)(计计、i i y x ,常数项和误差方程式系数,即逐点组建误差方程式。

(6)计算法方程式的系数阵A A T 和常数阵L A T ,组成法方程式。

(7)按(14)式解各个外方位元素的增量(或改正数),并与相应初值求和,得到外方位元素的新初值。

(8)检查计算是否收敛。将所求的外方位元素改正数与规定的限差比较,通常只对角元

素的改正数设定限差(一般为1.0')。当三个角改正数都小于限差时,迭代结束;否则,用新的初值重复(4)~(8)步。

(9)外方位元素的精度估算。

5 空间后方交会的理论精度

根据平差原理,平差后的单位权中误差为

t

n v

m i

-=

∑220 (20)

式中0m 是单位权中误差;i v 是第i 个方程的残差;n 是控制点个数;t 是未知数个数,在此为6。

根据误差传播定律,

2

01

2

m m

-=N

(21)

式中1-N 是法方程系数阵的逆阵。若

则第i 个未知数的中误差为

0m Q m ii i = (22)

作业:

1、 何为单像空间后方交会?

2、 试分析空间后方交会所需控制点个数和分布?

3、 简述共线条件方程线性化的基本思路。

4、 证

)

)(()(12013Y b X b y y Z b Y b f Fy +--++-=???

,进而证明

320012

024)

)((])

([xb b f

y y x x b f

y y f a +---

-+

=

5、 请给出组建误差方程的程序框图。

6、 试说明后方交会的计算过程。

?????

?

??????=-tt t t t

t Q Q Q Q Q Q Q Q Q

2

1

22221112111

N

空间后方交会的解算

空间后方交会的解算 一. 空间后方交会的目的 摄影测量主要利用摄影的方法获取地面的信息,主要是是点位信息,属性信息,因此要对此进行空间定位和建模,并首先确定模型的参数,这就是空间后方交会的目的,用以求出模型外方位元素。 二. 空间后方交会的原理 空间后方交会的原理是共线方程。 共线方程是依据相似三角形原理给出的,其形式如下 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 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[,]()()()()()()()()()()()()()()T x 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 f a X X a Y Y a Z Z a X X b Y Y c 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. 已知条件 近似垂直摄影

近景单张像片空间后方交会

实验一近景单张像片空间后方交会 一、实验目的 通过单张像片空间后方交会算法编程,掌握空间后方交会的基本原理和基本步骤,为近景摄影测量解析处理方法打下理论基础。 二、实验内容 利用C++编程平台,通过给定的单片像点的像点坐标、内方位元素和控制点物方空间坐标,计算出像片的外方位元素。 三、实验步骤: 1、编程流程图:

2、编程代码: #include "iostream" #include"stdio.h" #include "stdlib.h" #include #define N 10 using namespace std; void mult(double *m1,double *m2,double *result,int i_1,int j_12,int j_2)//矩阵相乘 { int i,j,k; for(i=0;i

int *is,*js; int i,j,k,l,u,v; double temp,max_v; is=(int *)malloc(n*sizeof(int)); js=(int *)malloc(n*sizeof(int)); if(is==NULL||js==NULL){ printf("out of memory!\n"); return(0); } for(k=0;kmax_v){ max_v=temp; is[k]=i; js[k]=j; } } if(max_v==0.0){ free(is); free(js); printf("invers is not availble!\n"); return(0); } if(is[k]!=k) for(j=0;j

空间后方交会编程实习报告

空间后方交会编程实习报告 一实习目的 用程序设计语言(Visual C++或者C语言)编写一个完整的单片空间后方交会程序,通过对提供的试验数据进行计算,输出像片的外方位元素并评定精度。本实验的目的在于让学生深入理解单片空间后方交会的原理,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强学生综合运用所学知识解决实际问题的能力。 二实习内容 利用一定数量的地面控制点,根据共线条件方程求解像片外方位元素。 三实习数据 已知航摄仪的内方位元素:f k =153.24mm,x =y =0.0mm,摄影比例尺为1:50000; 4个地面控制点的地面坐标及其对应像点的像片坐标: 四实习原理 如果我们知道每幅影像的6个外方位元素,就能确定被摄物体与航摄影像的关系。因此,如何获取影像的外方位元素,一直是摄影测量工作者所探讨的问题。可采取的方法有:利用雷达、全球定位系统(GPS)、惯性导航系统(INS)以及星相摄影机来获取影像的外方位元素;也可以利用影像覆盖范围内一定数量的控制点的空间坐标与摄影坐标,根据共线条件方程,反求该影像的外方位元素,这种方法称为单幅影像的空间后方交会。 单像空间后方交会的基本思想是:以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,t,w,k。 五实习流程 (1)获取已知数据。从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。 (2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。 (3)确定未知数的初始值。单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,可按如下方法确定初始值:

摄影测量后方交会

单张相片后方交会

目录 ●作业任务 (3) ●解算原理 (3) ●具体过程 (4) ●算法描述及程序流程 (4) ●计算结果 (7) ●结果分析 (8) ●心得体会及建议 (8) ●参考文献 (9)

一,作业任务 已知摄影机主距f=153.24mm,四对点的像点坐标与相应地面坐标列入下表: 表1-1 计算近似垂直摄影情况下后方交会解。 二,解算原理 【关键词1】中心投影构像方程 在摄影测量学中,最重要的方程就是中心投影构像方程(图2-1)。这个方程 将地面点在地面摄影测量坐标系中的坐标(物方坐标)和地面点对应像点的像平 面坐标联系起来。在解析摄影测量与数字摄影测量中是极其有用的。在以后将要 学习到的双像摄影测量光束法、解析测图仪原理及数字影像纠正等都要用到该 式。 图2-1 在上述公式中:x和y分别为以像主点为原点的像点坐标,相应地面点坐标 为X,Y,Z,相片主距f以及外方位元素Xs,Ys,Zs,ψ,ω,κ。 而在此次作业中,就是已知四个地面控制点的坐标以及其对应的像点坐标, 通过间接平差原理来求解此张航片的外方位元素。 【关键词2】间接平差 在一个平差问题中,当所选的独立参数X的个数等于必要观测值t时,可将 每个观测值表达成这t个参数的函数,组成观测方程,然后依据最小二乘原理求 解,这种以观测方程为函数模型的平差方法,就是间接平差方法 间接平差的函数模型为: 随机模型为: 平差准则为:VtPV=min 【关键词3】单像空间后方交会 利用至少三个已知地面控制点的坐标A(Xa,Ya,Za)、B(Xb,Yb,Zb)、Z(Xc,

Yc,Zc),与其影像上对应的三个像点的影像坐标a(xa,ya)、b(xb,yb)、c(xc,yc),根据共线方程,反求该像点的外方位元素Xs,Ys,Zs,ψ,ω,κ。这种解算方法是以单张像片为基础,亦称单像空间后方交会。 在此次作业中,就是已知四个控制点在地面摄影测量坐标系中的坐标和对应的像点坐标。由此可以列出8个误差方程,存在两个多余观测数,则n=2。故可利用间接平差里,依据最小二乘法则,进行求解。由于共线条件方程是非线性函数模型,为了便于计算,需把非线性函数表达式用泰勒公式展开成现行形式,即“线性化”。而又因为仅取泰勒级数展开式的一次项,未知数的近似值改正是粗略的,所以必须计算采用逐渐趋近法,解求过程需要反复趋近,直至改正值小于限差为止。 三,具体过程 1,获取已知点数据:从摄影资料中查取像片比例尺1/m,平均航高,内方元素x0,y0,f;从外业测量成果中,获取控制点的地面测量坐标Xt,Yt,Zt,并转换成摄影测量坐标X,Y,Z。 2,量测控制点的像点坐标:将控制点标刺在像片上,利用立体坐标量测仪量测控制点的像框坐标,并经像点坐标改正,得到像点坐标x,y。 3,确定未知数的初始值:在竖直摄影测量情况下,角元素的初始值为0,及ψ=ω=κ=0; 线元素中,Zso =m*f+(Z[0]+Z[1]+Z[2]+Z[3])/4,Xso,Yso的取值可用四个角点上制点坐标的平均值,即:Xso=(X[0]+X[1]+X[2]+X[3])/4;Yso=(Y[0]+Y[1]+Y[2]+Y[3])/4;4,计算旋转矩阵R:利用角元素的近似值计算方向余弦,组成R阵。公式如下:R[0][0]=cos(ψ)*cos(k)-sin(ψ)*sin(w)*sin(k); R[0][1]=-cos(ψ)*sin(k)-sin(ψ)*sin(w)*cos(k); R[0][2]=-sin(ψ)*cos(w); R[1][0]=cos(w)*sin(k); R[1][1]=cos(w)*cos(k); R[1][2]=-sin(w); R[2][0]=sin(ψ)*cos(k)+cos(ψ)*sin(w)*sin(k); R[2][1]=-sin(ψ)*sin(k)+cos(ψ)*sin(w)*cos(k); R[2][2]=cos(ψ)*cos(w); 5,逐点计算像点坐标的近似值:利用未知数的近似值按共线方程计算控制点像点坐标的近似值(x)、(y); 6,组成误差方程式:参照教材(5-8)式、(5-9b)式、(5-4)式逐点计算误差方程的系数阵和常数项。 7,组成法方程:计算法方程的系数矩阵与常数项。 8,解求外方位元素:根据法方程,按间接平差原理解求外方位元素改正值,并与相应的近似值求和,得到外方位元素的新的近似值。 9,检查计算是否收敛:将求得的外方位元素的改正值与规定的限差比较,小于限差则计算终止,否则用新的近似值重复第4至第8步骤计算,直至满足要求为止。 四,算法描述及程序流程。 算法描述(图4-1):

《测绘程序设计》实验指导书

《测绘遥感程序设计》 实验指导书 (Visual C++.net) (供测绘工程专业用) (2015年修订) 戴吾蛟编 二零一五年三月 中南大学测绘与遥感科学系

前言 测绘遥感程序设计上机实验是学习本门课程的重要环节之一,实验的设置是为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化测绘程序设计、测量学及测量平差原理的理解,掌握利用Visual C++.net进行常用的测量程序以及控制网的间接平差程序设计。 实验内容 本门课程必做的实验有(在Visual C++.net 2008 环境下): 1.Visual C++.net环境、基本控件及简单程序设计(三角形面积计算) 2.控制结构程序设计(方位角计算、地心坐标至大地坐标转换) 3.数组、指针(多边形面积计算) 4.函数(交会定点函数设计、高斯投影正反算程序设计) 5.类的创建(大地四边形类设计、角度类设计) 6.文件(Cass测量数据整理) 7.图形程序设计(位移序列曲线图形程序设计) 8.常用测量计算(无定向导线简易计算程序设计) 9.平差程序设计(水准网间接平差程序设计) 修订说明:由于2012版培养方案增加了8课时,实验课时也相应增加了4课时。为此,本实验指导书将高斯投影正反算提前,并要求以函数的形式编写。增加了大地四边形类设计以及无定向导线简易计算程序设计。

实验1 Visual C++.net环境和简单程序设计 一、实验目的 ?掌握Visual https://www.360docs.net/doc/2316718106.html,的安装和启动。 ?了解VC++ 2008的菜单系统、工具栏和各种基本窗体。 ?理解VC++.net开发应用程序的步骤。 ?掌握基于对话框的程序设计。 ?掌握按钮、文本框和标签框的基本使用方法 ?掌握使用MSDN帮助文档 二、实验内容 1.启动与退出VC++.net,熟悉VC++.net的开发环境,通过向导生成基于对话 框的应用程序。使用MSDN查看命令按钮、标签和文本框的主要属性和方法。 2.打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的 内容,并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。 3.设计一个已知三边边长计算三角形面积的程序。计算模型如下: 海伦公式:) )( )( (c p b p a p p S- - - =,其中 2c b a p + + = 提示: (1)在【文件】菜单上执行【新建】,然后选择“项目” 。 (2)在【项目类型】窗格中,选择【Visual C++】下的“MFC”项。在【模板】窗格中,选择“MFC 应用程序”模板,输入应用程序名称“××××”。按向导创建名为“×××××”的 MFC应用程序。 (3)在窗体上放置4个文本框、4个静态框、3个命令按钮(其中两个缺省); (4)设置控件属性,如Static1的Caption属性设置成“a=”,用于提示Edit 框的输入边长a;

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现

单像空间后方交会和双像解析空间后方-前 方交会的算法程序实现 遥感科学与技术 摘要:如果已知每张像片的6个外方位元素,就能确定被摄物体与航摄像片的关系。因此,利用单像空间后方交会的方法,可以迅速的算出每张像片的6个外方位元素。而前方交会的计算,可以算出像片上点对应于地面点的三维坐标。基于这两点,利用计算机强大的运算能力,可以代替人脑快速的完成复杂的计算过程。 关键词:后方交会,前方交会,外方位元素,C++编程 0.引言: 单张像片空间后方交会是摄影测量基本问题之一,是由若干控制点及其相应像点坐标求解摄站参数(X S,Y S,ZS,ψ、ω、κ)。单像空间后方交会主要有三种方法:基于共线条件方程的平差解法、角锥法、基于直接线性变换的解法。而本文将介绍第一种方法,基于共线条件方程反求象片的外方位元素。 而空间前方交会先以单张像片为单位进行空间后方交会,分别求出两张像片的外方位元素,再根据待定点的一对像点坐标,用空间前方交会的方法求解待定点的地面坐标。可以说,这种求解地面点的坐标的方法是以单张像片空间后方交会为基础的,因此,单张像片空间后方交会成为解决这两个问题以及算法程序实现的关键。

1.单像空间后方交会的算法程序实现: (1)空间后方交会的基本原理:对于遥感影像,如何获取像片的外方位元素,一直是摄影测量工作者探讨的问题,其方法有:利用雷达(Radar)、全球定位系统(GPS)、惯性导航系统(I N S)以及星像摄影机来获取像片的外方位元素;也可以利用一定数量的地面控制点,根据共线方程,反求像片的外方位元素,这种方法称为单像空间后方交会(如图1所示)。 图中,地面坐标X i、Yi、Zi和对应的像点坐标x i、yi是已知的,外方位元素XS、Y S、ZS(摄站点坐标),ψ、ω、κ(像片姿态角)是待求的。 (2)空间后方交会数学模型:空间后方交会的数学模型是共线方程, 即中心投影的构像方程: 式中X、Y、Z是地面某点在地面摄影测量坐标系中的坐标,x,y是该地面点在像片上的构像点的像片坐标,对 于空间后方交会而言它们是已知的,还有主距f是已知的。而9个方向余弦a 1,a 2,a3;b1,b 2,b 3;c 1,c2,c 3是未知的,具体表达式可以取

Python语言程序设计 库实例

Numpy库应用实例 礼欣 北京理工大学

纲要 ?背景介绍 ?GPS定位的基本原理与建模 定位计算的程序实现?GPS定位计算的程序实现?小结

背景介绍 ?定位系统 ?GPS全球定位系统(Global Positioning System)?以GPS系统为例介绍卫星定位的计算方法

GPS定位的基本原理 ?GPS定位的基本原理是根据高速运动卫星的瞬间位置作为已知的起算数据,采用空间距离-后方交会 作为知的起算数空间离方交 的方法,确定待测点的位置。 的方法确定待测点的位置 ?假设t时刻在地面待测点上安置GPS接收机,可以测 定GPS信号到达接收机的时间△t,再加上接收机所接 收到的卫星星历等其它数据,就可以确定一个方程组 收到的卫星星历等其它数据就可以确定一个方程组 来对位置信息进行求解。

GPS定位的基本原理 ?假设地球上一个点R,同时收到6颗卫星(S1,S2,…,S6)发射的信号,假设 接受信息如下表所示。其中,y表示的纬度,表示的高度。由接受信息如下表所示。其中x,y表示卫星的经纬度,z表示卫星的高度。由于上述6个卫星和地球在高速运动,从卫星发出的位置信息以光速传输到GPS接收端需要定的时间。假设(x,y,z,t)表示R当前的位置,t是R的相对时GPS接收端需要一定的时间。假设(x y z t)表示R当前的位置t是R的相对时间,卫星S1(发出信号时刻)到(当前接收时刻)满足以下关系(其中c是光速) 速)。 ?该公式表示以(x, y, z,t)为参数的(欧式空间距离)与信号传输距离相等。 ?(x-3)^2 + (y-2)^2 + (z-3)^2 = [(10010.00692286 –t)*c]^2,

单像空间后方交会 习题

单像空间后方交会 (遥感07-1、2学生适用) 测绘学院 王双亭 1 概述 1.1 定义 利用一定数量的地面控制点和对应像点坐标求解单张像片外方位元素的方法称为空间后方交会。 1.2 所需控制点个数与分布 共线条件方程的一般形式为: ??? ??? ? -+-+--+-+--=--+-+--+-+--=-) ()()()()()() ()()() ()()(33322203331110S S S S S S S S S S S S Z Z c Y Y b X X a Z Z c Y Y b X X a f y y Z Z c Y Y b X X a Z Z c Y Y b X X a f x x (1) 式中包含有六个外方位元素,即κω?、、、、、S S S Z Y X ,只有确定了这六个外方位元素的值,才能利用共线条件方程真正确定一张像片的任一像点与对应地面点的坐标关系。 个数:对任一控制点,我们已知其地面坐标)(i i i Z Y X 、、和对应像点坐标)(i i y x 、,代入共线条件方程可以列出两个方程式,因此,只少需要3个控制点才能解算出六个外方位元素。 在实际应用中,为了避免粗差,应有多余检查点,因此,一般需要4~6个控制点。 分布:为了最有效地控制整张像片,控制点应均匀分布于像片边缘,如下图所示。 由于共线条件方程是非线性的,直接答解十分困难,所以首先将共线方程改化为线性形式,然后再答解最为简单的线性方程组。 分布合理 分布合理 分布不合理

2 空间后方交会的基本思路 2.1 共线条件方程线性化的基本思路 在共线条件方程中,令 ) ()()()()()() ()()(333222111S S S S S S S S S Z Z c Y Y b X X a Z Z Z c Y Y b X X a Y Z Z c Y Y b X X a X -+-+-=-+-+-=-+-+-= (2) 则共线方程变为 ??? ??? ? -=--=-Z Y f y y Z X f x x 0 0 (3) 对上式两侧同乘Z ,并移至方程同侧,则有 ?? ?=-+=-+0 )(0 )(00Z y y Y f Z x x X f (4) 令 ?? ?-+=-+=Z y y Y f Fy Z x x X f Fx )()(00 (5) 由于上式是共线方程的变形,因此,Fy Fx 、是κω?、、、、、S S S Z Y X 的函数。 对Fy Fx 、分别按泰劳级数展开,并且只保留一次项,得 ??? ? ?? ????+???+???+???+???+???+=???+???+???+???+???+???+=κκωω??κκωω??Fy Fy Fy Z Z Fy Y Y Fy X X Fy Fy Fy Fx Fx Fx Z Z Fx Y Y Fx X X Fx Fx Fx S S S S S S S S S S S S 0 )()((6) 式中,0)(Fx 、0 )(Fy 分别是Fx 和Fy 的初值; ? ??Fx 、 ? ??Fy 分别是Fx 和Fy 对各个外方位 元素的偏导数;κω???????、、、、、S S S Z Y X 分别是κω?、、、、、S S S Z Y X 初值的增量。 为了明确(6)式中常数项的意义,对(6)式两侧同乘以Z 1- ,则

摄影测量学单像空间后方交会程序设计作业

{ System; System.Collections.Generic; System.Linq; System.Text; namespace 单像空间后方交会 { class Program { static void Main( string [] args) for (j = 0; j < 5; j++) if (j < 3) "请输入第 {0} 个点的第 {1} 个地面坐标: ", i + 1, j + 1); double .Parse( Console .ReadLine()); "请输入第 {0} 个点的第 {1} 个像点 坐标: ", i + 1, j - 2); double .Parse( Console .ReadLine()); Console .WriteLine(); // 归算像点坐标 (i = 0; i < 4; i++) for (j = 3; j < 5; j++) if (j == 3) zuobiao[i, j] = zuobiao[i, j] - x0; else zuobiao[i, j] = zuobiao[i, j] - y0; // 计算和确定初值 double zs0 = m * f, xs0 = 0, ys0 = 0; for (i = 0; i < 4; i++) else using using using using x0 = y0 = int x0, y0, i, j; double f, m; Console .Write( " 请输入像片比例尺: "); double .Parse( Console .ReadLine()); Console .Write( " 请输入像片的内方位元素 x0:" ); // 均以毫米为单 位 int .Parse( Console .ReadLine()); Console .Write( " 请输入像片的内方位元素 y0:" ); int .Parse( Console .ReadLine()); Console .Write( " 请输入摄影机主距 f:" ); double .Parse( Console .ReadLine()); Console .WriteLine(); // 输入坐标数据 double [,] zuobiao = new double [4, 5]; (i = 0; i < 4; i++) for Console .Write( zuobiao[i, j] = Console .Write( zuobiao[i, j] = for

作业4--空间后方交会

作业报告 空间后方交会 专业:测绘工程 班级:2008级(1)班姓名:陈闻亚 指导教师:陈强 2010 年 4 月16 日

1 作业任务------------------------------------------------------------------------------------ 3 2 作业思想 --------------------------------------------------------------------------------------- 3 3 作业条件及数据 -------------------------------------------------------------------- 3 4 作业过程--------------------------------------------------------------------------- 3 5 源程序----------------------------------------------------------------------------- 4 6 计算结果--------------------------------------------------------------------------- 17 7心得体会与建议----------------------------------------------------------------------------- 17

1 作业任务 计算近似垂直摄影情况下后方交会解。即利用摄影测量空间后方交会的方法,获取相片的6个外方位元素。限差为0.1。 2作业思想 利用摄影测量空间后方交会的方法求解。该方法的基本思想是利用至少三个一直地面控制点的坐标A(X A,Y A,Z A)、B(X B,Y B,Z B)C(X C,Y C,Z C),与其影像上对应的三个像点的影像坐标a(x a,y a)、b(x b,y b)、c(x c,y c),根据共线方程,反求该相片的外方位元素X S、Y S、Z S、φ、ω、κ。 3作业条件及数据 已知摄影机主距f=153.24mm,四对点的像点坐标与相应的地面坐标列入下表: 4作业过程 4.1 获取已知数据 相片比例尺1/m=1:10000,内方位元素f=153.24mm,x0,y0;获取控制点的地面测量坐标X t、Y t、Z t。 4.2 量测控制点的像点坐标: 本次作业中为已知。见表1。

空间后方交会程序

一. 实验目的: 掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间后方交会外方位元素的解算。 二. 仪器用具及已知数据文件: 计算机windows xp 系统,编程软件(VISUAL C++6.0),地面控制点在摄影测量坐标系中的坐标及其像点坐标文件shuju.txt 。 三. 实验内容: 单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据共线方程反求影像的外方位元素。 数学模型:共线条件方程式: )(3)(3)(3)(1)(1)(1Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f x -+-+--+-+--= )(3)(3)(3)(2)(2)(2Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f y -+-+--+-+--= 求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测量坐标并转换为地面摄影测量坐标。 (2)量测控制点的像点坐标并做系统改正。 (3)确定未知数的初始值。在竖直摄影且地面控制点大致分布均匀的情况下,按如下方法确定初始值,即: n X X S ∑=0,n Y Y S ∑=0,n Z mf Z S ∑=0 φ =ω=κ=0 式中;m 为摄影比例尺分母;n 为控制点个数。 (4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R 。 (5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面 坐标代入共线方程式,逐点计算像点坐标的近似值(x )、(y )。 (6)逐点计算误差方程式的系数和常数项,组成误差方程式。 (7)计算法方程的系数矩阵A A T 和常数项l A T ,组成法方程式。 (8)解法方程,求得外方位元素的改正数dXs ,S dY ,s dZ ,d φ,d ω,d κ。 (9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素 的新值。

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份

空间后方交会程序

空间后方交会程序

————————————————————————————————作者:————————————————————————————————日期: ?

一. 实验目的: 掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间 后方交会外方位元素的解算。 二. 仪器用具及已知数据文件: 计算机wind ows xp 系统,编程软件(VI SUA L C ++6.0),地面控 制点在摄影测量坐标系中的坐标及其像点坐标文件shu ju.txt 。 三. 实验内容: 单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据 共线方程反求影像的外方位元素。 数学模型:共线条件方程式: ) (3)(3)(3) (1)(1)(1Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f x -+-+--+-+--= ) (3)(3)(3)(2)(2)(2Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f y -+-+--+-+--= 求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取 控制点的地面测量坐标并转换为地面摄影测量坐标。 (2)量测控制点的像点坐标并做系统改正。 (3)确定未知数的初始值。在竖直摄影且地面控制点大致分布均匀 的情况下,按如下方法确定初始值,即: n X X S ∑=0,n Y Y S ∑=0,n Z mf Z S ∑=0 φ =ω=κ=0 式中;m为摄影比例尺分母;n为控制点个数。 (4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R 。 (5)逐点计算像点坐标的近似值。利用未知数的近似值和控制点的地面坐标代入共 线方程式,逐点计算像点坐标的近似值(x )、(y )。 (6)逐点计算误差方程式的系数和常数项,组成误差方程式。 (7)计算法方程的系数矩阵A A T 和常数项l A T ,组成法方程式。 (8)解法方程,求得外方位元素的改正数dXs ,S dY ,s dZ ,d φ,dω,d κ。 (9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。

摄影测量程序汇总(后方交会+前方交会+单模型光束法平差)

程序运行环境为Visual Studio2010.运行前请先将坐标数据放在debug 下。 1.单像空间后方交会 C语言程序: #include #include #include double *readdata(); void savedata(int hang,double *data,double *xishuarray,double *faxishu,double *l,int i,double xs,double ys,double zs,double fai,double oumiga,double kapa); void transpose(double *m1,double *m2,int m,int n); void inverse(double *a,int n); void multi(double *mat1,double * mat2,double * result,int a,int b,int c); void inverse(double *a,int n)/*正定矩阵求逆*/ { int i,j,k; for(k=0;k

空间后方交会的直接解

空间后方交会的直接解 空间后方交会,即由物方已知若干个控制点以及相应的像点坐标,解求摄站的坐标与影像的方位,这是一个摄影测量的基本问题。通常采用最小二乘解算,由于原始的观测值方程是非线性的,因此,一般空间后方交会必须已知方位元素的初值,且解算过程是个迭代解算过程。但是,在实时摄影测量的某些情况下,影像相对于物方坐标系的方位是任意的,且没有任何初值可供参考。这时常规的空间后方交会最小二乘算法就无法处理,而必须建立新的空间后方交会的直接解法。 直接解法的基本思想是将它分成两步:先求出三个已知点i P 到摄站S 的距离i S ;然后求出摄站S 的坐标和影像方位。 物方一已知点()i i i i ,Z ,Y X P 在影像上的成像()i i i ,y x p ,根据影像已知的内方位元素()0 ,y f,x 可求得从摄站()S S S S ,Z ,Y X 到已知点i P 的观测方向i ,βαi 。 () ??? ????-+-= -=2 020 tan tan x x f y y βf x x αi i i i i (1) 距离方程组可以写成如下形式: ?? ??? =+++=+++=+++020202312 1133123232 3322322122 2211221b x x x a x b x x x a x b x x x a x (2) 其中()j ;i ,,i,j S ,b a ij ij ij ij ≠===321cos ?。因此,解算摄站S 到三个 控制点的距离问题,被归结为解算一个三元二次联立方程组的问题。这个方程组的解算方法选用迭代法。 迭代计算公式可写成:

单像空间后方交会实验报告(c++版)

单像空间后方交会 姓名: 学号: 时间:

目录 一、作业任务 ............................................................................................................... - 3 - 二、计算原理 ............................................................................................................... - 3 - 三、算法流程 ............................................................................................................... - 7 - 四、源程序 ................................................................................................................... - 8 - 五、计算结果 ............................................................................................................... - 8 - 六、结果分析 ............................................................................................................... - 8 - 七、心得与体会 ........................................................................................................... - 8 - 八、附页 ....................................................................................................................... - 8 - 1.c++程序 ........................................................................................................... - 8 - 2.C++程序截图.................................................................................................. - 15 - 3.matlb程序..................................................................................................... - 16 -

单像空间后方交会程序报告

单像空间后方交会程序报告 指导老师:刘老师 班级:测绘101 姓名:尚锋 学号: 19号

1、应用程序的主入口部分的代码: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace单像空间后方交会 { static class Program { ///

///应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } 2、方法解算类(通用)部分的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace单像空间后方交会 { class Tongyong { struct image_point//一个像点结构,包含像点坐标和地面点坐标 { public double x; public double y; public double X; public double Y;

public double Z; } private double f; //主距 private double u; //u为外方位元素,下面5个相同 private double w; private double k; private double Xs; private double Ys; private double Zs; private image_point[] p = new image_point[4]; //四个控制点 private double[] R = new double[9]; //旋转矩阵 private double[] a = new double[8]; //像点坐标近似值 private double[,] A = new double[8, 6]; //误差方程式系数 private double[] L = new double[8]; //误差方程式常数项 private int count = 0; //统计代次数 public Tongyong(double g, double[] q) //构造函数,初始化各变量,单位m { f = g; for (int i = 0; i < 4; i++) { int j = i * 5; p[i].x = q[j]; p[i].y = q[j + 1]; p[i].X = q[j + 2]; p[i].Y = q[j + 3]; p[i].Z = q[j + 4]; } double ave = 0, sum = 0; //求比例尺分母 for (int i = 0; i < 3; i++) { for (int j = i + 1; j < 4; j++) { sum += Math.Sqrt(Math.Pow(p[i].X - p[j].X, 2) + Math.Pow(p[i].Y - p[j].Y, 2)) / Math.Sqrt(Math.Pow(p[i].x - p[j].x, 2) + Math.Pow(p[i].y - p[j].y, 2)); } } ave = sum / 6; u = 0; //给定外方位元素的初始值,角度均设置为0 w = 0; k = 0; Xs = (p[0].X + p[1].X + p[2].X + p[3].X) / 4; //Xs为四个控制点X的平均值,Ys类似

相关文档
最新文档