Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сервис обратного геокодирования Google






При отсутствии города в базе данных основой для определения города и формировании данных о городе является сервис обратного геокодирования Google. Google предоставляет набор сервисов прямого и обратного геокодирования, позволяющий точно определить координаты объекта, его название, город, страну и другие дополнительные свойства, характерные для определённых стран на основании неполных данных об этом объекте. Данный сервис работает на основании данных сервиса Карты Google и предоставляет наиболее полную и актуальную информацию о странах, городах и любых других геолокационных объектах. Для определения города по координатам достаточно использовать лишь сервис обратного геокодирования, который на основании широты и долготы объекта осуществляет поиск связанных с ними объектов.

В качестве примера предположим, что необходимый геолокационный объект находится в городе Санкт-Петербург, Россия на Манежной площади. Геолокационные координаты этого объекта: 59.936284, 30.34132. Запрос к сервису обратного геокодирования Google будет выглядеть так: https://maps.googleapis.com/maps/api/geocode/json? latlng=59.936284, 30.34132. На основании параметра строки latlng будет выполнен поиск и возвращён его результат с указанием наиболее полной информации об объекте, в том числе о городе и стране, к которым относится объект. Данный сервис возвращает большое количество данных для однозначного определения объекта. Для поиска страны объекта осуществляется поиск вложенного объекта с типом country, для поиска города – locality или, при отсутствии такового, administrative_area_level_1. В случае, если объект не был найдет, то сервис вернёт результат ZERO_RESULTS, что означает, что при передаче координат была допущена ошибка, поскольку в случае если координаты объекта находятся в пределах мировых координат и какой-либо страны в мире, то будет возвращён ближайший к этим координатам объект. Таким образом, выполняя запрос можно получить наиболее полную информацию об объекте и его местоположении. Для поддержки локализации в базе данных, при выполнении запроса также существует возможность указать дополнительный параметр language, со значением, указанным в специальной таблице языков Google и доступной для всех пользователей их сервисов. В частности, для получения результатов на русском языке, строку запроса необходимо заполнить следующим: & language=ru. Пример части результата выполнения запроса приведён на рисунке 2.

Рисунок 2 – Пример результата выполнения запроса к сервису обратного геокодирования Google

Тем не менее, несмотря на удобство использования геолокационных сервисов Google, необходимо сформировать собственную базу данных городов и стран для обеспечения функций быстрого поиска объектов и фильтрации. Также следует иметь ввиду, что сервисы Google для одного веб-сервиса или приложения предоставляют возможность бесплатно выполнять до 2, 500 запросов в сутки. Поэтому в условиях высокой нагруженности геолокационных сервисов необходимо сократить количество использования сервисов Google до минимально необходимого, таким образом определяя только те города и страны геолокационных объектов, которые ещё не записаны в базе данных.

Другой задачей является своевременное обновление данных о городах, границах государств, названии городов и стран и других данных, изменяющихся ввиду мировой политики. Для таких случаев необходимо использование название геолокационных объектов и их городов в модели города. При добавлении нового геолокационного объекта необходимо проверить соответствие текущего названия страны и города в базе данных и в информации о добавляемом объекте. Таким образом, в условиях высокой нагрузки на геолокационный сервис и постоянно добавляющихся данных в базу данных объектов, возможно сохранять актуальные данные о странах и городах в базе данных и обеспечивать их своевременное обновление.

Визуальное представление данного алгоритма представлено на рисунке 3 в виде блок-схемы. Его использование ориентировано на автоматизацию процесса формировании базы данных городов и стран для геолокационных веб-сервисов и приложений, а также для любого вида приложений, ориентированных на формирование поисковой выдачи на основании страны и города пользователя. В данном методе решаются задачи точного определения страны и города геолокационных объектов по их координатам, поиска и фильтрации по определённым критериям (названию, идентификатору, координатам) за счёт использования необходимой и достаточно полных моделей города и страны и точного их определения, используя сервисы геокодирования Google. При пополнении базы данных стран и городов точность поиска увеличивается благодаря уже имеющимся данным.

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

Рисунок 3 – Блок-схема алгоритма

Заключение

В данной работе описан алгоритм определения городов и стран геолокационных объектов, применимый к любому сервису, требованием которого является формирование определённой выборки данных на основании местоположения пользователей и геолокационных объектов.

Тут как-то надо сказать, наверное, что алгоритм уже внедрён в одной системе и успешно используется или как-то так.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал