Поиск часового пояса по широте и долготе [закрыто]


есть ли какая-либо библиотека (или даже лучше, веб-сервис), которая может конвертировать из широты/долготы в часовой пояс?

8 78

8 ответов:

Я довольно глубоко изучил этот вопрос для проекта, над которым я работаю. GeoNames.org и EarthTools.com оба варианта хороши для многих ситуаций, но со следующими серьезными недостатками:

  • GeoNames.org находит часовой пояс путем поиска ближайшей точки в своей базе данных, содержащей поле часового пояса. Это часто приводит к неправильному результату вблизи границ. Это также болезненно медленно, что приводит к времени запроса порядка пары секунд на запрос. Это также не возвращает допустимый часовой пояс, если в их базе данных нет элемента рядом с точкой запроса. GeoNames также ограничивает количество запросов, которые могут быть сделаны в день, что затрудняет массовые операции.
  • EarthTools.org использует карту и может быстро возвращать запросы, но она не учитывает летнее время для большинства местоположений и возвращает необработанное смещение, а не идентификатор часового пояса (т. е. они возвращают "GMT-7" вместо "Америка/Чикаго"). Кроме того, я просто посмотрел на их страница во время подготовки этого сообщения и Google Chrome предупредили о вредоносных программах на своем сайте. Это ново для меня, и это может измениться, но, очевидно, является причиной для беспокойства.

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

http://www.askgeo.com/

AskGeo основан на карте часового пояса мира, поэтому он возвращает действительный часовой пояс для каждой допустимой широты и долготы. Он возвращает стандартный идентификатор часового пояса (например, "America/Los_Angeles"), используемый в Linux и большинстве других операционных систем и программных фреймворков. Он также возвращает текущее смещение, полностью учитывая летнее время.

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

когда мы впервые запустили это, мы построили его на Google App Engine (GAE) и сделали его бесплатным для всех пользователей. Это было возможно, потому что цены GAE были настолько низкими в то время. С тех пор нагрузка на наш сервер значительно увеличилась, и цены GAE пошли вверх. Оба фактора в совокупности привели нас к переходу на Amazon Web Services для хостинга и начать взимать плату за коммерческое использование, сохраняя при этом услуга бесплатна для некоммерческих, некоммерческих проектов с открытым исходным кодом и исследователей. Для коммерческих пользователей мы предоставляем 1000 бесплатных запросов, чтобы потенциальные клиенты могли оценить API, чтобы убедиться, что он соответствует их потребностям. Посетите веб-сайт для ценообразования и условий.

базовая библиотека была написана на Java и из-за популярного спроса, мы также выпустили библиотеку под коммерческой лицензией. Полная документация библиотеки и информация о ценах находятся на веб-сайте.

I надеюсь, что это полезно. Это, безусловно, было полезно для проекта, над которым я работал.

взгляните на Geonames.org

Это бесплатный веб-сервис, который позволит вам получить много информации от long / lat

они также предоставляют бесплатный (и с открытым исходным кодом) Java-клиент для библиотеки веб-сервисов GeoNames (библиотека для другого языка также предоставляется: ruby, python, perl, lisp...)

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

  • найти ближайший адрес
  • найти ближайший перекресток
  • найти близлежащие улицы
  • Высота
  • часовой пояс

часовые пояса теперь доступны через Google API

https://developers.google.com/maps/documentation/timezone/

Yahoo places API предоставляет информацию о часовом поясе через обратную геолокацию.

проверить.

http://developer.yahoo.com/geo/placefinder/guide/requests.html

сколько точности нужно? Деление долготы на 15 было бы почти правильным :p

Они выглядят довольно многообещающе -

http://www.earthtools.org/webservices.htm

Эрик Мюллер сделал шейп-карты для часовых поясов базы данных TZ (Olson). Однако несколько незначительных предостережений:

  1. используемые границы часто неофициальные.
  2. он не обновляется так регулярно, как сама база данных tz, поэтому некоторые вновь сформированные или скорректированные зоны могут отсутствовать.

те в стороне, однако, кажется, что это очень точно для большинства целей.

DRT Engine принимает широту, долготу и локальное время и возвращает смещение часового пояса. Это может быть использовано для установления часового пояса конкретного местоположения в будущее дата.