5.7. Настройка векторных стилей¶
Картостиль - это описание цветов, текстур, значков, толщины линий, подписей и прочих
особенностей отображения слоёв на экране. Эти настройки хранятся отдельно от географических
данных, их можно сохранять в отдельные файлы и копировать между слоями. Настройка
осуществляется через Слой ‣ Свойства слоя ‣ Оформление
или Слой ‣ Свойства слоя ‣ Подписи
. Для каждого слоя задаётся отдельное оформление.
5.7.1. Настройка оформления векторных слоёв¶
В описании об оформлении векторного слоя используется 3 типа символов:
Тип символов.
Тип символьного слоя.
Тип классификации.
Тип символа - символы различаются по типу: для точечных, линейных и полигональных
слоёв символы различаются. Это не изменяется. Сами символы могут состоять из одного или нескольких символьных слоёв.

Рис. 5.37. Примеры символов для точечных, линейных и полигональных слоёв.¶
Тип символьного слоя - задаёт способ заливки: цветом, штриховкой, SVG, маркерами, или способ рисования линии: пунктирная линия, линия из маркеров.

Рис. 5.38. Варианты типов символьного слоя доступные для точечных, линейных и полигональных слоёв.¶
Тип классификации - задаёт способ, как рисовать разные символы для разных объектов в одном слое: все одинаково или по-разному.

Рис. 5.39. Варианты типов классификации.¶
Для настройки стиля выделите нужный стиль в списке слоёв, и откройте окно настройки стиля:
Слой ‣ Свойства слоя ‣ вкладка Оформление
.

Рис. 5.40. Окно настройки стиля в режиме классификации Обычный знак, которое открывается по умолчанию.¶
Цифрами обозначено: 1. Список типов классификации. 2. Изображение знака. 3. Список символьных слоёв в текущем символе. 4. Кнопки добавления-удаления символьных слоёв.
Если в списке символьных слоёв выбрать один слой, то появится окно настроек символа. Его вид будет разным в зависимости от выбранного типа символьного слоя.
Совет
См. так же http://www.qgistutorials.com/ru/docs/basic_vector_styling.html.
5.7.2. Доступные типы символьных слоёв¶
Для точечных слоёв:
Символьный маркер: отрисовка с использованием определенного символа заданного шрифта.
Простой маркер: отрисовка с использованием одного из предустановленных маркеров.
SVG маркер: отрисовка с использованием SVG изображения.
Эллипс: отрисовка с использованием геометрических примитивов (эллипс, прямоугольник, треугольник, перекрестие).
Векторное поле: отрисовка векторным полем с использованием значений атрибутивной таблицы.
Для линейных слоёв:
Обрамление линии: добавляет элементы оформления, например, стрелку для указания направления линии.
Маркерная линия: отрисовка линии повторением маркерного символа.
Простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).
Для полигональных слоёв:
Отрисовка центроидов: отрисовка центроида полигона при помощи одного из предустановленных маркеров.
Заливка SVG-шаблоном: Заливка полигона SVG изображением.
Простая заливка: обычная отрисовка полигона (с определенным цветом заливки, шаблоном заливки и контуром).
Заливка штриховкой: заливка полигона линейной штриховкой.
Заливка маркерами: заливка полигона заданным маркером.
Обводка: обрамление линии: добавляет элементы оформления (например, кружки) к контуру полигона.
Обводка: маркерная линия: контур отрисовывается путем повторения маркерного символа.
Обводка: простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).
5.7.3. Доступные типы классификации слоев¶
Возможно выбрать один из пяти типов:
Обычный знак.
Уникальные значения.
Градуированный знак.
Правила.
Точки со смещением.
Обычный знак
Используется для отрисовки всех элементов слоя с использованием одного, определенного пользователем, символа. Свойства, которые можно задать во вкладке «Стиль», частично зависят от типа слоя.

Рис. 5.42. Диалог отрисовки обычным знаком.¶
Уникальные значения
Объекты с разным значением какого-нибудь атрибута рисуются разными цветами.
Отрисовка уникальными значениями используется для отрисовки всех элементов слоя единым, определенным пользователем, символом, цвет которого отражает значение выбранного атрибута элемента. Вкладка «Стиль» позволяет выбрать:
Поле (в списке полей).
Знак (в диалоге Выбор условного знака).
Градиент (в списке цветовых шкал).
Кнопка Дополнительно в нижнем левом углу окна позволяет указать поля с информацией о вращении и масштабе. Для удобства список в нижней части вкладки показывает значения всех заданных на данный момент атрибутов, включая символы, к которым в будущем будет применена отрисовка. Рисунок Рис. 5.43. иллюстрирует диалог отрисовки уникальными значениями из демонстрационного набора данных NextGIS QGIS:

