Outdated version of the documentation. Find the latest one here.

Свойства векторного слоя

Диалог Свойства слоя для векторного слоя предоставляет информацию о слое, настройках символики и подписей. Если ваш векторный слой был загружен из хранилища PostgreSQL/PostGIS, вы также можете изменить лежащий в его основе запрос SQL, вызвав диалог Построитель запросов во вкладке Общие. Чтобы вызвать диалог Свойства слоя, дважды щелкните мышью на слое в легенде или сделайте щелчок правой кнопкой мышки на нем и выберите Свойства в контекстном меню.

Figure Vector Properties 1:

../../../_images/vectorLayerSymbology.png

Vector Layer Properties Dialog nix

Стиль

symbology Начиная с версии QGIS 1.4.0, параллельно со старой символикой была внедрена новая символика. Символика нового поколения содержит множество улучшений и новых функций и заместит текущую («старую») символику в одной из предстоящих версий. QGIS 1.8.0 по умолчанию использует новую символику.

Описание «старой» символики можно найти в разделе «Старая» символика.

Существует три типа символов: маркерные символы (для точек), линейные символы и символы заполнения (для полигонов). Символы могут состоять из одного или нескольких символьных слоёв. Можно установить цвет символа, и этот цвет установится для всех символьных слоёв. Цвет некоторых слоёв может быть заблокированным — для этих слоёв цвет изменять запрещается. Это полезно, когда вы устанавливаете цвет для символа, состоящего из нескольких слоев. Подобным образом можно устанавливать ширину линейных символов, а также размер и угол маркерных символов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Заливка маркерами: заливка полигона заданным маркером.

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

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

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

Цветовые шкалы

Цветовые шкалы применяются для задания диапазона цветов, использующихся при отрисовке. Цвет символа будет установлен из цветовой шкалы.

Существует три типа цветовых шкал:

  • Градиент: линейный градиент одного цвета к другому.

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

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

Цветовые шкалы можно задать на вкладке Градиент диалога Управление стилями, нажав на кнопку [Добавить] и затем выбрав тип цветовой шкалы (см. раздел Управление стилями).

Стили

Группы стилей — это множество различных символов и цветовых шкал. Вы можете определить предпочтительные для вас или часто используемые символы, и в дальнейшем использовать их без необходимости создавать каждый раз заново. Элементы стиля (символы и цветовые шкалы) всегда имеют имена, по которым их можно получить из стиля. В QGIS имеется один (изменяемый) стиль по умолчанию, а пользователь может добавлять дополнительные стили. В нижней части вкладки Стиль находится четыре кнопки для управления стилями. Нажатие кнопки [Восстановить по умолчанию] вернёт настройки стиля в исходное состояние, [Сохранить по умолчанию] сохранит текущий стиль в качестве стиля по умолчанию, [Загрузить стиль..] для загрузки стилей из внешних файлов и [Сохранить стиль...] для сохранения стиля в файл. Оформление одного слоя можно применить к другому слою. Выделите в легенде слой и выберите в меню Слой ‣ mActionEditCopy Копировать стиль, затем переключитесь (выберите) на другой слой и в меню выберите Слой ‣ mActionEditPaste Вставить стиль.

Отрисовка (тип легенды)

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

Использование символики нового поколения

Вкладка Стиль позволяет выбрать один из пяти типов легенды: «Обычный знак», «Уникальные значения» (категории), «Градуированный знак», «Правила» и «Точки со смещением». Для каждого из видов геометрии (точки, линии или полигоны) доступны соответствующие символьные слои (см. vector_symbol_types). В зависимости от выбранного типа легенды, вкладка Стиль предоставляет различные настройки и опции, которые будут описаны в следующих разделах. Кроме того, на этой вкладке новой символики присутствует кнопка [Управление стилями], нажатие которой вызывает окно управления стилями (см. раздел Управление стилями). В окне управления стилями можно редактировать и удалять существующие стили или создавать новые.

Совет

Изменение нескольких стилей

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

Отрисовка обычным знаком

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

Figure Symbology 1:

../../../_images/singlesymbol_ng_line.png

Single symbol line properties nix

