Cara Menghitung Jarak Antar Koordinat di Excel

Pembaharuan Terakhir: 04/10/2024
Cara Menghitung Jarak Antar Koordinat di Excel

Apakah Anda ingin mengetahui cara menghitung jarak antar koordinat di Excel ? Di sini, kami akan mengajarkan Anda cara menghitung jarak di Excel menggunakan garis lintang dan garis bujur dalam tutorial ini. Kami mengundang Anda untuk tetap bersama kami.

Di sini Anda dapat mempelajari lebih lanjut tentang: Cara Membuat Bagan Vektor di Excel. 3 Langkah yang Harus Diikuti

Metode menghitung jarak antar koordinat di Excel

Pencarian solusi tepat untuk masalah ini telah membawa saya ke banyak situs dan mencoba solusi. Daftar panjang situs terkait disertakan di akhir semua ini, tetapi yang paling penting yang kami temukan bahwa solusi paling layak adalah menghitung jarak antar koordinat di Excel.

Sekarang, mari kita lihat metode terbaik untuk menghitung jarak antar koordinat di Excel:

Menghitung jarak antar koordinat di Excel (Lintang dan Bujur, Rumus)

(Lintang dan Bujur, Rumus)
Lintang dan Bujur, Rumus

Rumus yang diterima untuk memberikan hasil dengan ketelitian milimeter dikenal dengan rumus Vincenty. Tentu saja, keakuratan hasil sangat bergantung pada keakuratan pasangan garis lintang/garis bujur yang menggambarkan kedua titik tersebut.

Mengapa akurasi begitu dipermasalahkan? Nah, dari apa yang telah kita lihat pada rumus lain, terutama yang ditulis sebagai fungsi lembar kerja tunggal, nilainya sangat berbeda untuk situasi yang mungkin dianggap 'kritis bagi kehidupan'.

Panjangnya biasanya hanya beberapa meter, biasanya sekitar 20 hingga 30 kaki per mil undang-undang, dan setelah terbang hanya 30 atau 40 mil, kami tidak keberatan mendarat beberapa ratus kaki sebelum ujung landasan pacu, apalagi menjadi jauhnya lebih dari 7 mil dalam perjalanan antara Los Angeles dan Honolulu.

Karena kecenderungan umum ketika berurusan dengan jenis perhitungan ini adalah " mengukurnya dengan mikrometer, menandainya dengan kapur, dan memotongnya dengan kapak ," maka yang kita miliki di sini adalah mikrometer yang sangat presisi untuk memulai proses pengukuran.

Cara 1: Hitung jarak antar koordinat di Excel (Rumus jarak)

Ada banyak fungsi spreadsheet Excel yang akan mengembalikan judul awal dari suatu titik ke titik tujuan untuk rute Lingkaran Besar di antara titik-titik tersebut dan rumus serupa untuk mengembalikan jarak di antara titik-titik tersebut.

Namun berdasarkan pengalaman menggunakannya dan membandingkannya dengan jarak terukur yang diketahui, metode Vincenty untuk menghitung jarak antar koordinat di Excel belum dapat diterjemahkan ke dalam satu fungsi spreadsheet tunggal, dan sangat mungkin hal itu tidak akan mudah, setidaknya.

Karena bergantung pada penghitungan berulang untuk menangani titik-titik yang hampir berada di belahan dunia yang berlawanan, menerapkannya bahkan sebagai serangkaian rumus spreadsheet Excel adalah tugas yang berat.

Metode 2: Hitung jarak antar koordinat di Excel (Bekerja dengan sudut)

Namun sebelum menggunakan fitur tersebut, ada beberapa langkah awal yang perlu dipertimbangkan. Yang paling penting, Excel dan VB bekerja dengan sudut yang dinyatakan dalam radian, bukan sebagai nilai desimal sudut, atau dari representasi awal "bahasa Inggris biasa".

Pertimbangkan situasi ini:

Anda memiliki Garis Lintang yang direpresentasikan sebagai 10° 27′ 36″ S (10 derajat, 27 menit 36 ​​detik Selatan)

Anda perlu mengonversinya menjadi radian, dan tidak ada cara langsung untuk melakukannya, sebelum kita dapat mengonversinya menjadi radian, ia perlu dikonversi ke representasi desimal. Kita perlu melihatnya sebagai: 10.46 yang merupakan desimal yang setara dengan 10° 27′ 36″ dan kita perlu memperhitungkan apakah itu garis lintang utara atau selatan, dan garis lintang selatan diperlakukan sebagai angka negatif.

