7.8. Настройка векторных стилей

Картостиль - это описание цветов, текстур, значков, толщины линий, подписей и прочих особенностей отображения слоёв на экране. Эти настройки хранятся отдельно от географических данных, их можно сохранять в отдельные файлы и копировать между слоями. Настройка осуществляется через Слой Свойства слоя Стиль или Слой Свойства слоя Подписи. Для каждого слоя задаётся отдельное стилевое оформление.

7.8.1. Настройка стиля векторных слоёв

В описании стиля векторного слоя используется 3 типа символов:

  1. Тип символов.

  2. Тип символьного слоя.

  3. Тип классификации.

  • Тип символа - символы различаются по типу: для точечных, линейных и полигональных

слоёв символы различаются. Это не изменяется. Сами символы могут состоять из одного или нескольких символьных слоёв.

../../_images/styles_type1.png

Рис. 7.76. Примеры символов для точечных, линейных и полигональных слоёв.

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

../../_images/styles_layer_type_point_ru.png
../../_images/styles_layer_type_line_ru.png
../../_images/styles_layer_type_polygon_ru.png

Рис. 7.77. Варианты типов символьного слоя доступные для точечных, линейных и полигональных слоёв.

  • Тип классификации - задаёт способ, как рисовать разные символы для разных объектов в одном слое: все одинаково или по-разному.

../../_images/styles_type3_ru.png

Рис. 7.78. Варианты типов классификации

Для настройки стиля выделите нужный стиль в списке слоёв, и откройте окно настройки стиля: Слой Свойства слоя Стиль.

../../_images/styles_stylewindow_simple_ru.png

Рис. 7.79. Окно настройки стиля в режиме классификации Обычный знак, которое открывается по умолчанию.

Цифрами обозначено: 1. Список типов классификации. 2. Изображение знака. 3. Список символьных слоёв в текущем символе. 4. Кнопки добавления-удаления символьных слоёв. 5. Параметры знака. 6. Библиотека знаков.

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

../../_images/styles_stylewindow_fill_simple_ru.png

Рис. 7.80. Окно настроек символа

7.8.2. Доступные типы символьных слоёв

  • Для точечных слоёв:

    • Эллипс: отрисовка с использованием геометрических примитивов (эллипс, прямоугольник, треугольник, перекрестие).

    • Маркер с заливкой: маркер представляет собой фигуру, имеющую контур и заливку (цвет, градиент, штриховка и т.п.).

    • Шрифтовой маркер: отрисовка с использованием определенного символа заданного шрифта.

    • Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.

    • Маска: используется для улучшения читаемости маркеров нескольких слоев, близких по цвету.

    • Растровый маркер: позволяет использовать в качестве маркера растровое изображение.

    • Простой маркер: (по умолчанию) отрисовка с использованием одного из предустановленных маркеров.

    • SVG маркер: отрисовка с использованием SVG изображения.

    • Маркер векторного поля: отрисовка векторным полем с использованием значений атрибутивной таблицы.

  • Для линейных слоёв:

    • Стрелка: добавляет элементы оформления, например, стрелку для указания направления линии.

    • Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.

    • Штрихи вдоль линии: линия отрисовывается повторяющимися короткими отрезками, перпендикулярными ее направлению.

    • Интерполированная линия: от одного конца линии к другому меняются ее толщина (или размер составляющих ее маркеров) и цвет.

    • Линия с градиентной заливкой: переход цвета перпендикулярно направлению линии.

    • Маркерная линия: отрисовка линии повторением маркерного символа.

    • Линия из растров: отрисовка линии повторением растрового изображения.

    • Простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).

  • Для полигональных слоёв:

    • Отрисовка центроидов: отрисовка центроида полигона при помощи одного из предустановленных маркеров.

    • Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.

    • Градиентная заливка

    • Заливка штриховкой: заливка полигона линейной штриховкой.

    • Заливка точками: заливка полигона регулярно расположенными точками заданного вида.

    • Заливка маркерами со случайным размещением: заливка полигона заданными маркерами, разбросанными случайным образом.

    • Заливка растром: использование растрового изображения для заливки.

    • Заливка SVG узором: Заливка полигона SVG изображением.

    • Заливка градиентом из центра

    • Простая заливка: обычная отрисовка полигона (с определенным цветом заливки, шаблоном заливки и контуром).

    • Обводка: Стрелка: добавляет элементы оформления (например, кружки) к контуру полигона.

    • Обводка: Штрихи вдоль линии: контур отрисовывается повторяющимися короткими отрезками, перпендикулярными ее направлению.

    • Обводка: Интерполированная линия: от одного конца линии к другому меняются ее толщина (или размер составляющих ее маркеров) и цвет.

    • Обводка: Линия с градиентной заливкой: переход цвета перпендикулярно направлению контура.

    • Обводка: Маркерная линия: контур отрисовывается путем повторения маркерного символа.

    • Обводка: Линия из растров: отрисовка контура повторением растрового изображения.

    • Обводка: простая линия: обычная отрисовка контура (с указанными шириной, цветом и стилем).

7.8.3. Доступные типы классификации слоев

Возможные типы классификации слоев зависят от типа геометрии слоя.

Для слоев с любой геометрией доступны следующие типы:

  • Без отрисовки

  • Простая символика (по умолчанию)

  • Символизация по уникальным значениям

  • Символизация по диапазонам значений

  • Символизация на основе правил

  • Встроенные символы (для слоев, содержащих встроенные стили)

Только для слоев с точками доступны помимо того:

  • Смещение накладывающихся точек

  • Кластеризация точек

  • Тепловая карта

Для слоев с линиями доступна также:

  • Символизация с автоматическим объединением объектов

Для слоев с полигонами доступны также:

  • Символизация с автоматическим объединением объектов

  • Инвертированные полигоны

  • 2.5 D

Простая символика

Используется для отрисовки всех элементов слоя с использованием одного, определенного пользователем, символа. Свойства, которые можно задать во вкладке «Стиль», частично зависят от типа слоя.

../../_images/dialogue_rendering_simple_values_ru.png

Рис. 7.81. Диалог отрисовки обычным знаком

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

Пример комбинированной заливки

Задача: создать заливку полигона полосами двух цветов.

  1. Нажмите на зеленый знак плюса справа и добавьте к простой заливке заливку штриховкой.

  2. Задайте желаемый цвет и толщину линии штриховки.

../../_images/stripes_settings_width_ru.png

Рис. 7.82. Параметры линии, используемой в штриховке

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

../../_images/stripes_settings_offset_ru.png

Рис. 7.83. Параметры штриховки

../../_images/stripes_result.png

Рис. 7.84. Получившаяся заливка с полосами двух цветов

Символизация по уникальным значениям

Объекты с разным значением какого-нибудь атрибута рисуются разными цветами.

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

  1. Поле (в списке полей).

  2. Знак (в диалоге Выбор условного знака).

  3. Градиент (в списке цветовых шкал).

Кнопка Дополнительно в нижнем левом углу окна позволяет указать поля с информацией о вращении и масштабе. Для удобства список в нижней части вкладки показывает значения всех заданных на данный момент атрибутов, включая символы, к которым в будущем будет применена отрисовка. Рисунок Рис. 7.85. иллюстрирует диалог отрисовки уникальными значениями из демонстрационного набора данных NextGIS QGIS:

../../_images/dialogue_rendering_unique_values_ru.png

Рис. 7.85. Диалог отрисовки уникальными значениями

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

Символизация по диапазонам значений

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

../../_images/graduated_mark_ru.png

Рис. 7.86. Фрагмент диалога свойств слоя - Градуированный знак

Символизация на основе правил

Используется для отрисовки всех элементов слоя с помощью символов, базирующихся на определенных правилах. Задаётся несколько выражений/правил. Каждое выражение выдаёт несколько записей и оформляется по-своему. Может быть разным не только цвет, но и другие параметры.

../../_images/style_rule_line_ru.png

Рис. 7.87. Фрагмент диалога свойств слоя - Символизация на основе правил

Смещение накладывающихся точек

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

../../_images/styles_point_offset.png

Рис. 7.88. Фрагмент карты после применения стиля «Смещение накладывающихся точек»

Кластеризация точек

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

../../_images/styles_point_cluster_ru.png

Рис. 7.89. Фрагмент карты после применения стиля «Кластеризация точек»