Помимо общей прозрачности слоя на вкладке Стиль также можно задать используемые единицы для размеров (миллиметры или единицы карты). Здесь же указываются определяемые данными масштаб и вращение знака (соответствующие настройки доступны по нажатию на кнопку [Дополнительно]). Выборе пункта Уровни знака позволяет настроить порядок отображения символьных слоёв, если их в знаке несколько.

После внесения любых необходимых изменений, символ можно добавить к списку текущих символов стиля (с помощью кнопки [Добавить к стилю], и потом им можно будет легко пользоваться в будущем. Кроме того, кнопка [Сохранить стиль] позволяет сохранить стиль в файл стиля QGIS (.qml) или Styled Layer Descriptor (SLD, .sld). В версии 1.8 в формат SLD можно экспортировать любой тип стилей: обычный знак, уникальные значеия, градуированный знак или правила, но при сохранении в формат SLD создаётся либо обычный знак либо правила. Это значит, что градуированный знак и уникальные значения конвертируются в правила. Если вы хотите сохранить именно эти типы стилей, то используйте формат QML. С другой стороны, в некоторых случаях возможность простой конвертации в правила может оказаться весьма кстати.

Отрисовка уникальными значениями

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

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

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

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

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

Рисунок figure_symbology_2 иллюстрирует диалог отрисовки уникальными значениями на примере слоя рек из демонстрационного набора данных QGIS.

Figure Symbology 2:

../../../_images/categorysymbol_ng_line.png

Categorized Symbolizing options nix

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

Figure Symbology 3:

../../../_images/customColorRampGradient.png

Example of custom gradient color ramp with multiple stops nix

Отрисовка градуированным знаком

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

Figure Symbology 4:

../../../_images/graduatesymbol_ng_line.png

Graduated Symbolizing options nix

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

Как и в случае отрисовки категориями, вкладка Стиль позволяет выбрать:

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

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

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

Кроме этого, вы можете задать количество классов, а также режим классификации элементов внутри класса (в списке режимов). Доступны следующие режимы:

  • Равные интервалы

  • Квантили

  • Естественные интервалы (Дженкс)

  • Стандартное отклонение

  • Наглядные интервалы

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

Рисунок figure_symbology_4 иллюстрирует диалог отрисовки градуированным знаком на примере слоя рек из демонстрационного набора данных QGIS.

Отрисовка на основе правил

Используется для отрисовки всех элементов слоя с помощью символов, базирующихся на определенных правилах. Цвет символов отражает соответствие выбранного атрибута элемента некоторому классу. В основе правил лежат выражения SQL, для их создания можно использовать Конструктор запросов. Диалог позволяет выполнять группировку правил по фильтру или масштабу, а также настроить использование уровней знака и использование только первого подошедшего правила.

Рисунок figure_symbology_5 иллюстрирует диалог отрисовки по заданным правилам на примере слоя рек из демонстрационного набора данных QGIS.

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

Figure Symbology 5:

../../../_images/rulesymbol_ng_line.png

Rule-based Symbolizing options nix

Смещение точек

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

Figure Symbology 6:

../../../_images/poi_displacement.png

Point displacement dialog nix

Свойства знака

Диалог Свойства знака дает пользователю возможность задать различные свойства для символа. В левой верхней части диалога («Предварительный просмотр») вы найдете уменьшенную копию текущего символа в том виде, в котором он будет отображен на карте. Под уменьшенной копией расположен список символьных слоёв («Слои условного знака») . Для открытия диалога свойств символа нажмите кнопку [ mActionOptions Изменить...] вкладки Стиль диалога Свойства слоя.

Копки диалога дают возможность добавлять и удалять слои, изменять их положение, а также, при необходимости, запретить их изменение («Заблокировать цвет слоя»). В правой части диалога показаны настройки, применяемые к простому символьному слою из соответствующего списка. Наиболее важной частью диалога является выпадающий список типов символьного слоя. Список допустимых значений зависит от типа слоя (точечный, линейный, полигональный). Возможные типы символьных слоёв описаны в разделе vector_symbol_types. Свойства символьного слоя можно изменить в правой части диалога. Например, если выбран символьный слой «SVG-маркер» для точечного слоя, то можно изменить его цвет при помощи кнопки Цвет.

Figure Symbology 7:

../../../_images/symbolproperties1.png

Line composed from three simple lines nix

Управление стилями

Менеджер стилей — это простое вспомогательное приложение, предоставляющее пользователю доступные символы и цветовые шкалы для того или иного стиля. Это приложение также позволяет добавлять и/или удалять элементы. Для его запуска выберите пункт меню Установки ‣ Управление стилями. Кроме того, его можно вызвать из вкладки Стиль диалога свойств векторного слоя.

Figure Symbology 10:

../../../_images/stylemanager.png

Style Manager to manage symbols and color ramps nix

«Старая» символика

Примечание

Хотя QGIS 1.8 все ещё поддерживает «старую» символику, рекомендуется использовать новую символику, описанную в разделе vector_new_symbology, т.к. в одной из следующих версий «старая» символика будет удалена.

Переключиться на использование «старой» символики можно нажав кнопку [Старая символика] на вкладке Стиль диалогового окна Свойства слоя.

Включить использование «старой» символики по умолчанию можно сбросив флажок checkbox Использовать новую реализацию отрисовки условных знаков на вкладке Отрисовка из меню Установки ‣ Параметры.

В «старой» символике доступны следующие рендеры:

  • Обычный знак — единый стиль применяется к каждому объекту слоя.

  • Градуированный знак — объекты слоя отображаются различными символами, которые определяются значениями определенного поля.

  • Непрерывный цвет — объекты слоя отображаются цветами из диапазона, который определяется числовыми значениями указанного поля.

  • Уникальное значение — объекты классифицируются уникальными значениями указанного поля, где каждому значению соответствует различный символ.

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

Параметры стиля

В диалоге вы можете задать стиль векторного слоя. В зависимости от выбранного варианта легенды, имеется возможность также классифицировать объекты карты.

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

  • Стиль заливки — кроме имеющихся типов заливки, вы можете выбрать Стиль заливки selectstring «Текстура» и щелкнуть на кнопке browsebutton для выбора вашего собственного файла текстуры. На данный момент поддерживаются форматы *.jpeg, *.xpm и *.png.

  • Цвет заливки — цвет заливки объектов.

  • Параметры обводки

    • Стиль контура — стиль контура объекта. Вы можете также установить значение «Нет» для этой опции.

    • Цвет контура — цвет контура вашего объекта.

    • Толщина — толщина ваших объектов.

Однажды определив стиль своего слоя, вы можете сохранить этот стиль в отдельном файле (с расширением *.qml). Чтобы сделать это, используйте кнопку [Сохранить стиль...]. Нет необходимости напоминать, что нажатие кнопки [Загрузить стиль...] приведет к загрузке вашего сохраненного файла стиля слоя.

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

Прозрачность вектора

QGIS позволяет устанавливать прозрачность для каждого векторного слоя. Это можно сделать при помощи ползунка Прозрачность slider во вкладке Стиль. Это бывает полезно при наложении нескольких векторных слоёв.

Подписи

labels Как и в случае с символикой, QGIS 1.8 предоставляет две реализации подписей: новую и старую. Вкладка Подписи предоставляет интерфейс к старой реализации подписей. В следующих версиях старая символика будет удалена.

Рекомендуется использовать новую реализацию подписей, описанную в разделе Новый стиль подписей.

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

  1. Загрузите в QGIS shape-файл alaska.shp и GML-файл lakes.gml

  2. Немного увеличьте интересующую вас область с каким-либо озером

  3. Сделайте слой lakes активным

  4. Откройте диалог Свойства слоя

  5. Щёлкните на вкладке Подписи

  6. Установите флажок checkbox Показывать подписи

  7. Выберите поле, являющийся источником значений для подписей. В нашем случае мы в выпадающем списке Поле, содержащее подпись selectstring выбрали начение NAMES

  8. Введите значение по умолчанию, которое будет использоваться всякий раз, когда QGIS обнаружит озеро, у которого отсутствует значение в поле NAMES

  9. Если у вас имеются подписи, распространяющиеся на несколько линий, установите флажок checkbox Разбивать подписи на строки?. QGIS проверит поле подписей на наличие переходов на новую строку и вставит разрывы строк в нужных местах. Переходом на новую строку считается одиночный символ \n (а не два отдельных символа, такие, как символ обратного слеша «\» за которым следует символ «n»). Для вставки разрывов строки при использовании формы редактирования поле подписей должно быть сконфигурировано как «Текстовое поле», а не как «Строчное редактирование».

  10. Нажмите [Применить].

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

Перейдите к групе Шрифт и установите шрифт и цвет с помощью кнопок [Шрифт] и [Цвет]. Вы также можете изменить угол наклона и расположение текста подписи.

Для смены позиции текста относительно элемента:

  1. Измените расположение подписей, выбрав одну из кнопок группы Размещение. Для того, чтобы сделать подписи неподвижными, выберите кнопку radiobuttonon Справа.

  2. в группе Единицы измерения размера шрифта можно выбрать между radiobuttonon Пунктами и radiobuttonoff Единицами карты.

  3. Нажмите кнопку [Применить], чтобы увидеть результаты изменений, не выходя из диалога.

Смотрится лучше, но подписи все еще расположены слишком близко к маркеру. Для того, чтобы исправить это, мы можем использовать опции группы Смещение. Здесь мы можем добавить смещение по координатам X и Y. Смещение по координате X на 5 единиц сдвинет подписи в сторону от маркеров и сделает их более читаемыми. Естественно, если шрифт вашего маркерного символа больше, то требуется и большее смещение.

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

  1. Щёлкнуть на вкладке Параметры подписей.

  2. Выбрать размер буфера в счетчике.

  3. Выбрать цвет, нажав на кнопку [Цвет] и выбрав желаемый в окне выбора цвета. При желании можно установить нужное значение прозрачности для буфера.

  4. Нажать [Применить], чтобы увидеть результат внесенных изменений.

Если вы не удовлетворены результатами, измените настройки и протестируйте снова, нажав кнопку [Применить].

Буфер размером в 1 пункт обычно дает неплохой результат. Обратите внимание, что вы можете также задать размер буфера в единицах измерения карты, если вам кажется, что так будет лучше.

Оставшиеся группы во вкладке Дополнительно позволяют устанавливать параметры подписей с использованием полей слоя.

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

Новый стиль подписей

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

Использование нового стиля подписей

  1. Запустите QGIS и загрузите точечный, линейный или полигональный векторный слой

  2. Сделайте слой активным в легенде и нажмите на иконку mActionLabeling Подписи на панели инструментов QGIS.

Создание подписей для точечных слоёв

Первым шагом является установка флага checkbox Подписывать объекты значениями поля и выбор атрибутивной колонки, используемой в качестве источника подписей. Нажмите кнопку browsebutton, если хотите использовать подписи на основе выражений. После этого вы можете указать стиль текста и видимость подписи в пределах масштаба на вкладке Параметры подписи (см. Figure_labels_1 ). Переключитесь на вкладку Дополнительно чтобы задать размещение подписи и её приоритета. Также можно указать, необходимо ли подписывать части составных объектов и могут ли подписи перекрывать объекты. Здесь же указывается символ, используемый в качестве разрыва строки для многострочных подписей. Вкладка Параметры из данных слоя позволяет использовать определяемые атрибутами настройки шрифта, положения и буферизации.

Figure Labels 1:

../../../_images/label_points.png

Smart labeling of vector point layers nix

Создание подписей для линейных слоёв

Первым шагом является установка флага checkbox Подписывать объекты значениями поля в диалоговом окне Параметры подписей слоя и выбор атрибутивной колонки, используемой в качестве источника подписей. После этого вы можете указать стиль текста и видимость подписи в пределах масштаба. Расширенные настройки доступны на вкладке Дополнительно. Здесь можно задать размещение подписи (в т.ч. ориентацию), её приоритет. Также можно указать, необходимо ли подписывать части составных объектов, объединять ли связанные линии, и нужно ли отображать символ направления (см. рисунок Figure_labels_2). Кроме того можно указать символ используемый для создания многострочных подписей и ограничить число подписанных объектов. На вкладке Параметры из данных слоя задаются, определяемые атрибутами настройки подписей.

Figure Labels 2:

../../../_images/label_line.png

Smart labeling of vector line layers nix

Создание подписей для полигональных слоёв

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

Figure Labels 3:

../../../_images/label_area.png

Smart labeling of vector polygon layers nix

Изменение параметров алгоритма размещения подписей

Вы также можете нажать кнопку [Параметры алгоритма] и выбрать метод, используемый для поиска наилучшего места для подписи. Доступные методы: Chain, Popmusic Tabu, Popmusic Chain, Popmusic Tabu Chain и FALP.

Figure Labels 4:

../../../_images/label_engine.png

Dialog to change label engine settings nix

Более того, можно задать количество возможных подписей при данном методе поиска отдельно для точечных, линейных и полигональных элементов, а также необходимо ли показывать все подписи (включая перекрывающиеся подписи) и необходимо ли показывать возможные подписи (для отладки).

Ключевые слова, используемые при подписывании

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

  • Горизонтальное выравнивание: left, center, right

  • Вертикальное выравнивание: bottom, base, half, top

  • Цвет: задается в шеснадцатеричной форме, например #ff0000

  • Начертание (жирный, подчеркнутый, зачеркнутый или курсив)}: 0 = false 1 = true

