Public Sub Distancia(lat1 As Double, lon1 As Double, lat2 As Double, lon2 As Double) As Double
' Convert latitude and longitude from degrees to radians
Dim lat1Rad As Double = DegreesToRadians(lat1)
Dim lon1Rad As Double = DegreesToRadians(lon1)
Dim lat2Rad As Double = DegreesToRadians(lat2)
Dim lon2Rad As Double = DegreesToRadians(lon2)
' Haversine formula
Dim dlon As Double = lon2Rad - lon1Rad
Dim dlat As Double = lat2Rad - lat1Rad
Dim a As Double = Power(Sin(dlat / 2), 2) + Cos(lat1Rad) * Cos(lat2Rad) * Power(Sin(dlon / 2), 2)
Dim c As Double = 2 * ATan2(Sqrt(a), Sqrt(1 - a))
Dim radiusOfEarth As Double = 6717407 ' Millas --> 6378.137 y kms --> ' 6717407.00 ' 6371 ' Earth radius in kilometers
Dim distance As Double = radiusOfEarth * c
' Log(distance)
Return distance
End Sub