У меня есть формула, которую я использую для вычисления десятичных градусов по координатам GPS.
Координаты GPS: 3800.5825,N 08735.5417,W
Формула:
Private Function DMStoDD(ByVal toConvert As Double, ByVal Dir As String) As Double
Dim DD As Double
Dim deg As Double
Dim min As Double
Dim sec As Double
deg = CDbl(toConvert.ToString.Substring(0, 2))
min = CDbl(toConvert.ToString.Substring(2, 2))
sec = CDbl(toConvert.ToString.Split(".")(1)) * 0.01
DD = deg + (min / 60) + (sec / 3600)
'Negative for West
If Dir = "W" Then DD = DD * -1
Return DD
End Function
Возвраты: 38,0161805555556 -87,5983805555556 (отрицательное значение для запада) Результаты очень близки, но не совсем точны. Я считаю, что они всего лишь немного северо-западнее того места, где они на самом деле должны упасть. Я искал и просматривал множество различных формул, но из того, что я читал, я думаю, что моя должна быть правильной. Заранее спасибо за помощь.