Referensi | : | http://www.movable-type.co.uk/scripts/latlong-vincenty.html http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf |
Platform | : | Excel 2007 |
Lokasi File | : |
Maksud dari tulisan ini adalah untuk menghitung jarak dan haluan (azimuth) dari dua titik yang diketahui koordinat lintang dan bujurnya. Beberapa tulisan yang aku temukan di internet, perhitungan jarak dan azimuth dihitung dengan rumus segitiga bola dengan asumsi bahwa bumi adalah berupa bola besar (great circle) yang sempurna. Jarak yang didapat dari asumsi bumi adalah great circle dinamakan great circle distance.
Pada kenyataan sekarang ini dimana penggunaan GPS semakin luas, maka perhitungan jarak dan azimuth dalam tulisan ini menggunakan perhitungan dimana jarak dan azimuth di atas dihitung di atas bidang ellipsoid. Pertimbangannya adalah penentuan posisi lintang dan bujur dengan GPS, bumi dianggap berbentuk ellipsoid bukan sebagai great circle..
Ellipsoid yang dipakai untuk penentuan GPS saat ini dinamakan dengan WGS 84 dengan parameter :
Sumbu Panjang | (a) | =6378137 |
Sumbu Pendek | (b) | =6356752.314245 |
flattening (a-b)/a | (f) | =1 / 298.257223563 |
Salah satu metode penentuan jarak di atas bidang ellipsoid, diperkenalkan oleh T Vincenty yang dipublikasikan tahun 1975 dengan judul "Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations", Survey Review, vol XXII no 176.
Rumus T Vincenty:
Urutan perhitungan dengan rumus di atas dihitung dengan program microsoft excel dengan menggunakan variable yang disimpan dalam ‘named range’. cara membuat “named range” di excel 2007 bisa dilihat di posting Menampilkan Hasil Koordinat GPS di Chart Excel dengan image dari Google Earth.
Karena dalam proses perhitungan melibatkan proses iterasi, maka microsoft excel harus diset enable iterative calculation. Jika iterative calculation belum diset, maka saat perhitungan akan muncul pesan error “Circular Reference’”
Berikut adalah tabel untuk setting penamaan ‘named range’ dan referensinya:
Note:
Isian Name diisi sesuai dengan nama di kolom Define name, sedangkan Isian Refers to diisi sesuai dengan rumus yang ada di kolom ReferTo.
Input (Lintang, Bujur) awal ada di cell (SpreadSheet!$L3,SpreadSheet!$M3), sedangkan (Lintang, Bujur) tujuan ada di (SpreadSheet!$L4,SpreadSheet!$M4). Dalam perhitungan ini, menggunakan cell dummy (cell bantuan) untuk perhitungan iterasi.
Perhatikan rumus referensi cell di atas, tanda dolar ($) hanya ada di depan kode kolom sedang di nomr baris tidak ada. hal ini dimaksudkan agar rumus perhitungan akhir bisa dicpoy ke bawah, tetapi tidak bisa dicopy ke samping.
No |
Description |
DefineName |
ReferTo
|
1 | major semiaxes of the ellipsoid | a | =6378137 |
2 | minor semiaxes of the ellipsoid | b | =6356752.314245 |
3 | flattening (a-b)/a | f | =1/298.257223563 |
4 | Geodetic Latitude (Positive North)-Start | LatSt | =RADIANS(SpreadSheet!$L3) |
5 | Geodetic Latitude (Positive North)-To | LatTo | =RADIANS(SpreadSheet!$L4) |
6 | Geodetic Longitude (Positive East)-Start | LgSt | =RADIANS(SpreadSheet!$M3) |
7 | Geodetic Longitude (Positive East)-To | LgTo | =RADIANS(SpreadSheet!$M4) |
8 | Dummy Cell for Iteration | Gm | =SpreadSheet!$N4 |
9 | Difference in Longitude (LgTo-LgSt) | L | =LgTo-LgSt |
10 | Reduced Latitute-Start | U_1 | =ATAN((1-f)*TAN(LatSt)) |
11 | Reduced Latitute-To | U_2 | =ATAN((1-f)*TAN(LatTo)) |
12 | λ : difference in longitude on auxiliary sphere | =L+(1-Ce)*f*SinA*(D+Ce*SinD*(Cos2Dm+Ce*CosD*(-1+2*Cos2Dm*Cos2Dm))) | |
13 | sinσ | SinD | =SQRT((COS(U_2)*SIN(Gm))^2+(COS(U_1)*SIN(U_2)-SIN(U_1)*COS(U_2)*COS(Gm))^2) |
14 | cosσ | CosD | =SIN(U_1)*SIN(U_2)+COS(U_1)*COS(U_2)*COS(Gm) |
15 | σ | D | =ATAN2(CosD,SinD) |
16 | sinα | SinA | =COS(U_1)*COS(U_2)*SIN(Gm)/SinD |
17 | cos2α | Cos2A | =1-SinA^2 |
18 | cos2σm | Cos2Dm | =CosD-2*SIN(U_1)*SIN(U_2)/Cos2A |
19 | C | Ce | =f/16*Cos2A*(4+f*(4-3*Cos2A)) |
20 | u2 | uP_2 | =Cos2A*(a^2-b^2)/(b^2) |
21 | A | AA | =1+uP_2/16384*(4096+uP_2*(-768+uP_2*(320-175*uP_2))) |
22 | B | BB | =uP_2/1024*(256+uP_2*(-128+uP_2*(74-47*uP_2))) |
23 | Δσ | deltaD | =BB*SinD*(Cos2Dm+BB/4*(CosD*(-1+2*Cos2Dm*Cos2Dm)-BB/6*Cos2Dm*(-3+4*SinD*SinD)*(-3+4*Cos2Dm*Cos2Dm))) |
24 | s | s | =b*AA*(D-deltaD) |
25 | α1 | Alpha1 | =ATAN2(COS(U_1)*SIN(U_2)-SIN(U_1)*COS(U_2)*COS(Gm),COS(U_2)*SIN(Gm)) |
26 | GeodesicDistance | GeodesicDistance | =ROUND(s,3) |
27 | GeodesicAzimuth | GeodesicAzimuth | =DEGREES(IF(Alpha1<0,2*PI())+Alpha1) |
Spreadsheet:
Kolom G harus diisi dengan huruf besar. Jika koordinat ada di Lintang Utara, dimasukkan N sedangkan untuk Lintang Selatan dimasukkan S.
Kolom K juga harus diisi dengan huruf besa. Jika koordinat bujur ada di Bujur Jimur, masukkan E, sedangkan kalo bujur Barat dimasukkan W
Kolom L,M berisi rumus konversi Lintang dan Bujur satuan derajat-menit-detik ke satuan derajat.
L3=IF(G3="N",1,-1)*(D3+E3/60+F3/3600) : M3=IF(K3="E",1,-1)*(H3+I3/60+J3/3600)
Kolom N berisi cell dummy untuk iterasi:
N4=L+(1-Ce)*f*SinA*(D+Ce*SinD*(Cos2Dm+Ce*CosD*(-1+2*Cos2Dm*Cos2Dm)))
Dari hasil hitungan di spreadsheet terlihat bahwa hasil hitungan dengan excel sama dengan hasil hitungan di web Geoscience Australia.
Silahkan download filenya…
===mohon saran dan kritiknya, jika ada kesalahan====
I am looking for a spreadsheet to easily convert GIS (geographical) coordinate to linear measures. Thank you very much for sharing.
semoga bermanfaat
Maaf saya mau tanya apakah setiap jarak lintang atau bujur seperti garis garis di peta itu sama besar? Jika iya, mengapa dalam globe terlihat berbeda beda, jika tidak sama besar, mengapa hal itu berbeda beda, padahal jarak lintang atau bujur itu menentukan rentang waktu yang sama di setiap jarak garisnya. Mohon penjelasannya
globe=tiruan bumi dalam bentuk bola atau sekarang menggunakan ellips pejal / ellipsiod.
peta: bentuk bumi yang tidak datar digambar dalam bentuk datar. sehingga ada distorsi dari bentuk mendekati bulat ke datar. bentuk bumi yang ellipsoid diiris kecil2 dr utara ke selatan dengan lebar sekecil mungkin shg hasil irisannya mendekati datar.