Рассчитать часовой пояс по координатам GPS

У меня есть модуль GPS uBlox NEO-6M, и он выводит долготу и широту. Он также выводит время, которое является UTC. Я хочу использовать координаты GPS для вычисления часового пояса, а затем вычесть и добавить часы на основе этого. Возможно ли это вообще? Я знаю, что могу сделать это с помощью Wi-Fi, но я хочу использовать GPS, чтобы сделать это.

, 👍0

Обсуждение

Обычно вы действительно используете внутренне сохраненную карту для получения часового пояса. Но сохранить подробную карту часовых поясов может быть непросто. Память довольно редка. Но вы можете пойти на некоторые компромиссы и упростить представление часовых поясов (возможно, используя долготу в качестве основного значения, имея массив долгот границ часовых поясов, а затем некоторые операторы if для особых случаев, когда одна и та же долгота имеет несколько часовых поясов). Это не всегда будет работать, так как часовые пояса могут быть сложными в деталях, но это будет хорошо в большинстве случаев, @chrisl

Есть ли какой-нибудь пример кода, поскольку это звучит довольно сложно?, @DragonflyRobotics

Я сомневаюсь, что вы сможете поместить шейп-файл часового пояса в память вашего Arduino. Если вы все равно хотите попробовать, посмотрите на [эти](https://forum.arduino.cc/index.php?topic=166099.0) [обсуждения](https://forum.arduino.cc/index.php?topic=727928.0) и автономные ресурсы, перечисленные в [этом ответе](https://stackoverflow.com/a/16086964). Некоторые сведения см. также в разделе [Проблема со временем и часовыми поясами]. (https://www.youtube.com/watch?v=-5wpm-gesOY)., @Edgar Bonet

Исходя из опыта, даже профессиональные GPS-устройства со встроенными картами часто ошибаются. Я плыл из Германии в Борнхольм прошлым летом, когда мой GPS-навигатор за 800 долларов установил часовой пояс на восточноевропейское время. Даже по простым 15° часовым поясам, один был бы лучше, чем это..., @PMF


1 ответ


0

Часовые пояса-это политические конструкции, такие же, как правила переключения летнего и зимнего времени. Вам понадобится карта, чтобы найти страну/регион и его текущий местный часовой пояс.

Ваш коммерческий автомобильный спутниковый навигатор, вероятно/возможно, оснащен такой картографической информацией.

,

Я хочу вычислить его с помощью Arduino и GPS. Я знаю, что такое часовой пояс, но мне нужно знать его, чтобы я мог иметь правильное время, если я нахожусь в другом регионе. Я не могу подключить Arduino ни к чему, потому что это самодельные часы., @DragonflyRobotics

Вы не можете вычислить его. Вы можете посмотреть его на карте, которую вы храните в arduino. Удачи., @DataFiddler

Да, извините, я имел в виду поиск., @DragonflyRobotics

Так что есть способ хранить карту на Arduino. У меня есть Arduino Nano 33 IOT., @DragonflyRobotics

Если граница между двумя часовыми поясами представляет собой простую линию, состоящую из упорядоченного списка точек (более или менее в направлении Север-Юг), вы можете легко вычислить, находится ли ваше местоположение к востоку или западу от этой границы. (методом линейной интерполяции) Это простой частный случай общего вопроса, находится ли точка внутри данной области или нет. Вся эта математика не является специфичной для arduino. Хранение точек этих пограничных линий немного утомительно, но просто., @DataFiddler

@DragonflyRobotics если это nano IOT, подключитесь к Wi-Fi, чтобы получить часовой пояс напрямую. Без обоих *много* памяти и программирования усилий - нет шансов!, @Sim Son

Я знаю, но я хочу попробовать это с помощью GPS. Спасибо за помощь., @DragonflyRobotics