Я решил это с помощью клиентского приложения. Техника заключалась в том, чтобы сделать цилиндрическую карту мира с цветовой кодировкой, каждый часовой пояс имеет уникальный цвет. Lat-Lons преобразуются в координаты изображения, и цвет координаты считывается, затем перекрестно привязывается к часовому поясу этого цвета.
Это короткое объяснение не совсем то, что я сделал, но оно передает идею. Я фактически заполнил пару словарей и сделал поиск от них. Первое представление заняло 2M файла ресурсов для заполнения (после того, как я обработал свою карту и превратил ее в двоичные данные). Теоретическая максимальная ошибка (для широт вблизи экватора) должна была составлять +/- около 15 миль. К сожалению, точность моей стартовой карты была больше +/- 100 миль.
Итак, я переделываю проект. Я занимаюсь этим уже несколько дней, создавая как более точную, так и более высокую рез-карту, чтобы ее можно было обработать. Еще пара дней, и это должно быть сделано. Файл ресурсов будет около 20M, если я не выберу только ресурсы для «тупых областей» и математически вычислю 90% мира, который можно вычислить напрямую (большая часть мира может быть математически получена из долготы). Не уверен, что многие позаботятся о том, чтобы файл ресурсов был 20M, но некоторые могли бы. В любом случае, если есть какой-то интерес, я постараюсь опубликовать здесь код, необходимый для его запуска, и файл ресурсов на одном из сайтов с открытым кодом. Если, кажется, нет никакого интереса, я не буду беспокоиться.
Просто, чтобы повторить немного, код, необходимый в вашем приложении, занимает всего несколько строк, но файл ресурсов большой (без его сжатия, мой новый работает с 22M). Это также быстро (первая передача работала со скоростью 100 м / с). Это требует загрузки файла, и это занимает немного времени. Версия 2M не имела заметной задержки, но 22M могла бы (пока нет).