Melakukan Perhitungan Jarak menggunakan Excel?

8

Apakah ada cara (sebaiknya di Excel) untuk menghitung jarak (berdasarkan lat, lon) antara dua daftar titik?

Tujuan akhir saya akan, misalnya, untuk memiliki daftar Starbucks dan daftar McDonald's, dan kemudian menunjukkan tetangga terdekat, jika Anda mau.

b-rad-b
sumber
Saya mencari jarak minimum.
b-rad-b
Dengan unet yang mana, apakah akan mengembalikan jarak?
Jeed
@Jeed Setiap unit akan baik-baik saja, mungkin bermil-mil dalam kasus ini.
b-rad-b

Jawaban:

16

Diberikan daftar pasangan koordinat geografis, Anda bisa mengimplementasikan rumus Haversine langsung di Excel.


Cara paling sederhana untuk menggunakan formula ini (atau yang lebih akurat, tapi saya pikir ini bukan kasus Anda) terdiri dari pers Alt+F11untuk membuka VBA Editor, klik Insert --> Moduledan kemudian (salin dan) tempel misalnya kode yang disarankan oleh blah238.

Public Function getDistance(latitude1, longitude1, latitude2, longitude2)  
earth_radius = 6371  
Pi = 3.14159265  
deg2rad = Pi / 180  

dLat = deg2rad * (latitude2 - latitude1)  
dLon = deg2rad * (longitude2 - longitude1)  

a = Sin(dLat / 2) * Sin(dLat / 2) + Cos(deg2rad * latitude1) * Cos(deg2rad * latitude2) * Sin(dLon / 2) * Sin(dLon / 2)  
c = 2 * WorksheetFunction.Asin(Sqr(a))  

d = earth_radius * c  

getDistance = d  

End Function

Akan ada getDistancefungsi kustom baru (unit = kilometer) yang tersedia di spreadsheet Anda yang menerima empat parameter, yaitu dua pasang koordinat, sebagai berikut:

getDistance(latitude1, longitude1, latitude2, longitude2)

di mana latitude1, longitude1, latitude2, longitude2harus diganti dengan referensi sel relatif mereka.

masukkan deskripsi gambar di sini

Antonio Falciano
sumber
3
Tautan langsung: codecodex.com/wiki/…
blah238
@ blah238 Terima kasih atas saran Anda. Saya telah menambahkan cara singkat untuk membuatnya berfungsi.
Antonio Falciano
1
@afalciano Terima kasih telah berjalan & kode. Pertanyaan saya adalah apakah unit-unit utama dari persamaan ini? apakah ini meter?
Kerry,
@ Kerry Ini kilometer. Juga, di mana rumus mengatakan "Sqr" itu harus "Sqrt".
ddunn801
Satuan ukuran jarak adalah kilometer, seperti halnya jari-jari Bumi.
Antonio Falciano
3

Cara yang lebih akurat adalah dengan menggunakan formula Vicenty . Ini didasarkan pada ellipsoid bukan bola. Namun, jawaban sebelumnya akan melakukan pekerjaan jika Anda bekerja di kota (perbedaan dapat diabaikan dalam kasus Anda). Saya telah menemukan kode vb excel di sini untuk berjaga-jaga.

Perhatikan bahwa jika Anda bekerja di kota, menggunakan jarak "penerbangan burung" bisa menyesatkan. Akan lebih baik menggunakan jarak jaringan. Kompromi adalah menggunakan "jarak Manhattan"

radouxju
sumber