Untungnya, Microsoft menyediakan beberapa fungsi berguna untuk mengkonversi notasi sudut standar ke nilai desimalnya, dan sebaliknya, di halaman ini: Fungsi Microsoft.

Rutinitas tersebut disertakan dalam bagian kode dan salah satunya telah diubah untuk memungkinkan pembuatan masukan sudut biasa

  • 10~ 27′ 36″ S, bukan 10° 27′ 36″ S

Karena ~ dapat diakses langsung dari keyboard, sedangkan ° tidak.

Metode 3: menghitung jarak antar koordinat di Excel (Mengonversi ke Radian)

Setelah mengubah notasi standar menjadi nilai desimal, kita masih harus mengubahnya menjadi radian dan menangani tanda hasil radian.

Rutinitas dan rumus di sini menganggap garis lintang negatif sebagai garis lintang selatan dan garis bujur negatif sebagai garis bujur barat. Meskipun hal ini mungkin tampak tidak adil bagi kita yang tinggal di belahan bumi barat, apa yang bisa saya katakan selain menghadapinya?

Nilai derajat desimal dapat diubah menjadi radian dalam beberapa cara di Excel, dan proses ini menggunakan fungsi sederhana yang juga disertakan dalam kode di bawah ini.

Rumus dasarnya adalah sebagai berikut:

  • Radian = sudutAsDesimal x (Pi / 180)
  • dimana Pi adalah 3.14159265358979

Metode 4: menghitung jarak antar koordinat di Excel (Solusi pasti)

  1. langkah 1: Salin semua kode di bawah ini dan tempelkan ke modul kode biasa di buku kerja Anda. Petunjuk untuk menempatkan kode dalam modul reguler ada di sini: Salin kode Excel VBA ke modul biasa
  2. langkah 2: Konfigurasikan lembar kerja Anda untuk meneruskan garis lintang dan bujur dari titik awal dan akhir sebagai input standar
  3. langkah 3: lalu masukkan rumus untuk meneruskannya ke fungsi distVincenty().

Diberikan dua titik dengan koordinat berikut:

Poin 1:

  • Lintang: 37° 57′ 3.7203″ S
  • Bujur: 144° 25′ 29.5244″ BT

Poin 2:

  • Lintang: 37° 39′ 10.1561″ S
  • Bujur: 143° 55′ 35.3839″ BT

Format umum pemanggilan fungsi adalah:

=distVincenty(Pt1_LatAsDecimal, Pt1_LongAsDecimal, Pt2_LatAsDecimal, Pt2_LongAsDecimal)

Rumus mentahnya akan terlihat seperti ini [Perhatikan tanda kutip ganda setelah entri detik]. Fungsi SignIt(), yang disediakan sebagai bagian dari kode, mengonversi input Angular standar menjadi nilai desimal bertanda.

=distVincenty(SignIt(<37° 57′ 3.7203″» S «), SignIt(<144° 25′ 29.5244″» E»), SignIt(<37° 39′ 10.1561″» S»), SignIt(<143° 55′ 35.3839″» E»))

Anda dapat menggunakan simbol ~ sebagai pengganti simbol ° jika lebih mudah bagi Anda:

=distVincenty(SignIt(<37~ 57′ 3.7203″» S«), SignIt(<144~ 25′ 29.5244″» E»), SignIt(<37~ 39′ 10.1561″» S»), SignIt(<143~ 55′ 35.3839″» E»))

Jika koordinat Titik 1 berada di B2 dan C2 dan koordinat Titik 2 berada di B3 dan C3, maka dapat dimasukkan sebagai

= distVincenty(SignIt(B2), SignIt(C2), SignIt(B3), SignIt(C3))

Hasil dari 2 titik sampel yang digunakan di atas seharusnya adalah 54972,271, dan hasilnya dalam satuan meter.

Metode 5: Hitung jarak antar koordinat di Excel (Masalah yang dihadapi)

Kode awal yang kami gunakan menghasilkan kesalahan " rumus terlalu kompleks " pada dua pernyataan. Pernyataan-pernyataan ini awalnya dipisahkan menjadi dua bagian, dan kemudian kedua perhitungan terpisah tersebut " digabungkan kembali " menjadi satu rumus untuk mendapatkan hasil akhir tanpa kesalahan " rumus terlalu kompleks ".

  Apa Artinya Dan Cara Menghapus Virus Csrss.exe

Selama penyusunan dokumen ini, paket tersebut diuji pada Excel 2010 64-bit dan mulai menampilkan kesalahan #VALUE! untuk semua nilai input.

