Геокодирование с информацией о часовом поясе - PullRequest
6 голосов
/ 12 сентября 2010

Есть ли хороший способ получить информацию о часовом поясе с информацией о летнем времени из координаты широты / долготы или физического адреса?

Я нашел несколько веб-сервисов, которые предлагают эту услугу, но я не могу сказать, насколько надежными они могут быть или могут ли они исчезнуть в какой-то момент. Мне нужно что-то для моего приложения, которое будет в течение длительного времени.

Являются ли эти услуги надежными и долгосрочными? Есть ли другие, лучшие варианты?

Ответы [ 3 ]

1 голос
/ 22 февраля 2012
1 голос
/ 27 декабря 2011

Я долго искал базу данных, которую мог бы разместить локально, чтобы отобразить координаты широты и долготы в часовой пояс (т.е. не зависеть от удаленной службы). Это лучшее, что я смог придумать.

Векторизованная карта часовых поясов доступна здесь: http://georezo.net/jparis/Data/wrldtz_tab.htm. Это база данных почти 2000 "регионов". Каждый регион определяется набором полигонов на поверхности Земли, и он сообщает вам, в каком часовом поясе вы находитесь, если находитесь внутри этого региона.

Существуют серьезные недостатки:

  • Не обновлялся с 2002 года.
  • Он определяет только полигоны над землей (если вы находитесь над водой, вас не считают ни в каком часовом поясе).
  • В нем не указываются идентификаторы Олсона для часовых поясов, только название страны и смещение UTC (стандартное время).

Последнее ограничение не может быть большой проблемой для вас: часовых поясов не так много, и, возможно, вы сможете потратить время на ручное присвоение каждой из них имени Олсона (особенно если вас интересует только небольшое число). часовых поясов).

Чтобы прочитать файлы данных, которые вы можете загрузить с веб-сайта, указанного выше, вам необходимо использовать эту библиотеку . Я мог бы придумать пример кода, если вы заинтересованы.

Вы также упоминаете использование физического (почтового) адреса. Перевод их в координаты широта и долгота - это отдельный вопрос, и я предполагаю, что вы не сможете сделать это хорошо, не используя какой-либо онлайн / удаленный сервис.

-Phil

0 голосов
/ 29 декабря 2011

таурены. Я бы предложил использовать GeoIP от MaxMind.

Я написал пост о том, как использовать геолокацию с поддержкой часовых поясов в Django, но такой же подход можно применить и к другим языкам.

http://www.konstruktor.ee/blog/geolocation-with-time-zone-support-in-django

GeoIP имеет много привязок для разных языков.

http://www.maxmind.com/app/api

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

...