Практики · занятие 10

Оформление данных в QGIS. Картографический анализ структуры землепользования

Материалы занятия составлены на основе практикума «Основы геоинформатики: практикум в QGIS» А. Энтина, Т. Самсонова и А. Карпачевского и дополнены.

О чём это занятие
Пространственный анализ на векторных данных: оверлей слоёв землепользования с регулярной сеткой, расчёт долей площадей каждого типа покрытия в ячейках и визуализация структуры территории круговыми диаграммами.
Аннотация
Занятие начинается с визуальной оценки четырёх слоёв базы LandCover.gpkg — застройки, зелёных насаждений, воды и промзон — и построения регулярной сетки с шагом 1000 м. Затем выполняется главная операция занятия — оверлей: пересечение сетки с каждым слоем покрытий, объединение фрагментов по идентификатору ячейки (Dissolve) и расчёт площадей через калькулятор полей. Интерактивная модель на странице показывает механику оверлея вживую: клик по ячейке сетки вычисляет пересечения и строит диаграмму долей. Дальше — соединение таблиц по ключевому полю, замена NULL на нули функцией if и вычисление непокрытой площади. Завершает занятие теория способа локализованных значков — от геометрических и буквенных значков до принципов построения ступенчатых шкал — и настройка круговых диаграмм по ячейкам сетки с компоновкой итоговой карты.
Пререквизиты
Практика 9 — стили слоёв, классификация, макеты. Понятие соединения таблиц — лекция 2 и экспресс-занятие 3.
Материалы к занятию

1. Постановка задачи

Задание посвящено знакомству с пространственным анализом на основе векторных данных. Векторная модель представляет объекты в виде отдельных геометрических фигур с набором атрибутов. Она является объектно-ориентированной и удобна для анализа формы, размеров объектов, их взаимной конфигурации в пространстве. Один из широко используемых методов анализа на основе векторных данных — оверлей.

При оверлее происходит наложение двух или более слоёв, в результате чего образуется их геометрическая (пространственная) композиция. Полученные участки наследуют атрибуты от каждого слоя. Операция базируется на стандартных отношениях множеств: пересечении, объединении и симметрической разности.

С помощью оверлея можно, например, установить, как соотносятся площади объектов разных типов в пределах ячеек регулярной сетки. Это важно при моделировании локальных климатических зон или анализе экологической ситуации.

2. Визуальный анализ векторных слоёв

В первую очередь при анализе данных следует провести их визуальную оценку — она может натолкнуть на отыскание закономерностей во взаимном расположении объектов.

  1. Распакуйте архив с материалами упражнения в свою рабочую директорию. Создайте проект QGIS в папке с распакованными материалами.
  2. Добавьте на карту слои Industrial, Hydro, Green, Buildings из базы данных LandCover.gpkg. Присвойте слоям разные цвета (ПКМ по названию слоя → Свойства → Стили):
    • Buildings — gray 2 fill;
    • Green — topo forest;
    • Hydro — topo water;
    • Industrial — simple brown fill.
Слои землепользования в QGIS

Пример корректно оформленной карты:

Оформленные слои землепользования
  1. Создайте регулярную сетку квадратов инструментом Вектор → Анализ → Создать сетку… (реже — Вектор → Исследование → Создать сетку…).
Инструмент Создать сетку

В окне параметров инструмента:

Сохраните сетку в отдельный файл GeoPackage в вашей рабочей директории.

Создание регулярной сетки
  1. Измените стиль слоя сетки так, чтобы отображались только границы полигонов; толщина линии границы — 0,26 мм. Переместите слой наверх таблицы слоёв. В стилях слоя используйте outline black.
Стиль outline black для сетки

Затем выделите «Простая линия» в верхнем меню и настройте ширину линии:

Настройка ширины линии сетки

Результат должен выглядеть аналогично рисунку ниже:

Сетка поверх слоёв землепользования

2.1. Расчёт площадей ячеек

Для расчёта доли площади каждого типа объекта в пределах ячейки необходимо знать площадь самой ячейки. Для этого:

  1. Выделите слой регулярной сетки в таблице слоёв QGIS.
  2. Откройте таблицу атрибутов выбранного слоя (ПКМ по названию слоя → «Открыть таблицу атрибутов»).
  3. Нажмите кнопку Калькулятор полей значок калькулятора полей — она расположена на панели инструментов таблицы, в верхней части окна.
Калькулятор полей
  1. В интерфейсе калькулятора укажите, что создаёте новое поле.
  2. Введите имя поля — CellArea — и выберите подходящий тип поля (числовой, с плавающей точкой).
  3. В поле выражения введите функцию $area и выполните расчёт.
