В функционале Дельты есть возможность импорта пользовательских карт, которые можно в дальнейшем использовать вместо стандартных форм, входящих в геопространственную базу данных Дельты. Такая возможность может быть полезна, например, если требуется создать карту, отображающую крупные регионы, объединяющие несколько стран (Евросоюз, СНГ, страны Азиатско-Тихоокеанского региона и т.п.)
Или, как будет рассмотрено в данном примере, будет загружена карта административных округов Москвы.
Добавление пользовательской карты в Дельта BI
Найти карту административных округов Москвы не составило труда на просторах сети. Единственное, пришлось изменить тип файла с geojson на json, чтобы Дельта смогла его распознать. Структура файла выглядела как-то так:
![Важно учесть, что пользовательские карты для Дельте должны быть в формате JSON Важно учесть, что пользовательские карты для Дельте должны быть в формате JSON](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/91a/29d/921/91a29d92159f2bbe1331fa7d89a9de13.png)
После того, как файл с картой подготовлен, нам нужно включить функцию поддержки пользовательских карт в Дельта BI. Для этого переходим в Admin Console, выбираем Geospital Setting и ставим галочку напротив Enable Custom Maps.
![](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/680/423/c9b/680423c9b18aed26f651f736e8369411.png)
После этого, во вкладке Custom Maps появится возможность загружать пользовательские карты, что мы и сделаем, нажав на кнопку Import.
![](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/a68/1df/064/a681df06445714e386f42472c7742a77.png)
На этом этапе система проверит структуру файла и, если все хорошо, то сохранит его, либо выведет сообщение об ошибке.
Если же все хорошо, то карта будет загружена и можно использовать ее при работе с данными.
Например, у меня имелась простая модель, в которой хранилась информация о численности населения Москвы по округам, а также Подмосковья. В настройках этой модели обязательно стоит изменить категорию для того параметра, по которому будет строиться карта. В моем случае это был Административный округ. Нужно было в настройках модели перейти во вкладку Tables, выбрать раздел Категория и в открывшемся списке указать нашу загруженную карту moscow_districts.
![](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/157/5e3/f81/1575e3f81426270c5dd46bbfa7cb0d7d.png)
После этого оставалось только создать нужную визуализацию.
![На рисунке видно, что Дельта отображает границы округов и раскрашивает их в цвета, соответствующие численности населения в них. На рисунке видно, что Дельта отображает границы округов и раскрашивает их в цвета, соответствующие численности населения в них.](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/e17/32b/859/e1732b859ec076057e95fb1d9767e3c5.png)
Важно учесть, что названия административных округов в модели данных и в файле с координатами, по которому строится карта, должны совпадать иначе нужный административные округа не будут отображаться. Т.е., например, и в модели данных и в файле с картой должно быть написано «Троицкий». Если в одном месте будет «Троицкий», а в другом «Троицкий административный округ», то система не сможет их распознать и на карте нужный округ не отобразиться.
Добавление новых регионов на карту к уже имеющимся
Ну а как быть в ситуациях, если со временем потребуется добавить на карту новый округ? Представим, что к Москве добавили Домодедово. В принципе, самое сложное – это найти координаты границ Домодедово. К счастью, найти их в сети не составило труда. После чего, эти координаты нужно добавить в код json-файла, в котором уже имеется информация по другим округам.
Ну а на тот случай, когда не удается найти файл с координатами нужного региона, могу посоветовать сервис https://cbistudio.interworks.com/# в котором можно выстроить полигон нужного района и получить его координаты в CSV или GeoJSON формате.
![Полигон района Полигон района](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/619/d9e/f9a/619d9ef9ae3c3d90634f19212cef8f65.png)
В общем, получив координаты границ новых районов и сохранив их в файле и возвращаемся в Настройки Дельты – Admin Console – Geospital – Custom Maps. Далее, выбираем строчку с уже загруженным нами ранее файлом moscow_districts и жмем кнопку Re-Import. Далее Save, и, если структура файла устроит Дельту, то карта обновиться.
![Карта Москвы с разделением по административным округам + городской округ Домодедово Карта Москвы с разделением по административным округам + городской округ Домодедово](https://webcf.waybackmachine.org/web/20240315092227/https://habrastorage.org/getpro/habr/upload_files/ae5/ef5/e72/ae5ef5e7279b5da5e37f882f978044fc.png)
Заключение
Как видите, процесс импорта и последующего использования пользовательских карт в Дельта BI довольно простой и не требует особых усилий. И с помощью такого инструмента можно легко создавать визуализации, которые помогут анализировать данные в любом масштабе, начиная от районов города и заканчивая странами, объединенными в группы.