12.10. Формы полей

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

Зайдите в Свойства слоя на вкладку Формы полей.

../../_images/layerprop_fieldforms_ru.png

Есть три варианта работы с формами (выбираются в выпадающем меню наверху вкладки):

  • Создать автоматически;

  • Конструктор форм;

  • Из файла.

При автоматическом создании настроенные элементы будут выстроены один за другим в окне формы.

../../_images/automatic_form_ru.png

Рис. 12.93. Форма, автоматически созданная из настроенных полей

Конструктор позволяет распределять поля по вкладкам и выстраивать в нужном порядке, а также настраивать внешний вид формы.

../../_images/designer_form_ru.png

Рис. 12.94. Форма, созданная в конструкторе

На вкладке Формы полей слева расположен список доступных виджетов:

  • Поля

  • Отношения

  • Действия

  • Другие виджеты (QML, HTML, текстовый и Spacer)

Для каждого поля доступны следующие настройки:

Общие:

  • Псевдоним - отображаемое в интерфейсе ввода название поля;

  • Флажок Поле ввода - если его снять, значение поля нельзя будет редактировать через форму;

  • Флажок Использовать последние введённые значения атрибутов - убыстряет процесс, если нужно вводить подряд несколько объектов, у которых значение одного из атрибутов совпадает - например, адреса по одной улице;

  • Флажок Размещать подпись над полем (по умолчанию - слева от поля).

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

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

Ограничения - можно установить, что поле обязательно должно быть:

  • непустым;

  • уникальным (например, поле fid);

  • соответствующим заданному выражению, например, not regexp_match(col0,'[^A-Za-z]') - только символы латинского алфавита.

Если ограничение установлено, то во время ввода значений при выполнении всех условий рядом с полем отображается зелёная галочка. Если условие не выполнено, рядом с полем отображается оранжевый крестик. Флажок принудительное ограничение не позволяет сохранить объект, не выполняющий условия. Без него пользователь будет предупреждён, но сможет сохранить изменения.

../../_images/fields_with_constraints_ru.png

Рис. 12.95. Поля с ограничениями: выполненным, невыполненным, принудительным - не дающим сохранить объект

Также для поля можно задать значение по умолчанию.

12.10.1. Виды форм

Рассмотрим подробне настройки основых видов форм.

  • Флажок

  • Текстовое поле

  • Карта значений

  • Диапазон

  • Цвет

  • Дата/время

  • Вложение

  • Скрытое поле

Флажок

Такое поле имеет два варианта значения: для включённого и отключённого флажка. При этом тип поля не обязан быть логическим, это может быть текстовое поле со значениями «есть» и «нет», «справа» и «слева» и т.п.

../../_images/form_checkbox_result_ru.png

Рис. 12.96. Флажок в форме

../../_images/form_checkbox_set_ru.png

Рис. 12.97. Настройки флажка

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

Текстовое поле

Поле для ввода текста с клавиатуры. Возможные настройки:

  • Многострочное - позволяет делать перенос строки внутри поля;

  • HTML.

../../_images/form_textedit_set_ru.png

Рис. 12.98. Настройки текстового поля

../../_images/form_textedit_result_ru.png

Рис. 12.99. Форма с текстовыми полями: однострочными и многострочным

Карта значений

Можно предоставить пользователю возможность выбирать значение из выпадающего списка.

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

../../_images/form_valuemap_result_ru.png

Рис. 12.100. Два поля с выпадающими списками в форме

../../_images/form_valuemap_set_ru.png

Рис. 12.101. Настройки карты значений

Список вариантов можно ввести вручную или загрузить из файла в формате CSV.

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

См.также

В Веб ГИС также можно добавить к слою фиксированный список вариантов значений при помощи ресурса Справочник.

Диапазон

Поле для ввода числовых значений из заданного диапазона.

Может представлять собой:

  • поле ввода со счётчиком;

  • ползунок;

  • «циферблат» - круглую ручку управления.

../../_images/form_range_result_ru.png

Рис. 12.102. Три варианта ввода диапазона

Настройки:

  • Минимум;

  • Максимум;

  • Шаг;

  • Разрешить значения NULL;

  • Подпись единиц.

../../_images/form_range_set_ru.png

Рис. 12.103. Настройки диапазона

Цвет

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

../../_images/form_color_result_ru.png

Рис. 12.104. Выбор цвета в компактном варианте диалога

Дата/время

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

Также можно настроить формат записи. По умолчанию выбран формат ISO Qt: yyyy-MM-dd для дат, либо yyyy-MM-ddTHH:mm:ss (например, 2017-07-24T15: 46: 29) или с суффиксом часового пояса (Z для UTC, смещение как [+|-]HH:mm).

../../_images/form_datetime_result_ru.png

Рис. 12.105. Поля ввода даты/времени

../../_images/form_datetime_set_ru.png

Рис. 12.106. Настройки поля ввода даты/времени

Вложение

Этот вид формы позволяет прикреплять к объектам изображения, аудиофайлы и другие файлы.

Тип хранилища:

  • Выбрать существующий файл

  • Простое копирование

  • WebDAV хранилище

  • AWS S3

Вариант «Выбрать существующий файл» позволяет просто добавить вложение с устройства. Можно задать путь по умолчанию.

Настраивается:

  • способ хранения пути к файлу: Абсолютный или относительный;

  • режим хранения: расположение файлов или расположение каталогов.

  • встроенный просмотр вложений. Он доступен для изображений, аудио, видео и веб-страниц. Размеры миниатюры настраиваются для всех этих типов, кроме аудио.

../../_images/form_attachment_set_ru.png

Рис. 12.107. Настройки поля вложения

../../_images/form_attachment_result_ru.png

Рис. 12.108. Предпросмотр добавленного изображения в форме

12.10.2. Скрытое поле

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

Для этого в разделе Вид формы выберите в выпадающем списке Скрыто.

../../_images/form_hidden_set_ru.png

Рис. 12.109. Настройки скрытого поля

Характерный пример - поле fid в файле формата GeoPackage. Его изменение может нарушить структуру файла.

../../_images/form_hidden_result_ru.png

Рис. 12.110. Атрибуты слоя и форма: красным помечены скрытые поля

Если поле должно оставаться видимым, но не должно редактироваться, снимите флажок «Поле ввода» в разделе «Общие», а в разделе «Вид формы» оставьте подходящее значение, например, «Текстовое поле».

../../_images/form_readonly_set_ru.png

Рис. 12.111. Настройки поля, недоступного для редактирования через форму

../../_images/form_readonly_result_ru.png

Рис. 12.112. Поле, видимое, но недоступное для редактирование в форме

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

12.10.3. Значение по умолчанию

Для поля можно установить значение по умолчанию:

  • Фиксированное значение - стандартный вариант или пример для заполняющего;

  • Переменная - например, @user_account_name, чтобы сохранить имя пользователя, вносящего изменения;

  • Выражение - например, автоматически рассчитывающаяся площадь объекта area ($geometry).

Также в разделе «Общие» можно включить флажок «Использовать последние введённые значения атрибутов», тогда в форму автоматически будет подставляться предыдущее введённое значение.

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