Таже можно использовать комбинации ключевых слов, например: base right или bottom left.

Поля

attributes Во вкладке Поля можно изменять атрибуты выбранного набора данных. Кнопки mActionNewAttribute Добавить поле и mActionDeleteAttribute Удалить поле можно использовать, если данные находятся в mActionToggleEditing Режиме редактирования.

В данный момент можно удалять и добавлять только поля слоёв PostGIS. Библиотека OGR позволяет добавлять новые поля и удалять существующие, если у вас установлена версия GDAL >= 1.9.

Элемент редактирования

Figure Fields 1:

../../../_images/editwidgetsdialog.png

Dialog to select an edit widget for an attribute column nix

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

  • Строчное редактирование: Поле, позволяющее вводить простой текст (или числа для числовых атрибутов).

  • Классификация: Отображает выпадающий список значений, используемых для классификации, если вы выбрали «Уникальные значения» в качестве типа легенды во вкладке Стиль.

  • Диапазон: Позволяет вводить числовые значения из указанного диапазона. Элемент редактирования может быть либо «ползунком», либо числовым полем ввода.

  • Уникальные значения: Пользователь может выбрать одно из значений, уже используемых для атрибута. Если активирован параметр «Поле ввода», то будет использоваться поле ввода с автодополнением, иначе будет использоваться выпадающий список.

  • Имя файла: Упрощает процесс выбор файлов за счёт добавления соответствующего диалога.

  • Карта значений: Выпадающий список с предопределенными значениями. Значение сохраняется в атрибуте, описание выводится в списке. Значения задаются вручную, берутся из атрибутивной таблицы слоя или загружаются из файла CSV.

  • Перечень: Выпадающий список значений, допустимых для данного типа поля. На данный момент эта функциональность доступна только для слоёв PostGIS.

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

  • Скрытый: Скрытый атрибут не будет виден пользователю.

  • Флажок: Значение для активированного состояния, значение для неактивированного состояния.

  • Текстовое поле: Текстовое поле, позволяющее ввод многострочного текста.

  • Календарь: Календарь для ввода даты. Столбец должен иметь тип text.

  • Связанное значение: позволяет выбирать значения из связанной таблицы в выпадающем списке. Необходимо указать таблицу, ключево поле и поле значений.

  • Генератор UUID: атрибут только для чтения, в которое будет записан UUID (Universally Unique Identifiers), если поле пустое.

