Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 21(107)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4

Библиографическое описание:
Кривошеин А.В. ИСПОЛЬЗОВАНИЕ API КАРТОГРАФИЧЕСКОГО СЕРВИСА GOOGLE MAPS ПРИ РАЗРАБОТКЕ СИСТЕМЫ КОНТРОЛЯ ДТП // Студенческий: электрон. научн. журн. 2020. № 21(107). URL: https://sibac.info/journal/student/107/182259 (дата обращения: 26.11.2024).

ИСПОЛЬЗОВАНИЕ API КАРТОГРАФИЧЕСКОГО СЕРВИСА GOOGLE MAPS ПРИ РАЗРАБОТКЕ СИСТЕМЫ КОНТРОЛЯ ДТП

Кривошеин Алексей Владимирович

магистрант, кафедра «Системы автоматизированного проектирования», Пензенский государственный университет,

РФ, г. Пенза

АННОТАЦИЯ

В данной статье представлены возможные решения по использованию API Google Maps при разработке системы учета и анализа дорожно-транспортных происшествий.

 

Ключевые слова: картографический сервис; геокодинг; алгоритм; Google Maps; Geocoding API; Directions API.

 

Современная система дорожного движения контролируется органами ГИБДД. При этом важнейшей задачей органов ГИБДД является оперативная реакция на различные дорожно-транспортные происшествия. Одной из проблем сотрудника, принимающего звонки от пострадавших, является выбор экипажа, который должен быть направлен на место происшествия. В ряде случаев скорость прибытия экипажа ДПС на место происшествия является очень критичной.

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

Современная система учета и анализа дорожно-транспортных происшествий должна отвечать следующим основным требованиям:

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

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

 

Рисунок 1. Диаграмма вариантов использования системы учета и мониторинга дорожно-транспортных происшествий

 

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

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

 

Рисунок 2. Диаграмма последовательности прецедента «Зарегистрировать новое ДТП»

 

Рисунок 3. Диаграмма последовательности прецедента «Просмотреть ДТП на карте»

 

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

В случае определения оптимального поста для отправки экипажа на место ДТП справедлив следующий алгоритм, представленный на рисунке 4.

 

Рисунок 4. Алгоритм регистрации нового ДТП с отправкой экипажа на место происшествия

 

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

Необходимый для реализации представленного выше алгоритма функционал предоставляет Google API. В состав библиотеки API от Google входит множество сервисов, но для реализации алгоритма в системе необходимо рассмотреть только два из них – Geocoding API и Directions API.

Геокодирование представляет собой процесс конвертирования адресов в географические координаты, а также преобразования географических координат в адреса (обратное геокодирование). Geocoding API предоставляет непосредственную возможность доступа к такому сервису через HTTP-запрос.

Запрос к API геокодирования выглядит следующим образом:

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

где outputFormat – обозначает формат формируемого ответа и может быть двух видов: в формате документа JSON либо XML. В секции parameters перечисляются все необходимые параметры запроса, разделенные знаком амперсанда [1].

Конкретным примером для прямого геокодирования может быть следующий запрос:

https://maps.googleapis.com/maps/api/geocode/xml?address=Пенза+Московская+115&key=API_KEY

Здесь параметру address присваивается конкретный адрес дома в городе, а параметр key должен содержать личный API-ключ разработчика, который можно получить в личном кабинете.

В контексте системы контроля ДТП и рассмотренного выше алгоритма возможности данного сервиса могут быть применены при вводе оператором адреса происшествия в системе для получения его географических координат.

Directions API является сервисом, позволяющим рассчитывать маршруты между различными положениями на карте. Расчет маршрута доступен для различных видов передвижения, включая автомобиль, велосипед и режим пешехода. Доступ к Directions API также осуществляется с помощью HTTP-запроса, который в общем виде выглядит следующим образом:

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

Его внешний вид аналогичен запросу к Geocoding API, рассмотренному выше. Необходимыми параметрами для данного сервиса являются:

  • origin – адрес, текстовое значение широты/долготы или ID места (получается из Places API), начальная точка для построения маршрута.
  • destinationадрес, текстовое значение широты/долготы или ID места (получается из Places API), конечная точка для построения маршрута.
  • keyперсональный API-ключ разработчика.

К опциональным параметрам сервиса относятся:

  • modeзадает вид транспорта, используемый для расчета пути. По умолчанию принимает значение driving.
  • waypoints – задает промежуточных точек маршрута, через которые он должен быть построен.
  • alternatives – если принимает значение true, то предоставляет альтернативные маршруты вместе с основным при формировании ответа на запрос.
  • departure_time – желаемое время отправления. Если данный параметр передан в запросе, то в ответе на запрос будет добавлено ожидаемое время в пути, учитывая среднестатистический трафик на дорогах в указанное время.
  • traffic_modelЗадает модель расчета времени с учетом трафика на дорогах. Возможными значениями данного параметра могут быть: best_guess, pessimistic, optimistic. При значении best_guess возвращаемое время в пути будет рассчитано на основании исторической загрузки дороги и текущего трафика. Текущий трафик становится тем значимее, чем ближе departure_time к текущему моменту времени. При значении pessimistic получаемое время будет больше, чем реальное время пути в большинство дней, учитывая, что в некоторые случайные дни с особенно высокой загруженностью дорог время в пути может быть достаточно большим (пессимистичный прогноз). При значении optimistic получаемое время будет соответственно меньше (оптимистичный прогноз) [2].

Конкретным примером для данного сервиса может служить следующий запрос:

https://maps.googleapis.com/maps/api/directions/json?origin=

Пенза+Чкалова+1&destination=Пенза+Толбухина+12&departure_time=now&

key=YOUR_API_KEY

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

Таким образом, возможностей Google API, предоставляемых разработчикам, должно быть достаточно для разработки подобных систем контроля ДТП.

 

Список литературы:

  1. Geocoding API | Google Developers [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://developers.google.com/maps/documentation/geocoding/start?hl=ru (дата обращения 5.06.2020)
  2. Directions API | Google Developers [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://developers.google.com/maps/documentation/directions/?hl=ru (дата обращения 5.06.2020)

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.