Разобрать GPS в градусы

2

Как я могу разобрать GPS, который является строковыми координатами (например, 33 ° 58'9 "S 18 ° 35'51" E) до градусов, например. двойные типы, которые будут использоваться для расчета расстояния между GPS-координатами.

Язык программирования С#, пользователь вводит координаты GPS в виде строки (примеры выше).

  • 0
    Какой язык? Какой протокол GPS?
  • 5
    Не могли бы вы намекнуть, какую систему программирования вы планируете использовать? Mathematica, Matlab, APL, Fortran, Smalltalk, Sed, ??? А если серьезно, разбейте строку на символы, вычислите 33+ (58/60) + (9/3600) и вы смеетесь?
Показать ещё 1 комментарий
Теги:
gps

1 ответ

3

Как уже было сказано в разделе комментариев

  • разделите строку на символы и возьмите градусы, минуты и секунд частей.
  • Степени и минуты будут целыми числами, поле секунд может иметь дробную часть и требует возможности ввода с плавающей запятой. Это зависит от вашей позиционной точности/разрешения.
  • Вычислить значение в градусах DEG + (MIN/60) + (SEC/3600)//Отслеживание типеков
  • Применить знак к результату на основе N, S, E, W. По соглашению N и E положительны, S и W отрицательны.

Теперь вы захотите рассчитать расстояние между точками, которое, вероятно, потребует преобразования ваших координат от градусов к радианам, чтобы разрешить использование стандартных триггерных библиотек.

distance = 2*asin(sqrt((sin((lat1-lat2)/2))^2 + 
                  cos(lat1)*cos(lat2)*(sin((lon1-lon2)/2))^2))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню