Блог Астропроекта

обновление

Автоматический расчет часовых поясов

14 дек 2018

Реализован автоматический расчет часовых поясов для всех населенных пунктов, которые есть в базе (около 8500), примерно с 1915 года (зависит от города), со временем перечень городов будет расширяться!

Изначально я планировал вручную перенести данные из справочника Анатолия Зайцева и Дениса Куталева "Координаты городов и временные поправки", однако уже на 2-й день я понял, что это не мое, моя природа бунтовала чтобы по 8 часов в день заниматься перепечатыванием, именно столько бы времени в течение полтора месяца мне пришлось бы потратить на эту работу! При чем городов было бы далеко не 8500 и, как потом выяснилось, справочник далеко не идеален в плане точности, поэтому я поступил как настоящий программист - написал программный код, который собрал все необходимые данные, хотя и без ручной проверки не обошлось.

Точность данных высокая, однако я понимаю, что пока нельзя быть уверенным на 100% в правильности данных, поэтому чтобы база часовых поясов стремилась к максимальной точности, в случае автоматического определения часового пояса будет появляться ссылка "Сообщить о неверном часовом поясе", нажав на которую можно указать верный часовой пояс - все эти заявки я буду рассматривать вручную. Если часовой пояс для населенного пункта уже был указан и, вследствие изменения время он был изменен, вы не останетесь в неведении: появится дополнительный текст-уведомление, к примеру: часовой пояс изменен с +6 на +7. Я постарался учесть все возможные нюансы.

В случае, если время рождения на границе перевода часов на летнее время или обратно (в пределах 3 часов), в редких случаях будет появляться ссылка "Уточнить часовой пояс (граница перевода часов)" на сайт timeanddate.com, где отобразится не сам населенный пункт, а часовой пояс, в котором он находится, что позволяет уточнить данные вплоть до 1800 года. А если часовой пояс не определился автоматически, появится ссылка "Найти часовой пояс на timeanddate.com", где в поле для поиска можно указать место рождения, найти интервал времени, в который попадает время рождения, и взять часовой пояс из колонки "Offset After".

При выборе населенного пункта теперь в целях удобства дополнительно отображается ссылка "Найти населенный пункт в Википедии" - для случаев, если необходимый отсутствует. В Википедии на странице населенного пункта в правом верхнем углу отображаются его координаты и, кроме того, Википедия в отличие от Яндекс.Карты, о которых я также думал, в случае одинаковых населенных пунктов отобразит на странице их все, разделенные по странам, где можно выбрать нужный.

Вступайте в группу ВКонтакте и следите за всеми обновлениями, а также присоединяйтесь к обсуждению и благодарностям.