Примечание area() — системная функция QGIS, возвращающая площадь объекта. Значок $ указывает, что функция применяется к текущему объекту. Площадь вычисляется в единицах измерения системы координат источника данных; для прямоугольных систем это, как правило, метры.
  1. При использовании калькулятора полей автоматически включается режим редактирования.
  2. После расчёта сохраните изменения и выключите режим редактирования.

3. Оверлей векторных наборов данных

Определение

Оверлейный анализ (overlay analysis) — метод ГИС, который предполагает объединение нескольких слоёв пространственных данных для создания составной карты, показывающей пространственные отношения между объектами. Процесс включает наложение одного слоя на другой, в результате чего создаётся новый слой, в котором выделяются области пересечения исходных слоёв.

Чтобы рассчитать площади каждого типа объекта в пределах ячеек регулярной сетки, выполните операцию пересечения слоёв:

  1. Откройте инструмент Вектор → Геообработка → Пересечение.
  2. В поле Входной слой (Input layer) выберите регулярную сетку.
  3. В поле Пересекающий слой (Overlay layer) укажите слой растительности (Green).
  4. Результат сохраните во временный слой.
Инструмент Пересечение
Примечание Временные слои QGIS хранятся во внутренней системной директории: если их не сохранить явно, они будут удалены после закрытия проекта. В таблице слоёв такие слои отмечены значком часов справа от имени.

Результирующий слой будет называться «Пересечение» или «Intersect». Переименуйте его так, чтобы было ясно, какие данные пересекались (например, grid_green_intersect). Изучите, чем полученный слой отличается от исходных по геометрии и атрибутам. Повторите операцию для остальных трёх слоёв (Buildings, Hydro, Industrial).

Результат пересечения сетки и слоёв
Обратите внимание В полученных слоях внутри каждой ячейки сетки обычно содержится несколько объектов. Можно вычислить площадь каждого отдельно, однако для анализа требуется суммарная площадь всех объектов в пределах ячейки.
Фрагменты внутри ячеек после пересечения

Для вычисления общей площади в пределах ячейки нужно объединить все попадающие в неё объекты в единый полигон — операцией объединения по признаку (Dissolve). Она объединяет все геометрии с совпадающими значениями одного или нескольких атрибутов. После оверлея у каждого объекта растительности появился уникальный идентификатор ячейки регулярной сетки (id) — именно его следует использовать как признак объединения.

  1. Запустите инструмент Вектор → Геообработка → Объединение по признаку…
Инструмент Объединение по признаку

В параметрах инструмента укажите:

Результат сохраните в тот же файл GeoPackage, где хранится регулярная сетка, и задайте имя новой таблицы green_intersect_dissolve.

Параметры Dissolve
Сохранение результата Dissolve
Результат объединения по признаку

Результирующий временный слой будет называться «Объединённый слой» или «Dissolved». Переименуйте его по типу объектов (например, Green_dissolved).

  1. Повторите операцию объединения по признаку для оставшихся трёх слоёв. Подсказка: не закрывайте окно инструмента — достаточно изменить параметры входных данных и нажать «Выполнить».
Примечание В некоторых версиях QGIS операция объединения может выполняться некорректно: в целевой слой не записываются объекты, и таблица атрибутов остаётся пустой. Если такое произойдёт, сохраните объединённый слой в новый файл GeoPackage или во временный слой.

После получения всех объединённых слоёв рассчитайте площади объектов калькулятором полей. Для каждого набора данных используйте осмысленные имена полей, отличающиеся друг от друга: green_area, buildings_area, hydro_area, industrial_area. Пример для green_area:

Расчёт площади green_area
Внимание Не забывайте выходить из режима редактирования!

4. Тренажёр: оверлей вживую

Как именно «Пересечение» + «Dissolve» + калькулятор полей дают долю покрытий в ячейке? Модель ниже повторяет весь конвейер на игрушечном городе: сетка 4 × 4 км наложена на четыре типа покрытий. Щёлкните по любой ячейке — тренажёр честно вычислит пересечение каждого полигона с ячейкой, сложит площади фрагментов (это и есть Dissolve по id ячейки) и построит круговую диаграмму долей, включая непокрытую площадь other_area.

Тренажёр: пересечение покрытий с ячейкой сетки
Щёлкните по ячейке сетки.

Полигоны условного города; площади вычисляются алгоритмом отсечения полигонов (тем же принципом пользуется инструмент «Пересечение» QGIS). Ячейка 1 × 1 км = 1 000 000 м².

5. Соединение таблиц по ключевому полю