Общие

general Вкладка Общие очень схожа с аналогичной вкладкой диалога свойств растрового слоя. Она позволяет:

  • изменять отображаемое в легенде имя слоя

  • устанавливать поле, используемое для подписывания объектов в диалоге Результат определения

  • указать форму для редактирования созданную при помощи Qt Designer или QtCreator и инструментов http://qt.digia.com/Product/Developer-Tools/

  • Cоздавать пространственный индекс для векторного файла (только для форматов, поддерживаемых OGR и PostGIS)

  • Добавить [Функцию инициализации] слоя. Такая функция переопределит существующие методы инициализации элементов редактирования

  • обновить информацию об охвате слоя, при помощи кнопки [Обновить границы]

  • просматривать или изменять проекцию определенного векторного слоя, нажав на кнопку [Система координат]

Кроме того, можно активировать флажок checkbox Видимость в пределах масштаба,задать некоторые параметры провайдера (например, используемую кодировку) и при помощи кнопки [Конструктор запросов] задать подмножество видимых элементов слоя (см. также Выделение при помощи запроса).

Figure General 1:

../../../_images/vector_general_tab.png

General tab in vector layers properties dialog nix

Метаданные

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

Дополнительно можно добавить или отредактировать наименование и описание слоя. Эта информация будет сохранена в файле проекта QGIS и может использоваться сервером QGIS.

