Tải bản đầy đủ (.pdf) (24 trang)

BÁO cáo bài tập TRẮC địa CAO cấp 1 bách khoa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (742.05 KB, 24 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HỒ CHÍ MINH
KHOA KĨ THUẬT XÂY DỰNG
BỘ MÔN ĐỊA TIN HỌC
‫ﻫﻫﻫﻫﻫﻫﻫﻫ‬..‫ﻫﻫﻫﻫﻫﻫﻫ‬

BÁO CÁO BÀI TẬP
TRẮC ĐỊA CAO CẤP
GVHD: PGS.TS NGUYỄN NGỌC LÂU
Họ & Tên:
MSSV

:

Số thứ tự :

Tp HCM 5-2016


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

LỜI CẢM ƠN

Xin chân thành cảm ơn!
Tp. Hồ Chí Minh, ngày 3 tháng 5 năm 2016

1



Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

BÀI TẬP LỚN SỐ 1
1.YÊU CẦU
Xác định kích thước Spheroid Trái Đất theo phương pháp Viện Hàn Lâm Khoa Học Pháp
Số liệu: Bộ số liệu thứ 11
STT
11

Vĩ độ
00-10
880-890

Độ dài kinh tuyến (m)
110575.635
111695.384

2.PHƯƠNG PHÁP GIẢI QUYẾT
Có 4 phương pháp xác định kích thước của mặt Spheroid trái đất

- Phương pháp Eratosthenes.
- Phương pháp Viện Hàn Lâm Khoa Học Pháp.
- Phương pháp sử dụng mạng lưới tam giác quốc gia.
- Phương pháp đo trọng lực.
Có 2 cách giải để xác định kích thước Spheroid trái đất: cách giải gần đúng và cách giải
chính xác.
 a/ Cách giải gần đúng:
Chiều dài cung kinh tuyến quan hệ với vĩ độ như sau:

𝑎(1−𝑒 2 )



𝑆 = ∫∅ 2 𝑀(∅)𝑑∅ với 𝑀(∅) = (1−e2
1

sin2 (∅))3/2

Ta có chiều dài cung kinh tuyến từ ∅1 → ∅2


𝑆1 = 𝑆∅ 2 − 𝑆∅ 1 = ∫∅ 2 𝑀(∅)𝑑∅ ≈ M   (2  1 ) (1)
1

Trong đó M   =
1

2

1

2

𝑎(1−𝑒 2 )
∅ +∅
(1−e2 sin2 ( 1 2 ))

3/2


2



𝑆2 = 𝑆∅ 4 − 𝑆∅ 3 = ∫∅ 4 𝑀(∅)𝑑∅ ≈ M 3 4 (4  3 ) (2)
3

2


Trắc địa cao cấp
Trong đó M   =
3

4

PGS.TS Nguyễn Ngọc Lâu
𝑎(1−𝑒 2 )
∅ +∅
(1−e2 sin2 ( 3 4 ))

3/2

2

Chênh lệch vĩ độ đều là 10
Lấy

(1)
(2)


=

𝑆1
𝑆2

=

M 1 2
M 3 4

⇔ 𝑆12 (1 − 𝑒 2 sin2 (

3/2

=

∅ +∅
(1−e2 sin2 ( 3 4 ))

2
3/2

+∅
(1−e2 sin2 ( 1 2 ))
2

∅1 +∅2
2


3

⟺ √𝑆12 (1 − 𝑒 2 sin2 (

3

)) = 𝑆22 . (1 − e2 sin2 (

∅1 +∅2
2
3

3

∅3 +∅4

))=√𝑆22 (1 − e2 sin2 (

2

))

∅3 +∅4
2

3

))

3


√𝑆22 − √𝑆12
⇔𝑒 =
∅ + ∅4
∅ + ∅2
3
3
√𝑆22 sin2 ( 3
) − √𝑆12 sin2 ( 1
)
2
2
2

Thay 𝑒 2 vào (1)
𝑆1 =

𝑎(1−𝑒 2 )
3
∅1 +∅2 2
2
2
(1−e sin (
))
2

(∅2 − ∅1 )
3

∅ + ∅2 2

))
𝑆1 (1 − e2 sin2 ( 1
2
⟹𝑎=
(1 − 𝑒 2 )(∅2 − ∅1 )
Với 𝑆1 = 110575.635 𝑚
𝑆2 = 111695.384 𝑚
∅1 = 00
∅2 = 10
∅3 = 880
∅4 = 890

3


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

CHƯƠNG TRÌNH MATLAB CÁCH GIẢI GẦN ĐÚNG
 Tên chương trình: ppgd.m
 Tham số nhập: không có
 Tham số xuất: e2 ,a
s1=110575.635;
s2=111695.384;
the1=0;
the2=1;
the3=88;
the4=89;
format long

%% doi do sang rad
the_1=dms2rad(the1);
the_2=dms2rad(the2);
the_3=dms2rad(the3);
the_4=dms2rad(the4);
% tinh e^2
k=(s1/s2)^(2/3);
disp('gia tri e2:')
e2=(1-k)/(sin((the_3+the_4)/2)^2-k*sin((the_1+the_2)/2)^2);
disp(e2)
%tinh a
disp('gia tri a=')
a=(s1*(1-e2*sin((the_1+the_2)/2)^2)^(3/2))/((1-e2)*(the_2-the_1));
disp(a)

Sau khi chạy chương trình ta có :
Kết quả: a= 6.378244450887838e+06
𝒆𝟐 = 0.006699664346092
 b/ Cách giải chính xác (phương pháp lặp)
Công thức tính độ dài cung kinh tuyến:
𝑆 = 𝐴0 ∅ − 𝐴2 sin(2∅) + 𝐴4 sin(4∅) − 𝐴6 sin(6∅) + 𝐴8 sin(8∅)
Trong đó:
𝑒 2 3𝑒 4 5𝑒 6 175𝑒 8
𝐴0 = 𝑎. (1 − −


)
4
64 256 16384
3𝑎 2 𝑒 4 15𝑒 6 35𝑒 8

(𝑒 + +
)
𝐴2 =
+
8
4
128
512

4


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

15𝑎 4 3𝑒 6 35𝑒 8
(𝑒 +
)
𝐴4 =
+
256
4
64
35𝑎
5𝑒 8
6
(𝑒 +
)
𝐴6 =

3072
4
𝐴8 =

315𝑎 8
𝑒
131072

𝑆1 = 𝑆∅ 2 − 𝑆∅ 1 = 𝐴0 (∅2 − ∅1 ) − 𝐴2 (sin(2∅2 ) − sin(2∅1 )) + 𝐴4 (sin(4∅2 ) − sin(4∅1 ))
−𝐴6 (sin(6∅2 ) − sin(6∅1 )) + 𝐴8 (sin(8∅2 ) − sin(8∅1 ))

(1)

𝑆2 = 𝑆∅ 4 − 𝑆∅ 3 = 𝐴0 (∅4 − ∅3 ) − 𝐴2 (sin(2∅4 ) − sin(2∅3 )) + 𝐴4 (sin(4∅4 ) −
sin(4∅3 )) −𝐴6 (sin(6∅4 ) − sin(6∅3 )) + 𝐴8 (sin(8∅4 ) − sin(8∅3 ))
𝑆1

Lập tỉ số

𝑆2

Đặt:
𝑎1 = [−

∅2 − ∅1 3
− (sin(2∅2 ) − sin(2∅1 )]
4
8

𝑎2 = [−


∅4 − ∅3 3
− (sin(2∅4 ) − sin(2∅3 )]
4
8

3
3 1
15
(sin(4∅2 ) − sin(4∅1 ))
𝑏1 = − (∅2 − ∅1 ) − . . (sin(2∅2 ) − sin(2∅1 ) +
4
8 4
256
3
3 1
15
(sin(4∅4 ) − sin(4∅3 ))
𝑏2 = − (∅4 − ∅3 ) − . . (sin(2∅4 ) − sin(2∅3 )) +
4
8 4
256
𝑐1 = −

5
256

3

(∅2 − ∅1 ) − .


8 128

35
3072

𝑐2 = −

5
256

15

. (sin(2∅2 ) − sin(2∅1 ) +

15

3

. (sin(4∅2 ) − sin(4∅1 )) −

256 4

. (sin(6∅2 ) − sin(6∅1 ))
3

(∅4 − ∅3 ) − .

35
3072


15

8 128

. (sin(2∅4 ) − sin(2∅3 ) +

15

3

. (sin(4∅4 ) − sin(4∅3 )) −

256 4

. (sin(6∅4 ) − sin(6∅3 ))

5


Trắc địa cao cấp
𝑑1 = −

175

3

16384

(∅2 − ∅1 ) − .


175

35

5

. . (sin(6∅2 ) − sin(6∅1 )) +

(∅4 − ∅3 ) − .

35

8 512

sin(4∅3 )) −

. (sin(2∅2 ) − sin(2∅1 ) +

3072 4

3

16384

35

8 512

sin(4∅1 )) −


𝑑2 = −

PGS.TS Nguyễn Ngọc Lâu

35

5

3072 4

.

35

256 64

35
131072

. (sin(2∅4 ) − sin(2∅3 ) +

. . (sin(6∅4 ) − sin(6∅3 )) +

15

(sin(8∅2 ) −sin(8∅1 ))

15


.

35

256 64

35
131072

(sin(4∅2 ) −

(sin(4∅4 ) −

(sin(8∅4 ) − sin(8∅3 ))

Viết lại biểu thức:
𝑆1 (∅2 − ∅1 ) + 𝑒 2 . 𝑎1 + 𝑒 4 𝑏1 + 𝑒 6 𝑐1 + 𝑒 8 𝑑1
=
𝑆2 (∅4 − ∅3 ) + 𝑒 2 . 𝑎2 + 𝑒 4 𝑏2 + 𝑒 6 𝑐2 + 𝑒 8 𝑑2
Suy ra 𝑒 2 =

𝑆2 ((∅2 −∅1 )+𝑒 4 𝑏1 +𝑒 6 𝑐1 +𝑒 8 𝑑1 )−𝑆1 ((∅4 −∅3 )+𝑒 4 𝑏2 +𝑒 6 𝑐2 +𝑒 8 𝑑2 )
𝑆1 𝑎2 −𝑆2 𝑎1

Thay 𝑒 2 vào (1)
Ta có
a

s1
 e 3e

5e
175e 
3  2 e 4 15e6 35e8 
1










 2
e  
 (sin  2 2   sin  21 
1
4 64 256 16384 
8
4 128 512 

2

4

6

8


1
15  4 3e 35e 
35  6 5e8 
e


sin
4


sin
4










e 
  sin  6 2   sin  61  
2
1
256 
4
64 
3072 

4 
1
315 8

e (sin  8 2   sin  81 )
131072
6



8

Với 𝑆1 = 110575.635 𝑚
𝑆2 = 111695.384 𝑚
∅1 = 00
6


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

∅2 = 10
∅3 = 880
∅4 = 890
CHƯƠNG TRÌNH MATLAB
 Tên chương trình: ppcx.m
 Tham số nhập: không có
 Tham số xuất: e2 ,a
s1=110575.635;

s2=111695.384;
the1=0;
the2=1;
the3=88;
the4=89;
format long
%% doi do sang rad
t1=dms2rad(the1);
t2=dms2rad(the2);
t3=dms2rad(the3);
t4=dms2rad(the4);
%%dat cac he so
a1=-1/4*(t2-t1)-3/8*(sin(2*t2)-sin(2*t1));
b1=-3/4*(t2-t1)-3/8*1/4*(sin(2*t2)-sin(2*t1))+15/256*(sin(4*t2)sin(4*t1));
c1=-5/256*(t2-t1)-3/8*15/128*(sin(2*t2)-sin(2*t1))+15/256*3/4*(sin(4*t2)sin(4*t1))-35/3072*(sin(6*t2)-sin(6*t1));
d1=-175/16384*(t2-t1)-3/8*35/512*(sin(2*t2)sin(2*t1))+15/256*35/64*(sin(4*t2)-sin(4*t1))-35/3072*5/4*(sin(6*t2)sin(6*t1))+35/131072*(sin(8*t2)-sin(8*t1));
a2=-1/4*(t4-t3)-3/8*(sin(2*t4)-sin(2*t3));
b2=-3/4*(t4-t3)-3/8*1/4*(sin(2*t4)-sin(2*t3))+15/256*(sin(4*t4)sin(4*t3));
c2=-5/256*(t4-t3)-3/8*15/128*(sin(2*t4)-sin(2*t3))+15/256*3/4*(sin(4*t4)sin(4*t3))-35/3072*(sin(6*t4)-sin(6*t3));
d2=-175/16384*(t4-t3)-3/8*35/512*(sin(2*t4)sin(2*t3))+15/256*35/64*(sin(4*t4)-sin(4*t3))-35/3072*5/4*(sin(6*t4)sin(6*t3))+35/131072*(sin(8*t4)-sin(8*t3));
%tien hanh lap tim e2
e20=0.0067;
e2=e20+1;
% Tien hanh lap de tim e2:
while abs(e2-e20)>1e-6
% Han sai cho phep la: epsilon=10^-6
e20=e2;
% Bieu thuc lap cuoi cung:
e2= (s2*((t2-t1)+(e2)^2*b1+(e2)^3*c1+(e2)^4*d1)-s1*((t4t3)+(e2)^2*b2+(e2)^3*c2+(e2)^4*d2))/(s1*a2-s2*a1);
end

disp('gia tri e2= ');
disp(e2)

7


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

%tim a
disp('gia tri a=')
a=s1/((1-e2/4-3/64*(e2)^2-5/256*(e2)^3-175/16384*(e2)^4)*(t2-t1)3/8*(e2+e2^2/4+15/128*e2^3+35/512*e2^4)*(sin(2*t2)sin(2*t1))+15/256*(e2^2+3/4*e2^3+35/64*e2^4)*(sin(4*t2)-sin(4*t1))35/3072*(e2^3+5/4*e2^4)*(sin(6*t2)-sin(6*t1))+315/131072*e2^4*(sin(8*t2)sin(8*t1)));
disp(a)

Chạy chương trình ta có:
Kết quả:
𝒆𝟐 = 0.006699792294343
a = 6.378243645502814e+06
3.PHÂN TÍCH – KẾT LUẬN
Cách
giải
e2
a

Gần đúng

Chính xác

Chênh lệch


0.006699664346092
6.378244450887838e+06

0.006699792294343
6.378243645502814e+06

1.27948e-07
0.805385024286807

- Từ chiều dài của 2 cung kinh tuyến và vĩ độ tương ứng ta có thể tìm được kích
thước Spheroid tương ứng.
- 2 công thức cho kết quả e2 lệch nhau không nhiều và chênh lệch của a là
0.805385024286807 (m).
- Do công thức tính gần đúng tính dựa xấp xỉ trên chiều dài cung kinh tuyến.
Chiều dài càng lớn thì cho sai số càng lớn.
- Công thức tính lặp cho kết quả chính xác hơn và có thể áp dụng cho chiều dài
cung kinh tuyến lớn hơn.
Công thức tính lặp có khả năng đáp ứng cao hơn.

8


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

BÀI TẬP LỚN SỐ 2
1.YÊU CẦU
Khảo sát cự ly giới= c/ hạn của các công thức Schreiber, Gauss, Robbins, Vincenty cho

các cự ly từ 10km đến 20000km và phương vị trắc địa từ 00-1750.
Từ đó hãy cho biết rằng với độ chính xác 1 mm ở chiều dài và 0.01” ở góc, cự ly giới hạn
của các công thức trên là bao nhiêu?
2.CƠ SỞ LÝ THUYẾT
 Công thức Schreiber:
𝑢 = 𝑆𝑐𝑜𝑠𝐴12

𝑣 = 𝑆𝑠𝑖𝑛𝐴12

𝑊1 = √(1 − 𝑒 2 sin2 ∅1 )

𝛽=

𝑢
𝑊3
𝑎(1 − 𝑒 2 ) 1

3 2
(𝑒 𝑊1 𝑢)
𝑊14 𝑣 2
4
𝑏 = 𝛽(1 −
𝑠𝑖𝑛2∅1 + 2
𝑎 (1 − 𝑒 2 )
3𝑎 (1 − 𝑒 2 )
𝑣

𝑊0 = √1 − 𝑒 2 sin2 ∅0
𝜏 = 𝑐. 𝑡𝑎𝑛∅0
𝑑 = 𝛿 (1 −


𝛾 = 𝑊0
𝑎

𝑊02
𝛿=
𝑐. 𝜏
2(1 − 𝑒 2 )

𝑐
𝜆=
𝑐𝑜𝑠𝜙0

𝜏 2 𝜆2
− )
6 12

𝜙2 = 𝜙0 − 𝑑

𝑐 = 𝛾(1 −

𝑙 = 𝜆 (1 −

𝜆2 = 𝜆1 + 𝑙

𝜏2
)
3

∅0 = ∅1 + 𝑏

𝑊14 𝑢2
6𝑎2 (1−𝑒 2 )

𝜀=

𝑡 = 𝜏 (1 −

1
𝑏𝑐
2

𝜆2 𝜏 2
− )
6
6

𝐴21 = 𝐴12 + 1800 + 𝑡 − 𝜀

 Công thức Gauss thuận:
Thuật toán
Bước 1: nhập tọa độ điểm 𝑄1 (𝜙1 , 𝜆1 ) độ dài đường trắc địa S và phương vị thuận 𝐴12 và
các tham số a, 𝑒 2 của pheroid tham khảo.
(0)

(0)

Bước 2: cho 𝜙𝑚 = 𝜙1 và 𝐴𝑚 = 𝐴12
9



Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu
(𝑖)

(𝑖)

(𝑖)

(𝑖)

Δ𝜙 (𝑖) = 𝑓1 (𝜙𝑚 , 𝐴𝑚 )

Bước 3:

Δ𝐴(𝑖) = 𝑓3 (𝜙𝑚 , 𝐴𝑚 )
(𝑖+1)
𝜙𝑚

Δ𝜙 (𝑖)
= 𝜙1 +
2

(𝑖+1)
𝐴𝑚

Δ𝐴(𝑖)
= 𝐴12 +
2


Bước 4: kiểm tra nếu
(𝑖+1)

|𝜙𝑚

(𝑖)

(𝑖+1)

− 𝜙𝑚 | ≤ 𝜀 𝑣à |𝐴𝑚

(𝑖)

− 𝐴𝑚 | ≤ 𝜀, ngược lại quay về bước 3

Bước 5:
Thì chuyển sang bước 5
Δ𝜆(𝑖) = 𝑓2 (𝜙𝑚 , 𝐴𝑚 )

𝜙2 = 𝜙1 + Δ𝜙

𝜆2 = 𝜆1 + Δ𝜆

𝐴21 = 𝐴12 ± 1800 + ∆𝐴
 Công thức Gauss nghịch:
Thuật toán:
Bước 1: nhập tọa độ điểm 𝑄1 (𝜙1 , 𝜆1 ) và 𝑄2 (𝜙2 , 𝜆2 )
Các tham số a, 𝑒 2 của spheroid tham khảo
Bước 2:
Tính


∆∅ = ∅2 − ∅1
𝜙𝑚 =

∆𝜆 = 𝜆2 − 𝜆1

𝜙1 + 𝜙2
2

𝜂𝑚 = 𝑒 ′ 𝑐𝑜𝑠𝜙𝑚

𝑀𝑚 =
(0)

𝑁𝑚 =

𝑎
√(1 − 𝑒 2 sin2 𝜙𝑚 )

𝑎(1 − 𝑒 2 )
√(1 − 𝑒 2 sin2 𝜙𝑚 ) 3

(0)

Cho Δ𝜙0 = Δ𝜙

Δ𝜆0 = Δ𝜆

Bước 3: lặp công thức
(𝑖+1)


Δ𝜙0

(𝑖)

(𝑖)

= 𝑔1 (Δ𝜙0 , Δ𝜆0 )

(𝑖+1)

Δ𝜆0

(𝑖)

(𝑖)

= 𝑔2 (Δ𝜙0 , Δ𝜆0 )
10


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu
(𝑖+1)

Bước 4: kiểm tra nếu |𝜙0

(𝑖)


− 𝜙0 | ≤ 𝜀

(𝑖+1)

|𝜆0

(𝑖)

− 𝜆0 | ≤ 𝜀

Thì chuyển sang bước 5, ngược lại quay về bước 3
Bước 5: tính P, Q và xuất kết quả
𝑃
𝐴𝑚 = atan( )
𝑄
𝑆=

𝐴12 = 𝐴𝑚 −

𝑃
𝑄
=
= √𝑃2 + 𝑄2
𝑠𝑖𝑛𝐴𝑚 cos 𝐴𝑚

Δ𝐴
2

𝐴21 = 𝐴𝑚 ± 1800 +


∆𝐴
2

 Công thức Robbins thuận:
Thuật toán:
Bước 1: ℎ′ = 𝑒 ′ 𝑐𝑜𝑠∅1 𝑐𝑜𝑠𝐴12
Bước 2: 𝜎 ′ = 𝜂(1 +

𝑔 = 𝑒 ′ 𝑠𝑖𝑛∅1

𝜂2 ℎ ′2 (1−ℎ′2 )
6



3𝑔2 (1 − 7ℎ′2 )) +

𝜂3 𝑔ℎ ′ (1−2ℎ ′2 )
8

𝜂5 𝑔ℎ′
48

𝜂=


𝜂4
120

𝑆

𝑁1

(ℎ′2 (4 − 7ℎ′2 ) −

)

Bước 3: 𝑠𝑖𝑛𝜉2 = 𝑠𝑖𝑛𝜙1 𝑐𝑜𝑠𝜎 ′ + 𝑐𝑜𝑠𝜙1 𝑐𝑜𝑠𝐴12 𝑠𝑖𝑛𝜎′
𝑠𝑖𝑛𝜎 ′ 𝑠𝑖𝑛𝐴12
𝑠𝑖𝑛Δ𝜆 =
𝑐𝑜𝑠𝜉2

𝐴′21 = arcsin (

𝑐𝑜𝑠𝜙1 𝑠𝑖𝑛𝐴12
) + 1800
𝑐𝑜𝑠𝜉2

Bước 4: nếu 𝜉2 , Δ𝜆 ℎ𝑎𝑦 𝐴′21 gần với 900 ℎ𝑎𝑦 2700 thì thay 5,6,7 bằng
𝑐𝑜𝑠𝜙1 𝑐𝑜𝑡𝜎 ′ − 𝑠𝑖𝑛𝜙1 𝑐𝑜𝑠𝐴12
𝑐𝑜𝑡Δ𝜆 =
𝑠𝑖𝑛𝐴12
𝑡𝑎𝑛𝜉2 =
𝑐𝑜𝑡𝐴′21
Bước 5: 𝜇 = 1 +

𝑠𝑖𝑛𝜙1 𝑐𝑜𝑠Δ𝜆 + 𝑠𝑖𝑛Δ𝜆𝑐𝑜𝑡𝐴12
𝑐𝑜𝑠𝜙1

𝑐𝑜𝑠𝜎 ′ 𝑐𝑜𝑠𝐴12 − 𝑠𝑖𝑛𝜎 ′ 𝑡𝑎𝑛𝜙1
=

𝑠𝑖𝑛𝐴12

𝑒 ′2 (𝑠𝑖𝑛𝜉2 −𝑠𝑖𝑛𝜙1 )2
2

11


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu
𝑒 2 𝜇𝑠𝑖𝑛𝜙1
𝑡𝑎𝑛𝜙2 = 𝑡𝑎𝑛𝜉2 (1 + 𝑒 )(1 −
)
𝑠𝑖𝑛𝜉2
′2

𝜆2 = 𝜆1 + Δ𝜆
𝜎′
𝐴21 = 𝐴′21 − (𝜙2 − 𝜉2 )𝑠𝑖𝑛𝐴′21 . tan( )
2
 Công thức Robbins nghịch:
𝑒 2 (𝑁1 𝑠𝑖𝑛𝜙1 )

Bước 1:

𝑡𝑎𝑛𝜉2 = (1 − 𝑒 2 )𝑡𝑎𝑛𝜙2 +

Bước 2:


𝜏1 = 𝑐𝑜𝑠𝜙1 𝑡𝑎𝑛𝜉2 − 𝑠𝑖𝑛𝜙1 cos(𝜆2 − 𝜆1 )

Bước 3:

𝑡𝑎𝑛𝐴12 =

𝑁2 𝑐𝑜𝑠𝜙2

sin(𝜆2 −𝜆1 )
𝜏1

Bước 4: tính 𝐴21 dùng các công thức 1-3 với sự hoán đổi chỉ số 1 ↔ 2
sin(𝜆2 −𝜆1 )

Bước 5:

𝜒=

Bước 6:

𝑠𝑖𝑛𝜎 ′ = 𝜒𝑐𝑜𝑠𝜉2

Bước 7:

𝑔 = 𝑒 ′ 𝑠𝑖𝑛𝜙1

Bước 8:

ℎ′ = 𝑒 ′ 𝑐𝑜𝑠𝜙1 𝑐𝑜𝑠𝐴12


𝑠𝑖𝑛𝐴12

Bước 9: 𝑆 = 𝑁1 𝜎′(1 −

nếu 𝐴12 ~0 𝑡ℎì 𝜒 =

𝜎′2 ℎ ′2 (𝜎1−ℎ′2 )
6

3𝑔2 (1 − 7ℎ′2 )) −

+

𝜎′5 𝑔ℎ′
48

𝜏1
cos 𝐴12

𝜎′3 𝑔ℎ ′ (1−2ℎ ′2 )
8

+

𝜎′4
120

(ℎ′2 (4 − 7ℎ′2 ) −

)


 Công thức Vincenty thuận:
Thuật toán:
Bước 1: 𝑡𝑎𝑛𝑈1 = (1 − 𝑓)𝑡𝑎𝑛𝜙1
Bước 2: 𝑡𝑎𝑛𝜎1 =

𝑡𝑎𝑛𝑈1
𝑐𝑜𝑠𝐴12

Bước 3: 𝑠𝑖𝑛𝛼 = 𝑐𝑜𝑠𝑈1 . 𝑠𝑖𝑛𝐴12
2

Bước 4:𝑢2 = 𝑒 ′ cos 2 𝛼
12


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

Bước 5: 𝐴 = 1 +
Bước 6: 𝐵 =

𝑢2
16384

𝑢2
1024

(4096 + 𝑢2 (−768 + 𝑢2 (320 − 175𝑢2 )))


(256 + 𝑢2 (−128 + 𝑢2 (74 − 47𝑢2 )))

Bước 7: bắt đầu với xấp xỉ 𝜎 =

𝑆
𝑏𝐴

Bước 8: lặp các phương trình sau
2𝜎𝑚 = 2𝜎1 + 𝜎
𝐵

𝐵

Δ𝜎 = 𝐵𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + (𝑐𝑜𝑠𝜎(−1 + 2 cos2 2𝜎𝑚 ) − 𝑐𝑜𝑠2𝜎𝑚 (−3 +
4

2

6

2

4 sin 𝜎)(−3 + 4 cos 2𝜎𝑚 )))
𝜎=

𝑆
𝑏𝐴

+ Δ𝜎


cho đến khi chênh lệch giá trị của 𝜎 giữa 2 lần lặp liên

tiếp nhỏ không đáng kể
Bước 9: 𝑡𝑎𝑛𝜙2 =
Bước 10: 𝑡𝑎𝑛𝜆 =
Bước 11: 𝐶 =

𝑓
16

𝑠𝑖𝑛𝑈1 𝑐𝑜𝑠𝜎+𝑐𝑜𝑠𝑈1 .𝑠𝑖𝑛𝜎.𝑐𝑜𝑠𝐴12
(1−𝑓)√(sin2 𝛼+(𝑠𝑖𝑛𝑈1 𝑠𝑖𝑛𝜎−𝑐𝑜𝑠𝑈1. 𝑐𝑜𝑠𝜎.𝑐𝑜𝑠𝐴12 )2 )
𝑠𝑖𝑛𝜎.𝑠𝑖𝑛𝐴12
𝑐𝑜𝑠𝑈1 𝑐𝑜𝑠𝜎−𝑠𝑖𝑛𝑈1. 𝑠𝑖𝑛𝜎.𝑐𝑜𝑠𝐴12

cos 2 𝛼 (4 + 𝑓(4 − 3 cos2 𝛼))

Bước 12: Δ𝜆 = 𝜆 − (1 − 𝐶 )𝑓𝑠𝑖𝑛𝛼(𝜎 + 𝐶. 𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + 𝐶. 𝑐𝑜𝑠𝜎(−1 + 2 cos 2 2𝜎𝑚 )))
Bước 13: 𝜆2 = 𝜆1 + Δ𝜆
Bước 14: 𝑡𝑎𝑛𝐴21 =

𝑠𝑖𝑛𝛼
−𝑠𝑖𝑛𝑈1 𝑠𝑖𝑛𝜎+𝑐𝑜𝑠𝑈1 .𝑐𝑜𝑠𝜎.𝑐𝑜𝑠𝐴12

 Công thức Vincenty nghịch:
Thuật toán:
Bước 1: 𝑡𝑎𝑛𝑈1 = (1 − 𝑓)𝑡𝑎𝑛𝜙1
Bước 2: 𝑡𝑎𝑛𝑈2 = (1 − 𝑓)𝑡𝑎𝑛𝜙2 )
Bước 3: Δ𝜆 = 𝜆2 − 𝜆1

Bước 4: bắt đầu với xấp xỉ 𝜆 = Δ𝜆
13


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

Bước 5: lặp các phương trình sau đây
sin2 𝜎 = (𝑐𝑜𝑠𝑈2 . 𝑠𝑖𝑛𝜆)2 + (𝑐𝑜𝑠𝑈1 . 𝑠𝑖𝑛𝑈2 − 𝑠𝑖𝑛𝑈1 . 𝑐𝑜𝑠𝑈2 . 𝑐𝑜𝑠𝜆)2
𝑐𝑜𝑠𝜎 = 𝑠𝑖𝑛𝑈1 . 𝑠𝑖𝑛𝑈2 + 𝑐𝑜𝑠𝑈1 . 𝑐𝑜𝑠𝑈2 . 𝑐𝑜𝑠𝜆
𝑡𝑎𝑛𝜎 =

𝑠𝑖𝑛𝜎
𝑐𝑜𝑠𝜎

𝑐𝑜𝑠2𝜎𝑚 = 𝑐𝑜𝑠𝜎 −
𝐶=

𝑓

𝑠𝑖𝑛𝛼 =

𝑐𝑜𝑠𝑈1 𝑐𝑜𝑠𝑈2 𝑠𝑖𝑛𝜆
𝑠𝑖𝑛𝜎

2(𝑠𝑖𝑛𝑈1 𝑠𝑖𝑛𝑈2 )
cos2 𝛼

cos2 𝛼(4 + 𝑓(4 − 3 cos 2 𝛼))


16

𝜆 = Δ𝜆 + (1 − 𝐶 )𝑓. 𝑠𝑖𝑛𝛼(𝜎 + 𝐶𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + 𝐶𝑐𝑜𝑠𝜎(−1 + 2 cos2 2𝜎𝑚 )))
Cho đến khi chênh lệch giá trị của 𝜆 giữa 2 lần lặp liên tiếp nhỏ không đáng kể.
Bước 6: 𝑢2 = 𝑒 ′ cos2 𝛼
Bước 7: 𝐴 = 1 +
Bước 8: 𝐵 =

𝑢2
1024

𝑢2
16384

(4096 + 𝑢2 (−768 + 𝑢2 (320 − 175𝑢2 )))

(256 + 𝑢2 (−128 + 𝑢2 (74 − 47𝑢2 )))
𝐵

𝐵

4

6

Bước 9: Δ𝜎 = 𝐵𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + (𝑐𝑜𝑠𝜎(−1 + 2 cos2 2𝜎𝑚 ) − 𝑐𝑜𝑠2𝜎𝑚 (−3 +
2

4 sin 2𝜎𝑚 )))

Bước 10: 𝑆 = 𝑏𝐴(𝜎 − Δ𝜎)
Bước 11: 𝑡𝑎𝑛𝐴12 =
Bước 12: 𝑡𝑎𝑛𝐴21 =

𝑐𝑜𝑠𝑈2 𝑠𝑖𝑛𝜆
𝑐𝑜𝑠𝑈1 𝑠𝑖𝑛𝑈2 −𝑠𝑖𝑛𝑈1 𝑐𝑜𝑠𝑈2 𝑐𝑜𝑠𝜆
𝑐𝑜𝑠𝑈1 𝑠𝑖𝑛𝜆
−𝑠𝑖𝑛𝑈1 𝑐𝑜𝑠𝑈2 +𝑐𝑜𝑠𝑈1 𝑠𝑖𝑛𝑈2 𝑐𝑜𝑠𝜆

3.PHƯƠNG PHÁP GIẢI QUYẾT
Giới thiệu cự ly của các công thức:
Công thức
Schreiber
Gauss

Cự ly
𝑆 ≤ 50 𝑘𝑚
𝑆 ≤ 100 𝑘𝑚

Đặc điểm
Tính trực tiếp
Lặp
14


Trắc địa cao cấp
Robbins
Vincenty

PGS.TS Nguyễn Ngọc Lâu

𝑆 ≤ 20𝑚𝑚 cho cự ly 1500km;16m
cho đường đáy 4500km
Vài 𝑐𝑚 ≤ 𝑆 ≤ 20 000 𝑘𝑚 với sai số
chỉ vài mm

Tính trực tiếp
Lặp

Các bước thực hiện
B1: Viết các chương trình con giải các bài toán thuận nghịch theo các công thức
Schreiber, Gauss, Robbins, Vincenty
+ chương trình con giải bài toán thuận Schreiber
+ chương trình con giải bài toán thuận Gauss
+ chương trình con giải bài toán nghịch Gauss
+ chương trình con giải bài toán thuận Robbins
+ chương trình con giải bài toán nghịch Robbins
+ chương trình con giải bài toán thuận Vincenty
+ chương trình con giải bài toán nghịch Vincenty
B2: Chạy thử các chương trình con theo bộ số liệu mẫu trong giáo trình
B3: Viết chương trình chính để khảo sát giới hạn các công thức
Tên chương trình: Khsat_gioihan.m
B4: Lần lượt chạy chương trình chính cho:
 Công thức Schreiber :thay CT_thuận = Schreiber1
CT_nghịch= Vincenty2
Tên chương trình: Khsat_Schreiber.m
 Kết luận giới hạn của công thức Schreiber
 Công thức Gauss :thay CT_thuận = Gauss1
CT_nghịch= Gauss2
Tên chương trình: Khsat_Gauss.m
 Kết luận giới hạn của công thức Gauss

 Công thức Robbins :thay CT_thuận = Robbins1
15


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu
CT_nghịch= Robbins2

Tên chương trình: Khsat_ Robbins.m
 Kết luận giới hạn của công thức Robbins
 Công thức Vincenty :thay CT_thuận = Vincenty 1
CT_nghịch= Vincenty 2
Tên chương trình: Khsat_ Vincenty.m
 Kết luận giới hạn của công thức Vincenty

4.TIẾN HÀNH KHẢO SÁT VÀ KẾT QUẢ

Để thực hiện khảo sát, ta sử dụng các chương trình khảo sát sau:
% KHAO SAT GIOI HAN CUA CONG THUC XYZ
format long
a=6378137; e2=0.0067;
phi1=dms2rad(10); lam1=dms2rad(105);
for S=10000:10000:20000000
for A12=0:5:175
A12=dms2rad(A12);
% Giai BT Thuan
[phi2,lam2,A21]= CT_thuận(phi1,lam1,S,A12,a,e2);
% Giai BT Nghich
[S1,A121,A211]= CT_nghịch (phi1,lam1,phi2,lam2,a,e2);

%Tinh do lech
ds=S1-S;
dA12=A121-A12;
dA21=A211-A21;
% Kiem tra do lech co nam trong gioi han
if abs(ds)>0.001 || abs(dA12)>(0.01/206265) ||
abs(dA21)>(0.01/206265)
break;
end
end
if abs(S1-S)>0.001
break;
end
end
disp('Cu ly gioi han cua CT Robbins:'); S
disp('Goc phuong vi:'); A12

Trong đó:
- XYZ lần lượt là các công thức: Schreiber, Gauss, Robbins và Vincenty.
- Cự ly giới hạn: là cự ly mà công thức không còn đảm bảo độ chính xác yêu cầu.
Ta có 4 chương trình khảo sát sau:
16


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

 Chương trình khảo sát công thức Schreiber: Khsat_Schreiber.m
 Chương trình khảo sát công thức Gauss: Khsat_Gauss.m

 Chương trình khảo sát công thức Robbins: Khsat_Robbins.m
 Chương trình khảo sát công thức Vincenty: Khsat_Vincenty.m
 CÔNG THỨC SCHREIBER: Khsat_Schreiber.m
+ Công thức thuận: Schreiber1
+ Công thức nghịch: Vincenty2 (do CT Schreiber chỉ có CT Thuận).
% KHAO SAT GIOI HAN CONG THUC schreiber
format long
a=6378137; e2=0.0067;
phi1=dms2rad(10); lam1=dms2rad(105);
for S=10000:10000:20000000
for A12=0:5:175
A12=dms2rad(A12);
% Giai BT Thuan
[phi2,lam2,A21]=Schreiber1(phi1,lam1,S,A12,a,e2);
% Giai BT Nghich
[S1,A121,A211]=Vincenty2(phi1,lam1,phi2,lam2,a,e2);
%Tinh do lech
ds=S1-S;
dA12=A121-A12;
dA21=A211-A21;
% Kiem tra
if abs(ds)>0.001 || abs(dA12)>(0.01/206265) ||
abs(dA21)>(0.01/206265)
break;
end
end
if abs(ds)>0.001
break;
end
end

disp('Cu ly gioi han cua CT Chreiber:'); S/1000
disp('Goc phuong vi:'); A12

Kết quả:
- Cu ly gioi han cua CT Chreiber: S = 30 km.
- Goc phuong vi: A12 = 0.
 CÔNG THỨC GAUSS: Khsat_ Gauss.m
+ Công thức thuận: Gauss1
+ Công thức nghịch: Gauss2 .
% KHAO SAT GIOI HAN CONG THUC GAUSS:
format long
a=6378137; e2=0.0067;
phi1=dms2rad(10); lam1=dms2rad(105);
for S=10000:10000:20000000

17


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

for A12=0:5:175
A12=dms2rad(A12);
% Giai BT Thuan
[phi2,lam2,A21]= Gauss1(phi1,lam1,S,A12,a,e2);
% Giai BT Nghich
[S1,A121,A211]= Gauss2(phi1,lam1,phi2,lam2,a,e2);
%Tinh do lech
ds=S1-S;

dA12=A121-A12;
dA21=A211-A21;
% Kiem tra
if abs(ds)>0.001 || abs(dA12)>(0.01/206265) ||
abs(dA21)>(0.01/206265)
break;
end
end
if abs(S1-S)>0.001
break;
end
end
disp('Cu ly gioi han cua CT Gauss:'); S/1000
disp('Goc phuong vi:'); A12

Kết quả:
- Cu ly gioi han cua CT Gauss: S = 80 km.
- Goc phuong vi: A12 = 0.
 CÔNG THỨC ROBBINS: Khsat_ Robbins.m
+ Công thức thuận: Robbins1
+ Công thức nghịch: Robbins2
% KHAO SAT GIOI HAN CONG THUC Robbins
format long
a=6378137; e2=0.0067;
phi1=dms2rad(10); lam1=dms2rad(105);
for S=10000:10000:20000000
for A12=0:5:175
% Giai BT Thuan
[phi2, lam2, A21]=Robbins1(phi1, lam1, S, A12, a, e2);
% Giai BT Nghich

[S1, A121, A211]=Robbins2(phi1, lam1, phi2, lam2, a, e2);
%Tinh do lech
dA12 = A121-A12;
dA21 = A211-A21;
% Kiem tra
if abs(dA12)>(0.01/206265)
break;
elseif abs(dA21)>(0.01/206265)
break;
end
end
ds=abs(S1-S);
if abs(ds)>0.001
break;

18


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

end
end
fprintf('Cu ly gioi han cua CT Robbins: %5.6f \n',S/1000);
fprintf('Goc phuong vi: %5.6f \n',A12);

Kết quả:
- Cu ly gioi han cua CT Robbins: S = 220 km.
- Goc phuong vi: A12 = 5.

 CÔNG THỨC VINCENTY: Khsat_ Vincenty.m
+ Công thức thuận: Vincenty1
+ Công thức nghịch: Vincenty2
% KHAO SAT GIOI HAN CONG THUC VINCENTY
format long
a=6378137; e2=0.0067;
phi1=dms2rad(10); lam1=dms2rad(105);
for S=10000:10000:20000000
for A12=0:5:175
A12=dms2rad(A12);
% Giai BT Thuan
[phi2,lam2,A21]= Vincenty1(phi1,lam1,S,A12,a,e2);
% Giai BT Nghich
[S1,A121,A211]=Vincenty2(phi1,lam1,phi2,lam2,a,e2);
%Tinh do lech
ds=S1-S;
dA12=A121-A12;
dA21=A211-A21;
% Kiem tra
if abs(ds)>0.001 || abs(dA12)>(0.01/206265) ||
abs(dA21)>(0.01/206265)
break;
end
end
if abs(S1-S)>0.001
break;
end
end
disp('Cu ly gioi han cua CT Vincenty:'); S/1000
disp('Goc phuong vi:'); A12


Kết quả:
- Cu ly gioi han cua CT Vincenty : S = 8900 km.
- Goc phuong vi: A12 = 0.
NHẬN XÉT:

19


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

- Với cự ly 10 km đến 20000 km và phương vị trắc địa từ 0 đến 1750, ta nhận thấy công
thức đáp ứng về cự ly giới hạn lớn nhất mà công thức còn đảm bảo độ chính xác yêu cầu là
công thức Vincenty với cự ly lên đến 8900 km (lý thuyết là 20 000km).
- Các công thức tính lặp có cự ly đảm bảo độ chính xác lớn hơn
 Vì vậy hiện nay người ta thường ưa chuộng các công thức tính lặp hơn công thức tính
trực tiếp.

20


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

BÀI TẬP LỚN SỐ 3
1.YÊU CẦU
Nghiên cứu về bậc của công thức phép chiếu UTM 60

2.PHƯƠNG PHÁP GIẢI QUYẾT
Phép chiếu UTM là phép chiếu hình trụ ngang đồng góc , khi cho mặt trụ cắt phớt qua
mặt cầu có vĩ độ nằm trong khoảng -800 (800 S) đến 840 (840 N)
B1: Chuẩn bị 2 chương trình con Matlab:
+function [x, y] = UTM1(phi, l, a, e2) : chuyển từ (phi, l) sang (x, y) trong phép UTM
+function [phi, l] = UTM2(x, y, a, e2) : chuyển từ (x, y) sang (phi, l) trong phép UTM
B2: Viết chương trình chính khảo sát độ chính xác
-

Tên chương trình

B3: Chạy chương trình chính cho công thức bậc 6, nhận được dphimax6 và dlmax6 cho
bậc 6
Chạy chương trình chính cho công thức bậc 8, nhận được dphimax8 và dlmax8 cho bậc 8
B4: Kiểm tra
 Nếu dphimax6 > 𝜀 hoặc dlmax6 > 𝜀
 Kết luận công thức bậc 6 không đủ độ chính xác
 Nếu dphimax8 > 𝜀 hoặc dlmax8 > 𝜀
 Kết luận công thức bậc 8 không đủ độ chính xác
 Nếu dphimax6 < 𝜀 hoặc dlmax6 < 𝜀
 Kết luận công thức bậc 6 đủ độ chính xác
 Nếu dphimax8 > 𝜀 hoặc dlmax8 > 𝜀
 Kết luận công thức bậc 8 đủ độ chính xác

3.KẾT QUẢ
 Chương trình matlab:
21


Trắc địa cao cấp


PGS.TS Nguyễn Ngọc Lâu

%khao sat cong thuc bac 6
dphimax6=0;
dlmax6=0;
esu=0.01/206265 ;
a=6378137 ;
e2=0.0067 ;
for phi= -80:84
for l= -3:3
%tinh (x,y)
[x1,y1]=UTM1_2(phi,l,a,e2);
%tinh (phi,l)
[phi11,l11]=UTM2_2(x1,y1,a,e2);
%tinh sai so
phi=dms2rad(phi);
l=dms2rad(l);
phi11=dms2rad(phi11);
l11=dms2rad(l11);
dphi=abs(phi11-phi);
dl=abs(l11-l);
if dphi > dphimax6
dphimax6=dphi;
end
if dl > dlmax6
dlmax6=dl;
end
end
end

%kiem tra
if dphimax6< esu && dlmax6 < esu
disp ('cong thuc bac 6 du do chinh xac')
return
end
%khao sat cong thuc bac 8
dphimax8=0;
dlmax8=0;
a=6378137 ;
e2=0.0067;
for phi= -80:1:84
for l= -3:1:3
%tinh (x,y)
[x,y]=UTM1(phi,l,a,e2);
%tinh (phi,l)
[phi1,l1]=UTM2(x,y,a,e2);
%tinh sai so
phi=dms2rad(phi);
l=dms2rad(l);
phi1=dms2rad(phi1);
l1=dms2rad(l1);
dphi=abs(phi1-phi);
dl=abs(l1-l);
if dphimax8dphimax8=dphi;
end
if dlmax8dlmax8=dl;
end
end


22


Trắc địa cao cấp

PGS.TS Nguyễn Ngọc Lâu

end
%kiem tra
if dphimax8disp ('chi co cong thu bac 8 la du do chinh xac')
else
disp ('cong thuc bac 8 khong du do chinh xac')
end

 Kết quả chạy chương trình matlab:“cong thuc bac 6

du do chinh xac “

NHẬN XÉT
Khi tiến hành nghiên cứu về bậc của công thức phép chiếu UTM 60 ta thấy được công
thức bậc 6 đã thỏa phép chiếu nên hiển nhiên công thức bậc 8 cũng thỏa.

23



×