Рис. 5.43. Диалог отрисовки уникальными значениями.¶
Можно создавать свои градиенты, выбрав «Новый градиент» из выпадающего списка «Градиент». В появившемся окне можно выбрать тип градиента: «Градиент», «Случайный» или «ColorBrewer», для каждого из которых можно задать желаемое количество цветов.
Градуированый знак
Цвет будет плавно изменяться в зависимости от числового значения какого-либо атрибута, но только числового типа. Если у вас в слое числа записаны в поле строкового типа, то в калькуяторе полей их можно сконвертировать в новое поле числового типа.

Рис. 5.44. Фрагмент диалога свойств слоя - Градуированный знак.¶
Правила
Используется для отрисовки всех элементов слоя с помощью символов, базирующихся на определенных правилах. Задаётся несколько выражений/правил. Каждое выражение выдаёт несколько записей и оформляется по-своему. Может быть разным не только цвет, но и другие параметры.
Точки со смещением
Только для точечных слоёв - рисуются кластеры. В данном стиле при задании значения Порога расстояния
между точками
(вкладка «Свойства слоя ‣ Стиль») точки группируются с учетом значения
Порога расстояния между точками. Далее при отображении на карте внутри группы точек
выбирается точка, вокруг которой выстраиваются остальные точки по кругу с радиусом,
соответствующим значению «Порога расстояния» между точками.

Рис. 5.45. Фрагмент карты после применения стиля «Точки со смещением».¶
Инвертированные полигоны
Только для полигональных слоёв. При использовании данного стиля (вкладка «Свойства слоя ‣ Стиль») происходит заливка цветом областей за пределами полигона (снаружи полигона), сам полигон остается прозрачным.

Рис. 5.46. Фрагмент карты До и После применения стиля «Инвертированные полигоны».¶
Создание теплокарт
Вся карта заливается фоновым цветом (можно сделать прозрачным). Вокруг каждой точки рисуется размытый круг, если рядом много точек, то круг более насыщенный.
В настройках градиента можно выбрать прозрачный цвет. Качество отрисовки обозначает размер пикселей.

Рис. 5.47. Исходные точки.¶

Рис. 5.48. Теплокарта с настройками по умолчанию.¶

Рис. 5.49. Свой градиент.¶

Рис. 5.50. Градиент, начинающийся с прозрачного цвета.¶

Рис. 5.51. Самый быстрый.¶

Рис. 5.52. Самый качественный.¶

Рис. 5.53. Дискретный градиент - качественный.¶

Рис. 5.54. Дискретный градиент - быстрый.¶

Рис. 5.55. Средний радиус.¶

Рис. 5.56. Занизить радиус.¶

Рис. 5.57. Завысить радиус.¶

Рис. 5.58. Максимальное значение - авто.¶

Рис. 5.59. Максимальное значение - занизить.¶

Рис. 5.60. Сложный градиент с промежуточными цветами.¶

Рис. 5.61. Взвешивание - автоматическое. Интенсивность обозначает концентрацию точек.¶

Рис. 5.62. Взвешивение - по атрибуту (количество мест). Интенсивность обозначает суммарное количество мест в заведениях.¶
5.7.4. Рисование своих условных обозначений в SVG¶
Если вам нужны специальные значки, то вы можете нарисовать их сами в формате svg, поместить файл в интернете, и поставить его URL в качестве пути к значку SVG.
SVG - открытый формат для векторных картинок, внутри него XML, описывающий линии и фигуры. Картинки в этом формате рисуются в Inkscape, CorelDRAW. Так же в принципе эти файлы можно писать вручную: http://svgpocketguide.com/book/ Большая коллекция значков в SVG есть на Wikimedia Commons - https://commons.wikimedia.org/wiki/Category:SVG_icons, туда можно добавлять и свои. Если вам например нужен логотип известной организации, то возможно он там есть.
Для добавления своего значка в стиль QGIS или в стиль для слоя nextgis.com нужно:
Поискать его на https://commons.wikimedia.org, и взять URL файла SVG.
Если значка под подходящей лицензией нет, то нарисовать его самому в Inkscape,
Поместить файл на какой-нибудь сервер видимый из Интернета. Если ваш значок не нарушает авторских прав, то логичнее всего поместить его на https://commons.wikimedia.org, что бы его могли использовать другие люди. Так же можно положить в свой репозиторий на github или gitlab.
Вставить URL файла SVG в окно настройки стиля –> путь к файлу SVG. Этот же стиль можно использовать и в nextgis.com
Если вы работаете только в QGIS, без nextgis.com, то можно использовать путь к файлу на жёстком диске, но это менее надёжно, потому что вы можете о нём забыть, перенести файл значка, и стиль перестанет рисоваться.
5.7.5. Эффекты отрисовки¶
Для всех режимов отображения можно задать эффекты отрисовки слоя - как например тень, свечение, внешнюю или внутреннюю линию.