Figure Metadata 1:

../../../_images/vector_metadata_tab.png

Metadata tab in vector layers properties dialog nix

Действия

action QGIS позволяет выполнять действия с использованием атрибутов элемента. Эту вкладку можно использовать для выполнения любого количества действий, например, запуск программы с параметрами, взятыми из атрибутов элемента, или передача параметров в веб-утилиту генерации отчётов.

Figure Actions 1:

../../../_images/action_dialog.png

Overview action dialog with some sample actions nix

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

  • действия «Стандартное», «Приложение Mac», «Приложение Windows» и «приложение Unix» запускают внешнее приложение

  • «Приложение Python» выполняет код Python

  • действия «Стандартное» и «Приложение Python» доступны на всех платформах

  • Действия «Приложение Mac», «Приложение Windows» и «Приложение Unix» доступны только на соответствующих платформах (например, можно определить три действия «редактировать» для открытия редактора, но пользователь будет видеть и сможет выполнять только одно действие для своей платформы).

В диалоге имеется несколько примеров. Загрузить из можно нажав кнопку [Добавить действия по умолчанию]. Примером может служить выполнение поиска по значению атрибута. Эта концепция обсуждается ниже.

Задание действий

Действия с использованием атрибутов задаются в диалоге Свойства слоя. Чтобы задать действие, откройте диалог Свойства слоя векторного слоя и перейдите во вкладку Действия. Выберите тип действия «Стандартное» и укажите наглядное имя для действия. Действие само по себе должно содержать имя приложения, которое запустится при вызове действия. Вы можете добавить одно или несколько атрибутивных полей в качестве аргументов запускаемого приложения. Когда действие вызовется, любое множество символов, начинающихся с %, за которым следует имя поля, будет заменено на соответствующее значение этого поля. Специальные символы %% заменяются значением поля, которое выбирается из результатов идентификации или атрибутивной таблицы (см. using_actions ниже). Для группировки текста в единый аргумент программы, скрипта или команды можно использовать двойные кавычки. Двойные кавычки игнорируются в случае, если им предшествует символ обратного слеша.