На данном этапе у вас должны быть четыре слоя с известными площадями объектов в пределах ячеек, а также слой ячеек с рассчитанной площадью. Для дальнейшего анализа необходимо соединить атрибутивные таблицы всех этих слоёв.

Соединение таблиц (table join) — операция, при которой к одной таблице временно добавляются столбцы из другой. Чтобы установить соответствие между строками целевой и присоединяемой таблиц, в каждой из них должны быть поля с одинаковыми значениями — ключевые поля: числовой идентификатор объекта (как в нашем случае) или короткий текстовый код (например, трёхбуквенный код административной единицы по ISO).

Во время соединения QGIS сопоставляет значения в этих полях. Если найдено совпадение, строка из присоединяемой таблицы добавляется к атрибутам соответствующего объекта целевой таблицы. Если совпадения нет, столбцы всё равно создаются, но значения остаются пустыми (NULL).

Соединение в QGIS реализовано по схеме M:1: одна строка присоединяемой таблицы может быть добавлена к нескольким строкам целевой, а вот к одной строке целевой таблицы может быть присоединена только одна строка из другой. Ключевое поле присоединяемой таблицы называется первичным ключом, целевой — внешним ключом; для первичного действует требование уникальности значений, для внешнего — нет.

Настройки соединения таблиц

С помощью настроек, показанных на скриншоте, выполняются действия:

5.1. Практика соединения таблиц

  1. Откройте свойства слоя регулярной сетки и перейдите на вкладку Связи (Joins).
  2. Чтобы добавить новое соединение, нажмите кнопку «+» внизу окна. В появившемся диалоге укажите: слой для соединения (таблицу с площадями) и ключевые поля с общими значениями — в нашем случае поле id.
  3. Отметьте флажок Присоединённые поля (Joined fields) и выберите только нужные столбцы — нас интересует поле с площадью объектов. Дополнительно можно активировать «Пользовательский префикс имени поля» и очистить форму, чтобы имена присоединённых полей сохранились без приставок.
Вопрос

Что такое «поле для объединения» и «целевое поле» в QGIS? Как правильно называются эти поля в процедуре соединения таблиц? К каким таблицам (слоям) относится каждое из них?

показать ответ

Поле для объединения — поле присоединяемой таблицы (в терминах соединения — первичный ключ, требуется уникальность значений); целевое поле — поле целевого слоя (внешний ключ, уникальность не требуется). Соединение M:1 сопоставляет строки по совпадению значений этих полей.

6. Расчёт площадей, не покрытых объектами

Четыре типа объектов охватывают не всю территорию: существуют и другие категории землепользования, не рассматриваемые в этом задании. Для корректного анализа и визуализации необходимо рассчитать оставшуюся площадь каждой ячейки — вычесть из площади ячейки площади всех типов объектов.

Проще всего сделать это калькулятором полей, однако возникает проблема: в таблице атрибутов встречаются пустые значения (NULL) в полях площадей — они означают отсутствие объектов соответствующего типа в ячейке. Вычисления с NULL дадут некорректный результат, поэтому сначала NULL заменяется на 0.

  1. Сохраните слой регулярной сетки с присоединёнными полями как новый набор объектов (GeoPackage): ПКМ по слою → соответствующий пункт контекстного меню. Это позволит не изменять исходные данные.
  2. Запустите калькулятор полей для вновь сохранённого слоя.
  3. Выберите опцию обновить существующее поле и укажите одно из полей площадей (например, buildings_area).
  4. В левой панели калькулятора раскройте раздел «Условные» и найдите функцию if; изучите краткую справку к ней.
  5. Составьте выражение, заменяющее пустые значения нулями:
if("buildings_area" IS NULL, 0, "buildings_area")

Функция if проверяет, является ли значение поля NULL: если да — возвращает 0, иначе оставляет исходное значение.

Замена NULL на ноль в калькуляторе полей
Примечание Для проверки на NULL используйте оператор IS: выражение "поле" = NULL в QGIS не возвращает корректный результат. Чтобы добавить имя поля в выражение, дважды щёлкните по его названию в разделе «Поля и значения» в средней панели окна калькулятора.
  1. Проделайте аналогичную последовательность действий для остальных трёх типов объектов — замените NULL на 0 в соответствующих полях площадей.

После этого используйте калькулятор полей, чтобы рассчитать площадь ячейки, не покрытую ни одним из типов объектов. Создайте новое поле other_area с выражением:

"CellArea" - ("buildings_area" + "green_area" + "hydro_area" + "industrial_area")
Вычисление other_area