Рис. 5.63. Фрагмент карты с различными отрисовками.¶
5.7.6. Сохранение стиля¶
Стиль можно сохранить в файл. В нём сохранится настройки оформления и настройки подписей.

Рис. 5.64. Диалог сохранения стиля.¶
В окне свойства стиля нажмите на кнопку «Стиль» (см. Рис. 5.64.).
По нажатию на кнопку «Сохранить настройки по умолчанию» стиль сохранится в формате qml в каталоге, где лежит слой, с тем же названием. Теперь, если вы будете добавлять этот слой как новый, то NextGIS QGIS подхватит этот стиль.
Пункт » Сохранить стиль» - позволяет сохранить его в другой файл, а так же в формат sld.
5.8. Оформление растровых слоёв¶
Для растровых слоёв существует 4 разных способа визуализации: два - для одноканальных растров, два - для многоканальных.
Примечание
Настройки оформления различаются для разных форматов. Большее количество настроек оформления существует для формата GeoTIFF, а для слоёв WMS и TMS настроек оформления меньше.
Многоканальное цветное
Используйте этот способ оформления, если у вас многоканальный растр, например - цветной космоснимок или скан карты в RGB.
Индексированое
Картинка рисуется по данным из одного выбранного канала растра. Каждое значение растра рисуется отдельно заданным цветом. Этот формат встречается редко. Если вы откроете растр в формате gif, то по умолчанию выставится этот режим.
Одноканальное серое
Картинка рисуется по данным из одного выбранного канала растра, чёрно-белой.
Рассмотрим настройки растрового стиля на самом простом примере - цифровой модели рельефа. Это - GeoTIFF, пикселы которого имеют только одно значение (одноканальный) - высоты в метрах. Если бы это была фотография - то пикселы имели бы 3 значения - количества красного, зелёного и синего цвета (трёхканальный).
Высота меняется в диапазоне до нескольких тысяч метров. Для хранения значения из такого диапазона нужно 16 бит. Если значения изменяются в диапазоне от 0 до 255 - то они укладываются в 8 бит и формат такого растра называется RGB.
После открытия растрового слоя, в окне настроек растрового стиля, в полях Мин
и Макс
выводятся крайние значения, которые встречаются в пикселах этого растра. Градиент заливки
распределяется между ними. Если их поменять вручную, то градиент заливки изменится.
Если нажать «Охват Текущий» и кнопку «Загрузить», то рассчитаются значения Мин
и Макс
для текущего охвата карты.
Одноканальное псевдоцветное
Картинка рисуется по данным из одного выбранного канала растра, по цветному градиенту. Используйте этот способ оформления, если у вас одноканальный растр, например - цифровая модель рельефа (DEM).
В полях Мин
и Макс
выводятся крайние значения, которые встречаются в пикселах этого растра.
Градиент заливки распределяется между ними. Если их поменять вручную, то градиент заливки изменится.
Если нажать «Охват Текущий» и кнопку «Загрузить», то рассчитаются значения Мин
и Макс
для текущего охвата карты.
При всех способах визуализации можно задавать прозрачность, яркость, контрастность и тонирование в цвет.
5.9. Настройка подписей¶
Подписи можно выводить у объектов векторных слоёв. Текст подписи можно брать либо из атрибута, либо рассчитывать выражением из значений нескольких атрибутов. Остальные свойства подписи - цвет, размер, положение, поворот - тоже можно получать из атрибутов.
Для настройки стиля выделите нужный стиль в списке слоёв и откройте окно настройки
стиля: Слой ‣ Свойства слоя ‣ вкладка Подписи
.
В открывшемся окне в списке режима подписей выберите «Показывать подписи» для этого слоя. Затем в списке «Подписывать значениями» выберите поле, из которого будет получаться надпись.
Настройки подписей можно сохранить в файл стиля NextGIS QGIS (формат qml), вместе с оформлением.
5.9.1. Вкладка «Текст»¶
На вкладке «Текст» вы можете выбрать гарнитуру шрифта, размер букв, использовать изменение регистра символов.

Рис. 5.65. Окно свойств подписей, вкладка «Текст».¶
5.9.2. Вкладка «Форматирование»¶
На вкладке «Форматирование» можно настроить количество знаков после запятой, выводимых из полей типа Real
,
и выравнивание многострочных подписей.

