Sari la conținut

Use attachment

In QField, a field with Attachment widget can be used to:

  • show and take photos
  • show and record videos
  • listen and record sound clips
  • show links to external files like PDFs or documents

Attachments

To configure the Widget, please refer to the Attributes Form Documentation

Add a series of pictures to a feature

Desktop preparation

One or more pictures can be added to the feature. Here is an example of how to proceed.

Tables

It is necessary to set up two tables. One table where the features are stored and one with a list of pictures.

Apiary

Câmp Tip
id Text (UUID)
geometrie Geometrie
...

Apiary_pictures

Câmp Tip
id Text (UUID)
apiary_id Text (UUID)
path Text
...

Relații

Create a relation with:

  • apiary Referenced layer
  • id Referenced field
  • apiary_picture Referencing layer
  • apiary_id Referencing field
  • strength Composition

Relations

Controale grafice

Apiary

Set the default value of the field id to uuid() or use the UUID Generator widget. No need to show it in the form.

widgets

Set the relation widget to many to one relation and add the relation to the form

widgets

Apiary picture

Set the widget type of the field path to Attachment and add it to the form

widgets

Drawing and sketching

QField have an in-app drawing and sketching functionality enabling you to directly sketch over and annotate images captured while in the field as well as drawing on top of a blank canvas or over a template.

Geoetichetare

Fieldwork

QField's internal camera will automatically geotag your pictures.

Information about location and direction of the pictures will therefore be baked into the image file.

Note

While with older Android versions it was possible to use other apps like the amazing OpenCamera app for taking pictures and preserving EXIF information from there, this is no longer with recent Android versions. If you enable Use native Camera in the settings you will not be able to preserve EXIF information.

Fetching Geotags (EXIF) from the image file into the attribute table

Desktop preparation

Sometimes you might be interested in automatically storing Geotags such as the latitude, longitude, orientation, etc. This information is also known as EXIF tags.

To store the EXIF information, follow these steps:

  1. Add an attribute per EXIF tag in the table that contains the pictures.
  2. In the pictures form, configure the default value of each attribute to the corresponding EXIF expression See QGIS EXIF function, and make sure Apply on update is activated.
  3. The EXIF tags that QField can capture are listed in the QGIS documentation (link above). However, this list might slightly varies depending on the mobile characteristics.
  4. Capturing EXIF tags requires accessing the full physical path of the picture. Be sure to reflect this in the QGIS expression. For example, the expression exif(@project_folder + '/' + "path", 'Exif.Image.Orientation') retrieves the orientation of the picture stored in path. For more tags visit the QField EXIF reference documentation and the exiv library documentation.
  5. Completed! QField's now capture and store the EXIF tags in the pictures table while taking pictures.

Maximum picture size

Desktop preparation

The advanced settings allow rescaling the photos to a maximum width/height in QFieldSync plugin > Project configuration

image

Configurable attachment path

Desktop preparation

QFieldSync provides the possibility to configure the path of picture attachments.

  1. Go to QFieldSync plugin > Layers Properties
  2. Choose the layer, the field and configure the expression

Use expressions to specify the path of the attachments. By default, pictures are saved into the "DCIM" folder, audio are saved into the "audio" folder and videos are saved into "video" with a timestamp as name.

picture path

Additional directories can be synchronized with pictures or other attachments. Extra paths can be configured in Attachment directories. All paths are relative to the project directory.

attachments directories

Note

QGIS 3.14 or newer is required for this functionality