В условиях динамически развивающихся технологий все большую популярность обретают онлайн-сервисы, предоставляющие различные услуги, такие как: вызов такси, бронирование отелей, заказ еды и многое другое. В основе всех указанных приложений лежит использование какого-либо картографического сервиса, поэтому, как показывает практика, графический способ предоставления информации о местоположении различных объектов является наиболее информационно полным. При разработке подобных приложений важно выбрать наиболее эффективный сервис предоставления картографических данных, так как именно он ляжет в основу всего приложения, а возможный отказ от него после введения в эксплуатацию может вылиться в огромные проблемы, как со стороны экономических ресурсов, так и со стороны оценки потребителей, привыкших к раннему дизайну приложения.
Также стоит отметить, что некоторые компании не пользуются услугами популярных картографических сервисов, а разрабатывают собственные движки для рендеринга карт. Такой подход наиболее оптимален с точки зрения трудоемкой эффективности, так как собственная разработка целиком и полностью может быть кастомизированна вами, равно как и скорость исправления ошибок будет зависеть целиком от вашей компании, а не стороннего сервиса. Однако, данный подход требует значительных экономических ресурсов, поэтому к нему в основном прибегают, такие компании-гиганты как Google, Uber, Yandex. Многие из них в последующем открывают общедоступное API для компаний более малых и зарабатывают на монетизации транзакций по их сервису. Анализу этих сервисов и будет посвящена данная статья.
Первым, что интересует руководителей при выборе того или иного сервиса, естественно, является ценообразование [1]. В данном аспекте сложно вывести единую модель сравнения, так как каждый сервис предоставляет свою политику ценообразования, поэтому сравнивать мы будем по примерной цене за 10 тайлов карты. Тайл – это единица измерения отображение карты, представляющее собой квадрат, из которых строится карта. Количество тайлов зависит в основном от разрешения девайса, на котором производится показ [2].
Ценовая политика картографических сервисов (за 10 тайлов)
|
Google maps |
Mapbox |
Azure maps |
TomTom |
MapTiler |
HERE |
Я.Карты |
Цена |
7$ (1000 загрузок карты) |
0,5$ за каждый показ карты |
0,5$ за 1000 показов |
0,5$ за 1000 показов |
0,05$ за каждый тайл |
0,5$ за пакет |
1$ за 1000 показов |
За 10 тайлов (в $) |
0,004 |
0,05 |
0,0003 |
0,0003 |
0,05 |
0,0003 |
0,0006 |
Под показом и пакетом в данной таблице бралось примерно 15 тайлов.
Однако, здесь много нюансов, связанных со скидками для корпоративных клиентов. К примеру, цена на Я.Карты разнится от 0,5$ до 2$ за 1000 показов. Также и другие поставщики карт предоставляют различные скидки на их сервисы, связанные с частотой использования и прочими факторами.
Беря среднее значение по цене за 10 тайлов, мы получим, что самыми дешевыми вариантами являются Azure, TomTom, HERE. Самым дорогим сервисом является Google maps [3].
Стоит еще отметить такой картографический сервис, как OpenStreetMaps, данные которого являются бесплатными в отличие от их тайлов. [4]. То есть теоретически, при достаточном объеме мощностей и ресурсов, можно использовать данные OpenStreetMaps и развернуть свой собственный тайл сервер, получив таким образом абсолютно бесплатный и контролируемый картографический сервис (естественно, исключая расходы по пользованию тайл-сервера.
Следующим немаловажным критерием является UI и UX выбираемого сервиса (интерфейс и дружелюбность к пользователю). В данном разделе сложно выделить определенных победителей, каждый сервис предоставляет высокий уровень качества и детализации.
Рассмотрим интерфейс на примере нескольких наиболее популярных сервисов (Azure, HERE, Я.Карты).
Рисунок 1. Azure Maps
Рисунок 2. HERE maps
Рисунок 3. Я.Карты
Как мы видим, наименее малый уровень детализации имеют карты от Azure maps, по утверждению корпорации Microsoft, пустое место оставлено специально для корпоративных клиентов, имеющих возможность добавить много собственной информации на пользовательские слои.
Карты HERE являются наиболее детализированными, однако порой это выступает и минусом, при построении маршрутов иногда сервис выдает довольно сомнительные результаты. Дополнительно еще отметим, что сервис порой выдает не совсем точный результат при использовании карт России.
Я.Карты являются наиболее полными и подробными картами для использования в России, однако, хоть и по таблице ценовой политики Я.Карты кажутся не такими дорогими, цены приведены усредненные. По факту, для небольших проектов Яндекс карты являются одним из самых дорогих сервисов.
В части интеграции все сервисы имеют удобное API, интегрируемое с любым языком программирования, здесь кого-то выделять не имеет смысла.
Последнее, на что стоит обратить внимание при выборе картографического сервиса – наличие обширной документации. Здесь сложно выделить отдельный сервис, каждый предоставляет обширное описание предоставляемого API. Можно отметить лишь более удобное на взгляд автора данной статьи описание предоставляемого функционала у Google и Яндекса – сказывается опыт большой компании.
Подводя итоги проведенного исследования, можем отметить, что каждый картографический сервис имеет свои преимущества и недостатки – некоторые призваны обеспечить надлежащее качество, при этом требуя немалые деньги, другие наоборот – могут быть номинально бесплатными, но требуют дополнительных ресурсов.
Использованные источники:
- Любушин, Н. П. Экономический анализ : учебник для бакалавров / Н. П. Любушин.— 3-е изд., перераб. и доп.— ЮНИТИ, 2010.— 576 с.
- Фаулер, М. Архитектура корпоративных приложений/ М. Фаулер. – Москва: Вильяме, 2006. – 544 с.
- Григорюк А.П. Опыт веб-картографирования на основе сервиса GOOGLE MAPS [Электронный ресурс] / А.П. Григорюк . – Электрон. текстовые дан. – Новосибирск: [б.и.], 2008. – Режим доступа: https://cyberleninka.ru/article/n/opyt-veb-kartografirovaniya-na-osnove-servisa-google-maps, свободный.
- Официальная документация API OpenStreetMaps : сайт OSMF Operations Working Group. [Электронный ресурс]. URL: https://operations.osmfoundation.org/policies/tiles/.