Статьи

Объёмная карта плотности населения в QGIS и Aerialod

ГИС Картография Туториалы
Время прочтения: 3 минуты
В недавней статье про инструмент 3D визуализации Aerialod мы рассказали про принцип его работы и посмотрели, как сделать в нём простую визуализацию трёхмерного рельефа. В этой статье мы подробнее изучим возможности программы Aerialod и разберём, как с помощью неё и QGIS создавать карты плотности населения.
3D-карта плотности населения мира. Автор: Alasdair Rae. Источник: http://www.statsmapsnpix.com/2020/11/how-to-make-3d-population-density.html

Подготовка исходных данных

Напомню, что Aerialod создаёт трёхмерную поверхность на основе значений пикселей в растре. Чем выше значение пикселя, тем сильнее он будет выдавлен вверх. Соответственно, нам понадобится растр, содержащий информацию о плотности населения. Использовать мы будем данные с сайта WorldPop. Данные доступны на территории отдельных стран, пространственное разрешение растров невысокое — 1 км. Для примера возьмём Францию. По карте на сайте уже примерно можно понять, какое изображение у нас получится.
Выгрузка данных о плотности населения
Для корректного отображения в Aerialod нам нужно изменить кодировку изображения. Для этого затаскиваем растр в QGIS и пересохраняем его как Rendered Image (ПКМ на слой > Export > Save As…). Теперь значения пикселей в растре составляют от 0 до 255, где 0 — чёрный цвет, 255 — белый.
Сохранение растра плотности
Если мы загрузим этот растр в Aerialod, то заметим, что на изображении нет «земли». «Земля» соответствует участкам с минимальной плотностью населения. Сейчас значения пикселей на таких участках равны нулю, и Aerialod не визуализирует эти значения, поскольку считает, что они не имеют высот. Соответственно, нам нужно сделать так, чтобы нулевые значения перестали быть нулевыми.
Отображение растра в Aerialod
Для изменения значений переходим обратно в QGIS. В настройке символики исходного скачанного растра выбираем Singleband pseudocolor (ПКМ на слой > Properties > Symbology > Singleband pseudocolor). Меняем минимальное значение на любое, не равное нулю. При необходимости инвертируем градиент, чтобы минимальные значения соответствовали чёрному цвету.
Настройка символики исходного растра
Теперь экспортируем это изображение так же, как делали ранее, и затаскиваем в Aerialod. Сейчас картинка чуть больше похожа на правду:
Отображение нового растра в Aerialod

Настройка параметров отображения

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

Ещё немного красивых карт для вдохновения:

Плотность населения Индонезии. Автор: Alasdair Rae. Источник: https://www.visualcapitalist.com/cp/3d-mapping-the-worlds-largest-population-densities/
Плотность населения Японии. Автор: Alasdair Rae
Материал подготовил Артём Орешин