Я долго искал базу данных, которую мог бы разместить локально, чтобы отобразить координаты широты и долготы в часовой пояс (т.е. не зависеть от удаленной службы). Это лучшее, что я смог придумать.
Векторизованная карта часовых поясов доступна здесь: http://georezo.net/jparis/Data/wrldtz_tab.htm. Это база данных почти 2000 "регионов". Каждый регион определяется набором полигонов на поверхности Земли, и он сообщает вам, в каком часовом поясе вы находитесь, если находитесь внутри этого региона.
Существуют серьезные недостатки:
- Не обновлялся с 2002 года.
- Он определяет только полигоны над землей (если вы находитесь над водой, вас не считают ни в каком часовом поясе).
- В нем не указываются идентификаторы Олсона для часовых поясов, только название страны и смещение UTC (стандартное время).
Последнее ограничение не может быть большой проблемой для вас: часовых поясов не так много, и, возможно, вы сможете потратить время на ручное присвоение каждой из них имени Олсона (особенно если вас интересует только небольшое число). часовых поясов).
Чтобы прочитать файлы данных, которые вы можете загрузить с веб-сайта, указанного выше, вам необходимо использовать эту библиотеку . Я мог бы придумать пример кода, если вы заинтересованы.
Вы также упоминаете использование физического (почтового) адреса. Перевод их в координаты широта и долгота - это отдельный вопрос, и я предполагаю, что вы не сможете сделать это хорошо, не используя какой-либо онлайн / удаленный сервис.
-Phil