Mencari jarak antara dua koordinat di ellipsoid?

18

Saya memiliki dua set garis lintang dan bujur.

Bagaimana cara menemukan jarak antara kedua lokasi jika saya menganggap bumi adalah ellipsoid yang sempurna (dengan eksentrisitas 0,0167)?

Jon Bringhurst
sumber

Jawaban:

16

Saya akan merekomendasikan memeriksa:
Bulat: http://www.movable-type.co.uk/scripts/latlong.html
Great-Circle: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html

Wallbasher
sumber
1
Rumus pada halaman itu tampaknya mengabaikan eksentrisitas. Mereka menganggap bumi adalah bola dan bukan ellipsoid.
Jon Bringhurst
Sebelumnya saya selalu menggunakan perpustakaan yang memiliki jarak yang diketahui antara beberapa set titik panjang lat kemudian dilakukan rata-rata untuk menghitung jarak dari setiap titik yang tidak diketahui. Saya akan bertanya kepada beberapa orang tentang ini.
Wallbasher
Ah, tautan kedua sepertinya memiliki formula yang tepat. Terima kasih!
Jon Bringhurst
1
Terima kasih atas jawaban Anda @ Wallallas. Namun, akan lebih baik jika jawabannya bisa berdiri sendiri. Akan sangat membantu jika Anda akan memposting rumus yang relevan dengan jawaban Anda juga.
RK
7

Jadi, Anda tahu dua garis lintang dan bujur Anda, katakanlah

Anda dapat menghitung koordinat kartesius untuk masing-masing:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

Dan kemudian hitung jarak lingkaran besar antara keduanya menggunakan:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Pendekatan yang disederhanakan ini memungkinkan pra-perhitungan nilai x, y dan z, yang dapat disimpan bersama dalam database untuk kueri "poin dalam x mil" yang efisien.

Tentu saja, ini mengasumsikan bola yang sempurna, dan Bumi bahkan bukan elipsoid yang sempurna, jadi keakuratannya hanya beberapa meter saja.

Rowland Shaw
sumber
1
Saya juga akan menunjukkan "bola sempurna". Anda harus menyadari bahwa metode ini akan memberi Anda berbagai tingkat akurasi tergantung di mana Anda berada di dunia.
TroutSlayer
@TrotuSlayer umumnya cukup baik untuk sebagian besar aplikasi, dan selalu ada pertukaran antara kecepatan dan akurasi. Jika Anda perlu lebih akurat, saatnya untuk mengeluarkan roda trundle, atau menggunakan asumsi bahwa Bumi itu datar untuk area Anda, dan jarak 2D cukup.
Rowland Shaw
1

Ada beberapa alat bermanfaat di halaman kalkulator & alat koordinat GPS Visualizer . Salah satunya menghitung jarak antara dua titik. Ia memiliki opsi untuk menggambar titik-titik pada peta dengan menunjukkan Lingkaran Besar serta opsi untuk menggambar profil dan mengekspor data.

Fezter
sumber