Так как территории у нас нестандартные, мы сами в компании занимались отрисовкой полигонов с нуля. Затем с помощью инструмента QGIS экспортировали данные в файлы json и заливали в FineBI – коллеги уже писали об этом выше.
Не MAPBOXом единым. Как подключить Яндекс, Гугл, 2gis, OpenStreetMap и зачемВыше мы рассказали о двух наших проектах, теперь можно перейти к нюансам реализации. Например, нам могут понадобится другие карты. Почему?
Разработчик отчетности может использовать различные картографические сервисы как подложку (слой-layer) к визуализации информации по следующим причина
- Чтобы предоставить контекст для данных.
- Карты предоставляют визуальный контекст для данных, помогая пользователям понять, где и как эти данные расположены;
- Чтобы улучшить читабельность и удобство использования.
- Карты могут улучшить читабельность и удобство использования отчетов, помогая пользователям быстро и легко находить информацию;
- Чтобы создать более привлекательные и интерактивные отчеты. Карты c правильным слоем могут сделать отчеты более привлекательными и интерактивными, помогая пользователям взаимодействовать с данными.
В конечном итоге решение о том, какой картографический сервис использовать в качестве подложки для визуализации информации, зависит от конкретных потребностей разработчика и заказчика отчетности. Разработчик должен учитывать такие факторы, как тип данных, которые необходимо визуализировать, а также требования к внешнему виду и функциям отчета.
В рамках тестирования различных сервисов мы отмечали разницу в производительности (в частности в скорости загрузки) выбранной карты, что также может стать причиной для выбора определенного поставщика карт.
Ну и, конечно, вспомним про возможные риски и вопросы безопасности. Самые нашумевшие кейсы – взлом и подлог данных в картах OSM, в результате которых изменяются геоданные и появляются оскорбительные надписи политического характера.
Возможно, требования вашей организации или проекта настолько суровы, что вам и вовсе стоит рассмотреть поднятие внутреннего WMS–сервера карт, который обеспечит ваши потребности без внешнего доступа в интернет. Такое возможно, например, с OSM и с рядом коммерческих поставщиков карт, но далеко не все из них разрешают кешировать свои данные в закрытый контур компании.
Подключаем Яндекс“Яндекс Карты”, возможно, самые популярные и привычные карты для жителей РФ. Занимаясь интеграцией карт в дашборды для пользователей, мы не раз сталкивались с просьбой-требованием «А можно Яндекс Карты?”». Оно и понятно: навигатор, погода, а также справочная информация на многих сайтах работает с использованием вышеупомянутых карт. Интерфейс и предлагаемые компанией слои крайне привычны и довольно удобны.
Как и всегда в хорошей истории, обязательно есть нюанс, и данный случай не исключение – для коммерческого использования карты платные! Узнать, попадаете ли вы в список тех, кто может использовать сервис бесплатно, можно
по ссылке на официальном ресурсе компании.
Едем дальше.
Итак, FineBI не поддерживает продвигаемый “Яндексом” (у нас сложилось такое мнение) JS API, а “Яндекс” в свою очередь не предлагает и не поддерживает карты с реализацией технологии WMS. Нам остается Tiles API, который наконец-то подружит обе платформы. Подключить их довольно просто, но перед этим вам необходимо зарегистрировать личный кабинет на сайте вендора и получить ваш API-ключ. Его нужно будет прописать в ссылке, которую мы скормим FineBI.
Итак, мы идем в System Management => Map Configuration => Custom Gis Layer, а здесь уже:
- создаем новый слой, называя как нам удобно, например, “ yandex-map”;
- в параметр URL вставляем ссылку вида:
https://tiles.api-maps.yandex.ru/v1/tiles/?x={x}&y={y}&z={z}&lang=ru_RU&l=map&apikey=ВАШ_АПИ_КЛЮЧ _ИЗ_ЛИЧНОГО_КАБИНЕТА&projection=web_mercator
3.нажимаем Save в правом верхнем углу;
4.готово, можно пользоваться.
Как вы, наверное, заметили, в ссылке есть ряд параметров, которые вы можете изменить. Например, язык = lang или номера тайлов по осям с масштабом (НЕ КООРДИНАТЫ!), в нашем случае они заданы переменными x={x}&y={y}&z={z}. Подобная формула отображает карту всего мира, а в процессе масштабирования система будет подставлять нужные значения. Если вы хотите лимитировать ваш Custom Gis Layer определенной областью, тогда меняем в скобках x, y, z – подставляем соответствующие значения тайлов.
Самое интересное в конце ссылки, а именно в части “projection=web_mercator”. По умолчанию “Яндекс Карты” используют эллиптическую проекцию Меркатора. Мы добавили данный параметр для того, чтобы получить тайлы для сферической проекции Меркатора. Картографические проекции и проекции Меркатора – очень интересная тема, но мы оставим ее вам на самоизучение: