Настройка векторных стилей#
Картостиль - это описание цветов, текстур, значков, толщины линий, подписей и прочих
особенностей отображения слоёв на экране. Эти настройки хранятся отдельно от географических
данных, их можно сохранять в отдельные файлы и копировать между слоями. Настройка
осуществляется через Слой ‣ Свойства слоя ‣ Стиль
или Слой ‣ Свойства слоя ‣ Подписи. Для каждого слоя задаётся отдельное стилевое оформление.
Настройка стиля векторных слоёв#
В описании стиля векторного слоя используется 3 типа символов:
Тип символов.
Тип символьного слоя.
Тип классификации.
Тип символа - символы различаются по типу: для точечных, линейных и полигональных слоёв символы различаются. Это не изменяется. Сами символы могут состоять из одного или нескольких символьных слоёв.
Рис. 1229. Примеры символов для точечных, линейных и полигональных слоёв.#
Тип символьного слоя - задаёт способ заливки: цветом, штриховкой, SVG, маркерами, или способ рисования линии: пунктирная линия, линия из маркеров.
Рис. 1230. Варианты типов символьного слоя доступные для точечных, линейных и полигональных слоёв.#
Тип классификации - задаёт способ, как рисовать разные символы для разных объектов в одном слое: все одинаково или по-разному.
Рис. 1231. Варианты типов классификации#
Для настройки стиля выделите нужный стиль в списке слоёв, и откройте окно настройки стиля:
Слой ‣ Свойства слоя ‣ Стиль.
Рис. 1232. Окно настройки стиля в режиме классификации Обычный знак, которое открывается по умолчанию.#
Цифрами обозначено: 1. Список типов классификации. 2. Изображение знака. 3. Список символьных слоёв в текущем символе. 4. Кнопки добавления-удаления символьных слоёв. 5. Параметры знака. 6. Библиотека знаков.
Если в списке символьных слоёв выбрать один слой, то появится окно настроек символа. Его вид будет разным в зависимости от выбранного типа символьного слоя.
Рис. 1233. Окно настроек символа#
Совет
См. так же http://www.qgistutorials.com/ru/docs/basic_vector_styling.html.
Доступные типы символьных слоёв#
Для точечных слоёв:
Эллипс: отрисовка с использованием геометрических примитивов (эллипс, прямоугольник, треугольник, перекрестие).
Маркер с заливкой: маркер представляет собой фигуру, имеющую контур и заливку (цвет, градиент, штриховка и т.п.).
Шрифтовой маркер: отрисовка с использованием определенного символа заданного шрифта.
Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.
Маска: используется для улучшения читаемости маркеров нескольких слоев, близких по цвету.
Растровый маркер: позволяет использовать в качестве маркера растровое изображение.
Простой маркер: (по умолчанию) отрисовка с использованием одного из предустановленных маркеров.
SVG маркер: отрисовка с использованием SVG изображения.
Маркер векторного поля: отрисовка векторным полем с использованием значений атрибутивной таблицы.
Для линейных слоёв:
Стрелка: добавляет элементы оформления, например, стрелку для указания направления линии.
Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.
Штрихи вдоль линии: линия отрисовывается повторяющимися короткими отрезками, перпендикулярными ее направлению.
Интерполированная линия: от одного конца линии к другому меняются ее толщина (или размер составляющих ее маркеров) и цвет.
Линия с градиентной заливкой: переход цвета перпендикулярно направлению линии.
Маркерная линия: отрисовка линии повторением маркерного символа.
Линия из растров: отрисовка линии повторением растрового изображения.
Простая линия: обычная отрисовка линии (с указанными шириной, цветом и стилем).
Для полигональных слоёв:
Отрисовка центроидов: отрисовка центроида полигона при помощи одного из предустановленных маркеров.
Генератор геометрии: при помощи синтаксических выражений позволяет генерировать геометрию в процессе отрисовки.
Градиентная заливка
Заливка штриховкой: заливка полигона линейной штриховкой.
Заливка точками: заливка полигона регулярно расположенными точками заданного вида.
Заливка маркерами со случайным размещением: заливка полигона заданными маркерами, разбросанными случайным образом.
Заливка растром: использование растрового изображения для заливки.
Заливка SVG узором: Заливка полигона SVG изображением.
Заливка градиентом из центра
Простая заливка: обычная отрисовка полигона (с определенным цветом заливки, шаблоном заливки и контуром).
Обводка: Стрелка: добавляет элементы оформления (например, кружки) к контуру полигона.
Обводка: Штрихи вдоль линии: контур отрисовывается повторяющимися короткими отрезками, перпендикулярными ее направлению.
Обводка: Интерполированная линия: от одного конца линии к другому меняются ее толщина (или размер составляющих ее маркеров) и цвет.
Обводка: Линия с градиентной заливкой: переход цвета перпендикулярно направлению контура.
Обводка: Маркерная линия: контур отрисовывается путем повторения маркерного символа.
Обводка: Линия из растров: отрисовка контура повторением растрового изображения.
Обводка: простая линия: обычная отрисовка контура (с указанными шириной, цветом и стилем).
Доступные типы классификации слоев#
Возможные типы классификации слоев зависят от типа геометрии слоя.
Для слоев с любой геометрией доступны следующие типы:
Без отрисовки
Простая символика (по умолчанию)
Символизация по уникальным значениям
Символизация по диапазонам значений
Символизация на основе правил
Встроенные символы (для слоев, содержащих встроенные стили)
Только для слоев с точками доступны помимо того:
Смещение накладывающихся точек
Кластеризация точек
Тепловая карта
Для слоев с линиями доступна также:
Символизация с автоматическим объединением объектов
Для слоев с полигонами доступны также:
Символизация с автоматическим объединением объектов
Инвертированные полигоны
2.5 D
Простая символика#
Используется для отрисовки всех элементов слоя с использованием одного, определенного пользователем, символа. Свойства, которые можно задать во вкладке «Стиль», частично зависят от типа слоя.
Рис. 1234. Диалог отрисовки обычным знаком#
Используемый знак или тип заливки может быть многоуровневым и состоять из комбинации разных элементов.
Пример комбинированной заливки
Задача: создать заливку полигона полосами двух цветов.
Нажмите на зеленый знак плюса справа и добавьте к простой заливке заливку штриховкой.
Задайте желаемый цвет и толщину линии штриховки.
Рис. 1235. Параметры линии, используемой в штриховке#
Перейдите к параметрам штриховки и задайте отступ между линиями. Для равномерных полос этот отступ должен быть в два раза больше толщины линии, заданной в шаге 2. Также здесь можно задать наклон линий.
Рис. 1236. Параметры штриховки#
Рис. 1237. Получившаяся заливка с полосами двух цветов#
Символизация по уникальным значениям#
Объекты с разным значением какого-нибудь атрибута рисуются разными цветами.
Отрисовка уникальными значениями используется для отрисовки всех элементов слоя единым, определенным пользователем, символом, цвет которого отражает значение выбранного атрибута элемента. Вкладка «Стиль» позволяет выбрать:
Поле (в списке полей).
Знак (в диалоге Выбор условного знака).
Градиент (в списке цветовых шкал).
Кнопка Дополнительно в нижнем левом углу окна позволяет указать поля с информацией о вращении и масштабе. Для удобства список в нижней части вкладки показывает значения всех заданных на данный момент атрибутов, включая символы, к которым в будущем будет применена отрисовка. Рисунок иллюстрирует диалог отрисовки уникальными значениями из демонстрационного набора данных NextGIS QGIS:
Рис. 1238. Диалог отрисовки уникальными значениями#
Можно создавать свои градиенты, выбрав «Новый градиент» из выпадающего списка «Градиент». В появившемся окне можно выбрать тип градиента: «Градиент», «Случайный» или «ColorBrewer», для каждого из которых можно задать желаемое количество цветов.
Символизация по диапазонам значений#
Цвет будет плавно изменяться в зависимости от числового значения какого-либо атрибута, но только числового типа. Если у вас в слое числа записаны в поле строкового типа, то в калькуяторе полей их можно сконвертировать в новое поле числового типа.
Рис. 1239. Фрагмент диалога свойств слоя - Градуированный знак#
Символизация на основе правил#
Используется для отрисовки всех элементов слоя с помощью символов, базирующихся на определенных правилах. Задаётся несколько выражений/правил. Каждое выражение выдаёт несколько записей и оформляется по-своему. Может быть разным не только цвет, но и другие параметры.
Рис. 1240. Фрагмент диалога свойств слоя - Символизация на основе правил#
Смещение накладывающихся точек#
Только для точечных слоёв. В данном стиле при задании значения расстояния между точками точки группируются с учетом значения расстояния между точками. Далее при отображении на карте внутри группы точек выбирается точка, вокруг которой выстраиваются остальные точки: по кругу, концентрическими кругами или в узлах сетки.
Рис. 1241. Фрагмент карты после применения стиля «Смещение накладывающихся точек»#
Кластеризация точек#
Только для точечных слоёв. Точки группируются с учетом заданного расстояния между ними. При отображении на карты на месте группы точек отображается один маркер с числом, показывающим количество точек в группе. При изменении масштаба точки перегруппируются.
Рис. 1242. Фрагмент карты после применения стиля «Кластеризация точек»#
Тепловая карта#
Вся карта заливается фоновым цветом (можно сделать прозрачным). Вокруг каждой точки рисуется размытый круг, если рядом много точек, то круг более насыщенный.
Рис. 1243. Исходные точки#
Рис. 1244. Теплокарта с настройками по умолчанию#
Параметры теплокарты можно настроить в свойствах слоя.
Рис. 1245. Настройки теплокарты#
В настройках градиента можно выбрать свои цвета, в том числе прозрачный.
Рис. 1246. Свой градиент#
Рис. 1247. Градиент, начинающийся с прозрачного цвета#
Градиент может быть как непрерывным, так и дискретным. Для того, чтобы настроить этот параметр, нажмите на изображение градиента.
Рис. 1248. Дискретный градиент#
Качество отрисовки обозначает размер пикселей.
Рис. 1249. Самый быстрый#
Рис. 1250. Самый качественный#
Рис. 1251. Дискретный градиент - качественный#
Рис. 1252. Дискретный градиент - быстрый#
Рис. 1253. Средний радиус#
Рис. 1254. Радиус увеличен#
Рис. 1255. Радиус уменьшен#
Рис. 1256. Максимальное значение - авто#
Рис. 1257. Максимальное значение занижено#
Рис. 1258. Сложный градиент с промежуточными цветами.#
Теплокарта может отражать не только плотность концентрации точек, но и другие параметры, для этого нужно выбрать соответствующий атрибут в поле «Взвешивание точек».
Рис. 1259. Взвешивание - автоматическое. Интенсивность обозначает концентрацию точек.#
Рис. 1260. Взвешивение - по атрибуту (количество мест). Интенсивность обозначает суммарное количество мест в заведениях.#
Символизация с автоматическим объединением объектов#
Доступна для полигональных и линейных слоев. Соприкасающиеся объекты объединяются и отрисовываются как один.
Рис. 1261. Обычный стиль: показаны границы районов#
Рис. 1262. Автоматическое объединение объектов: показана только общая внешняя граница города#
Инвертированные полигоны#
Только для полигональных слоёв. При использовании данного стиля (вкладка «Свойства слоя ‣ Стиль») происходит заливка цветом областей за пределами полигона (снаружи полигона), сам полигон остается прозрачным.
Рис. 1263. Фрагмент карты До и После применения стиля «Инвертированные полигоны».#
Этот стиль можно использовать, чтобы ограничить карту отдельным районом без обрезки данных, например, при создании макета для печати. Посмотрите, как это работает, в видео:
2.5 D#
Доступно только для полигональных слоев. Представляет полигоны как имеющие определенную толщину, с видимой сбоку «стенкой». Можно задать цвет и прозрачность «крыши» и «стенки» объемного полигона.
Рис. 1264. Районы города отрисованы в режиме 2.5D#
Рисование своих условных обозначений в SVG#
SVG - открытый формат для векторных картинок, внутри него XML, описывающий линии и фигуры.
Большая коллекция значков в SVG есть на Wikimedia Commons - https://commons.wikimedia.org/wiki/Category:SVG_icons, туда можно добавлять и свои. Если вам, например, нужен логотип известной организации, то возможно он там есть.
Чтобы использовать такой маркер, в QGIS в настройках SVG-маркера в выпадающем меню выберите «Из URL» и вставьте ссылку на файл. Этот же стиль можно использовать и в NextGIS Web.
Рис. 1265. Добавление SVG-маркера по ссылке#
Если вам нужны специальные значки, то вы можете нарисовать их сами. Картинки в формате SVG рисуются в Inkscape, CorelDRAW. Также эти файлы можно писать вручную: http://svgpocketguide.com/book/
Для добавления своего значка в стиль QGIS или в стиль для слоя NextGIS Web есть следующие варианты:
Встроить файл в стиль.
В QGIS в настройках SVG-маркера в выпадающем меню выберите «Встроить файл». Затем сохраните стиль. Значок будет встроен в него в виде стандартной строки base64.
Рис. 1266. Встраивание значка в стиль#
Если вы работаете только в QGIS, без nextgis.com, то можно использовать путь к файлу на жёстком диске, но это менее надёжно, потому что вы можете о нём забыть, перенести файл значка, и стиль перестанет рисоваться.
В ранее созданные стили, где указан путь к файлам на жёстком диске, значки SVG можно встроить пакетно с помощью инструмента NextGIS Toolbox.
Добавить маркер через библиотеку маркеров SVG в своей Веб ГИС.
Разместить файл в интернете и поставить его URL в качестве пути к значку SVG.
Если ваш значок не нарушает авторских прав, можно поместить его на https://commons.wikimedia.org, чтобы его могли использовать другие люди. Также можно положить файл в свой репозиторий на github или gitlab.
Рис. 1267. Пример использования кастомизированного значка#
Эффекты отрисовки#
Для всех режимов отображения можно задать эффекты отрисовки слоя - как например тень, свечение, внешнюю или внутреннюю линию.
Рис. 1268. Фрагмент карты с различными отрисовками#
Сохранение стиля#
Стиль можно сохранить в файл. В нём сохранится настройки оформления и настройки подписей.
Рис. 1269. Диалог сохранения стиля#
В окне свойства стиля нажмите на кнопку «Стиль».
По нажатию на кнопку «Сохранить настройки по умолчанию» стиль сохранится в формате QML в каталоге, где лежит слой, с тем же названием. Теперь, если вы будете добавлять этот слой как новый, то NextGIS QGIS подхватит этот стиль.
Пункт «Сохранить стиль» - позволяет сохранить его в другой файл, а так же в формат SLD.