Время прочтения: 4 минуты
Версия QGIS на скриншотах: 3.40.1
Версия QGIS на скриншотах: 3.40.1
Размер символа для отражения значения переменной признака — один из классических способов визуализации данных. Это одна из семи визуальных переменных, выделенных классиком визуализации данных Жаком Бертеном. Если простыми словами, это работает так: чем больше значение атрибута, тем больше размер значка, и наоборот.
В этой статье мы изучим сразу два способа менять размер точки в зависимости от значений в таблице атрибутов в QGIS, а также узнаем, чем один лучше другого, на примере картодиаграммы ВВП Африки.
Самый быстрый способ задать размер точки в зависимости от значения атрибутов
Чтобы показать применение способа размерных символов в QGIS — это частый академический вариант названия такого вида визуализации данных на карте, — я буду делать карту ВВП стран Африки.
Информация о ВВП за 2019 год и о границах стран Африки есть в слое «Admin 0 countries», который можно скачать с сайта Natural Earth. Сам слой является полигональным, поэтому я заранее сделал его точечную версию с помощью инструмента «pole of inaccessibility».
Информация о ВВП за 2019 год и о границах стран Африки есть в слое «Admin 0 countries», который можно скачать с сайта Natural Earth. Сам слой является полигональным, поэтому я заранее сделал его точечную версию с помощью инструмента «pole of inaccessibility».

Самый простой и быстрый способ установить размер точек в зависимости от значения атрибутов — зайти в свойства слоя, выбрать вкладку «Стиль», а в ней «Символизация по диапазонам значений». После чего выбираем колонку (1) из таблицы атрибутов и устанавливаем во вкладке «Метод» вариант «Размер» (2) и нажимаем «Классифицировать» (3).

Важно! Если при выборе колонки из таблицы атрибутов не высвечивается нужная вам, то ее тип данных не позволяет использовать данные для настройки значений. Для построения карты берутся колонки с типом данных real (число с плавающей точкой, то есть с дробной частью) или integer (целое число).
Теперь, когда вы научились самому быстрому способу задания размера точки в зависимости от значения атрибута, поговорим о неприятном минусе этого метода — громоздкой легенде на карте. Чтобы объяснить, покажу на примере.
Когда мы начнем оформлять макет карты, столкнемся с тем, что нам нужно будет разместить легенду и другие вспомогательные элементы: название, масштабную линейку, источники данных и т.д., и их может быть довольно много. Нам нужно будет уместиться в рамки листа карты таким образом, чтобы надписи были читаемыми, а символы различимыми.

Если мы просто добавим в легенду наш слой, то легенда займет много места. В некоторых случаях такой вариант будет нормально работать, но есть возможность сделать более элегантно (как на обложке статьи), хоть и не так быстро.
Медленно, но качественно: устанавливаем размер точки в зависимости от значения атрибутов
Для начала изменим стиль нашего слоя с «Символизация по диапазонам значений» на «Простая символика». Затем ищем пункт «Размер», нажимаем выпадающее меню (см. скрин ниже) и выбираем пункт «Подбор» в самом низу.

После этого выбираем нужную колонку в таблице атрибутов (1) и обновляем (2), чтобы было автоматически выставлено максимальное и минимальное значение из колонки. Затем устанавливаем минимальные и максимальные размеры точек на карте (3) и выбираем в поле «масштабировать» пункт «по площади».

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

Для этого заходим в свойства слоя — «Стиль» и ищем меню «Дополнительно», в котором нам нужно выбрать пункт «Размер условных определяется данными».
Далее выбираем тип «Свернутая легенда». Добавлять заголовок не советую, так как его тут неудобно выравнивать относительно легенды, как привычные «группы» или «подгруппы» легенды.
Затем ставим галочку напротив «Пользовательские размеры» классов и устанавливаем интересующие нас классы для отображения. Эти классы будут соответствовать размерам кругов в легенде.
Затем ставим галочку напротив «Пользовательские размеры» классов и устанавливаем интересующие нас классы для отображения. Эти классы будут соответствовать размерам кругов в легенде.


Теперь вы знаете сразу два варианта, как использовать в QGIS способ размерных символов. Первый вариант очень быстро настраивается, но не очень гибок в использовании и визуализации в легенде. Я чаще всего использую его, когда при работе со слоями легко ориентироваться в проекте и видеть, где значения больше, а где меньше. Второй вариант дольше в использовании, но он помогает аккуратнее оформить легенду, и он более гибкий в настройке
О важности масштабирования по площади, а не по радиусу
Почему я выбирал масштабирование по площади, а не по радиусу? Это важный нюанс, который нужно понимать, если вы хотите сделать честную карту.
Ключевым принципом отображения точек в зависимости от значения переменных является пропорциональность. Если одно значение больше другого в два раза, то тогда и значок должен быть в два раза больше. В случае с точкой или кругом, если мы будем увеличивать размер радиуса в два раза, то фактически размер круга (площадь) будет увеличиваться не в два раза, а в четыре.

Теперь, когда вы знаете, как работает увеличение круга по радиусу и по площади в зависимости от значения переменной, вы можете делать более честные карты. Но в то же время можете преувеличивать различия, если это нужно для вашей задачи.
Материал подготовил Александр Зуев