As the map from the GIS project started to take shape, we wanted to take it outside with us. Many things only get noticed when standing in the garden and looking around.
Because we were in a hurry, we started with printing paper maps: lines of trees and their relative position overlaid on the aerial image. Alterations were noted with a pen on the paper and then sometimes brought back by hand into QGIS. Messy, wasteful, and inefficient – but it was enough to get through the first big planting.
We tried Mergin Maps after watching an interesting talk about using QGIS for small scale agriculture mapping. It consists of a polished mobile app and a server component. There's a cloud version with a free tier but you can also run your own because it's all open source. Once setup, Mergin Maps worked very well. However, our GIS project keeps changing and that turned out to be a major pain.
Because the Mergin Maps mobile app can work fully offline, it and the server need to keep track of changes so that they can be correctly propagated to all copies of the project. In practice, this means either:
- Keeping all project layers in GeoPackage files and synching everything to the app. This needs some care and you need to remember to sync QGIS every time you make changes. It's also been very useful to have some of the layers in PostGIS (e.g. to easily integrate the PFAF database or to access irrigation schedule data).
- Making a separate QGIS project for field use and using mergin-db-sync to propagate changes to the main project. This works, but changing layer schemas is quite messy. There are some best practices that help, but not by much.
Offline mode isn't a requirement for us, though. There's WiFi or 4G coverage throughout the garden. The main options we found for connected mobile access for QGIS projects were:
- QWC2: modern looking and modular. Very promising, but seemed complex to get started with and get a proof of concept setup running. It's being actively developed, so we'll likely revisit it at some point.
- Lizmap: all in one PHP-based solution which we picked. It has good documentation that makes it reasonably easy to navigate the initial setup and subsequent tweaks.
Lizmap has been working very well for us. Once the server side is working, all configuration is done per project through a QGIS plugin. Having the exact same layers, symbology, and themes on the desktop and in the field is very useful. We bumped into a handful of annoying or puzzling issues but so far nothing that couldn't be solved or worked around.
The mobile user experience is good enough, but not as good as the Mergin app was. Some of it could be improved by better UX design, and some is inherent to being a web app but could perhaps be worked around (e.g. the browser deciding to reload the tab, which resets the map position and layer selection).
Finding an exact position on the map while out in the garden is not always easy. Phone GPS accuracy is not great at best and can be downright useless. Using the aerial imagery and nearby trees/features as a reference helps. More about precise positioning to come in another article.