Рис. 5.66. Окно свойств подписей, вкладка «Форматирование».¶
Совет
Для переноса длинных подписей, рекомендуется в поле «Подписывать значениями» ввести формулу wordwrap(«NAME»,15) - подпись будет получаться из атрибута NAME, и делиться на части не менее 15 символов разделённые пробелами. Это более гибкий способ.

Рис. 5.67. Окно свойств подписей, настройка переноса текста.¶

Рис. 5.68. Пример переноса текста.¶
5.9.3. Вкладка «Буфер»¶
На вкладке «Буфер» можно настроить рисование закрашеной области вокруг букв. В этом режиме они будут видны на любом фоне.

Рис. 5.69. Окно свойств подписей, вкладка «Буфер».¶

Рис. 5.70. Пример подписи без буфера и с буфером.¶
5.9.4. Вкладка «Фон»¶
На вкладке «Фон» можно настроить рисование прямоугольного фона под надписями. В этом режиме карта начинает выглядеть более угловато и старомодно.

Рис. 5.71. Окно свойств подписей, вкладка «Фон».¶

Рис. 5.72. Пример подписи без фона и с фоном.¶
5.9.5. Вкладка «Тень»¶
На вкладке «Тень» можно настроить рисование тени под надписями. В этом режиме карта начинает выглядеть более сложно.

Рис. 5.73. Окно свойств подписей, вкладка «Тень».¶

Рис. 5.74. Пример подписи без тени и с тенью.¶
5.9.6. Вкладка «Размещение»¶
На вкладке «Размещение» можно настроить алгоритм, по которому подписи раздвигаются, что бы не накладываться друг на друга.
Так же имеется возможность передвигать вручную и поворачивать отдельные подписи.

Рис. 5.75. Окно свойств подписей, вкладка «Размещение».¶
При создании карт значительное время занимает подбор расположения подписей на карте. Это влияет на читаемость карты, и необходимый размер или масштаб. NextGIS QGIS обладает большими возможностями по автоматическому раздвиганию подписей. В зависимости от настроек зритель может быстрее и точнее считывать карту.
Для точечных слоёв

Рис. 5.76. Пример размещения точечных подписей в режиме Сartografic. Для точечных подписей это рекомендуемый алгоритм. Он делает как написано в учебниках: пытается сначала поставить подпись в правую-верхнюю сторону от точки.¶

Рис. 5.77. Пример размещения точечных подписей в режиме «Вокруг точки». Это старый алгоритм, который был до Cartografic.¶

Рис. 5.78. Пример размещения точечных подписей в режиме «На расстоянии от точки» без смещения. Подписи закрывают точки. Видно, что шоссе проходят прямо через Бутурлино.¶

Рис. 5.79. Пример размещения точечных подписей в режиме «На расстоянии от точки» со смещением. Все точки подписаны справа.¶
Для линейных слоёв

Рис. 5.80. Пример размещения линейных подписей в режиме «Поверх линий».¶

Рис. 5.81. Пример размещения линейных подписей в режиме «Над линиями». Обратите внимание, что такие надписи не загораживают трамвайные линии на улицах.¶

Рис. 5.82. Пример размещения линейных подписей в режиме «Над линиями» и «Под линиями». Так нарисовалось больше надписей.¶
Для полигональных слоёв

Рис. 5.83. Пример размещения линейных подписей в режиме «На расстоянии от центроида».¶

Рис. 5.84. Пример размещения линейных подписей в режиме «Вокруг центроида».¶

Рис. 5.85. Пример размещения линейных подписей в режиме «По периметру».¶

Рис. 5.86. Пример размещения линейных подписей в режиме «Горизонтальное».¶

Рис. 5.87. Пример размещения линейных подписей в режиме «Свободное».¶
5.9.7. Вкладка «Отрисовка»¶
На вкладке «Отрисовка» можно настроить алгоритм, по которому некоторые подписи скрываются, что бы не накладываться друг на друга.

Рис. 5.88. Окно свойств подписей, вкладка «Отрисовка».¶
5.9.8. Перемещение подписей¶
Если вам нужно управлять размещением подписей, то в NextGIS QGIS это можно делать 3 способами:
Простой способ: подобрать настройки в окне
Свойства стиля ‣ Подписи ‣ Размещение
. Имеется несколько разных алгоритмов, которые раздвигают подписи так, что бы они не загораживали друг друга.Старый способ: сделать отдельный точечный или линейный слой. Указать ему прозрачные цвета заливки и обводки, и выводить подписи из него.
Рекомендуемый способ: Добавить в слой через «Калькулятор полей» 2 поля с названием lx, ly, тип - дробный, размер 10, точность 8. В настройках подписей найти свойства X, Y, связать их с этими атрибутами, в основном окне NextGIS QGIS включить «Панель подписей», включить режим редактирования слоя, двигать отдельные подписи кнопкой «Переместить подпись».