Zum Inhalt

QFieldSync Plugin

The QFieldSync plugin helps preparing and packaging QGIS projects for QField.

QFieldSync supports your project preparation with automating the following:

  • Required steps for project setup (e.g. portable_project)
  • Creating basemaps from a single raster layer or from a style defined in a map theme.
  • Configuring the offline editing functionality and synchronizing changes back.

Arbeitsablauf

Um einen kurzen Überblick über den Prozess zu erhalten, ist hier eine Liste der typischen Schritte:

  1. Erstelle ein QField Paket. Das ist eine Arbeitskopie eines Projektes in einem separaten Ordner.
  2. Das QField Paket auf das Zielgerät kopieren.
  3. Daten im Feld sammeln
  4. Zurückkopieren der Bearbeiteten Daten auf den Desktopcomputer.
  5. Synchronisation der modifizierten Daten mit der Datenbank oder Dateien.

Installation

Öffne die Erweiterungsverwaltung in QGIS und suche nach qfield sync. Wähle das Plugin aus der Liste aus und klicke auf Erweiterung installieren.

QField Sync in der QGIS Erweiterungsverwaltung
QField Sync in der QGIS Erweiterungsverwaltung

Konfiguration

Die Projektkonfiguration wird in einer eigenen Projektdatei mit der Erweiterung .qgs gespeichert. Auf diese Weise ist es möglich, ein Projekt einmal vorzukonfigurieren und es dann wiederholt zu verwenden.

Projekt konfigurieren
Projekt konfigurieren

Layerkonfiguration

Konfiguriere die Projektlayer
Konfiguriere die Projektlayer

In den Einstellungen zur Projektkonfiguration kann für jede Ebene individuell eine Aktion definiert werden. Je nach Ebenentyp stehen verschiedene Arten von Aktionen zur Verfügung.

Kopieren

The layer will be copied to the package folder. This is only available for file-based layers.

Keine Aktion

The layer source will be left untouched. This is only available for non-file-based layers like WMS, WFS, Postgis...

Offline Bearbeiten

A working copy of the layer is copied into the package folder. Every change which is done in the packaged project during work is recorded in a changelog. When synchronizing the changes back later on, this log will be replayed and all changes also be applied to the main data base. There is no conflict handling in place.

Entfernen

The layer will be removed from the working copy. This is useful if a layer is used in the basemap and will not be available in the packaged project.

Properties

There are some additional options to fine tune your QField project in the properties

  1. Lock geometries: do not allow changing geometries and only allow changing attributes on this layer.
  2. Set up the attachment default naming, please refer to the Configurable picture path
  3. Set up the maximum number of items shown in the relation editor widget

QFieldSync Layer Properties
QFieldSync Layer Properties

Hintergrundkartenkonfiguration

A base map is a raster layer which is added as the bottommost layer to the packaged project file.

If the base map option is enabled, a base map will be rendered, whenever the project is packaged. The area of interest - the extent which will be rendered -will be chosen at packaging time.

Es gibt zwei mögliche Quellen für eine Basiskarte:

Layer

A raster layer. This is useful to take an offline copy of an online layer like a WMS or to take a working copy of an unsupported format like an ECW or MrSID layer.

Kartenthema

A map theme. This is useful to create a base map based on a combination of several layers with styling. These layers can then be removed from the working package and do not need to be rendered on the device. This can save some disk space and battery on the device.

The tile size defines the spatial resolution. It determines the number of map units per pixel. If the map canvas CRS has meters as units and tile size is set to 1, each raster pixel will have a spatial extent of 1x1 m, if it is set to 1000, each raster pixel will have a spatial extent of 1 square kilometer.

Note

Base map generation is disabled on QFieldCloud. You can still manually add your basemaps by running "Generate XYZ tiles (MBTiles)" or "Convert map to raster" algorithms in the processing framework.

Konfiguration von Offline Bearbeiten

If only synchronize features in area of interest is checked, only features which are within the extent of the map canvas as packaging time will be copied to the offline editing working copy.

Package for QField

To package your project, click on Plugins > QFieldSync > Package for QField. Once the project is configured, proceed to package it into a folder. This folder will contain both the QGIS project file (.qgs) and the associated data.

Package the project for QField
Package the project for QField

Even though QFieldSync doesn't display packaging options by default in the Toolbar panel, you can still access them through Plugins > QFieldSync > Preferences.

QFieldSync Preferences button
QFieldSync Preferences button

Simply activate the checkbox labeled "Show the packaging options in the toolbar."

QFieldSync Preferences
QFieldSync Preferences

Copy the folder on your device. Open QField, open the project and start collecting data.

Make also sure to save the QGIS project using the regular Save As of QGIS as you'll have to re-open it later when you want to synchronize the changes.

During packaging your project you can select which subdirectories to be copied by checking the directories in Advanced -> Directories to be copied.

Select subdirectories
Select subdirectories

How to sync from/to iOS device without QFieldCloud

Use iTunes' File Sharing function to import into the QField root folder.

  1. Open the iTunes app and click on the iPhone button near the top-left of the iTunes window.
  2. Click on the File Sharing option in the left sidebar.
  3. Select the app QField and click on Add File. This will open the file browser.
  4. Select the file.

Synchronize from QField

When you want to synchronize what you have collected, re-open the project in QGIS (the one you saved with a regular Save As).

Copy the project folder from your device to your computer and use the Synchronize from QField menu to synchronize your changes from the protable project to the main project.

Synchronize from QField
Synchronize from QField

Make sure that you synchronize your data back only once. That means, if you go out again to collect more data, you should create a new QField package before to avoid sync problems later on (like e.g. duplicates).