Investigasi tersebut menentukan bahwa sebagian dari rumus yang telah dibagi untuk menentukan nilai deltaSigma menghasilkan kesalahan overflow. Kesalahan ini tidak terjadi pada versi Excel 2010 32-bit, maupun pada Excel 2003 (aplikasi 32-bit).

Baris kode yang melanggar sekali lagi dipecah menjadi potongan-potongan kecil yang akhirnya disatukan kembali dalam proses yang benar secara matematis yang menghasilkan penentuan nilai yang sesuai tanpa harus melakukan perubahan apa pun pada algoritma aslinya.

Bagian ini dicatat dalam komentar kode untuk fungsi distVincenty() di bawah.

Kode garis bujur dan garis lintang untuk menghitung jarak antar koordinat di Excel

Sekarang, yang terakhir, kodenya:

'*********************************************

Konstanta PI Swasta = 3.14159265358979

Const Pribadi EPSILON Sebagai Ganda _

    = 0.000000000001

'============

Fungsi Publik distVincenty(ByVal _

  lat1 Sebagai Ganda, ByVal lon1 Sebagai Ganda, _

    ByVal lat2 Sebagai Ganda, _

      ByVal lon2 Sebagai Ganda) Sebagai Ganda

'INPUT: Lintang dan Bujur

'titik awal dan tujuan

' dalam format desimal.

'OUTPUT: Jarak antara

' dua poin dalam Meter.

'

'===============

' Hitung jarak geodesik (dalam m)

'antara dua titik yang ditentukan oleh

' lintang/bujur (dalam angka

'[desimal] derajat)

'menggunakan rumus invers Vincenty

' untuk ellipsoid

'================================

' Kode telah dipindahkan oleh lost_species

' dari www.aliencoffee.co.uk ke VBA

' dari javascript diterbitkan di:

' https://www.movable-type.co.uk/scripts

' /latlong-vincenty.html

' * dari: Rumus invers Vincenty –

'T Vincenty, «Langsung dan Terbalik

'Solusi Geodesi di

' * Ellipsoid dengan aplikasi

'persamaan bersarang', Tinjauan Survei,

' jilid XXII no 176, 1975

' * https://www.ngs.noaa.gov/

' PUBS_LIB/inverse.pdf

'Referensi Tambahan:

' https://en.wikipedia.org/wiki/

'Vincenty%27s_formula

'===============

' Hak cipta lost_species 2008 LGPL

' https://www.fsf.org/licensing/

' lisensi/lgpl.html

'===============

'Modifikasi kode untuk mencegah

Kesalahan 'Formula Terlalu Rumit' masuk

'Excel (2010) implementasi VBA

'disediakan oleh Jerry Latham,

'Microsoft MVP Excel, 2005-2011

'23 Juli 2011

'===============

  Redupkan rendah_a Sebagai Ganda

  Redupkan low_b Sebagai Ganda

  Redupkan f Sebagai Ganda

  Redupkan L Sebagai Ganda

  Redupkan U1 Sebagai Ganda

  Redupkan U2 Sebagai Ganda

  Redupkan sinU1 Sebagai Ganda

  Redupkan sinU2 Sebagai Ganda

  Redupkan cosU1 Sebagai Ganda

  Redupkan cosU2 Sebagai Ganda

  Redupkan lambda Sebagai Ganda

  Redupkan lambdaP Sebagai Ganda

  Redupkan iterLimit Sebagai Integer

  Redupkan sinLambda Sebagai Ganda

  Redupkan cosLambda Sebagai Ganda

  Redupkan sinSigma Sebagai Ganda

  Redupkan cosSigma Sebagai Ganda

  Redupkan sigma Sebagai Ganda

  Redupkan sinAlpha Sebagai Ganda

  Redupkan cosSqAlpha Sebagai Ganda

  Redupkan cos2SigmaM Sebagai Ganda

  Redupkan C Sebagai Ganda

  Redupkan uSq Sebagai Ganda

  Redupkan upper_A Sebagai Ganda

  Redupkan upper_B Sebagai Ganda

  Redupkan deltaSigma Sebagai Ganda

  Hasil akhir Redupkan As Double,

'akan dikembalikan dengan dibulatkan ke

' 3 tempat desimal (mm).

'ditambahkan oleh JLatham untuk putus

Rumus 'Terlalu Rumit'

'menjadi beberapa bagian untuk dihitung dengan benar

'rumus tersebut seperti disebutkan di bawah ini

'dan untuk mencegah kesalahan luapan saat

