Как определить часовой пояс IANA определенного местоположения

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

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

Я знаю, что Google Maps API и Bing Maps API могут дать мне широту/долготу адреса, и что есть другие службы, которые могут дать мне TZ IANA на основе широты/долготы. Тем не менее, для этих API требуются подписки, ключи и контракты, а также потребуется подход с двумя запросами для получения единого фрагмента данных.


person Steve -Cutter- Blades    schedule 10.03.2021    source источник
comment
Это во всем мире или только в США? (Вы указываете почтовый индекс)   -  person Matt Johnson-Pint    schedule 10.03.2021
comment
Кроме того, для второй части шагов, которые вы упомянули, есть автономные решения. См. stackoverflow.com/a/16086964/634824.   -  person Matt Johnson-Pint    schedule 10.03.2021
comment
@MattJohnson-Pint Начинается в США и на их территориях, но в конечном итоге становится глобальным. Да, даже после просмотра элементов в этом списке все кажется двухэтапным решением. Материалы геолокации основаны на подписке, а сторона TZ либо на собственном хостинге, либо на подписке.   -  person Steve -Cutter- Blades    schedule 11.03.2021


Ответы (1)


Геолокация адреса — это сложная проблема. Это требует глубокого понимания адресных систем и реагирования на постоянно меняющиеся, запутанные сценарии реального мира.

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

Примите во внимание международные проблемы, и вы найдете всевозможные крайние случаи. Каждая страна и территория имеют свои особые правила и ситуации.

Это проблема, за которую стоит заплатить поставщику услуг. Попытка выполнить геолокацию в автономном режиме может быть возможна, но не рекомендуется.

Вторая часть — выяснение того, какой часовой пояс относится к местоположению, — тоже запутана. Однако это немного легче координировать. Конструктор границ часовых поясов – основной проект с открытым исходным кодом, который пытается это сделать. Большинство библиотек, упомянутых здесь, используют эти данные. Но даже тогда он обновляется и опирается на границы, установленные данными Open Street Map. Некоторые из этих границ являются спорными, поэтому службы Google, Microsoft или другие могут давать разные результаты, поскольку у них есть данные карты с другими границами. Если вам небезразличны такие вещи, вы можете протестировать некоторые пограничные случаи с разными поставщиками, чтобы увидеть, удовлетворены ли вы результатами. Вы можете обнаружить, что данные TZBB работают хорошо, или вы можете предпочесть одно из онлайн-решений.

person Matt Johnson-Pint    schedule 12.03.2021