Статья опубликована в рамках: Научного журнала «Студенческий» № 17(103)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
ОБЗОР СОВРЕМЕННЫХ КАРТОГРАФИЧЕСКИХ СЕРВИСОВ, ПРЕДОСТАВЛЯЮЩИХ API ДЛЯ РАЗРАБОТКИ
АННОТАЦИЯ
В данной статье представлен обзор популярных картографических сервисов, рассмотрены их основные особенности, преимущества и недостатки. Отдельное внимание при рассмотрении сервисов уделено имеющимся у них API для разработчиков собственных приложений.
Ключевые слова: картографический сервис; API; геокодинг; Google Maps; OpenStreetMaps; Яндекс.Карты; 2ГИС.
Что понимается под картографическим сервисом? Это способ предоставления веб-доступа к пространственным данным с помощью геоинформационных систем с возможностью обработки, анализа и визуализации подобных данных. Зачастую подобные сервисы являются промежуточным звеном между исходным ресурсом и клиентским приложением, которое может быть представлено настольной ГИС, desktop- либо web-приложением и т.д. Подобным образом картографические сервисы выполняют передачу ресурсов от клиента и обратно, реализуя обработку различных запросов пользователей. При этом от клиентского приложения не требуется поддержка форматов хранения географических данных и функций, так как эту задачу реализует сам сервис. Клиенту достаточно лишь отправить стандартный запрос к сервису по сети Интернет для получения необходимого результата. К примеру, сформировать и отослать запрос с координатами объекта на местности, а затем получить ответ в виде соответствующего ему адреса в городе. Такой процесс служит примером обратного геокодирования. Эта функция поддерживается многими современными картографическими порталами, такими, как Google Maps, Яндекс.Карты, 2ГИС и другими.
К основным задачам современных картографических сервисов можно отнести:
- Отображение участка карты, руководствуясь исходными географическими координатами местности;
- Поиск мест на карте по определенным условиям, например, адресу, географическим координатам или названию объекта;
- Поиск оптимального маршрута из начальной точки в конечную с учетом дополнительных параметров. Первостепенно имеются ввиду данные о текущем состоянии трафика на дорогах, пробках, одностороннем движении и других особенностях конкретной местности [4, с. 36].
В настоящее время популярные картографические сервисы, например, Google Maps или Яндекс.Карты, предоставляют собственные API (Application Programming Interface - интерфейс прикладного программирования). API – это набор средств, позволяющих получать доступ к сервисам и получать от них данные, в то время как разработчик, используя такой API, может применять его для получения доступа к необходимым функциям программы или библиотеки.
Сегодня в российском интернет-сегменте наиболее известны и распространены следующие картографические сервисы:
- Google Maps;
- Яндекс.Карты;
- OpenStreetMap;
- 2ГИС.
Необходимо рассмотреть предлагаемый данными сервисами функционал, а также возможности, реализуемые API перечисленных выше сервисов.
Google Maps
Google Maps – это картографический сервис, представляющий собой набор приложений и технологии от компании Google, запущенный в 2005 году. Портал предлагает три основных подраздела: непосредственно карту, спутниковые снимки и средство для просмотра трехмерных проекций городских улиц Google Street View. Также Google Maps предоставляет сервис поиска и прокладки маршрутов с возможностью дополнительного информирования о дорожных камерах контроля скорости, максимально разрешенной скорости на дороге и прочих обстоятельствах [2].
Использование API Google Maps даёт возможность разместить любую карту на внешнем сайте или в пользовательском приложении. Управление будет осуществляться с помощью Javascript. В состав. В состав средств разработчика включены несколько различных API, а именно:
- Javascript API. Позволяет создавать и добавлять собственные карты на веб-сайт или в приложение.
- Geocoding API. Предоставляет доступ к службе прямого и обратного геокодирования посредством HTTP-запросов.
- Android API. Позволяет создавать и добавлять собственные карты в приложения Android.
- Directions API. Включает средства, позволяющие создавать маршруты, определять примерное время поездки и т.д.
- Places API Web Service. Позволяет получать информацию о местах, определенных в данном API. Это могут быть организации, достопримечательности и прочие объекты.
Начало работы с Google Maps API предполагает регистрацию в системе с помощью аккаунта Google. При этом некоммерческое использование данного сервиса бесплатно, однако накладывается ограничение на количество запросов к отдельным функциям в определенный промежуток времени.
Яндекс.Карты
Яндекс.Карты – это картографический веб-сервис, разработанный и запущенный компанией Яндекс в 2004 году. Данный сервис предоставляет детализированные схемы большинства городов во многих странах мира, позволяет просматривать справочную информацию об организациях в городе, содержит средства для построения маршрутов с учетом дорожного трафика. Набор средств для работы с картами для этого сервиса достаточно обширен, но в наиболее полном объеме доступен для ограниченного числа городов.
Что касается средств для разработчиков, то API Яндекс.Карт состоит из трёх частей:
- Адреса и организации. В эту часть входят два компонента: геокодер, работающий в прямом и обратном режимах, и API для поиска организаций по названию, адресу или виду услуг. К геокодеру можно обращаться посредством протокола HTTPS либо с помощью JavaScript API.
- Карты. Здесь реализована возможность использования JavaScript API, MapKit и Static API. JavaScript API позволяет встраивать интерактивную версию карт на собственный сайт или в приложение. MapKit позволяет осуществлять указанное выше встраивание в мобильные приложения, а Static API возвращает статическое изображение необходимого фрагмента карты.
- Сервисы для решения логистических задач. В эту часть входят три компонента: API построения оптимальных маршрутов объезда нескольких точек, сервис матрицы расстояний и сервис получения деталей маршрута [3].
Сервисы Яндекс.Карт допускается использовать только для сайтов и приложений, доступных для открытого бесплатного использования, при этом регистрация обязательна. Необходимо отметить, что максимально допустимое количество обращений к геокодеру, маршрутизатору и панорамам должно не превышает 25 000 запросов в сутки.
OpenStreetMap
OpenStreetMap (OSM) – это некоммерческий веб-картографический проект, создаваемый силами Интернет-пользователей – участников сообщества. Целью является создание подробной и бесплатной географической карты мира.
Сам по себе сервис OSM состоит только из самих карт и онлайн-инструментов для их редактирования и не содержит специализированных API для разработчиков. Однако отличительной особенностью OpenStreetMap является большое количество сторонних проектов, в основе которых лежит использование карт OSM. Подобные проекты реализуют множество необходимых функций, включая маршрутизацию (например, YourNavigation или EasyMap) и геокодирование (к примеру, Nominatim). Кроме того, необходимо отметить возможность загрузки части или даже всех карт OSM для последующего оффлайн-использования.
Ощутимая доля пользователей OSM относятся к РФ (большее количество пользователей сервиса имеет только Германия), поэтому можно отметить высокую детализацию небольших городов и населенных пунктов в сравнении с другими популярными картографическими сервисами.
2ГИС
2ГИС представляет собой российский картографический сервис, включающий в себя непосредственно карты, возможности навигатора, а также справочную информацию об организациях любого города. Стоит отметить сравнительно высокую детализацию карт среди других сервисов и достаточную полноту приводимой информации.
Данный сервис позволяет разработчикам свободно использовать API 2ГИС в некоммерческих целях. С помощью данных инструментов можно создавать интерактивные карты на веб-страницах и отображать на карте различные объекты (маркеры, области и т.д.). Также доступно прямое и обратное геокодирование. API 2ГИС имеет открытый исходный код, в основе данного API лежит библиотека Leaflet, имеющая модули для разнообразных задач: кластеризации, тепловых карт, анимированных маркеров, а также создания собственных модулей [1].
Далее в таблице 1 приведено сравнение рассмотренных выше картографических сервисов по различным критериям.
Таблица 1.
Сравнение картографических сервисов Google Maps, Яндекс.Карты, OpenStreetMap и 2ГИС
Критерий |
Google Maps |
Яндекс.Карты |
OpenStreetMap |
2ГИС |
|
Покрытие |
Карта всего мира (лучше всего выполнены карты России, Европы, Северной Америки) |
Карта всего мира (лучше всего выполнены только наиболее крупные города России, Европы и др.) |
Карта всего мира (наиболее точно и подробно проработаны карты России, Германии, Великобритании) |
Россия и несколько зарубежных городов |
|
Режимы отображения карты |
«Схема», «Спутник», «Гибрид», просмотр улиц городов, панорамы |
«Схема», «Спутник», панорамы |
«Схема» |
«Схема» |
|
Условия использования API |
Свободно (бесплатно) для применения в открытых некоммерческих проектах. Обязательная регистрация и получение ключа API |
Свободно (бесплатно) для применения в открытых некоммерческих неигровых проектах. Регистрация не нужна |
Свободно (бесплатно) |
Свободно (бесплатно) для применения в открытых некоммерческих проектах. Обязательная регистрация и получение ключа API |
|
Ограничение по количеству запросов для API |
Не более 25000 загрузок карт в сутки |
Не более 25000 запросов к сервисам |
Не ограничено |
Не более 10 запросов в секунду или 10 тысяч в месяц |
|
Качество документации по использованию API |
Достаточно подробная, часть доступна только на английском языке |
Подробная документация с большим количеством примеров использования функций |
Достаточно подробная документация |
Недостаточно полная документация |
|
Построение маршрутов движения |
Несколько вариантов (для автомобиля с учетом трафика, пешехода, общественного транспорта, велосипеда) с расчетом длительности |
Несколько вариантов (для автомобиля с учетом трафика, пешехода, общественного транспорта) с расчетом длительности пути |
Только с использованием сторонних сервисов, основанных на OSM |
Построение несколькими вариантами (для автомобиля с учетом трафика, для пешехода, для общественного транспорта) с расчетом длительности пути |
При использовании возможностей, предоставляемых современными картографическими сервисами, можно столкнуться с некоторыми проблемами в виде неполноты проработки карт и ограничениями, накладываемыми лицензионным соглашением. Однако, применение открытых API перечисленных выше сервисов в разработке собственных приложений может позволить наглядно демонстрировать какие-либо данные непосредственно на карте либо выполнять простейшую обработку и анализ имеющихся пространственных данных. Таким образом, предоставляемых возможностей данных сервисов может оказаться достаточно для реализации небольших и средних по масштабу проектов.
Список литературы:
- API 2GIS [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://api.2gis.ru/doc/maps/ru/quickstart (дата обращения 8.05.2020)
- API Google Maps [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ru (дата обращения 8.05.2020)
- API Яндекс.Карт [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://tech.yandex.ru/maps (дата обращения 8.05.2020)
- Кикин, П.М. Разработка методики создания тематических карт средствами веб-технологий [Текст]/ П.М. Кикин, Е.Л. Касиянова// Сибирская государственная геодезическая академия г. Новосибирск. - М., 2014. - 105 с.
Оставить комментарий