Если какие-то из имен полей являются подстроками других имен полей (например, col1 и col10), вам следует указать это, заключив имя поля (и символ %) в квадратные скобки (например, [%col10]). Это позволит не путать поле %col10 с полем %col1 и 0 на конце. QGIS удаляет скобки во время замены названия поля на его значение. Если вы хотите, чтобы замещенное поле было заключено в квадратные скобки, используйте сигнатуру наподобие этой: [[%col10]].

Диалог Результаты идентификации включает в себя элемент (Выведенные), содержащий соответствующую типу слоя информацию. Значения этого элемента можно получить схожим с другими полями образом — поставив перед именем наследуемого поля (Выведенные). Например, точечный слой имеет поля X и Y, значения этих полей можно использовать в действии в качестве параметров %(Выведенные).X и %(Выведенные).Y. Наследуемые атрибуты доступны только из диалога Результаты идентификации, и, соответственно, недоступны из диалога Таблица атрибутов.

Два примера действий показаны ниже:

  • konqueror http://www.google.com/search?q=%nam
  • konqueror http://www.google.com/search?q=%%

В первом примере вызывается веб-браузер konqueror и передается URL, который необходимо в нем открыть. URL выполняет поиск в Google по значению поля nam нашего векторного слоя. Обратите внимание, что запускаемое приложение или вызываемый скрипт должны находиться в текущей директории, иначе вы должны указывать полный путь. Чтобы убедиться, что действие выполнится правильно, мы можем переписать первый пример как: /usr/bin/konqueror http://www.google.com/search?q=\%nam. Это обеспечит запуск приложения konqueror при вызове действия.

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