Выражение вычисляет остаток площади в пределах каждой ячейки, вычитая из общей площади ячейки (CellArea) площади всех типов покрытий. Результат отражает непокрытую площадь — часть территории, не относящуюся ни к одному из четырёх классов объектов.

  1. Выключите режим редактирования.

Пример таблицы атрибутов после редактирования:

Таблица атрибутов с площадями покрытий

7. Способ локализованных значков

Локализованные значки — особый способ картографического изображения, применяемый для обозначения местоположения объектов, не выражающихся в масштабе карты или занимающих площадь меньшую, чем сам картографический знак. Такие значки используются для показа явлений, локализованных в конкретных пунктах.

На топографических картах с их помощью обозначают местные предметы: указатели дорог, радиомачты, отдельно стоящие деревья и другие ориентиры. На тематических и общегеографических картах мелкого масштаба значки могут не только указывать местоположение, но и характеризовать величину, значение или динамику объектов: значок населённого пункта может передавать тип поселения (город, посёлок городского типа, сельское поселение), его численность или административное значение. Значки широко применяются также для отображения промышленных и сельскохозяйственных предприятий, месторождений полезных ископаемых и других объектов.

По форме значки подразделяются на абстрактные, буквенные и наглядные. Среди абстрактных наиболее распространены геометрические фигуры — круги, квадраты, треугольники, прямоугольники, ромбы. Такие значки просты в исполнении, хорошо различаются по легенде, занимают немного места, точно указывают положение объекта и легко сопоставимы по размеру. Хотя количество элементарных геометрических фигур ограничено, их разнообразие можно увеличить разными цветами и вариациями внутреннего рисунка.

Геометрические значки

Буквенные значки — одна или две начальные буквы названия изображаемого явления, например Р и Fe для месторождений фосфора и железа. Их применение сравнительно ограничено: они делают карту излишне пёстрой, не указывают точное положение объектов и плохо сопоставимы по размеру, особенно при буквах разной ширины и плотности штриха (например, I и W). Обычно буквенные значки применяются, когда требуется чётко выделить определённую категорию объектов — например, месторождения среди промышленных пунктов, отображаемых геометрическими символами. Сравнение и локализация упрощаются, если буквы вписаны в геометрическую фигуру (например, квадрат) — сочетаются преимущества обоих типов значков.

Наглядные значки напоминают изображаемые объекты. Различают символические, форма которых вызывает ассоциацию с объектом (маска для театра на плане города), и натуралистические, передающие облик объекта прямо (изображение трактора для тракторных заводов).

Буквенные и наглядные значки

Такие значки менее удобны для сравнения и локализации объектов, однако встречаются на массовых картах-плакатах, где должны бросаться в глаза, быть доходчивыми и восприниматься с большого расстояния.

Передача количественных соотношений размером значков может осуществляться на разных основаниях. Нередко площадь значка принимают строго пропорциональной величине объекта (например, числу рабочих при картографировании предприятий) — тогда линейный размер значка пропорционален квадратному корню из показателя. Шкалы строятся различно: при равноделенном основании горизонтальной шкалы величин по вертикалям откладывают линейные размеры значков, пропорциональные корню квадратному из соответствующих величин, соединяют их плавной кривой и вписывают значки.

Соизмеримость («масштабность») значков, точно пропорциональная величине объектов, называется абсолютной. Она наглядна, но неудобна, когда крайние величины сильно различаются (население больших, средних и малых городов): приходится либо принимать чрезмерно большие значки для крупных объектов, либо микроскопические для малых. И то и другое нежелательно. Поэтому при значительных различиях либо прибегают к рисункам объёмных фигур в перспективе (шары с диаметром, пропорциональным кубическому корню из показателя), либо используют условную соизмеримость в порядке убывающей прогрессии или произвольную, отражающую лишь общую тенденцию изменения величин. Объёмные фигуры употребляются редко: как показывает опыт, даже зрительное сопоставление площадных знаков приводит к недооценке действительной величины крупных знаков, а при объёмных недооценка проявляется ещё сильнее.

Шкалы значков

Как при абсолютной, так и при условной соизмеримости шкала значков может быть непрерывной либо ступенчатой, т. е. разбитой на интервалы. При непрерывной шкале размер знаков изменяется непрерывно вслед за изменением величины объекта; при ступенчатой размер, постоянный в пределах каждого интервала и определяемый по среднему значению интервала, возрастает скачком при переходе к следующей ступени. Ступенчатые шкалы предпочтительны при изображении и группировке объектов по разрядам (классам) величин.

