QField Storage Management¶
On the QField homescreen, users are presented with two options to open a project.
QFieldCloud projects: The first option is to access a project stored on QFieldCloud How to set up and work with QFieldCloud is explained in the next chapter.
- Open local file: The second option involves copying a working copy of the project file from a laptop or PC (the source device), on to the phone or tablet (the target device). On the target device, users can access and edit this local copy using QField, and eventually copy the new version back to the desktop or to an alternative cloud storage service. How to prepare, store and access these local copies is the topic of this chapter.
There are various possibilities of exporting copies of project files and datasets from the source device runnign QGIS and importing them on to a target device for field-data collection. Below are OS-specific instructions on how to access projects and individual datasets through QField.
Exporting QGIS project files for use in QField¶
QFieldQField supports a wide range of data formats. There are three ways of preparing and copying a project in QGIS for use in QField.
Storing files in a designated folder¶
One way of compiling all necessary parts of a QGIS project is to store them in a folder. This folder can contain individual files such as a * QGIS project file (.qgs or .qgz) * Vector data (shapefiles, GeoJSON or Geopackage) * Raster data (GeoTIFFs, JPEGS and others) * Auxiliary files, which includes additional files used for styling (.qml or .sld) and any other files referenced by the project
Packaging the project as a GeoPackage¶
The simplest and most efficient way to package a QGIS project and its corresponding geospatial data into one file is to use GeoPackages. We recommend using the GeoPackage file format for projects in QField, since packaging in QGIS is easy and straightforward. To package a project as a GeoPackage, three steps are necessary.
-
Package vector layers to GeoPackage: First, click on the toolbox and search for the tool “package layers”. This tool lets you package selected vector layers in the project file (and elsewhere) into a single GeoPackage containing the geospatial data.
-
Add raster layers to GeoPackage If your project contains raster layers, then these can also be stored in the GeoPackage. Click on the raster layer you want to export, then “export” -> “save as”, and select GeoPackage as the format. Add a filename and select the three dots to browse for the GeoPackage. Select the GeoPackage and change the file format at the bottom of the dialogue window from “GeoTIFF” to “All files (.)”. Now both vector and raster layers are saved in the GeoPackage. To make sure, browse for the GeoPackage in the browser panel and expand it.
-
Add project file (.qgs) to GeoPackage: Next go to Project -> Save to -> GeoPackage, and select the GeoPackage file containing all the vector layers. This saves the project file, with the .qgs extension into the GeoPackage as well.
For more information, consult the QGIS documentation packaging layers.
Copying project over to the QField target device¶
On both Android and iOS, installing QField creates a folder called QField, containing three folders; Imported Datasets
, Imported Projects
and QField
.
After packaging the project accordingly, the folder or file containing the project has to be copied over to the target device running QField, specifically to the folder called Imported Projects
.
This folder can be found on the following paths
- Android path:
Android/data/ch.opengis.qfield/files/Imported Projects
- iOS path:
On My iPhone/QField/Imported Projects
Copying the packaged project over to the corresponding folder of each device can be done in various ways.
安卓系统¶
Transfer via USB-cable¶
If you want to use a cable connection to import the project on to your android device, simply connect both devices using a USB cable and follow the instructions on how to transfer files between your computer and the android device.
On most devices plugged into a computer via USB cable connection, the path will be <drive>:/Android/data/ch.opengis.qfield/files/
.
Users will find both the Imported Datasets and Imported Projects folders within which the imported projects and datasets will be located.
Changes done to the project content and datasets are saved in the files found in this location.
Send via Bluetooth¶
Wireless transfer of files is also possible by sharing files via a Bluetooth connection.
Google Drive (and other cloud storage services)¶
The advantage of using Google Drive is that both the source device and target device have shared access to a central working directory containing the current project files. A possible workflow may look like this
- Prepare and package a QGIS project on the source device
- Upload the project to a cloud (For instance Google Drive)
- Download the project to the target devices and collect data
- Upload the changed project (or parts of the project) from the target devices back to the cloud and replace the old files with the new ones
- Download the project back on to the source device
Note
When working with Google Drive, it may be helpful to create a dedicated folder in the cloud containing all the projects. A parallel of this folder can then also be created on the target device, to which the QGIS projects can be downloaded and save in.
iOS¶
Transfer via USB-cable¶
Transfering files from MacBooks or Macs to iPhone using a cable is not straightforward, since it is not possible to access individual files in the QField directory. One workaround could be the following
- copy the entire folder
Imported Projects
from your iOS target device over to your source device - copy the packaged QGIS project file into the copied
Imported Projects
folder - copy back and replace the old
Imported Folder
with the new one
iCloud (and other cloud storage services)¶
An efficient way to synchronize projects is to use iCloud as a shared workspace to download and upload project files.
It is not possible to import projects from folders inside the iOS QField application.
Instead, the new project files have to be saved in the Imported Projects
folder so that QField can access them.
One possible workflow could be the following:
- On the source device, upload the packaged project to a folder on iCloud (titled e.g. "QField projects")
- On the target device, download the packaged project and move the file to the QField folder
Imported Projects
- Open the project file from inside the QField app and collect data
- Upload the project file back to the shared iCloud folder and replace the old project file
- On the source device, download the new project file containing the added data and the changes made
Share via AirDrop¶
A quick and easy way to exchange files back and forth is using AirDrop.
The only requirement is that both source and target device have to be OS and iOS respectively.
On the source device, right-click the file and select Share...
, choose AirDrop
, and then select the target device.
On the target device, save the project directly to the QField directory Imported Projects
.
After accessing and manipulating the project files in QField, use AirDrop on the target device to transfer the project files back to the source device.
Importing projects and datasets¶
Apart from using QFieldCloud, QField can open projects and datasets in four ways:
On Android all of these actions are available by clicking on the ‘import (+) button‘ located on the bottom-right corner of the project/dataset picker screen, which can be accessed by clicking on the ‘Open local files’ button located in QField‘s welcome screen.
On iOS, the only action available through the 'import (+) button' is import from a URL.
Importing a project folder (Android and iOS)¶
安卓系统¶
When importing a project through the "Import project from folder" action, users will be asked to grant permission for QField to read the content of a given folder on the device’s storage. When the folder is selected, QField copies the folder content (including its sub-folders) into its ‘Imported projects’ location. Users can then open and interact with the project from there.
Re-importing a given folder through the drop-down menu action will overwrite preexisting projects given an identical folder name. That allows users to be able to update projects.
笔记
要素的编辑、添加和删除等操作将保存到已导入工程的数据集中,而不是保存在导入过程中选择的原始文件夹。有关如何发送/导出已编辑的工程和数据集,请参阅以下章节。
iOS¶
On iOS, installing QField creates a folder titled QField in the Files app.
Packaged projects prepared on the source device and exported on to the target device must be stored in QField
-> Imported Projects
folder.
To open a local file, press on 'Open local file' on the QField home screen and navigate to QField files directory
-> Imported Projects
, and choose the project you want to open.
Importing a compressed project (Android only)¶
On Android, it is possible to import compressed (zipped) projects into QField. When choosing the ‘Import project from ZIP’ action, users will be asked to select a ZIP file on their device‘s storage. QField will then decompress the file into its ‘Imported projects’ location, from which users can open and interact with the project.
通过向用户发送单个文件,可以极大地简化工程的远程部署。
Importing from a URL (Android and iOS)¶
通过 "导入URL" 动作导入工程或单数据集时,将要求用户提供文件的URL字符串。QField随后获取内容并将其保存到 "已导入工程" - 前提是URL指向压缩到ZIP归档文件中的工程 - 或 "已导入数据集"。
当检测到一个或多个 .qgs/.qgz 工程文件时,QField会将ZIP归档文件视为压缩工程。
Importing individual datasets (Android only)¶
“导入数据集”操作允许用户通过安卓系统文件选择器选择一个或多个数据集。选择数据集后,QField将这些数据集复制到“已导入数据集”文件夹中,用户可以在其打开或修改相关内容。
Note
Users will have to ensure that all sidecar files are selected when importing datasets (e.g. a shapefile would require users to select the .shp, .shx, .dbf, .prj, and .cpg files).
Exporting modified projects and datasets (Android only)¶
一旦用户修改了已导入的工程和数据集,QField将提供各种方式从其系统保护的文件存储中发送和导出内容:
- by exporting a project folder or an individual dataset;
- by sending a compressed project folder to a {cloud, email, messenger, etc.} app;
- by sending an individual dataset to a {cloud, email, messenger, etc.} app; and
- by accessing imported content directly through USB cable.
这些动作可通过单击QField欢迎界面中的 "打开本地文件" 按钮,并单击工程/数据集选择器中的工程文件夹和单数据集列表所附的下拉动作菜单进行操作。
导出工程文件夹或单数据集¶
当选择 "导出到文件夹" 时,将要求用户选择一个位置 (使用Android系统的文件夹选择器操作),所选工程文件夹或单数据集的内容将被复制到该位置。
此操作可用于将修改后的工程或数据集的内容复制到设备上的一个文件夹中,并由如Syncthing等第三方同步应用程序进行访问,或直接将内容复制到支持Android系统分区存储提供商的云帐户中 (在撰写本文时,只有NextCloud应用程序支持此类操作)。
笔记
导出到的文件夹将覆盖先前存在的内容。
发送经过压缩的工程文件夹¶
‘将文件夹压缩并发送到‘ 动作是将选中文件夹的内容压缩到ZIP归档文件中。然后,系统会询问用户应该通过设备上的哪个应用程序发送最终的ZIP归档文件。
Users can compress and send whole projects by selecting root folders in QField‘s ‘Imported projects‘ directory, as well as send selective folders within project folders. This allows for users to narrow down the compressed files to e.g. a /DCIM subfolder.
发送单数据集¶
用户可以为单数据集选择 ‘发送到‘ 动作,允许将编辑后的数据集直接发送到第三方应用程序,如 Gmail、Drive、Dropbox、Nextcloud
要从同步的QFieldCloud工程中导出图层,请在您的设备或首选云提供程序导出。为此,请在您的工程中:
- 单击工程中的 '齿轮图标'。
- 选择 '打开工程文件夹' 动作。
-
在此工程文件夹中,您将找到您的工程文件。离线图层存储在名为 'data.gpkg' 的文件中。您还可以导出附加文件 (照片、音频、视频等)。
-
现在,点击位于文件或文件夹右侧的三个点 (⋮) 图标。
- 根据需求选择 "发送到…" 或 "导出到文件夹…" 动作,并按照相应的提示进行操作。
笔记
此功能仅在Android系统可用。