Использование действий

Действия вызываются либо из диалогов Результаты идентификации или Таблица атрибутов (вызвать эти диалоги можно, нажав на mActionIdentify Определить объекты или mActionOpenTable Открыть таблицу атрибутов). Чтобы вызвать действие, щёлкните правой кнопкой мыши на записи и выберите действие из контекстного меню. Действия указаны в контекстном меню с именами, которые вы им назначили во время задания действий. Щёлкните на действии, которое вы хотите вызвать.

Если вы вызываете действие, использующее нотацию %%, выполните правый щелчок на значении поля, которое вы хотите передать приложению или скрипту, в диалоге Результаты идентификации или в диалоге Таблица атрибутов.

Здесь приведен другой пример, иллюстрирующий процесс записи данных векторного слоя в файл с использованием bash и комманды echo (так что он будет работать только в nix или (возможно) osx). Используемый в примере слой имеет поля имени taxon_name, широты lat и долготы long. Для того чтобы записать значения этих полей в текстовый файл, необходимо вызвать следующее действие:

bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

После вызова этого действия для нескольких записей таблицы, результирующий файл будет выглядеть примерно так:

Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000

В качестве упражнения мы создадим действие, выполняющее поиск в Google по слою lakes. Для начала, нам необходимо указать URL, необходимый для выполнения поиска по ключевому слову. Это легко сделать, просто перейдя на сайт Google и выполнив простой поиск, затем необходимо скопировать URL из адресной строки вашего браузера. Итак, мы видим, что формат имеет вид: http://google.com/search?q=qgis, где qgis — это ключевое слово поиска. Имея в виду эту информацию, мы можем продолжать:

  1. Убедитесь, что слой lakes загружен.

  2. Откройте диалог Свойства слоя, сделав двойной щелчок на слое в легенде или щёлкнув правой кнопкой мыши и выбрав Свойства в контекстном меню.

  3. Щёлкните на вкладке Действия.

  4. Введите имя действия, например, Google Search.

  5. Для действия нам нужно задать имя внешней запускаемой программы. В этот раз мы будем использовать веб-браузер Firefox. Если программы нет в текущей директории, необходимо задать полный путь к ней.

  6. Следом за именем внешнего приложения добавьте URL, используемый для выполнения поиска в Google (но не указывайте параметр поиска): http://google.com/search?q=

  7. Теперь текст в поле Действие должен выглядеть так: firefox http://google.com/search?q=

  8. Щёлкните на выпадающем списке, содержащем имена полей слоя lakes. Он расположен непосредственно слева от кнопки [Вставить поле].

  9. Выберите в списке Допустимые имена атрибутов для этого слоя selectstring значение NAMES и нажмите [Вставить поле].

  10. Теперь текст в поле Действие должен выглядеть так: firefox http://google.com/search?q=%NAMES

  11. И, наконец, нажмите кнопку [Вставить действие].

Теперь действие создано и готово к использованию. Окончательный текст действия должен выглядеть так:

firefox http://google.com/search?q=%NAMES

Теперь мы можем использовать это действие. Закройте диалог Свойства слоя и приблизьтесь к области интереса. Убедитесь, что слой lakes активный и выберите озеро. В окне результатов вы теперь видите, что ваше действие показывается:

Figure Actions 2:

../../../_images/action_identifyaction.png

Select feature and choose action nix

Во время вызова действия запустится Firefox и откроется URL http://www.google.com/search?q=Tustumena. Также возможно добавить дополнительные поля к действию. Следовательно, вы можете добавить «+» в конец текста действия, выбрать другое поле и нажать кнопку [Вставить поле]. В нашем примере более нет доступных полей, по которым был бы смысл проводить поиск.

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

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

Рассмотрим более сложный пример, а именно использование действий типа Python.

Обычно, при создании действия для открытия файла внешним приложением можно использовать абсолютные или относительные пути, во втором случае путь должен быть относительным по отношению к исполнимому файлу внешнего приложения. Но как быть, если необходимо использовать относительные пути, по отношению к выбранному слою (речь о файловых источниках данных, таких как shape-файлы или базы SpatiaLite)? Следующий код решает эту проблему:

