1

I'm trying to use Qfield for tree surveying. I am testing it on a Galaxy S7 running Android 7. I have installed from Google Play. I can't seem to get QFIELD working. So far, the stumbling blocks are:

  1. When I open QField, I get a alarm icon in the top right corner. On clicking, the message reads "Can't open database: unable to open database file".

  2. I have created a portable project using the plugin to QGIS. The portable project is made up of two files, one with a .qgs extension, the other with a .qgs~ extension. I have placed these in the QField directory, specifically MyFiles>SD Card>Android>data>ch.opengis.qfield. When I navigate to this location using the Qfield_Open Project, the file is not visible.

It seems like I'm missing something very basic, Can anyone help...

Regards O

2
  • It seems your data is not present on your device. It's been a while I haven't used QField so can't be sure. But I would check to make sure the data is present in the same folder as the .qgs file.
    – Techie_Gus
    Dec 15, 2017 at 0:30
  • 1
    Can you be more expansive. What extension does the datafile have? How do I verify if this is the case.
    – Oisin
    Dec 18, 2017 at 10:49

2 Answers 2

2

A simple and rather thorough way (though perhaps not as customisable as the "QFieldSync" method) to make a QGIS project (.qgs) portable for use in QField is to do something like the following:

  1. Open "Manage and Install Plugins" (accessed from the "Plugins" drop down menu)
  2. Go to settings and click the checkbox "Show also experimental plugins" ... reading and heeding the warning note of course!
  3. Search for "QConsolidate" and install.
  4. With your QGIS project open, locate and click the "QConsolidate" icon in the plugins tab or access via the Plugins drop down menu.
  5. Click the "Browse ..." button and find or create a folder on your hard drive to save the entire project in.

(Note: In the folder you choose/create, a ".qgs" file [and possibly a temporary ".qgs~" backup file] will be created as well as an additional folder named "layers". The "layers" folder contains all the spatial data contained within your project)

  1. Click the "Select Folder" button, and then click "Ok" back in the pop up dialog (let it save and complete (may take some time if spatial data volume is large), then "close" the dialog.
  2. Locate the folder you chose to save your QGIS project and spatial data in.
  3. Copy this folder (containing both the ".qgs" project file and "layers" folder) to your Android device, placing it in the relevant folder ... something like this: "/Android/data/ch.opengis.qfield/files".
  4. Open QField on your Android device > click the menu drop down button in the top left corner > click the settings wheel > click "Open Project" > locate the file as per the location described above > select the .qgs file (probably the only one showing in that folder)
  5. And your QGIS project is opened in QField [hopefully]!

For further guidance see: http://www.qfield.org/docs/index.html

While this is basically the method I generally use without any dramas there are however occasionally some extra twists and tricks when your project configuration gets more complex, such as the need to ensure any graphics used in the project are placed in and then re-linked to the folder where your .qgs file or layers are contained.

Hope this alternative method is helpful, let me know if there are any other twists that need addressing.

2

The .qgs is the QGIS project file and the .qgs~ is a backup of the project file. It is an XML file and it contains all the project settings like the path to the layers, the layer names, styling and such. No data is stored in the project file. This is unlike your word processor that stores everything in one file.

What the QField Sync plugin does is save your .qgs project to the export directory and copy with it your data files. I have tested the plugin with a Shapefile and with data stored in a PostGIS database.

What happens to your layers depends on the Project configuration under the QFieldSync menu. This allows you to specify how each layer is treated when exporting the data. This is handy if you have a QGIS file with lots of layers and you only want to use a couple of those on your mobile phone. Use Remove to exclude the layer from your portable project. For Shapefiles, you can either select Copy, Remove or Offline Editing. For the PostGIS database, it's Offline editing, No action or Remove.

The Shapefile works fine, as in, the plugin copies the data to the export directory if Copy is selected. As a reminder, a shapefile is made up of several files having the same name but different extensions like shp, shx, dbf, prj... The path to the data source is set to relative in the qgs file, something like './your_data.shp'.

For the PostGIS data, if offline editing is selected, the plugins packs the data into a Spatialite file but I couldn't get that to work as QField couldn't find the data. If No action is selected, the data source points to the actual PostGIS database which didn't work in my case as it's locally hosted. So at this point, your best bet is to use Shapefiles. One important point is to make sure that the data files are in the same folder as the .qgs file in your mobile phone storage.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.