Принципы построения ступенчатых шкал. Удобство запоминания и пользования шкалой, а также лёгкость распознавания значков выдвигают два условия, общие для любых шкал: во-первых, разграничение ступеней круглыми числами; во-вторых, сокращение числа ступеней до 5–7, максимум до 10–12. Эти требования не предопределяют величины интервалов — их устанавливают, руководствуясь особенностями картографируемого явления и назначением карты.

Простейший приём — выбор равных интервалов, т. е. построение шкалы по принципу арифметической прогрессии: a, a+b, a+2b, a+3b и т. д. Он пригоден для характеристики однокачественных величин, изменяющихся в относительно ограниченных пределах. Когда же пределы широки и для малых величин существенны небольшие изменения, мало влияющие на крупные величины, предпочтительна шкала с кратными интервалами по принципу геометрической прогрессии: a, ak, ak², ak³. Числовая интерпретация такой шкалы — например: менее 100; от 100 до 1 000; от 1 000 до 10 000; от 10 000 до 100 000; от 100 000 до 1 000 000; свыше 1 000 000 — дифференцирует и малые, и крупные величины при ограниченном числе ступеней.

При разработке шкал учитывают также качественные различия картографируемых явлений (для населённых пунктов — подразделение на городские и сельские) и их особенности на конкретной территории (крайние значения величин, распределение объектов по ступеням шкалы). Ступенчатая шкала не так определённа, как непрерывная, но легче воспринимается и позволяет обойтись без циркуля, линейки и арифметических подсчётов: принадлежность значка к ступени устанавливается на глаз. Основание шкалы значков (число единиц на 1 мм² площади значка) выбирается так, чтобы обеспечить читаемость малых значков и не перегрузить карту крупными.

Ступенчатые шкалы значков

Значки как внемасштабные изображения (размер которых может передавать непространственные характеристики) не выражают площадь, занимаемую объектами на карте, но позволяют определять их положение — для правильных геометрических значков оно обычно совпадает с центром. В этом случае даже перекрывающиеся значки не вызывают сомнений в действительном размещении объектов.

Различные виды суммарных (структурных) значков: каждый значок изображает пункт с предприятиями трёх отраслей промышленности — 1 текстильной (10 %), 2 пищевой (30 %), 3 машиностроительной (60 %):

Структурные значки

8. Визуализация долей покрытий локализованными значками

Для отображения соотношения площадей различных типов землепользования в пределах ячеек регулярной сетки удобно использовать круговые диаграммы. Такой способ визуализации наглядно представляет структуру покрытия каждой ячейки, сохраняя её пространственное положение.

  1. Настройка диаграмм. Щёлкните ПКМ по слою с сеткой и выберите «Свойства»; в открывшемся окне перейдите на вкладку Диаграммы.
Вкладка Диаграммы
  1. Выбор типа диаграммы. В разделе «Тип диаграммы» установите Круговая диаграмма — она лучше всего подходит для долей категориальных данных.
  2. Настройка размера. В поле «Размер» установите фиксированное значение 3 мм — это обеспечит читаемость диаграмм и позволит избежать их перекрытия.
  3. Выбор атрибутов. В блоке «Атрибуты» отметьте поля площадей:
    • buildings_area — застроенные территории;
    • green_area — зелёные насаждения;
    • hydro_area — водные объекты;
    • industrial_area — промышленные зоны;
    • other_area — прочие типы территорий.
    Каждому типу покрытия назначьте собственный цвет.
  4. Проверка отображения. После применения настроек на карте появятся диаграммы структуры покрытий в каждой ячейке:
Карта с круговыми диаграммами
  1. Оформление карты. Откройте компоновщик макета:
    • добавьте два элемента «Карта» — один для основной части Москвы, второй для Зеленограда;
    • разместите их так, чтобы оба фрагмента были читаемы и сопоставимы;
    • добавьте легенду, масштабную линейку и при необходимости заголовок карты.
Итоговый макет карты землепользования

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

Контрольные вопросы

Источники

  1. Энтин, А. Л. Основы геоинформатики: практикум в QGIS / А. Л. Энтин, Т. Е. Самсонов, А. А. Карпачевский. — М. : МГУ, 2020. — URL: https://aentin.github.io/qgis-course/ (дата обращения: 18.08.2026).
  2. Салищев, К. А. Картоведение : учебник / К. А. Салищев. — 3-е изд. — М. : Изд-во МГУ, 1990. — 400 с.
  3. QGIS Documentation. Vector geoprocessing tools : [сайт]. — URL: https://docs.qgis.org/3.34/ru/docs/user_manual/processing_algs/qgis/vectoroverlay.html (дата обращения: 18.08.2026).