ĐẠ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 tháng năm 2016 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu BÀI TẬP LỚN SỐ 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ó phương pháp xác định kích thước 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ó cách giải để xác định kích thước Spheroid trái đất: cách giải gần cách giải xác a/ Cách giải gần đúng: Chiều dài cung kinh tuyến quan hệ với vĩ độ sau: 𝑎(1−𝑒 ) ∅ 𝑆 = ∫∅ 𝑀(∅)𝑑∅ với 𝑀(∅) = (1−e2 sin2 (∅))3/2 Ta có chiều dài cung kinh tuyến từ ∅1 → ∅2 ∅ 𝑆1 = 𝑆∅ − 𝑆∅ = ∫∅ 𝑀(∅)𝑑∅ ≈ M (2 1 ) (1) Trong M = 2 𝑎(1−𝑒 ) ∅ +∅ (1−e2 sin2 ( )) 3/2 ∅ 𝑆2 = 𝑆∅ − 𝑆∅ = ∫∅ 𝑀(∅)𝑑∅ ≈ M 3 4 (4 3 ) (2) Trắc địa cao cấp Trong M = PGS.TS Nguyễn Ngọc Lâu 𝑎(1−𝑒 ) ∅ +∅ (1−e2 sin2 ( )) 3/2 Chênh lệch vĩ độ 10 Lấy (1) (2) = 𝑆1 𝑆2 = M 1 2 M 3 4 ⇔ 𝑆12 (1 − 𝑒 sin2 ( 3/2 = ∅ +∅ (1−e2 sin2 ( )) 3/2 ∅ +∅ (1−e2 sin2 ( )) ∅1 +∅2 ⟺ √𝑆12 (1 − 𝑒 sin2 ( )) = 𝑆22 (1 − e2 sin2 ( ∅1 +∅2 3 ∅3 +∅4 ))=√𝑆22 (1 − e2 sin2 ( )) ∅3 +∅4 )) √𝑆22 − √𝑆12 ⇔𝑒 = ∅ + ∅4 ∅ + ∅2 3 √𝑆22 sin2 ( ) − √𝑆12 sin2 ( ) 2 Thay 𝑒 vào (1) 𝑆1 = 𝑎(1−𝑒 ) ∅1 +∅2 2 (1−e sin ( )) (∅2 − ∅1 ) ∅ + ∅2 )) 𝑆1 (1 − e2 sin2 ( ⟹𝑎= (1 − 𝑒 )(∅2 − ∅1 ) Với 𝑆1 = 110575.635 𝑚 𝑆2 = 111695.384 𝑚 ∅1 = 00 ∅2 = 10 ∅3 = 880 ∅4 = 890 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: Tham số xuất: e2 ,a s1=110575.635; s2=111695.384; the1=0; the2=1; the3=88; the4=89; format long %% doi 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 chạy chương trình ta có : Kết quả: a= 6.378244450887838e+06 𝒆𝟐 = 0.006699664346092 b/ Cách giải 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 đó: 𝑒 3𝑒 5𝑒 175𝑒 𝐴0 = 𝑎 (1 − − − − ) 64 256 16384 3𝑎 𝑒 15𝑒 35𝑒 (𝑒 + + ) 𝐴2 = + 128 512 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu 15𝑎 3𝑒 35𝑒 (𝑒 + ) 𝐴4 = + 256 64 35𝑎 5𝑒 (𝑒 + ) 𝐴6 = 3072 𝐴8 = 315𝑎 𝑒 131072 𝑆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 = 𝑆∅ − 𝑆∅ = 𝐴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 − (sin(2∅2 ) − sin(2∅1 )] 𝑎2 = [− ∅4 − ∅3 − (sin(2∅4 ) − sin(2∅3 )] 3 15 (sin(4∅2 ) − sin(4∅1 )) 𝑏1 = − (∅2 − ∅1 ) − (sin(2∅2 ) − sin(2∅1 ) + 256 3 15 (sin(4∅4 ) − sin(4∅3 )) 𝑏2 = − (∅4 − ∅3 ) − (sin(2∅4 ) − sin(2∅3 )) + 256 𝑐1 = − 256 (∅2 − ∅1 ) − 128 35 3072 𝑐2 = − 256 15 (sin(2∅2 ) − sin(2∅1 ) + 15 (sin(4∅2 ) − sin(4∅1 )) − 256 (sin(6∅2 ) − sin(6∅1 )) (∅4 − ∅3 ) − 35 3072 15 128 (sin(2∅4 ) − sin(2∅3 ) + 15 (sin(4∅4 ) − sin(4∅3 )) − 256 (sin(6∅4 ) − sin(6∅3 )) Trắc địa cao cấp 𝑑1 = − 175 16384 (∅2 − ∅1 ) − 175 35 (sin(6∅2 ) − sin(6∅1 )) + (∅4 − ∅3 ) − 35 512 sin(4∅3 )) − (sin(2∅2 ) − sin(2∅1 ) + 3072 16384 35 512 sin(4∅1 )) − 𝑑2 = − PGS.TS Nguyễn Ngọc Lâu 35 3072 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 ) + 𝑒 𝑎1 + 𝑒 𝑏1 + 𝑒 𝑐1 + 𝑒 𝑑1 = 𝑆2 (∅4 − ∅3 ) + 𝑒 𝑎2 + 𝑒 𝑏2 + 𝑒 𝑐2 + 𝑒 𝑑2 Suy 𝑒 = 𝑆2 ((∅2 −∅1 )+𝑒 𝑏1 +𝑒 𝑐1 +𝑒 𝑑1 )−𝑆1 ((∅4 −∅3 )+𝑒 𝑏2 +𝑒 𝑐2 +𝑒 𝑑2 ) 𝑆1 𝑎2 −𝑆2 𝑎1 Thay 𝑒 vào (1) Ta có a s1 e 3e 5e 175e e 15e6 35e8 e (sin 2 sin 21 1 64 256 16384 8 128 512 15 3e 35e 35 5e8 e sin sin e sin 6 sin 61 256 64 3072 315 e (sin 8 sin 81 ) 131072 Với 𝑆1 = 110575.635 𝑚 𝑆2 = 111695.384 𝑚 ∅1 = 00 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: Tham số xuất: e2 ,a s1=110575.635; s2=111695.384; the1=0; the2=1; the3=88; the4=89; format long %% doi 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) 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 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 cung kinh tuyến vĩ độ tương ứng ta tìm kích thước Spheroid tương ứng - công thức cho kết e2 lệch không nhiều chênh lệch a 0.805385024286807 (m) - Do công thức tính gần tính dựa xấp xỉ chiều dài cung kinh tuyến Chiều dài lớn cho sai số lớn - Công thức tính lặp cho kết xác áp dụng cho chiều dài cung kinh tuyến lớn Công thức tính lặp có khả đáp ứng cao Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu BÀI TẬP LỚN SỐ 1.YÊU CẦU Khảo sát cự ly giới= c/ hạn công thức Schreiber, Gauss, Robbins, Vincenty cho cự ly từ 10km đến 20000km phương vị trắc địa từ 00-1750 Từ cho biết với độ xác mm chiều dài 0.01” góc, cự ly giới hạn công thức bao nhiêu? 2.CƠ SỞ LÝ THUYẾT Công thức Schreiber: 𝑢 = 𝑆𝑐𝑜𝑠𝐴12 𝑣 = 𝑆𝑠𝑖𝑛𝐴12 𝑊1 = √(1 − 𝑒 sin2 ∅1 ) 𝛽= 𝑢 𝑊3 𝑎(1 − 𝑒 ) (𝑒 𝑊1 𝑢) 𝑊14 𝑣 𝑏 = 𝛽(1 − 𝑠𝑖𝑛2∅1 + 𝑎 (1 − 𝑒 ) 3𝑎 (1 − 𝑒 ) 𝑣 𝑊0 = √1 − 𝑒 sin2 ∅0 𝜏 = 𝑐 𝑡𝑎𝑛∅0 𝑑 = 𝛿 (1 − 𝛾 = 𝑊0 𝑎 𝑊02 𝛿= 𝑐 𝜏 2(1 − 𝑒 ) 𝑐 𝜆= 𝑐𝑜𝑠𝜙0 𝜏 𝜆2 − ) 12 𝜙2 = 𝜙0 − 𝑑 𝑐 = 𝛾(1 − 𝑙 = 𝜆 (1 − 𝜆2 = 𝜆1 + 𝑙 𝜏2 ) ∅0 = ∅1 + 𝑏 𝑊14 𝑢2 6𝑎2 (1−𝑒 ) 𝜀= 𝑡 = 𝜏 (1 − 𝑏𝑐 𝜆2 𝜏 − ) 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 phương vị thuận 𝐴12 tham số a, 𝑒 pheroid tham khảo (0) (0) Bước 2: cho 𝜙𝑚 = 𝜙1 𝐴𝑚 = 𝐴12 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu (𝑖) (𝑖) (𝑖) (𝑖) Δ𝜙 (𝑖) = 𝑓1 (𝜙𝑚 , 𝐴𝑚 ) Bước 3: Δ𝐴(𝑖) = 𝑓3 (𝜙𝑚 , 𝐴𝑚 ) (𝑖+1) 𝜙𝑚 Δ𝜙 (𝑖) = 𝜙1 + (𝑖+1) 𝐴𝑚 Δ𝐴(𝑖) = 𝐴12 + Bước 4: kiểm tra (𝑖+1) |𝜙𝑚 (𝑖) (𝑖+1) − 𝜙𝑚 | ≤ 𝜀 𝑣à |𝐴𝑚 (𝑖) − 𝐴𝑚 | ≤ 𝜀, ngược lại quay bước Bước 5: Thì chuyển sang bước Δ𝜆(𝑖) = 𝑓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 ) 𝑄2 (𝜙2 , 𝜆2 ) Các tham số a, 𝑒 spheroid tham khảo Bước 2: Tính ∆∅ = ∅2 − ∅1 𝜙𝑚 = ∆𝜆 = 𝜆2 − 𝜆1 𝜙1 + 𝜙2 𝜂𝑚 = 𝑒 ′ 𝑐𝑜𝑠𝜙𝑚 𝑀𝑚 = (0) 𝑁𝑚 = 𝑎 √(1 − 𝑒 sin2 𝜙𝑚 ) 𝑎(1 − 𝑒 ) √(1 − 𝑒 sin2 𝜙𝑚 ) (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 |𝜙0 (𝑖) − 𝜙0 | ≤ 𝜀 (𝑖+1) |𝜆0 (𝑖) − 𝜆0 | ≤ 𝜀 Thì chuyển sang bước 5, ngược lại quay bước Bước 5: tính P, Q xuất kết 𝑃 𝐴𝑚 = atan( ) 𝑄 𝑆= 𝐴12 = 𝐴𝑚 − 𝑃 𝑄 = = √𝑃2 + 𝑄2 𝑠𝑖𝑛𝐴𝑚 cos 𝐴𝑚 Δ𝐴 𝐴21 = 𝐴𝑚 ± 1800 + ∆𝐴 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 ) − 3𝑔2 (1 − 7ℎ′2 )) + 𝜂3 𝑔ℎ ′ (1−2ℎ ′2 ) 𝜂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: 𝜉2 , Δ𝜆 ℎ𝑎𝑦 𝐴′21 gần với 900 ℎ𝑎𝑦 2700 thay 5,6,7 𝑐𝑜𝑠𝜙1 𝑐𝑜𝑡𝜎 ′ − 𝑠𝑖𝑛𝜙1 𝑐𝑜𝑠𝐴12 𝑐𝑜𝑡Δ𝜆 = 𝑠𝑖𝑛𝐴12 𝑡𝑎𝑛𝜉2 = 𝑐𝑜𝑡𝐴′21 Bước 5: 𝜇 = + 𝑠𝑖𝑛𝜙1 𝑐𝑜𝑠Δ𝜆 + 𝑠𝑖𝑛Δ𝜆𝑐𝑜𝑡𝐴12 𝑐𝑜𝑠𝜙1 𝑐𝑜𝑠𝜎 ′ 𝑐𝑜𝑠𝐴12 − 𝑠𝑖𝑛𝜎 ′ 𝑡𝑎𝑛𝜙1 = 𝑠𝑖𝑛𝐴12 𝑒 ′2 (𝑠𝑖𝑛𝜉2 −𝑠𝑖𝑛𝜙1 )2 11 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu 𝑒 𝜇𝑠𝑖𝑛𝜙1 𝑡𝑎𝑛𝜙2 = 𝑡𝑎𝑛𝜉2 (1 + 𝑒 )(1 − ) 𝑠𝑖𝑛𝜉2 ′2 𝜆2 = 𝜆1 + Δ𝜆 𝜎′ 𝐴21 = 𝐴′21 − (𝜙2 − 𝜉2 )𝑠𝑖𝑛𝐴′21 tan( ) Công thức Robbins nghịch: 𝑒 (𝑁1 𝑠𝑖𝑛𝜙1 ) Bước 1: 𝑡𝑎𝑛𝜉2 = (1 − 𝑒 )𝑡𝑎𝑛𝜙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ông thức 1-3 với hoán đổi số ↔ 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 − 𝐴12 ~0 𝑡ℎì 𝜒 = 𝜎′2 ℎ ′2 (𝜎1−ℎ′2 ) 3𝑔2 (1 − 7ℎ′2 )) − + 𝜎′5 𝑔ℎ′ 48 𝜏1 cos 𝐴12 𝜎′3 𝑔ℎ ′ (1−2ℎ ′2 ) + 𝜎′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 Bước 4:𝑢2 = 𝑒 ′ cos 𝛼 12 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu Bước 5: 𝐴 = + 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 phương trình sau 2𝜎𝑚 = 2𝜎1 + 𝜎 𝐵 𝐵 Δ𝜎 = 𝐵𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + (𝑐𝑜𝑠𝜎(−1 + cos2 2𝜎𝑚 ) − 𝑐𝑜𝑠2𝜎𝑚 (−3 + sin 𝜎)(−3 + cos 2𝜎𝑚 ))) 𝜎= 𝑆 𝑏𝐴 + Δ𝜎 chênh lệch giá trị 𝜎 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 𝛼 (4 + 𝑓(4 − cos2 𝛼)) Bước 12: Δ𝜆 = 𝜆 − (1 − 𝐶 )𝑓𝑠𝑖𝑛𝛼(𝜎 + 𝐶 𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + 𝐶 𝑐𝑜𝑠𝜎(−1 + cos 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 phương trình sau sin2 𝜎 = (𝑐𝑜𝑠𝑈2 𝑠𝑖𝑛𝜆)2 + (𝑐𝑜𝑠𝑈1 𝑠𝑖𝑛𝑈2 − 𝑠𝑖𝑛𝑈1 𝑐𝑜𝑠𝑈2 𝑐𝑜𝑠𝜆)2 𝑐𝑜𝑠𝜎 = 𝑠𝑖𝑛𝑈1 𝑠𝑖𝑛𝑈2 + 𝑐𝑜𝑠𝑈1 𝑐𝑜𝑠𝑈2 𝑐𝑜𝑠𝜆 𝑡𝑎𝑛𝜎 = 𝑠𝑖𝑛𝜎 𝑐𝑜𝑠𝜎 𝑐𝑜𝑠2𝜎𝑚 = 𝑐𝑜𝑠𝜎 − 𝐶= 𝑓 𝑠𝑖𝑛𝛼 = 𝑐𝑜𝑠𝑈1 𝑐𝑜𝑠𝑈2 𝑠𝑖𝑛𝜆 𝑠𝑖𝑛𝜎 2(𝑠𝑖𝑛𝑈1 𝑠𝑖𝑛𝑈2 ) cos2 𝛼 cos2 𝛼(4 + 𝑓(4 − cos 𝛼)) 16 𝜆 = Δ𝜆 + (1 − 𝐶 )𝑓 𝑠𝑖𝑛𝛼(𝜎 + 𝐶𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + 𝐶𝑐𝑜𝑠𝜎(−1 + cos2 2𝜎𝑚 ))) Cho đến chênh lệch giá trị 𝜆 lần lặp liên tiếp nhỏ không đáng kể Bước 6: 𝑢2 = 𝑒 ′ cos2 𝛼 Bước 7: 𝐴 = + Bước 8: 𝐵 = 𝑢2 1024 𝑢2 16384 (4096 + 𝑢2 (−768 + 𝑢2 (320 − 175𝑢2 ))) (256 + 𝑢2 (−128 + 𝑢2 (74 − 47𝑢2 ))) 𝐵 𝐵 Bước 9: Δ𝜎 = 𝐵𝑠𝑖𝑛𝜎(𝑐𝑜𝑠2𝜎𝑚 + (𝑐𝑜𝑠𝜎(−1 + cos2 2𝜎𝑚 ) − 𝑐𝑜𝑠2𝜎𝑚 (−3 + 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ô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ố vài mm Tính trực tiếp Lặp Các bước thực B1: Viết chương trình giải toán thuận nghịch theo công thức Schreiber, Gauss, Robbins, Vincenty + chương trình giải toán thuận Schreiber + chương trình giải toán thuận Gauss + chương trình giải toán nghịch Gauss + chương trình giải toán thuận Robbins + chương trình giải toán nghịch Robbins + chương trình giải toán thuận Vincenty + chương trình giải toán nghịch Vincenty B2: Chạy thử chương trình theo số liệu mẫu giáo trình B3: Viết chương trình để khảo sát giới hạn công thức Tên chương trình: Khsat_gioihan.m B4: Lần lượt chạy chương trì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ô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ô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ông thức Robbins Công thức Vincenty :thay CT_thuận = Vincenty CT_nghịch= Vincenty Tên chương trình: Khsat_ Vincenty.m Kết luận giới hạn công thức Vincenty 4.TIẾN HÀNH KHẢO SÁT VÀ KẾT QUẢ Để thực khảo sát, ta sử dụng 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 lech ds=S1-S; dA12=A121-A12; dA21=A211-A21; % Kiem tra lech co nam 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 công thức: Schreiber, Gauss, Robbins Vincenty - Cự ly giới hạn: cự ly mà công thức không đảm bảo độ xác yêu cầu Ta có 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 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 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 = 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 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 = 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 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 = 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 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 = 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 phương vị trắc địa từ đến 1750, ta nhận thấy công thức đáp ứng cự ly giới hạn lớn mà công thức đảm bảo độ xác yêu cầu công thức Vincenty với cự ly lên đến 8900 km (lý thuyết 20 000km) - Các công thức tính lặp có cự ly đảm bảo độ xác lớn Vì người ta thường ưa chuộng công thức tính lặp 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Ố 1.YÊU CẦU Nghiên cứu bậc công thức phép chiếu UTM 60 2.PHƯƠNG PHÁP GIẢI QUYẾT Phép chiếu UTM phép chiếu hình trụ ngang đồng góc , cho mặt trụ cắt phớt qua mặt cầu có vĩ độ nằm khoảng -800 (800 S) đến 840 (840 N) B1: Chuẩn bị chương trình Matlab: +function [x, y] = UTM1(phi, l, a, e2) : chuyển từ (phi, l) sang (x, y) phép UTM +function [phi, l] = UTM2(x, y, a, e2) : chuyển từ (x, y) sang (phi, l) phép UTM B2: Viết chương trình khảo sát độ xác - Tên chương trình B3: Chạy chương trình cho công thức bậc 6, nhận dphimax6 dlmax6 cho bậc Chạy chương trình cho công thức bậc 8, nhận dphimax8 dlmax8 cho bậc B4: Kiểm tra Nếu dphimax6 > 𝜀 dlmax6 > 𝜀 Kết luận công thức bậc không đủ độ xác Nếu dphimax8 > 𝜀 dlmax8 > 𝜀 Kết luận công thức bậc không đủ độ xác Nếu dphimax6 < 𝜀 dlmax6 < 𝜀 Kết luận công thức bậc đủ độ xác Nếu dphimax8 > 𝜀 dlmax8 > 𝜀 Kết luận công thức bậc đủ độ 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 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 du chinh xac') return end %khao sat cong thuc bac 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 dphimax8[...]... long a=637 813 7; e2=0.0067; phi1=dms2rad (10 ); lam1=dms2rad (10 5); for S =10 000 :10 000:20000000 17 Trắc địa cao cấp PGS.TS Nguyễn Ngọc Lâu for A12=0:5 :17 5 A12=dms2rad(A12); % Giai BT Thuan [phi2,lam2,A 21] = Gauss1(phi1,lam1,S,A12,a,e2); % Giai BT Nghich [S1,A1 21, A 211 ]= Gauss2(phi1,lam1,phi2,lam2,a,e2); %Tinh do lech ds=S1-S; dA12=A1 21- A12; dA 21= A 211 -A 21; % Kiem tra if abs(ds)>0.0 01 || abs(dA12)>(0. 01/ 206265)... lam1=dms2rad (10 5); for S =10 000 :10 000:20000000 for A12=0:5 :17 5 % Giai BT Thuan [phi2, lam2, A 21] =Robbins1(phi1, lam1, S, A12, a, e2); % Giai BT Nghich [S1, A1 21, A 211 ]=Robbins2(phi1, lam1, phi2, lam2, a, e2); %Tinh do lech dA12 = A1 21- A12; dA 21 = A 211 -A 21; % Kiem tra if abs(dA12)>(0. 01/ 206265) break; elseif abs(dA 21) >(0. 01/ 206265) break; end end ds=abs(S1-S); if abs(ds)>0.0 01 break; 18 Trắc địa cao cấp. .. a=637 813 7; e2=0.0067; phi1=dms2rad (10 ); lam1=dms2rad (10 5); for S =10 000 :10 000:20000000 for A12=0:5 :17 5 A12=dms2rad(A12); % Giai BT Thuan [phi2,lam2,A 21] = CT_thuận(phi1,lam1,S,A12,a,e2); % Giai BT Nghich [S1,A1 21, A 211 ]= CT_nghịch (phi1,lam1,phi2,lam2,a,e2); %Tinh do lech ds=S1-S; dA12=A1 21- A12; dA 21= A 211 -A 21; % Kiem tra do lech co nam trong gioi han if abs(ds)>0.0 01 || abs(dA12)>(0. 01/ 206265) || abs(dA 21) >(0. 01/ 206265)... Thuan [phi2,lam2,A 21] = Vincenty1(phi1,lam1,S,A12,a,e2); % Giai BT Nghich [S1,A1 21, A 211 ]=Vincenty2(phi1,lam1,phi2,lam2,a,e2); %Tinh do lech ds=S1-S; dA12=A1 21- A12; dA 21= A 211 -A 21; % Kiem tra if abs(ds)>0.0 01 || abs(dA12)>(0. 01/ 206265) || abs(dA 21) >(0. 01/ 206265) break; end end if abs(S1-S)>0.0 01 break; end end disp('Cu ly gioi han cua CT Vincenty:'); S /10 00 disp('Goc phuong vi:'); A12 Kết quả: - Cu ly... 𝑠𝑖𝑛 1 𝑐𝑜𝑠𝜎 ′ + 𝑐𝑜𝑠 1 𝑐𝑜𝑠 12 𝑠𝑖𝑛𝜎′ 𝑠𝑖𝑛𝜎 ′ 𝑠𝑖𝑛 12 𝑠𝑖𝑛Δ𝜆 = 𝑐𝑜𝑠𝜉2 𝐴′ 21 = arcsin ( 𝑐𝑜𝑠 1 𝑠𝑖𝑛 12 ) + 18 00 𝑐𝑜𝑠𝜉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... 𝑡𝑎𝑛𝜆 = 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:... 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=637 813 7 ; 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) [phi 11, l 11] =UTM2_2(x1,y1,a,e2); %tinh sai so phi=dms2rad(phi); l=dms2rad(l); phi 11= dms2rad(phi 11) ; l 11= dms2rad(l 11) ; dphi=abs(phi 11- phi); dl=abs(l 11- l); if dphi > dphimax6... = 𝑒 ′ 𝑐𝑜𝑠 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 12 0 (ℎ′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:... 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=637 813 7; e2=0.0067; phi1=dms2rad (10 ); lam1=dms2rad (10 5); for S =10 000 :10 000:20000000 for A12=0:5 :17 5 A12=dms2rad(A12); % Giai BT Thuan [phi2,lam2,A 21] =Schreiber1(phi1,lam1,S,A12,a,e2); % Giai BT Nghich [S1,A1 21, A 211 ]=Vincenty2(phi1,lam1,phi2,lam2,a,e2); %Tinh do lech ds=S1-S; dA12=A1 21- A12;... = 𝑡𝑎𝑛𝜉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: