Работа с данными GPS в Java - PullRequest
0 голосов
/ 19 мая 2011

Я использую веб-сервис GPS, который извлекает информацию в следующем формате (числа немного изменились по соображениям конфиденциальности, но формат не изменился):

X: 32 14 08.47S
Y: 140 17 12.82E

Что мне нужно сделать, это конвертироватьэто десятичные координаты (xx.xxxxxxxxx, xx.xxxxxxxxx).Существуют ли простые фрагменты кода Java, которые могут выполнить эту задачу?Если нет, я с удовольствием посмотрю на ресурсы, объясняющие, как этого добиться, на другом языке.

1 Ответ

2 голосов
/ 19 мая 2011

Если градусы, минуты и секунды гарантированно разделены одним пробелом, вы можете сделать что-то такое простое, как

String line = read_a_line_from_file();
String[] tokens = line.split(" ");

Это оставит вас с

tokens[0] = "X:"
tokens[1] = "32"
tokens[2] = "14"
tokens[3] = "08.47S"

Youзатем можно Double.parseDouble() те, что после tokens[0], чтобы получить числовые градусы, минуты и секунды, которые вы затем объедините, чтобы получить десятичные градусы.Конечно, для tokens[3] вам придется удалить последний N / S / E / W-символ перед выполнением разбора.

Еще одна более элегантная возможность - воспользоваться тем фактом, что экземпляры MessageFormat и его подклассы можно использовать для анализа строки заданного формата, а также для форматирования такой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...