Outdated documentation
The latest documentation was moved to docs.qfield.org
QField створює форми, схожі на форми QGIS, але не однакові з ними.
The setting «suppress attribute form» is directly applied to the QField form.
Ми докладаємо всіх зусиль, щоб підтримувати всі віджети поля QGIS.
Widget type | Підтримка | Примітки |
---|---|---|
Текстове поле | ✔ |
|
Перемикач | ✔ | |
Карта значень | ✔ | |
Приховане | ✔ | |
Attachment | ✔ | This field is combined with camera integration. It is also able to open other files like pdf and doc (if the user has an appropriate viewer) Attachment (photo settings) |
Дата і час | ✔ | |
Relation Reference | ✔ | |
Relation Widget | ✔ | |
Value Relation | ✔ | |
Інші | ✘ | Фінансування |
For more information refer to the relations chapter of the official QGIS Documentation.
The relation widget shows all the referencing child features in a list. It is possible to add, delete and open them.
The visual identification of the list entries are done via the «Display Expression» of the child layer.
Key handling
Since the parents primary keys are used as foreign keys on the referencing child features, these primary keys must be save to use even after the synchronization back to the original data. Therefore we recommend to use stable values such as UUIDs for primary keys.
It is possible to already add children from a parent that is about to be added. This possibility will be blocked if there is no valid primary key on the parent or the constraints are violated. In case the adding of the parent feature is canceled after some children have been added already, the children are deleted as well.
Many-To-Many relations
On many-to-many relationships, according to the cardinality setting in the QGIS Vector Layer Properties, on adding, deleting or opening an entry in the list effects directly the child layer (on direct cardinality) or the linking table (on many-to-one cardinality).
The second case is usually used when there are additional relation information (e.g. percentage) in the linking table.
In case of the many-to-one cardinality on many-to-many relations the Display Expression needs to be set on the linking table.
The widget type «Attachment» is used with fields that store the path to files.
It can be used to:
The path should be set to relative. The pictures, pdf and docs are stored then in a sub-directory of the project, where the link stored in the textfield is pointing to.
In QField the picture is displayed. By clicking the camera symbol the camera is started to update the picture with a new photo.
On synchronization the sub-directory with the pictures, pdf and docs has to be copied as well.
The option «hyperlink» on the attachment widget will disable the camera functionality and enable a hyperlink to open a document (pdf, doc, …).
The widget «Value Relation» offers values from a related table in a combobox. You can select layer, key column and value column. Several options are available to change the standard behaviors: allow null value, order by value and allow multiple selections. The widget will display a drop-down or multiple-select list of the referenced features.
Повна підтримка груп та вкладок інтерактивного редактора форм QGIS.
Групи можуть бути приховані в залежності від результатів виразу. Це може бути корисним, коли певні атрибути необхідні лише в певних умовах. Наприклад, під час картографування дерев. Деякі з них можуть мати захворювання і у вас є список можливих захворювань. Щоб не перевантажувати форму багатьма полями, зробіть групу та налаштуйте вираз видимості для групи «diseases». Додайте поле-перемикач «desease». Список захворювань буде видимий лише коли перемикач активний.
Let’s see what we got on the field:
На атрибути можна накладати обмеження. Обмеження — це вирази, які повинні повертати True
(або 1
) щоб вміст форми можна було зберегти. Обмеження налаштовуються дл кожного поля окремо, також можна вказати текст, який буде показаний користувачу, якщо обмеження не виконується.
Ви не можете ввести висоту більшу за найвищу вершину країни.
"elevation" < 5000
Необхідно заповнити ідентифікатор.
"identifier" IS NOT NULL
Поля можуть мати типові значення. Типові значення вставляються у форму атрибутів під час оцифровки об’єкта. Користувач їх бачить та може змінити, якщо поле може редагуватися. Типові значення можуть базуватися на значеннях геометрії чи виразів.
For more information regarding storing information related to your position in object attributes, refer to the deticated GNSS documentation.
Введіть інформацію позиціонування як змінну:
@position_horizontal_accuracy
Вставити поточну дату та час:
now()
Вставити довжину оцифрованої лінії:
length($geometry)
Налаштувати глобальні змінні на пристрої та вставити їх.
@operator_name
Якщо ви хочете призначити об’єктам код регіону в залежності від того, де сами вони були додані, використовуйте агрегатну функцію:
aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
To transform the coordinates received from @position_coordinate to the coordinate system of your project:
x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
If you want to use the snapping results after drawing a line, you can use the @snapping_results variable. The following code extracts the value of the attribute id of the snapping match of the first point of a line.
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
Атрибут редагування поля має значення.
QField пропонує більш гнучке налаштування використання останніх внесених значень та ігнорує настройку QGIS.
The “Use completer” checkbox must be checked to be able to use the auto-complete in the value relation.
Here a video showing how it works on QField Search in value list.