TIẾN HÀNH KIỂM TRA CÁC CÔNG THỨC CÔNG THỨC SCHREIBER: chỉ có Công thức bài toán thuận Áp dụng cho các công thức cự ly < 50 km, sử dụng các công thức tam giác cầu để tính toán.. CÔN
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT XÂY DỰNG
BÁO CÁO
BÁO CÁO BÀI TẬP LỚN TRẮC ĐỊA CAO CẤP 1
GVHD: PGS TS NGUYỄN NGỌC LÂU
Trang 2LỜI CẢM ƠN
Để hoàn thành bài báo cáo này, em xin chân thành cảm ơn Thầy Nguyễn Ngọc Lâu đã tận tình giảng dạy và hướng dẫn em trong suốt quá trình hoàn thành bài báo cáo này Mặc dù rất cố gắng nhưng do kiến thức chuyên môn bản thân còn hạn chế nên bài báo cáo này không tránh khỏi những thiếu sót Kính xin Thầy góp ý để em rút ra những kinh nghiệm quý báu, em xin chân thành cảm ơn./
Trang 32 GIẢI QUYẾT BÀI TOÁN ĐẶT RA:
Để xác định kích thước của mặt Spheroid trái đất ta có 4 phương pháp:
- 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
Khi biết vĩ độ Ф và độ dài cung kinh tuyến S, để xác định kích thước mặt Spheroid
ta có thể tìm hiểu 2 cách giải: cách giải gần đúng và cách giải chính xác
Trang 4(1 sin ( )) (1 sin ( ))
m m
e S
(1 sin ( ))
(1 sin ( ))
m m
e S
Khai triển phương trình, tính toán ta tìm được: e 2 0.006699662637 (kết quả
tính bằng máy tính tay Casio)
Thay e2 vừa tính được vào phương trình thứ nhất của hệ (1), tìm được a:
(1)
Trang 6 CÁCH GIẢI CHÍNH XÁC (tính lặp): có thể chính xác đến mm
Công thức tính chiều dài cung kinh tuyến từ xích đạo đến điểm có vĩ độ Ф là:
0 2.sin 2 4.sin 4 6.sin6 8.sin8
4 4
8 6 6
8 8
e = 0.0067 e →( 1 ) 2 e →…e( 2 )2 2 chính xác
Nếu thỏa mãn điều kiện |e( i 1)2-e | < 10 (i)2 -10 thì dừng lại, không thỏa lặp tiếp Khi có e2 phương trình (1) hoặc (2) tìm ra a
Kết thúc bài toán
Trang 8 Chương trình Matlab phục vụ công việc lặp tìm ra e2 và a:
- Tên chương trình : tinh_kthuoc.m
% Tien hanh lap de tim e2:
while abs(e2-e20)>1e-10 % Han sai cho phep la: epsilon=10^-10
e20=e2;
% Bieu thuc lap cuoi cung:
e2=(-1.744123493666698e-004+0.006404862507432*e2.^2+0.005266008973700*e2.^3+0.00456908774 2540*e2.^4)/-0.025988537202616;
% Ghi ket qua:
fprintf(fid, 'Kich thuoc spheroid la:\n' );
% Ghi gia tri ban truc a:
disp( 'Gia tri e2:' ); e2
disp( 'Gia tri ban truc a: ' ); a
Trang 10BÀI TẬP LỚN SỐ 2
1 YÊU CẦU:
Khảo sát độ chính xác 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ừ 0-1800 Từ đó hãy cho biết rằng với độ chính xác 1 mm ở chiều dài và 0.001” ở góc Cự ly giới hạn của các công thức trên là bao nhiêu?
2 PHƯƠNG PHÁP GIẢI QUYẾT:
GIỚI THIỆU CÁC CÔNG THỨC
Công thức Phương pháp tính Cự ly/ độ chính xác Schreiber (1878) Trực tiếp S < 50Km
Robbins (1962) Trực tiếp Độ chính xác 20mmn
cho cự ly 1500 km, 16 m cho đường đáy 4500 km
Nên ta tạo file data.txt dùng chung cho cả 4 chương trình con (CTC)
Với thứ tự số liệu như sau:
Trang 12
Ta viết thêm 1 CTC Matlab docfile.m để nhập dữ liệu từ file data.txt
Trang 13 TIẾN HÀNH KIỂM TRA CÁC CÔNG THỨC
CÔNG THỨC SCHREIBER: (chỉ có Công thức bài toán thuận)
Áp dụng cho các công thức cự ly < 50 km, sử dụng các công thức tam giác cầu để tính toán Xấp xỉ tam giác Spheroid thành tam giác cầu để tính toán
liệu đầu vào cố định, giống với giáo trình)
Kết quả nhận được sau khi chạy chương trình:
Trang 14 CÔNG THỨC GAUSS: gồm CT cho bài toán Thuận và Nghịch.
- Áp dụng cho các công thức cự ly < 100 km, dựa vào một điểm nằm giữa đường trắc địa để tính toán
- Là công thức lặp có công thức thuận và công thức nghịch để tính toán kiểm tra
Thuật toán BT thuận:
Chương trình: Gauss1.m
+ Tham số nhập: phi1,lam1,S,A12
+ Tham số xuất: phi2,lam2,A21
Tính toán:
Tiến hành chạy chương trình: tương tự ta cũng chạy cho dữ liệu vào cố định
từ file dữ liệu data.txt
Kết quả nhận được sau khi chạy chương trình:
0 2
0 21
+ Tham số nhập: phi1, lam1, phi2, lam2
+ Tham số xuất: A12_1,A21_1,S_1
function [phi2,lam2,A21]=Gauss1(phi1,lam1,S,A12)
Trang 15 Tính toán:
Tiến hành chạy chương trình: ta lấy phi1, lam1 từ file data.txt; lấy phi2, lam2
từ kết quả chạy bài toán thuận của CT Gauss
Kết quả nhận được sau khi chạy chương trình:
0 21
Trang 16 CÔNG THỨC ROBBINS:
- Áp dụng cho các công thức cự ly trung bình
- Là công thức tính trực tiếp, có công thức thuận và công thức nghịch để tính toán kiểm tra
Thuật toán BT thuận:
Chương trình: Robbins1.m
+ Tham số nhập: phi1, lam1, S, A12
+ Tham số xuất: phi2, lam2, A21
Tính toán:
Tiến hành chạy chương trình: tương tự ta cũng chạy cho dữ liệu vào cố định
từ file dữ liệu data.txt
Kết quả nhận được sau khi chạy chương trình:
0 2
0 21
+ Tham số nhập: phi1, lam1, phi2, lam2
+ Tham số xuất: A12_1,A21_1,S_1
function [phi2,lam2,A21]=Robbins1(phi1,lam1,S,A12)
Trang 170 21
Trang 18 CÔNG THỨC VINCENTY:
- Áp dụng hầu hết cho các cự ly , có độ chính xác cao nhất
- Là công thức tính trực lặp, có công thức thuận và công thức nghịch để tính toán kiểm tra
Thuật toán BT thuận:
Chương trình: Vincenty1.m
+ Tham số nhập: phi1, lam1, S, A12
+ Tham số xuất: phi2, lam2, A21
Tính toán:
Tiến hành chạy chương trình: tương tự ta cũng chạy cho dữ liệu vào cố định
từ file dữ liệu data.txt
Kết quả nhận được sau khi chạy chương trình:
0 2
0 21
+ Tham số nhập: phi1, lam1, phi2, lam2
+ Tham số xuất: A12_1, A21_1, S_1
function [phi2,lam2,A21]=Vincenty1(phi1,lam1,S,A12)
Trang 190 21
function [S_1,A12_1,A21_1]=Vincenty2(phi1,lam1,phi2,lam2)
Trang 202.2 Khảo sát độ chính xác (cự ly giới hạn) của 4 công thức:
KHẢO SÁT CÔNG THỨC VÀ KẾT QUẢ
Với độ chính xác ở góc giới hạn là 0.01’’, độ chính xác 1mm ở chiều dài Ta tiến hành khảo sát lần lượt các công thức
Chọn:
0 1
0 1
Để 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 CONG THUC ABC:
disp( 'Cu ly gioi han cua CT ABC:' ); S
disp( 'Goc phuong vi:' ); A12
% Dong file
fclose(fid);
Trang 21Trong đó:
- ABC lần lượt là các công thức: Schreiber, Gauss, Robbins và Vincenty
- Cu ly gioi han: 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:
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
KHẢO SÁT CÔNG THỨC SCHREIBER: Khsat_Schreiber.m
+ Công thức thuận: Schreiber_khsat
+ Công thức nghịch: Vincenty2_khsat (do CT Schreiber chỉ có CT Thuận) + File kết quả: Schreiber.txt
Kết quả:
- Cu ly gioi han cua CT Chreiber: S = 30 000 m
- Goc phuong vi: A12 = 0
KHẢO SÁT CÔNG THỨC GAUSS: Khsat_Gauss.m
Trang 22KHẢO SÁT CÔNG THỨC ROBBINS: Khsat_Robbins.m
+ CT thuận: Robbins1_khsat
+ CT nghịch: Robbins2_khsat
+ File kết quả: Robbins.txt
Kết quả:
- Cu ly gioi han cua CT Robbins: S = 180 000 m
- Goc phuong vi: A12 = 0
KHẢO SÁT CÔNG THỨC VINCENTY: Khsat_Vincenty.m
+ CT thuận: Vincenty1_khsat
+ CT nghịch: Vincenty2_khsat
+ File kết quả: Vincenty.txt
Kết quả:
- Cu ly gioi han cua CT Vincenty: S = 8 900 000 m
- Goc phuong vi: A12 = 0
km (lý thuyết là 20 000km), công thức đáp ứng thấp nhất là công thức
Schreiber
- 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
Trang 23+ Hình chiếu xích đạo là đường thẳng nằm ngang
+ Hình chiếu kinh tuyến giữa là đường thẳng đứng
+ Ở kinh tuyến giữa có tỷ lệ m0 = 1
- 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), phần còn lại sử dụng phép chiếu phương vị
+ Có 2 cát tuyến là 2 đường không bị biến dạng và có tỷ lệ chiếu m =1 + Ở 2 kinh tuyến biên có m >1
+ Ở kinh tuyến giữa là m = 0.9996 (múi 60) và m = 0.9999 (múi 30)
Để chứng minh yêu cầu đề đặt ra, ta làm như sau:
+ Bước 1: Trên xích đạo ( 0 0) ta lấy 2 điểm: Q1 và Q2, với:
Q1 là điểm thuộc cát tuyến (phải tìm điểm này) → điểm này thuộc kinh tuyến có tỷ lệ chiếu =1
Q2 là điểm thuộc kinh tuyến biên → l = 30
Trang 25 Tìm l của điểm Q1:
Ta có công thức tính tỷ lệ chiếu trong phép chiếu UTM:
Trong đó: k 0 = 0.9996 với múi 6 0 , và bằng 0.9999 với múi 3 0
Vậy ta thấy, với giá trị ta sẽ tìm được những giá trị tương ứng khi m = 1 bằng
cách giải phương trình sau:
0 0
1
6
4 4
1
6
2 4
Ta có thể giải phương trình (1) khi biết các giá trị d2, d4 ,d6
Ta viết thêm CTC tính các hệ số d2 , d 4 , d 6 chạy theo biến
Trang 26Nhập giá trị 0 0 của điểm Q1 vào, khởi chạy (với a, e2, k0 như trên)
KIỂM TRA: ta dùng CT tỷ lệ chiếu 1 (UTM) chạy cho (1 1,l )
% Tim he so cua cong thuc ty le chieu (UTM)
Trang 27 m = 1.000000000000064 1
Chạy chương trình UTM1 cho điểm Q1:
→ Nhập (1,l1) vào CTC UTM1 → (x1,y1) (nhập l ở đơn vị dms)
Trang 28 MÚI CHIẾU 3 0 (k 0 = 0.9999)
Thực hiện tương tự trường hợp múi chiếu 60
Chạy chương trình UTM1 cho điểm Q2:
Trang 29- Trường hợp múi 60, 2 cát tuyến nằm cách đều kinh tuyến trục xấp xỉ 180 km
→ kết quả phù hợp với phép chiếu UTM
4 BỔ SUNG
Số liệu trên ta lấy = 00, tức hai điểm xét Q1 và Q2 nằm trên xích đạo
Ta có thể lấy bất kỳ, trường hợp này ta chỉ việc thêm vào chương trình tính hệ
số tỷ lệ chiếu vòng lặp for chạy cho các giá trị từ -800 đến 840
Sau khi chạy, ta ghi dữ liệu vào file he_so.txt gồm các hệ số: d6, d4, d2, 1-1/k0 để tiện cho việc giải phương trình tìm u → tìm l
% Tim he so cua cong thuc ty le chieu 1 (UTM)
Trang 30PHẦN PHỤ LỤC: CÁC CHƯƠNG TRÌNH TRONG ĐĨA CD NỘP
CÙNG BÀI BÁO CÁO
Đĩa nộp gồm thư mục ten_mssv chứa 2 file báo cáo (1 file PDF + 1 file Word) và 3 thư mục con là 3 bài tập lớn tương ứng:
- Thư mục BTL SO 1: chứa 4 file phục vụ BTL số 1
- Thư mục BTL SO 2: gồm 2 thư mục con:
KIEM TRA CONG THUC: gồm 11 file, trong đó gồm 7 CTC nhập
số liệu sẵn theo giáo trình để kiểm tra công thức và 4 file liên quan
KHAO SAT CONG THUC: gồm 17 file: 4 CTC khảo sát, 7 CTC phục vụ khảo sát các công thức, 4 file text ghi kết quả khảo sát, và 2 CTC đổi đơn vị
- Thư mục BTL SO 3: gồm 19 file: 12 CTC (6 của TM và 6 của UTM), 2 CTC tìm hệ số, 1 CTC tính độ dài KT, 1 CTC tính vĩ độ KT, 1 file text chứa kết quả tính hệ số và 2 CTC đổi đơn vị