'menggunakan Excel 2010 x64 aktif

Sistem Windows 7 x64

  Redupkan P1 As Double ' digunakan untuk menghitung

'sebagian dari formula yang kompleks

  Redupkan P2 As Double ' digunakan untuk menghitung

'sebagian dari formula yang kompleks

  Redupkan P3 As Double ' digunakan untuk menghitung

'sebagian dari formula yang kompleks

'Lihat https://en.wikipedia.org/wiki

' /Sistem_Geodetik_Dunia

'untuk informasi tentang berbagai Ellipsoid

' parameter untuk standar lainnya.

'low_a dan low_b dalam meter

' === GRS-80 ===

'rendah_a = 6378137

'rendah_b = 6356752.314245

' f = 1 / 298.257223563

'

' === Airy 1830 === Dilaporkan terbaik

'akurasi untuk Inggris

' dan Eropa Utara.

'rendah_a = 6377563.396

'rendah_b = 6356256.910

' f = 1 / 299.3249646

'

' ===Internasional 1924 ===

'rendah_a = 6378388

'rendah_b = 6356911.946

' f = 1 / 297

'

'===Model Clarke 1880===

'rendah_a = 6378249.145

'rendah_b = 6356514.86955

' f = 1 / 293.465

'

' === GRS-67 ===

'rendah_a = 6378160

'rendah_b = 6356774.719

' f = 1 / 298.247167

'== Parameter Ellipsoid WGS-84 ===

  rendah_a = 6378137' +/- 2m

  rendah_b = 6356752.3142

  f = 1/298.257223563

'==========

  L = keRad(lon2 – lon1)

  U1 = Atn((1 – f) * Tan(toRad(lat1)))

  U2 = Atn((1 – f) * Tan(toRad(lat2)))

  dosaU1 = Dosa(U1)

  cosU1 = Cos(U1)

  dosaU2 = Dosa(U2)

  cosU2 = Cos(U2)

  lambda = L

  lambdaP = 2 * PI

  iterLimit = 100 ' dapat diatur

' serendah 20 jika diinginkan.

  Sementara (Abs(lambda – lambdaP) > _

      EPSILON) Dan (iterLimit > 0)

    iterLimit = iterLimit – 1

    dosaLambda = Dosa(lambda)

    cosLambda = Karena(lambda)

    sinSigma = Kuadrat(((cosU2 * sinLambda) _

        ^2) + ((cosU1 * sinU2 – sinU1 _

        *cosU2 *cosLambda) ^2))

    Jika sinSigma = 0 Maka

     distVincenty = 0 'poin insiden bersama

      Keluar Fungsi

    End If

    cosSigma = sinU1 * sinU2 + cosU1 _

      *cosU2 *cosLambda

    sigma = Atan2(cosSigma, sinSigma)

    sinAlpha = cosU1 * cosU2 * _

      sinLambda / sinSigma

    cosSqAlpha = 1 – sinAlpha * sinAlpha

    Jika cosSqAlpha = 0 Maka 'periksa

    'dibagi dengan nol

      cos2SigmaM = 0 '2 titik di ekuator

    Lain

      cos2SigmaM = cosSigma – 2 _

        * sinU1 * sinU2 / cosSqAlpha

    End If

    C = f / 16 * cosSqAlpha * (4 + f _

        * (4 – 3 * cosSqAlpha))

    lambdaP = lambda

'perhitungan aslinya adalah

'Terlalu Rumit' untuk Excel VBA

'untuk menangani

'jadi dipecah menjadi beberapa segmen

'untuk menghitung tanpa masalah itu

'implementasi aslinya

' untuk menghitung lambda