command = "firefox";
imagerelpath = "images_test/test_image.jpg";
layer = qgis.utils.iface.activeLayer();
import os.path;
layerpath = layer.source() if layer.providerType() == 'ogr' else \
(qgis.core.QgsDataSourceURI(layer.source()).database() \
if layer.providerType() == 'spatialite' else None);
path = os.path.dirname(str(layerpath));
image = os.path.join(path,imagerelpath);
import subprocess;
subprocess.Popen( [command, image ] );

необходимо помнить, что используется действие типа Python и изменить значение переменных command и imagerelpath в соответствии со своими нуждами.

А как быть, если путь должен быть относительным по отношению к (сохраненному) файлу проекта? Код соответствующего действия будет выглядеть:

command="firefox";
imagerelpath="images/test_image.jpg";
projectpath=qgis.core.QgsProject.instance().fileName();
import os.path; path=os.path.dirname(str(projectpath)) \
if projectpath != '' else None;
image=os.path.join(path, imagerelpath);
import subprocess;
subprocess.Popen( [command, image ] );

Ещё один пример — действие Python, позволяющее добавлять новые слои в проект. Так, следующие примеры добавляют в проект векторный и растровый слой соответственно. Имена добавляемых файлов а также имена слоёв определяются данными (filename и layername это имена столбцов атрибутивной таблицы слоя, для которого создаётся действие):

qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp','[% "layername" %]', 'ogr')

Для добавления растра (в этом примере файла tif) используем:

qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif','[% "layername" %]')

Связи

join Вкладка Связи позволяет присоединять загруженные атрибутивные таблицы к векторным слоям. Для этого необходимо указать имя связанного слоя, поле для объединения и целевое поле. В настоящее время QGIS умеет работать с таблицами, полученными от OGR-совместимых источников данных, провайдера PostgreSQL и из текстовых файлов с разделителем (см. рисунок figure_joins_1).

Figure Joins 1:

../../../_images/join_attributes.png

Join an attribute table to an existing vector layer nix

В дилоговом окне также можно активировать:

  • checkbox Сохранить связанный слой в виртуальной памяти

  • checkbox Создать индекс на основе объединяемого поля

Диаграммы

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

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

Figure Diagrams 1:

../../../_images/diagram_tab.png

Vector properties dialog with diagram tab nix

Мы покажем, как выполнить наложение круговых диаграмм некоторых климатических температурных данных векторного слоя «climate» на cлой «alaska». Оба векторных слоя являются частью демонстрационного набора данных QGIS (см. раздел Примеры данных).

  1. Для начала нажмите на иконку mActionAddOgrLayer Добавить векторный слой, просмотрите директорию демонстрационного набора данных QGIS и загрузите два слоя alaska.shp и climate.shp.

  2. Сделайте двойной щелчок на слое climate в легенде карты и откройте диалог Свойства слоя.

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

  4. Установим Цвет фона светло-голубым и зададим фиксированный размер в 18 мм.

  5. Размещение установим в «Around Point».

  6. Мы хотим отображать значения трёх колонок в диаграмме T_F_JAN, T_F_JUL и T_F_MEAN. Для начала выберите T_F_JAN в качестве атрибута и нажмите зеленую кнопку [+], затем T_F_JUL и, наконец, T_F_MEAN.

  7. Теперь нажмите кнопку [Применить] для отображения диаграммы в главном окне QGIS.

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

  9. Наконец, нажмите кнопку [Ok].

Figure Diagrams 2:

../../../_images/climate_diagram.png

Diagram from temperature data overlayed on a map nix

Дополнительно, вызвав из меню Установки ‣ Параметры диалог Параметры на вкладке Совмещение можно настроить алгоритм размещения диаграмм. Метод «Central point» используется по умолчанию, но можно выбрать любой другой, поддерживаемый библиотекой PAL. При размещении подписей и диаграмм акже учитываются подписи и диаграммы других слоёв. Дополнительную информацию о диаграммах можно получить в разделе Diagram Overlay Plugin.