- Katılım
- 25 May 2018
- Mesajlar
- 1,610
- En iyi yanıt
- 14
- Puanları
- 113
- Konum
- İstanbul
- Web sitesi
- excelarsivi.com
- Ad Soyad
- Murat OSMA
- Office Vers.
- Microsoft 365 TR+EN
İki farklı Enlem ve Boylam arasındaki mesafeyi Km veya Mil cinsinden aşağıdaki KTF ile alabilirsiniz.
Fonksiyonun Kullanımı
Alternatif olarak bu formülü de kullanabilirsiniz..
Örnek dosyayı da ekliyorum.
PHP:
Public Function Mesafe(ByVal lat1 As Double, ByVal lon1 As Double, ByVal lat2 As Double, ByVal lon2 As Double, ByVal birim As String) As Double
Dim fark As Double, mes As Double
fark = lon1 - lon2
mes = Math.Sin(radyanacevir(lat1)) * Math.Sin(radyanacevir(lat2)) + Math.Cos(radyanacevir(lat1)) * Math.Cos(radyanacevir(lat2)) * Math.Cos(radyanacevir(fark))
mes = WorksheetFunction.Acos(mes)
mes = dereceyecevir(mes)
mes = mes * 60 * 1.1515
If birim = "Km" Then
mes = mes * 1.609344
ElseIf birim = "Mil" Then
mes = mes * 0.8684
End If
Mesafe = mes
End Function
Function radyanacevir(ByVal deg As Double) As Double
radyanacevir = (deg * WorksheetFunction.Pi / 180#)
End Function
Function dereceyecevir(ByVal rad As Double) As Double
dereceyecevir = rad / WorksheetFunction.Pi * 180#
End Function
Fonksiyonun Kullanımı
=Mesafe(M2;N2;M3;N3;M5)
Alternatif olarak bu formülü de kullanabilirsiniz..
=(ACOS(COS(RADYAN(90-M2))*COS(RADYAN(90-M3))+SİN(RADYAN(90-M2))*SİN(RADYAN(90-M3))*COS(RADYAN(N2-N3)))*6371)
Örnek dosyayı da ekliyorum.