'lambda = L + (1 – C) * f * sinAlpha * _

  (sigma + C * sinSigma * (cos2SigmaM

' + C * cosSigma * (-1 + 2

' * (cos2SigmaM ^ 2))))

      'menghitung porsi

    P1 = -1 + 2 * (cos2SigmaM^2)

    P2 = (sigma + C * sinSigma * _

      (cos2SigmaM + C * cosSigma * P1))

    'selesaikan perhitungannya

    lambda = L + (1 – C) * f _

      *tanpa Alpha*P2

  Pergi ke

  Jika iterLimit > 1 Lalu

   Kotak Pesan_

   «batas iterasi telah tercapai,» _

        & »ada yang tidak berfungsi.»

    Keluar Fungsi

  End If

  uSq = cosSqAlpha * (rendah_a ^ 2 _

    –b_rendah^2)/(b_rendah^2)

'perhitungan aslinya adalah

'Terlalu Rumit' untuk Excel VBA

'untuk menangani

'jadi dipecah menjadi beberapa segmen

'menghitung tanpa masalah itu

  'implementasi asli untuk

'hitung atas_A

  'atas_A = 1 + uSq / 16384 *

' (4096 + usq * (-768 + usq *

' (320 – 175 * usq)))

  'hitung satu bagian persamaan

  P1 = (4096 + uSq * (-768 _

    + usq * (320 – 175 * usq)))

  'selesaikan perhitungannya

  atas_A = 1 + uSq / 16384 * P1

  'Anehnya, upper_B menghitung

'tanpa masalah apa pun – JLatham

  atas_B = uSq / 1024 * (256 + uSq _

    * (-128 + usq * (74 – 47 * usq)))

'perhitungan aslinya adalah

'Terlalu Rumit' untuk Excel VBA

'untuk menangani

'jadi dipecah menjadi beberapa segmen

'menghitung tanpa masalah itu

  'implementasi asli untuk

' hitung deltaSigma

  'deltaSigma = atas_B * sinSigma *

'(cos2SigmaM + atas_B / 4 *

' (cosSigma * (-1 + 2

'*cos2SigmaM^2)_

     –upper_B /6 *cos2SigmaM*

'(-3 + 4 * sinSigma ^ 2) *

' (-3 + 4 *cos2SigmaM ^ 2)))

  'menghitung potongan-potongan itu

'rumus deltaSigma

  'dipecah menjadi 3 bagian untuk mencegah

'kesalahan luapan yang mungkin terjadi di

  'Excel 2010 versi 64-bit.

  P1 = (-3 + 4 * sinSigma ^ 2) * _

    (-3 + 4 * cos2SigmaM^2)

  P2 = atas_B * sinSigma

  P3 = (cos2SigmaM + atas_B / 4 * _

   (cosSigma * (-1 + 2 _

      *cos2SigmaM^2) – _

     atas_B / 6 * cos2SigmaM * P1))

  'selesaikan perhitungan deltaSigma

  deltaSigma = P2 * P3

  'hitung jaraknya

  s = rendah_b * atas_A * _

    (sigma – deltaSigma)

  'jarak bulat ke milimeter

  distVincenty = Putaran(s, 3)

End Function

'============

Fungsi SignIt(Derajat_Des Sebagai String) _

    Sebagai Ganda

'Input: representasi string dari

' lintang atau bujur di

' format 10° 27' 36″ S/N

' atau 10~ 27' 36″ BT/Barat

'OUTPUT: nilai desimal bertanda

'siap dikonversi ke radian

'

  Redupkan Nilai desimal Sebagai Ganda

  Redupkan tempString Sebagai String

  tempString = Ucase(Potong(Gelar_Des))

  Nilai desimal = _

    Konversi_Desimal(tempString)

  Jika Benar(tempString, 1) = «S» _

    Atau Kanan(tempString, 1) = “W” Lalu

    Nilai desimal = Nilai desimal * -1

  End If

  SignIt = Nilai desimal

End Function

'============

Fungsi Convert_Degree(Decimal_Deg) _

  Sebagai Varian

'sumber: https://support.microsoft.com/

' kb/213449

'

'mengonversi ke derajat desimal

' representasi ke derajat min detik

'sebagai 10.46 menghasilkan 10° 27' 36″

'

  Derajat redup Sebagai Varian

  Redupkan menit Sebagai Varian

  Redupkan detik Sebagai Varian

  Dengan Aplikasi

     'Tetapkan derajat ke Integer

'Argumen Lulus

     derajat = Int(Desimal_Deg)

     'Setel menit menjadi 60 kali

'nomor di sebelah kanan

     'dari desimal untuk

' variabel Desimal_Deg

     menit = (Desimal_Deg – _

    derajat) * 60

     'Setel detik menjadi 60 kali

'nomor di sebelah kanan

     'desimal untuk variabel Menit

     detik = Format(((menit – _

    Int(menit)) * 60), «0»)

     'Mengembalikan Hasil gelar

' konversi

    '(misalnya, 10.46 = 10° 27' 36″)

     Convert_Degree = » » & derajat _

    & «° » & Int(menit) & «' » _

         & detik + Bab(34)

  Berakhir dengan

End Function

'============

Fungsi Konversi_Desimal_

    (Derajat_Deg Sebagai String) Sebagai Ganda

'sumber: https://support.microsoft.com/

' kb/213449

   'Deklarasikan variabel menjadi

'titik mengambang presisi ganda.

   'Mengonversi entri sudut teks menjadi

' desimal yang setara, sebagai:

   ' 10° 27' 36″ menghasilkan 10.46

   ' alternatif untuk ° diperbolehkan:

' Gunakan ~ sebagai gantinya, sebagai:

   ' 10~ 27' 36″ juga menghasilkan 10.46

   Derajat redup Sebagai Ganda

   Redupkan menit Sebagai Ganda

   Redupkan detik Sebagai Ganda

   '

   'modifikasi oleh JLatham

   'izinkan pengguna untuk menggunakan ~

' simbol bukan ° untuk menunjukkan derajat

   'karena ~ tersedia dari

'keyboard dan ° harus dimasukkan

   'melalui [Alt] [0] [1] [7] [6]

' di papan angka.

   Derajat_Deg = Ganti(Derajat_Deg, _

    «~», «°»)

   ' Tetapkan derajat ke nilai sebelumnya

' «°» dari Argumen Lulus.

   derajat = Val(Kiri(Derajat_Deg, _

    InStr(1, Derajat_Deg, «°») – 1))

   ' Tetapkan menit ke nilai antara

' '°' dan '''

   ' dari string teks untuk variabel

' Derajat_Deg dibagi

   ' 60. Fungsi Val mengubah

' string teks ke nomor.

   menit = Val(Pertengahan(Derajat_Deg, _

    InStr(1, Derajat_Deg, «°») + 2, _

      InStr(1, Derajat_Deg, «'») – _

    InStr(1, Derajat_Deg, «°») – 2)) / 60

   'Setel detik ke nomor ke

' di sebelah kanan dari «'» yaitu

   'dikonversi menjadi nilai dan kemudian

' dibagi 3600.

   detik = Val(Pertengahan(Derajat_Deg, _

    InStr(1, Derajat_Deg, «'») + _

      2, Len(Gelar_Deg) – _

    InStr(1, Derajat_Deg, «'») – 2)) _

    / 3600

   Konversi_Desimal = derajat _

    + menit + detik

End Function

'============

Fungsi Pribadi toRad(ByVal _

    derajat Sebagai Ganda) Sebagai Ganda

    toRad = derajat * (PI / 180)

End Function

'============

Fungsi Pribadi Atan2( _

    ByVal X Sebagai Ganda, _

    ByVal Y Sebagai Ganda) Sebagai Ganda

 'kode julukan dari:

 ' https://en.wikibooks.org/wiki/

' Pemrograman:Visual_Basic_Classic/

'Aritmatika_Sederhana

' #Fungsi_Trigonometri

 'Jika Anda menggunakan kembali ini, hati-hati:

'x dan y telah dibalik

'penggunaan biasa.

    Jika Y > 0 Maka

        Jika X >= Y Maka

            Atan2 = Atn(Y/X)

        LainJika X <= -Y Maka

            Atan2 = Atn(Y/X) + PI

        Lain

        Atan2 = PI / 2 – Atn(X / Y)

    End If

        Lain

            Jika X >= -Y Maka

            Atan2 = Atn(Y/X)

        LainJika X <= Y Maka

            Atan2 = Atn(Y/X) – PI

        Lain

            Atan2 = -Atn(X / Y) – PI / 2

        End If

    End If

End Function

'============

Cara menghitung jarak antar koordinat di excel dengan rumus jarak

Sekarang mari kita lihat cara menghitung jarak antar koordinat di excel dengan rumus jarak:

Rumus umumnya adalah sebagai berikut = AKAR KOTAK ((x2 – x1)^2 + (y2 – y1)^2)

ringkasan

Untuk menghitung panjang garis 2D berdasarkan koordinat dua titik pada garis tersebut, Anda dapat menggunakan rumus jarak yang disesuaikan dengan sintaks rumus Excel. Pada contoh yang ditampilkan, rumus di G5 yang disalin adalah:

=QRT((D5 – B5)^2 + (E5 – C5)^2)

dimana koordinat kedua titik diberikan pada kolom B sampai E.

Penjelasan

Panjang suatu garis dapat dihitung dengan rumus jarak, yaitu sebagai berikut:

Cara Menghitung Jarak Antar Koordinat di Excel
Formula

Jarak adalah akar kuadrat dari perubahan x kuadrat ditambah perubahan y kuadrat, dimana dua titik diberikan dalam bentuk (x 1, y 1) dan (x 2, y 2). Rumus jarak merupakan contoh penerapan Teorema Pythagoras, dimana perubahan x dan perubahan y berhubungan dengan kedua sisi segitiga siku-siku, dan sisi miring adalah jarak yang dihitung.

Pada excel rumus jarak dapat ditulis dengan operator eksponen (^) dan fungsi SQRT adalah sebagai berikut:

  • =QRT((D5 – B5)^2 + (E5 – C5)^2)

Mengikuti urutan operasi Excel, perubahan x dan perubahan y dihitung, lalu dikuadratkan, dan kedua hasilnya ditambahkan dan dikirim ke fungsi SQRT, yang mengembalikan akar kuadrat dari jumlah tersebut sebagai hasil akhir:

=QRT((D5 – B5)^2 + (E5 – C5)^2)

=QRT((6)^2 + (8)^2)

=SQRT(36+64)

=SQRT(100)

= 10

Fungsi POWER juga dapat digunakan sebagai pengganti operator eksponen (^) seperti ini:

= SQRT(DAYA(D5 – B5, 2) + DAYA(E5 – C5, 2))

dengan hasil yang sama.

Cara menghitung jarak antar koordinat di Excel (jarak, konversi derajat, dan alamat geocode)

Jika Anda memiliki daftar panjang koordinat geografis untuk dikerjakan, spreadsheet Microsoft Excel pasti akan berguna. Ada tiga alat dasar Excel yang dapat bekerja untuk Anda, tidak peduli bagaimana Anda ingin memanipulasi koordinat geografis.

Anda harus mengetahui cara menghitung jarak antar koordinat di Excel, cara mengonversi data garis lintang dan garis bujur ke derajat desimal, dan terakhir, cara melakukan geokode garis lintang dan garis bujur.

Metode 1: Hitung jarak antar koordinat di Excel

Pada contoh cara menghitung jarak antara dua koordinat di Excel, kita akan mengukur jarak lingkaran besar. Kita akan melihat bahwa garis lintang dan garis bujur dilambangkan dengan derajat, menit dan detik.

Cara Menghitung Jarak Antar Koordinat di Excel

Cara menghitung jarak antar koordinat di Excel dengan mengubah garis lintang dan garis bujur menjadi derajat desimal

Segala sesuatu, bahkan sesuatu yang rumit seperti derajat, menit, dan detik, dapat diubah menjadi desimal. Bagian derajatnya tetap sama, tetapi menit dan detik harus diubah menjadi persentase derajatnya dan digabungkan.

Ada 60 menit dalam satu derajat dan 60 detik dalam satu menit (yang berarti 3600 detik dalam satu derajat). Jadi, menit dibagi 60 dan detik dibagi 3.600.

Rumus umum:

  • Total Derajat (dalam bentuk desimal) = Derajat + [Menit/60] + [Detik/3600]

Cara Menghitung Jarak Antar Koordinat di Excel

…Tentang jarak itu

Sekarang setelah Anda memiliki nilai lintang dan bujur dalam desimal, Anda tinggal menghadapi persamaan mil laut antara Timbuktu dan Casablanca, yang diberikan di bawah ini.

Mil laut = ACOS [(sin(Lat_place_1*PI()/180)*sin(Lat_place_2*PI()/180)+ cos(Lat_place_1*PI()/180)*cos(Lat_place_2*PI()/180)* cos(Lon_place_2*PI()/180-Lon_place_1*PI()/180)) ] *3443.8985

Angka tiga ribu itu pada akhirnya adalah jari-jari Bumi, dalam Nautical Miles. Sekalipun Anda menggantinya dengan jari-jari bola, dengan asumsi Bumi bulat, pada 3437,7468 NM, jarak tersebut tidak akan mendekati jarak yang sebenarnya dan akurat.

Gambar: Anda hanya perlu memasukkan rumus tersebut ke dalam EXCEL SEKALI.
Gambar: Anda hanya perlu memasukkan rumus tersebut ke dalam EXCEL SEKALI.
Angka: Angka 4476 adalah jarak dalam mil laut. Desimal tidak berguna karena Anda tahu itu hanya perkiraan
Angka: Angka 4476 adalah jarak dalam mil laut. Desimal tidak berguna karena Anda tahu itu hanya perkiraan

Metode 2: Hitung jarak antar koordinat di Excel (Geocode lintang dan bujur)

Geocoding adalah proses mengubah alamat jalan menjadi data lintang dan bujur yang dapat dipetakan. Ada dua cara untuk melakukan geocoding lintang dan bujur dari spreadsheet Excel: cara yang sulit dan cara yang mudah.

Pertama, kita akan membahas cara yang lebih sulit, yang Anda perlukan jika ingin koordinat disematkan dalam dokumen Excel Anda. Anda perlu menulis skrip Visual Basic (VBA) untuk memanggil geocoder eksternal atau mencari kode tersebut di tempat lain. Ada beberapa API geocoder yang tersedia, dan beberapa di antaranya lebih cepat daripada yang lain.

API geocoding Google Maps adalah pilihan umum, dan API inilah yang akan kita gunakan dengan cara mudah. ​​Namun, Anda juga dapat bekerja langsung di dalam Excel. Dengan kode yang telah Anda tulis atau temukan, berikut adalah langkah-langkah untuk mengimplementasikan geocoding di Excel.

Cara yang sulit

  1. Langkah 1:cari tabnya Pengembang di versi Excel Anda.
  2. Langkah 2:cari tabnya «Visual Basic«. Ini membuka jendela pengembangan.
  3. Langkah 3:Sisipkan -> Modul. Modul baru akan mempertahankan fungsi Anda.
  4. Langkah 4: Di sinilah Anda menyalin dan menempelkan kode Anda.
  5. Langkah 5:Kita perlu menambahkan referensi sekarang. Jadi, Alat -> Referensi. Pastikan untuk memeriksa Microsoft XML v6.0. KLIK TERIMA.
  6. Langkah 6:Tekan CTRL / CMD + S. Simpan sebagai tipe —> Add-in Excel. Sekarang Anda dapat memberi nama fungsi Anda. Ekstensinya harus xlam. Saatnya menutup semua file Excel.
  7. Langkah 7:Buka file baru dengan mengikuti jalur berikut: File -> Opsi -> Plugin. Di kotak Kelola, pilih Add-in Excel.
  8. Langkah 8:Tekan Ir. Pilih fungsi di jendela yang muncul dengan mencentang kotak. Tekan
  9. Langkah 9:Sekarang Anda dapat menggunakan fungsi baru yang Anda buat, seperti fungsi lainnya.

CATATAN : Setelah Anda selesai mengambil nilai, salin dan tempel nilai tersebut di tempat lain, di luar spreadsheet yang berisi perhitungan. Kemudian, hapus panggilan fungsi karena jika tidak, saat Anda membuka kembali file ini, API Google akan mulai menerima ping lagi. Ini akan memakan waktu beberapa menit sebelum file terbuka. Untuk mengoptimalkan penggunaan sumber daya Google, beri jeda 10 detik antara ping.

Langkahnya banyak dan diasumsikan Anda telah menemukan beberapa kode untuk diuji. Selanjutnya, kita akan melihat cara termudah untuk melakukan geocode pada data Excel Anda. Ini cepat dan dapat diandalkan, tetapi tidak akan mengimpor koordinat ke file Excel Anda. Di sisi lain, alat geocoding Excel mudah untuk disalin dan ditempel serta memberi Anda peta interaktif.

Cara mudahnya (menghitung jarak antar koordinat di excel saat membuat peta)

Ada beberapa cara membuat peta dengan data Excel. Mungkin cara termudah adalah dengan menyalin dan menempelkan data spreadsheet Anda ke alat pemetaan kami. Melakukannya akan mengubah dokumen Excel Anda menjadi peta interaktif yang indah.

  1. langkah 1: Untuk membuat peta Anda sendiri berdasarkan koordinat lintang dan bujur, pisahkan koordinat tersebut ke dalam kolomnya masing-masing dalam spreadsheet Anda.

Cara Menghitung Jarak Antar Koordinat di Excel Cara Menghitung Jarak Antar Koordinat di Excel Cara Menghitung Jarak Antar Koordinat di Excel

  1. langkah 2:Kemudian, pilih dan salin baris dan kolom spreadsheet Anda (perintah Ctrl+C atau Cmd+C di Mac) dan Tempel (Ctrl+V atau Cmd+V pada Mac) ke dalam data Anda, dan selesai!

Anda mungkin juga tertarik membaca tentang: Cara Menggunakan Fungsi QUARTILE di Excel – Panduan Lengkap

Kesimpulan

Seperti yang Anda lihat, ini adalah metode yang dapat Anda gunakan untuk menghitung jarak antar koordinat di Excel. Baik Anda ingin membuat peta lintang dan bujur atau membuat panduan pernikahan virtual Anda sendiri untuk tamu Anda, proses ini menawarkan cara gratis dan mudah untuk membuat peta web indah yang siap disimpan dan dibagikan. Kami berharap dapat membantu Anda dengan informasi ini.