Статьи

Карты в стиле LEGO в QGIS

Картография ГИС Дизайн Туториалы Выбор команды
Время прочтения: 5 минут
Сложность: ориентируетесь в инструментах QGIS
Недавно я делала динозаврика из лего-конструктора и думала, что было бы интересно создать карту в этом стиле (все мысли о картах). К счастью, я была не одна, кто подумал об этом – Джон Нельсон уже сделал этот стиль для пользователей ArcGIS. Я также нашла туториалы создания подобных карт в QGIS от Andriy Yaremenko и от YouTube-канала GiS Station. Эти два способа немного отличаются друг от друга. Я решила попробовать оба варианта, чтобы сравнить и выбрать наиболее подходящий для себя. Туториал от GiS Station показался мне самым понятным и удобным в исполнении, его мы и разберем ниже.
В качестве базовых данных можно использовать любой подходящий на ваш взгляд растр. Я решила, как в обоих примерах, взять SRTM, то есть мы будем создавать лего-карту, отображающую высоту над уровнем моря. Растр понадобится нам для того, чтобы мы могли взять исходные данные, а также ориентироваться по ней. Если вы берете такие же данные, имейте в виду, что растровые слои SRTM высокого разрешения для больших территорий будет сложно визуализировать.
Загрузим слой SRTM в QGIS. Начнем с того, что создадим сетку для интересующей нас территории. Для этого в верхней панели меню выберем "Вектор" – "Анализ" – "Создать сетку".
В открывшемся окне “Создать сетку” выберите в поле “Тип сетки” прямоугольник. Охват сетки рассчитайте из слоя STRM (это можно сделать, если нажать на выпадающее меню рядом с полем “Охват сетки” – “Рассчитать из слоя” – выбрать нужный слой). Установите одинаковые значения в полях "Шаг по горизонтали" и "Шаг по вертикали". Ниже, в “СК сетки”, выберите метрическую систему координат, например, EPSG:3857 - WGS 84 / Pseudo-Mercator. В поле “Сетка” можете сохранить сетку во временный слой или создать постоянный слой на ваше усмотрение. Нажмите “Выполнить”.
Получится вот такая сетка. У меня она 1000 на 1000 м, поэтому выглядит достаточно мелкой.
Далее нам нужно получить данные из растрового слоя SRTM. Это можно сделать с помощью инструмента “Зональная статистика” (для чего еще его можно использовать, читайте в статье Зональная статистика в ГИС). Найдите инструмент в “Инструментах анализа”.
Откройте окно “Зональная статистика” и в поле “Исходный слой” выберите сетку, которую мы получили ранее. В поле “Растровый слой” выберите слой SRTM. Далее, на ваше усмотрение, можете выбрать любые данные в поле “Статистика для расчета”, я взяла средние значение высоты над уровнем моря. Сохраните слой во временный или постоянный и нажмите “Выполнить”.
Теперь дело осталось за малым – украсить нашу карту стилем LEGO. Начнем с того, что нужно зайти в окно “Свойства слоя” сетки – перейти в раздел “Стиль” – выбрать отрисовку (первое поле): “Символизация по диапазонам значений”.
В поле “Значение” выберите нужный столбец с данными, которые мы рассчитали с помощью зональной статистики. В поле “Цветовой ряд” выберите градиент, который вам нравится, или создайте свой. Здесь для примера я использовала готовый градиент “Spectral”.
Ниже нажмите на кнопку “Классифицировать” и уменьшите классы до пяти или до приемлемого минимального количества. Чтобы установить классы, выберите в поле “Режим” “Равные интервалы”, рядом в поле "Классы" можно вручную написать нужное количество. Если у вас слой очень высокого разрешения, рисунок получится немного грубым.
Я применила для растрового слоя такой же градиент, чтобы мне было легче ориентироваться.
Промежуточный вариант сетки будет выглядеть примерно так.
В окне “Свойства слоя” – раздел “Стиль” нажмите на поле “Знак”, затем в открывшемся окне “Настройки знака” нажмите на значок “Добавить слой”. Добавится дополнительный слой “Простая заливка”, которую мы будем дальше редактировать.
Выделите новый слой и ниже, в поле “Тип слоя” выберите “Центроиды”.
Далее будем редактировать слой “Простой маркер”, который открылся: выделите его, установите нужный размер (если у вас сетка с маленькими ячейками, как у меня – размер лучше установить меньше 2 мм). Далее поставьте галочку в чекбоксе “Эффекты отрисовки” и нажмите на кнопку “Настройка эффектов” рядом.
В открывшемся окне “Свойства эффектов” активируйте эффект “Отбрасываемая тень”, ниже установите нужные значения в полях “Смещение” (чем больше значение, тем дальше располагается тень) и “Радиус размывания” (чем меньше значение, тем плотнее тень). Нажмите на кнопку “ОК”.
У нас почти получилось!
Но лего-конструктор не может быть плоским, нам нужно добавить глубину через уровни знака. Для этого вернитесь в окно “Свойства слоя” – “Стиль”. Снова нажмите на поле “Знак”. Нажмите на слой “Простая заливка” – активируйте “Эффекты отрисовки” – перейдите к настройкам эффекта.

Также нажмите на эффект “Отбрасываемая тень” и установите нужные значения в полях “Смещение” и “Радиус размывания”. Нажмите на “ОК”
Далее в нижнем разделе окна “Свойства слоя” – “Стиль” нажмите на кнопку “Дополнительно” – “Уровни знака”.
В открывшемся окне “Уровни знака” нажмите на галочку в чекбоксе “Включить уровни знака”, чтобы активировать слои. Во втором столбце по порядку пронумеруйте слои. Нажмите на “ОК”, а в окне “Свойства слоя” – “Стиль” не забудьте нажать на кнопку “Применить”, затем “ОК”.
Вот и все. У нас получилась карта, очень похожая на лего-конструктор!
Я сделала еще одну карту Республики Башкортостан с этим же градиентом, но поменяла местами цвет высоких и невысоких точек, чтобы Уральские горы были выделены красным цветом.

Автор: Алия Кутуева