Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024)

Материал из 0x1.tv

Докладчик
Дмитрий Лапшин

MFW — это набор открытых программных библиотек, инструментов и примеров для решения задач картографии и навигации.

Поводом для его создания послужили запросы от разработчиков прикладного ПО для ОС Аврора на функции, которые не поддержаны в фреймворке Qt. MWF обеспечивает работу с векторными картами, включая маштабирование, вращение, стилизацию, а также геокодирование, навигацию и ведение по маршруту. В докладе представлены доступные функции, архитектура и особенности реализации.

Видео

Презентация

Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024).pdf

Thesis

ОС Аврора — это операционная система для мобильных устройств, разрабатываемая компанией «Открытая мобильная платформа». Важную часть её целевой аудитории составляют корпоративные заказчики. Работа с картами является распространённым запросом для пользователей этого сегмента. Зачастую возникает необходимость внедрить соответствующие функции в ПО, которое разрабатывается для конкретного проекта. Для этого требуется API со стороны ОС и программные библиотеки. Основные требования к таким библиотекам:

  • набор API должен покрывать отрисовку карт, управление отображениями карт, прямое и обратное геокодирование, построение и ведение по маршрутам;
  • должны поддерживаться векторные карты;
  • должна поддерживаться работа как с данными онлайн, так и в офлайн режиме;
  • должны поддерживаться актуальные версии ОС Аврора;
  • формат поставки библиотек должен позволять использование в составе коммерческих программных продуктов.


ОС Аврора предоставляет API для получения координат устройств и функции для работы с картами на основе Qt Location. Однако, для использования доступны только растровые тайлы, и не обеспечены задачи геокодирования.

Были проанализированы также другие решения, и выявлены их ограничения:

  • OSM Scout server: Ограничения: сложная интеграция со сторонними решениями для ОС Аврора, не предоставляет API для работы с тайлами.
  • Navitel Ограничения: стороннее решение, не предоставляющее средства интеграции.
  • Yandex: Ограничения: отсутствует API для ОС Аврора.


Поскольку доступны варианты обладали существенными ограничениями, было принято решение предоставить новое решение. Набор библиотек MFW предоставляет следующие основные компоненты:

  • MfwMap — основная библиотека.
    • В качестве основы компонента отображения векторных карт в ней используется библиотека MapLibre GL Native, для которой реализованы интерфейсы Qt Quick.
    • Основные озможности MfwMap:
      • подключение карт и API для управления ими, карты легко интегрируются в код пользовательских приложений;
      • работа в режиме онлайн/оффлайн;
      • векторные (плюсы: компактность и хорошая масштабируемость) и растровые карты;
      • геокластеризация;
      • аппаратный рендеринг.
  • MfwOfflineRouting — библиотека для построения маршрутов. Основные возможности MfwOfflineRouting:
    • построение маршрута по двум или нескольким точкам;
    • получение необходимой информации для ведения по маршруту;
    • обновление ранее полученного объекта маршрута;
  • MfwOfflineGeocoding — библиотека для геокодинга. Основные возможности MfwOfflineGeocoding:
    • получение адреса по координатам;
    • получение координат по адресу;
    • автоматическое получение подсказок при наборе адреса.
  • MfwExportScripts — docker-образ со скриптами генерации оффлайн инофрмации. Основные возможности MfwExportScripts:
    • генерация данных для оффлайн-карт;
    • генерация данных для построения маршрутов;
    • генерация данных для геокодинга.

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


Новые картографические библиотеки для ОС Аврора (Дмитрий Лапшин, OSSDEVCONF-2024)!.jpg

Примечания и ссылки