Тепловая карта

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

../../_images/styles_heatmap_00.png

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

../../_images/styles_heatmap_01.png

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

Параметры теплокарты можно настроить в свойствах слоя.

../../_images/styles_heatmap_dialog_ru.png

Рис. 7.92. Настройки теплокарты

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

../../_images/styles_heatmap_02_owngradient.png

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

../../_images/styles_heatmap_03_gradienttransparent.png

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

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

../../_images/heatmap_discrete_ru.png

Рис. 7.95. Дискретный градиент

Качество отрисовки обозначает размер пикселей.

../../_images/styles_heatmap_04_quick.png

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

../../_images/styles_heatmap_05_quality.png

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

../../_images/styles_heatmap_06_discret-quality.png

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

../../_images/styles_heatmap_07_discret-quick.png

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

../../_images/styles_heatmap_08_bigradius.png

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

../../_images/styles_heatmap_09_smallradius.png

Рис. 7.101. Радиус увеличен

../../_images/styles_heatmap_10_radiusverybig.png

Рис. 7.102. Радиус уменьшен

../../_images/styles_heatmap_11_maxvalueauto.png

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

../../_images/styles_heatmap_11_maxvaluelow.png

Рис. 7.104. Максимальное значение занижено

../../_images/styles_heatmap_13_complexgradient.png

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

Теплокарта может отражать не только плотность концентрации точек, но и другие параметры, для этого нужно выбрать соответствующий атрибут в поле «Взвешивание точек».

../../_images/styles_heatmap_14_weightauto.png

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

../../_images/styles_heatmap_15_weightattr.png

Рис. 7.107. Взвешивение - по атрибуту (количество мест). Интенсивность обозначает суммарное количество мест в заведениях.

Символизация с автоматическим объединением объектов

Доступна для полигональных и линейных слоев. Соприкасающиеся объекты объединяются и отрисовываются как один.

../../_images/styles_all_outlies_ru.png

Рис. 7.108. Обычный стиль: показаны границы районов

../../_images/styles_merged_ru.png

Рис. 7.109. Автоматическое объединение объектов: показана только общая внешняя граница города

Инвертированные полигоны

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

../../_images/styles_inverted_polygons.png

Рис. 7.110. Фрагмент карты До и После применения стиля «Инвертированные полигоны».

2.5 D

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

../../_images/style_2point5D_ru.png

Рис. 7.111. Районы города отрисованы в режиме 2.5D

7.8.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 нужно:

  1. Поискать его на https://commons.wikimedia.org, и взять URL файла SVG.

  2. Если значка под подходящей лицензией нет, то нарисовать его самому в Inkscape,

  3. Поместить файл на какой-нибудь сервер видимый из Интернета. Если ваш значок не нарушает авторских прав, то логичнее всего поместить его на https://commons.wikimedia.org, что бы его могли использовать другие люди. Так же можно положить в свой репозиторий на github или gitlab.

  4. Вставить URL файла SVG в окно настройки стиля –> путь к файлу SVG. Этот же стиль можно использовать и в nextgis.com

Если вы работаете только в QGIS, без nextgis.com, то можно использовать путь к файлу на жёстком диске, но это менее надёжно, потому что вы можете о нём забыть, перенести файл значка, и стиль перестанет рисоваться.

../../_images/webmap_svg_ru.png

Рис. 7.112. Пример использования кастомизированного значка

7.8.5. Эффекты отрисовки

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

../../_images/styles_effects.png

Рис. 7.113. Фрагмент карты с различными отрисовками

7.8.6. Сохранение стиля

Стиль можно сохранить в файл. В нём сохранится настройки оформления и настройки подписей.

../../_images/styles_save_ru.png

Рис. 7.114. Диалог сохранения стиля

В окне свойства стиля нажмите на кнопку «Стиль» (см. Рис. 7.114.).

По нажатию на кнопку «Сохранить настройки по умолчанию» стиль сохранится в формате qml в каталоге, где лежит слой, с тем же названием. Теперь, если вы будете добавлять этот слой как новый, то NextGIS QGIS подхватит этот стиль.

Пункт » Сохранить стиль» - позволяет сохранить его в другой файл, а так же в формат sld.