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
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¶
Field | Type |
---|---|
id |
Text (UUID) |
geometry |
Geometry |
... |
Apiary_pictures¶
Field | Type |
---|---|
id |
Text (UUID) |
apiary_id |
Text (UUID) |
path |
Text |
... |
Relations¶
Create a relation with:
apiary
Referenced layerid
Referenced fieldapiary_picture
Referencing layerapiary_id
Referencing fieldstrength
Composition
Widgets¶
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.
Set the relation widget to many to one relation and add the relation to the form
Apiary picture¶
Set the widget type of the field path to Attachment and add it to the form
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.
Geotagging¶
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:
- Add an attribute per EXIF tag in the table that contains the pictures.
- 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.
- 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.
- 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. - 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
Configurable attachment path¶
Desktop preparation
QFieldSync provides the possibility to configure the path of picture attachments.
- Go to QFieldSync plugin > Layers Properties
- 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.
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.
Note
QGIS 3.14 or newer is required for this functionality