Latest news will appear here soon.

Tag: highlights

The many ways to share maps with friends, teammates, and the public in QField

Over the years, QField has gained a number of ways through which authors can share their mapping projects. This post looks at the multiple ways this can be achieved and what scenarios fit each method best.

Leveraging QFieldCloud

Sharing maps to the public

QFieldCloud users all have the ability to configure their projects as ‘public’. When the option is turned on, all QFieldCloud users will be allowed to download and browse these maps at will.

These users coming in to view the map are given a reader role, prohibiting changes to the underlying datasets included in the project. This can be a great option when wanting to share maps to a large number of readers while relying on QFieldCloud to host the content and keep users up-to-date through synchronization.

Upload your mapping projects onto QFieldCloud and make them public through the web interface or QFieldSync. The public can then hop onto QField, log into QFieldCloud, and get to the maps by searching for the user and project names.

QFieldCloud’s registry is free and you get 100MB of free storage, give it a try !

Note that since QField 4.2, improvements made to the experience around cloud projects filtering have made finding these public projects much simpler.

Sharing collaborative maps with organization teammates and co-workers

If the maps are meant to be private and/or editable in a collaborative way, sharing them as part of a QFieldCloud organization plan is the way to go. Members of a registered organization are able to create projects in which the content of maps can be edited collaboratively and synchronized on-the-fly straight from the field.

These projects will automatically appear in the cloud projects list of logged in users that are organization member and a project collaborator, making it effortless to reach and download.

Importing through web URLs

It is also possible to share maps without relying on QFieldCloud. While we strongly believe QFieldCloud offers the best user experience, QField is all about providing its users with the freedom to choose.

Sharing maps can be done by compressing a QGIS project into a ZIP archive or simply sharing a georeferenced PDF and make that file available through a web site URL. Users wanting to import these files into QField then open the local projects and datasets panel from the welcome screen, click on the bottom right plus sign ‘import’ button, and select the ‘Import from URL’ menu action.

Importing from a URL works across all platforms QField runs on: Android, iOS, Windows, and Linux.

Sharing through QR codes

All of what’s described above can be made even easier by leveraging QR codes.

QFieldCloud QR codes

For maps shared on QFieldCloud, users can generate QR codes using their favorite online tool or application by using the following URI format:

qfield://cloud?project={username}/{project_name}

Simply replace the {username} and {project_name} with the username or organization owning the project as well as the project name. The resulting QR code can be scanned from devices using the operating system camera and will automatically open QField to an informative cloud project details view.

Web URL QR codes

For maps shared through a web site URL, similar QR codes can be generated by using the following URI format:

qfield://local?import={url}

Simply replace the {url} with a web URL that points to a compressed QGIS project ZIP or georeferenced PDF file (e.g. http://qfield.org/sample-projects/bees.zip) . When scanning these QR codes, QField will open a dialog asking users whether to proceed forward with the importing of a file name (e.g. map.pdf) from the URL’s domain name.

Learn More

QField 4.2 "Coral Sea": Reaching sub-centimeter accuracy out of the box

Here’s another QField release, packed with the features that have been at the top of professional surveyors’ wish list! (hint: it’s in the title) — plus improvements across the board for our wide range of users.

Main highlights

NTRIP & Bluetooth Low Energy

First up, NTRIP support has been added in QField unlocking sub-centimeter accuracy position readings without the need for any third-party app. This has long been requested by cadastral surveyors and other professional field workers in need of highly accurate data where being a few centimeters off can have real consequences.

To configure an NTRIP connection, simply connect to an RTK capable GNSS device via Bluetooth, BLE or TCP from the QField settings positioning panel. Once connected, the NTRIP user interface will be visible just below the positioning devices combo box in the same panel.

From there, users can enter their NTRIP caster details and enable the connection. An NTRIP visual indicator has been added at the top of the map canvas positioning information panel overlay to reflect the status of the connection. A blue dot means everything’s working, a glowing orange dot means the connection has stopped receiving correction data, and a gray dot means the connection has turned off.

Moving onto another functionality that walks hand in hand with NTRIP: QField now supports connecting to external GNSS devices via Bluetooth Low Energy (BLE). This means a whole array of GNSS devices can now talk directly to QField on iOS as well, simplifying workflows for field surveyors working on this platform. While the benefit is most visible on iOS as QField previously lacked the ability to talk through Bluetooth altogether on that platform, BLE connections are also available on Android, Windows, and Linux. In many cases, it can offer a more stable connection.

The development of these fantastic features was supported by two QField hardware partners: HappySurvey and ArduSimple. Their support meant we were able to focus on getting the best possible experience running on their devices. Other hardware will definitively work out of the box too, and we’d love to hear about your experiences. However, since we are dealing with functionalities that are often driven by vendor-specific commands and UUIDs, there’s plenty of room to grow when it comes to compatibility. So if you’re a hardware vendor, feel free to reach out, join our certified hardware program and support QField’s growth! :)

Moving on to another noteworthy newly-added functionalities.

Feature form improvements

Starting with QField 4.2, the feature form includes a new gallery editor which shows previews of image, video, and audio content from relationships where the child layer has one or more attachment attributes. It will turn itself on automatically whenever QField detects this setup. The gallery editor also offers a quick snap button allowing for a much faster workflow around photo and video capture. And yes, we’ve updated our notes layer to support this when creating projects using QField.

Another feature form improvement is a wizard mode, which turns a complex set of tabs into a simple, linear flow guided by next and previous buttons that respond to constraints. driven by an easy to use pair of next and previous buttons that are reacting to constraints. The wizard mode is a per-project setting that can be enabled when setting up projects in QGIS. Simply make sure QFieldSync is installed to see the configuration panel in the project properties dialog.

Watch Video

Feature identification in 3D, and more

Users enjoying QField’s recent addition of 3D views will be delighted by what’s coming next. Feature identification by tapping on the terrain in 3D map views is now possible. This removes the need to switch back and forth between 2D and 3D to do attribute editing or getting more information on a nearby point of interest during 3D-enhanced hikes through your favorite national park.

There are countless more improvements that would transform this announcement into a full on essay ;) to highlight a few more:

  • A new project information popup accessible via the side dashboard displays crucial project metadata such as the title, the abstract description, and the author(s).

  • The features list now reflects attribute table’s row conditional styling configured in QGIS, providing a nice way to add visual hints to make features in need of attention pop out in the list;

  • Audio attachments now show a level preview that helps identify key parts of a clip during playback.

  • Lines and polygons digitized using a stylus in freehand mode are now smoother with cleaner geometries containing fewer redundant vertices; and

As always, the full changelog is available over here for even more goodies.

A flood of QFieldCloud improvements

This new version of QField is packed with QFieldCloud improvements. The biggest one is the retirement of the cloud projects ‘community’ tab in favor of a completely revamped – and we believe improved – experience around cloud project searching and filtering. Users can now easily filter projects by organization and teammate ownership as well as by keywords. The new user interface also makes searching through the countless cloud projects that have been made public by authors around the world far more intuitive.

A brand new cloud storage indicator has been added to QField to let users know of their current used and remaining storage size. This will help users keep on top of their storage and provide an early warning when space is about to run out. Upgrades are available for users to keep working on these growing cloud projects that were started using the free community plan .

Beyond that, we’ve been hard at work hunting bugs and increasing the overall stability. We’ve also transformed a number of obscure and intimidating error messages into helpful notifications.

‘Coral Sea’ release name

The Coral Sea stretches across the southwest Pacific, bordered by Australia, Papua New Guinea, Solomon Islands, and Vanuatu. Home to the Great Barrier Reef and some of the most biodiverse coastal ecosystems on the planet, it is also one of the most climate-pressured, with bleaching events and coastal change outpacing many monitoring programs.

Field workers across the region are already responding with QField: mapping seagrass and mangroves for blue carbon conservation with the MACBLUE project , building national environmental monitoring capacity through SPREP’s regional GIS training , running standardized tropical field data collection at the Leibniz Centre for Tropical Marine Research , and driving land cover surveys across 10 Pacific Island nations through Digital Earth Pacific and the maplandscape project .

At OPENGIS.ch, the Coral Sea is a reminder that the places most in need of reliable field data are often the hardest to reach. That is precisely what QField is built for.

Happy field mapping!

Learn More

QField 4.1 "Barents Sea": Dive into the third dimension and coordinate geometry operations!

QField’s first release of the year comes packed with new features as well as a bundle of improvements and polishing. Let’s jump right into it.

Main highlights

3D

This new version of QField comes with a shiny 3D map view, giving users the ability to render their map content on top of a three-dimensional terrain.

Users can rotate the terrain geometry to get a better understanding of elevation profiles, while also adjusting the plane’s extent by panning and zooming with drag and pinch gestures. When the GNSS positioning service is enabled, the user’s current position, as well as ongoing tracking sessions, will be overlaid on top of the 3D terrain geometry.

Watch Video

By default, QField relies on Mapzen Global Terrain tiles to determine terrain elevation. As its name indicates, this is a 30-meter digital elevation model covering the globe and hosted online, which allows QField to render 3D views without any user configuration. But it does not stop there. QField supports additional elevation sources, such as disk-based GeoTIFFs, to work in offline areas. This can be configured when setting up a project by changing the terrain type in QGIS.

COGO operations

Moving on to the next major functionality introduced in this new version: a COGO (Coordinate Geometry) framework to support fieldwork through a set of parameter-driven operations to generate vertices. This has been one of the most requested features by professional land surveyors, so we couldn’t be more excited to deliver it and hear back from our community.

QField 4.1 ships with three COGO tools:

  • The XYZ parameters operation generates vertices based on a manually entered pair of X and Y coordinates as well as an optional Z value;
  • The distance/angle from point operation generates vertices based on distance and angle values from a given point; and
  • The circles’ intersection operation generates vertices at the intersection of two circles, each defined by a point and a radius.

Leveraging QField’s capabilities, a COGO operation’s point parameter can be defined in multiple ways: users can enter values manually or automatically fill in the parameter using either the current GNSS position, the geometry of a pre-existing feature within a point layer, or the coordinate cursor’s location. The latter is super useful when coupled with project snapping.

There’s more

Beyond these two flagship features, this new version contains tons of improvements.

We’re happy to report that the background tracking functionality introduced for Android last year is now available on iOS. Users can now save battery by locking their phone while QField continues to track positions. Upon reopening QField, the collected positions will be written into your project. No Apple will be left behind.

The feature form continued to receive improvements during this development cycle. Starting with this version, Remember Last Value pins are hidden by default. Moving away from an always-shown interface, remember last value pin visibility can now be configured per field. Using the latest QGIS (4.0 and above), users can configure the presence of the pin and whether remembrance should be active by default in the vector layer properties’ attribute form panel.

Position tracking has received a lot of attention during this development cycle focused on optimizations. Tracking is now friendlier to your device battery while user interface responsiveness has been improved when tracking sessions are ongoing. We’ve also spent some time making Bluetooth connections to external GNSS devices even more reliable. If this was an issue for you in the past, give this version a try again.

Finally, something to please our advanced users: QField now offers the ability to tunnel network traffic through a proxy that can be enabled and configured in the settings panel.

‘Barents Sea’ release name

The Barents Sea, a marginal sea of the Arctic Ocean bordered by Norway and Russia, is one of the most ecologically and geopolitically significant water bodies on the planet. Home to some of the world’s largest cod and haddock fisheries, it sustains both marine ecosystems and the livelihoods of coastal communities across the high north. Its waters are a barometer for our changing climate: the Barents Sea is the fastest-warming part of the Arctic, making it a critical area of scientific observation and environmental monitoring. The Nansen Legacy project has been tracking these changes closely (factsheet ).

Sea ice in the Barents Sea
Sea ice in the Barents Sea, Peter Prokosch https://www.grida.no/resources/3636

At OPENGIS.ch, we see the Barents Sea as a powerful symbol of why field data collection matters. Understanding and protecting remote, extreme environments like the Arctic requires tools that are reliable, offline-capable, and built for real-world conditions. That is precisely what QField is designed to deliver.

With QField 4.1 ‘Barents Sea’, we continue building on that mission, bringing new capabilities to field workers, researchers, and environmental stewards wherever their work takes them.

Happy field mapping!

Learn More

QField 4.0 "Aare": Unlocking a great spatial experience for a larger audience

Just in time for the end of 2025, QField 4.0 is now available in a virtual store near you. This release brings significant improvements and marks an important usability milestone, worthy of a new major version. It’s truly never been easier to get started with QField - whether you’re a seasoned GIS professional or new to spatial data collection.

Main highlights

One of the most significant feature additions in this new version is right there on the welcome screen: a simple wizard for creating new projects. The wizard guides users through a set of questions covering the desired basemap style and actions such as note taking and position tracking. These projects can be published directly on QFieldCloud , so users can upload images, notes, and tracks that are accessible through web browsers or QGIS using QFieldSync.

The project creation framework also unlocked another feature we’re proud of: on-the-fly conversion of imported projects to cloud projects. The ability to upgrade pre-existing projects to cloud projects means that users can push spatial data and attachments residing on their devices to QFieldCloud and instantly collaborate with coworkers.

On the QFieldCloud front, we’ve done significant code refactoring to make synchronization and attachment uploads even more reliable. Users now see a progress bar showing attachment upload status.

The cloud projects list also lets users push changes and sync projects without opening them first. Indicator badges show whether you have pending local changes or if updates are available from the cloud.

A leaner, clearer, and more focused user interface

Early on in this development cycle, our ninjas decided to make a significant leap forward with QField’s UX focusing on making the user interface leaner when possible, clearer when needed, and more focused throughout.

QField now has a vastly more readable feature form when viewing feature attributes. We’ve also made the interface more consistent by updating all editor widgets to use Qt’s Material style, so comboboxes, text fields, and other elements now have a unified look.

We’ve also simplified the user experience around positioning. The map canvas now has a single positioning button at the bottom right. Click the location marker overlay to reveal a new pie menu with quick access to positioning features: start tracking sessions, copy position to clipboard, show the positioning panel, lock the coordinate cursor to position, lock the map canvas to position, and add bookmarks at your position.

Now when users set accuracy thresholds, tracking sessions and averaged positioning will automatically filter out “bad accuracy” readings.

QField also animates transitions when jumping to your GNSS position, features, or coordinates, making navigation feel smoother and more intuitive.

Wait, there’s more

Beyond these major improvements, QField 4.0 includes tons of new features:

  • Multilingual projects - a feature we added to QGIS several years ago - are now supported in QField
  • When connected to the internet, QField now displays online legend graphics for WMS and Esri map services, providing crucial context for field users
  • Additional feature form widgets are now supported, including the spacer widget and color editor widget, further improving interoperability with QGIS

A complete list of changes is available in the QField release notes on GitHub.

A new release cycle focused on water bodies

With the QField 4.X series, we’re introducing a new naming theme focused on water bodies.

Oceans, rivers, lakes, wetlands, and coastal waters are fundamental to life on Earth. They provide drinking water, support ecosystems and agriculture, regulate climate, and sustain communities worldwide. Yet these vital resources are increasingly under pressure from pollution, overuse, and climate change.

At OPENGIS.ch, we believe that better spatial data leads to better decisions. By making field data collection easier and more accessible, we aim to support those working to understand, protect, and manage these fragile systems. Dedicating this release cycle to water bodies reflects our commitment to using technology responsibly and connects naturally with the United Nations Sustainable Development Goals, which we consistently strive to support through our work.

For the first release in this cycle, we chose a water body of particular significance to QField: Switzerland’s longest river entirely within the country, Aare.

As always, we hope you enjoy this new release.

Happy field mapping!

Learn More

QField 3.6 “Gondwana”: Locking on greatness

Building on top of the last release which introduced background tracking, this development cycle focused on polishing functionalities and building on top of preexisting features. The variety of improvements is sure to make our diverse user base and community excited to upgrade to QField 3.6.

Main highlights

One of the most noticeable improvement in this version is the addition of “map preview rendering”. QField now renders partial map content immediately beyond the edge of the screen, offering a much nicer experience when panning around as well as zooming in and out. Long-time QGIS users will recognise the behaviour, and we’re delighted to bring this experience to the field

This upgrade was the foundation upon which we built the following enhancement: as of QField 3.6, using the “lock to position” mode now keeps your position at the very center of the screen while the canvas slips through smoothly. This greatly improves the usability of the function as your eyes never need to spend time locating the position within the screen: it’s dead center and it stays there!

https://videopress.com/v/kJg69l49?resizeToParent=true&cover=true&preloadContent=metadata&useAverageColor=true

Reminder, the “lock to position” mode is activated by clicking on the bottom-right positioning button, with the button’s background turning blue when the mode is activated.

The improvements did not stop there. Panning and zooming around used to drop users out of the lock mode immediately. While this had its upsides, it also meant that simple scale adjustments to try and view more of the map as it follows the position was not possible. With QField 3.6, the lock has been hardened. Moving the map around will temporarily disable the lock, with a visual countdown embedded within a toast message informs users of when the lock will return. An action button to terminate the lock is located within the toaster to permanently leave the mode.

Moving on to QFieldCloud, this cycle saw tons of improvements. To begin with, it is now possible to rely on shared datasets across multiple cloud projects. Known as localised data paths in QGIS, this functionality enables users to reduce storage usage by storing large datasets in QFieldCloud only once, serving multiple cloud projects, and also easing the maintenance of read-only datasets that require regular updates.

QFieldSync users will see a new checkbox when synchronising their projects, letting them upload shared datasets onto QFieldCloud.

Furthermore, QField has introduced a new cloud project details view to provide additional details on QFieldCloud-hosted projects before downloading them to devices. The new view includes a cloud project thumbnail, more space for richer description text, including interactive hyperlinks, and author details, as well as creation and data update timestamps. Finally, the view offers a QR code, which allows users to scan it quickly and access cloud projects, provided they have the necessary access permission. Distributing a public project has never been easier!

Beyond that, tons more has made its way into QField, including map layer notes viewable through a legend badge in the side dashboard, support for feature identification on online raster layers on compatible WMS and ArcGIS REST servers, atlas printing of a relationship’s child feature directly within the parent feature form, and much more. There’s something for everybody out there.

Focus on feature form polishing

This new version of QField coincides with the release of XLSForm Converter , a new QGIS plugin created by OPENGIS.ch’s very own ninjas. As its title implies, the plugin converts an XLSForm spreadsheet file (.xls, .xlsx, .ods) into a full-fledged QGIS project ready to be used in QField with a pre-configured survey layer matching the content of the provided XLSForm.

This was a golden opportunity to focus on polishing QField’s feature form. As a result, advanced functionalities such as data-driven editable flag and label attribute properties are now supported. In addition, tons of paper-cut bugs, visual inconsistencies, and UX shortcomings have been addressed. Our favourite one might just be the ability to drag the feature addition drawer’s header up and down to toggle its full-screen state :)

Learn More

1 Million Downloads: QField's Big Milestone

🚀 QField has officially hit 1 million downloads – thanks to you! 🎉

Let’s not beat around the bush: QField has hit 1+ million downloads. What started as an ambitious open-source project has transformed into a global tool that’s changing how professionals collect spatial data in the field. This big milestone is the result of years of dedication, with over 50,000 hours invested by our team. Our GeoNinjas contributed 14% of QGIS, while also driving open-source projects like ModelBaker and SwissLocator.Thank you for making GIS nerds the unsung heroes of fieldwork everywhere. Here’s to changing the world, one field at a time!


🚀 GET QFIELD NOW


From Switzerland to the world!🇨🇭

Born in the Swiss Alps, raised by open-source, and now roaming the globe, QField has gone international! What started in Switzerland is now in the hands of field mappers, researchers, and GIS pros on six continents. Thank you for taking QField worldwide! 🌍

Mapping the world one field at a time.


The numbers tell a story 📖

One million downloads might sound like just a number, but for us, it represents something much bigger. It’s 1'000'000 times someone chose an innovative, flexible mobile mapping solution. It’s 1’000’000 instances of fieldwork made easier, more efficient, and more accurate.

From humble beginnings to over 1 million downloads, QField has officially gone from “little app that could” to “open-source overachiever. Thanks to the power of open source (and probably some caffeine).

QField has hit 1 million downloads in over 150 countries.


QField’s top user countries 🏆

QField’s passport is full! 🌍 We’re blown away by how far our geospatial tool has travelled: from mountaintops to city blocks, you’re mapping it all. Our amazing global user community is making QField a true #DigitalPublicGood.A map made in heaven! 💚

Mapping knows no borders, just like QField’s growing community.


More than just an app 📱

This cross-platform flexibility helps professionals collect GIS data anywhere, anytime. QField goes wherever you do. Android? Check. iOS? Check. Desktop? Check. If it has a screen, we’re probably on it. Collect GIS data anywhere, anytime.

QField isn’t just software, it’s a community-driven project that turns complex geospatial challenges into precise, actionable data. Every download represents a connection to our core mission: making professional-grade mobile GIS accessible, reliable, and straightforward.


QField’s Journey: Mapping our milestones 📍

Our roadmap is packed with milestones and highlights that will continue to push the boundaries of mobile GIS.


QField toQFieldCloud ☁️

You can play a key role in the sustainable growth of QField, the open-source digital good. Your support  can take many forms, like contributing… or:

Support option 1
Support option 2
Support option 3

This not only streamlines and enhances your fieldwork but also gives you access to the full QField ecosystem with all its advantages. At the same time, you directly contribute to the continuous improvement of QField, ensuring its impact grows for everyone.

💚 SUPPORT US


Learn More

QField 3.5 “Fangorn”: Background tracking a reality!

Let’s not bury the lead here: the long-awaited capability to track position while QField is in the background or the device is locked has arrived in this brand-new version of QField. This feels like a magical moment, so we settled for a fantastical forest for our release name.

Main highlights

As highlighted above, QField 3.5 has unlocked background position tracking on the Android platform. This allows users to keep track of their positions even as they put QField in the background to conduct other tasks on their devices. It also means that tracking has become far more battery efficient, as users can lock/suspend their phones and tablets for long periods while QField continues to collect and track positions. On top of it all, this will work out of the book with internal GNSS as well as external high-precision GNSS devices.

This is a long-requested functionality for QField, and we couldn’t be prouder to deliver it to our hundreds of thousands of Android users. Big thanks to Groupements forestiers QuébecBiotope , and Terrex Seismic, who jointly sponsored the development.

Moving on to the next major feature added to this new version. Users can now easily import folders from WebDAV services and subsequently upload and download content to that remote folder within QField itself. This functionality eases friction on Android and iOS platforms where storage access is heavily regulated. This implementation highlights our commitment to providing QField users with the freedom they need to build their workflows; thanks to Prona Romandie , AgaricIG , and Oslandia for commissioning this work.

It’s important to note that the WebDAV functionality does not provide data synchronization. The download and upload operations will overwrite datasets stored locally or remotely. For users in need of synchronization and smooth project distribution, QFieldCloud is the way to go . With this new version of QField, downloading large datasets from QFieldCloud has become much more reliable, especially on devices with low memory.

Last but not least, QField has gained support for project-configured grid decoration. When activated, a grid is overlayed on top of the map canvas, which will dynamically render while panning and zooming around. The grid is configured and activated while setting up projects within QGIS itself.

Pro tip: this functionality can replace heavy grid datasets when covering a large dataset, something to consider when trying to optimize projects’ storage size. Big thanks to Oester Messtechnik GmbH for supporting the implementation of this fourth decoration following the arrival of title, copyright, and image decorations in earlier releases.

Other improvements in this release include “forward” angle snapping to digitize perfectly angled polygons, pinch gesture-driven feature rotation, and a new print template which unlocks printing of map canvas to PDF even when their projects have no layouts defined.

Plugin-specific improvements

One of the main additions to QField’s plugin framework is the capability to integrate custom results into the search bar. Thanks to Kanton Basel-Landschaft for supporting the development, users can enjoy OpenStreetMap Nominatim search result integration by installing this plugin (instructions available on the repository). This integration also opens up many new possibilities, such as enabling plugins to send prompts to AI, just like this plugin does.

Other noteworthy improvements include shipping Quick3D QML modules, which allow authors to develop 3D overlays, a new API to customize QField’s colour appearance and a new mechanism for plugins to add a configuration button within the plugin manager.

Users and plugin authors can expect an exciting year ahead as the QField plugin framework continues to grow with new functionalities and improvements. Watch this space!

Learn More

QField 3.4 “Ebo”: Geofencing and processing out of the box

QField 3.4 is out, and it won’t disappoint. It has tons of new features that continue to push the limits of what users can do in the field.

Main highlights

A new geofencing framework has landed, enabling users to configure QField behaviors in relation to geofenced areas and user positioning. Geofenced areas are defined at the project-level and shaped by polygons from a chosen vector layer. The three available geofencing behaviours in this new release are:

  • Alert user when inside an area polygon;
  • Alert user when outside all defined area polygons and
  • Inform the user when entering and leaving an area polygons.

In addition to being alerted or informed, users can also prevent digitizing of features when being alerted by the first or second behaviour. The configuration of this functionality is done in QGIS using QFieldSync.

Pro tip: geofencing settings are embedded within projects, which means it is easy to deploy these constraints to a team of field workers through QFieldCloud . Thanks Terrex Seismic  for sponsoring this functionality.

QField now offers users access to a brand new processing toolbox containing over a dozen algorithms for manipulating digitized geometries directly in the field. As with many parts of QField, this feature relies on QGIS’ core library, namely its processing framework and the numerous, well-maintained algorithms it comes with.

The algorithms exposed in QField unlock many useful functionalities for refining geometries, including orthogonalization, smoothing, buffering, rotation, affine transformation, etc. As users configure algorithms’ parameters, a grey preview of the output will be visible as an overlay on top of the map canvas.

To reach the processing toolbox in QField, select one or more features by long-pressing on them in the features list, open the 3-dot menu and click on the process selected feature(s) action. Are you excited about this one? Send your thanks to the National Land Survey of Finland , who’s support made this a reality.

QField’s camera has gained support for customized ratio and resolution of photos, as well as the ability to stamp details – date and time as well as location details - onto captured photos. In fact, QField’s own camera has received so much attention in the last few releases that we have decided to make it the default one. On supported platforms, users can switch to their OS camera by disabling the native camera option found at the bottom of the QField settings’ general tab.

Wait, there’s more

There are plenty more improvements packed into this release from project variables editing using a revamped variables editor through to integration of QField documentation help in the search bar and the ability to search cloud project lists. Read the full 3.4 changelog to know more, and enjoy the release!

Learn More

Supercharge your fieldwork with QField's project and app-wide plugins

This blog post will introduce QField’s brand new plugin framework and walk through the creation of a plugin to support bird watchers in need of a quick way to digitize photos of spotted birds onto a point vector layer.

A plugin framework is born!

As announced recently , QField now empowers users through a brand new plugin framework allowing for simple customization on the way the application behaves or looks all the way through to creating completely new functionalities.

The plugin framework relies on Qt’s QML engine and JavaScript , allowing for cross-platform support out of the box. This means that plugins will run perfectly fine on all platforms currently supported by QField: Android, iOS, Windows, Linux, and macOS.

App-wide plugin vs. project plugin

First, let’s look at the two types of plugins supported by QField: app-wide plugins and project plugins. As their names imply, the main difference is their scope. An enabled app-wide plugin will remain active as long as QField is running, while project plugins are activated on project load and deactivated when the project tied to the plugin is closed.

Project plugins are shipped alongside a given project file ( .qgs/ .qgz). Project plugins must share the same name of the project file with a .qml extension. For example, if your project file is birdwatcher.qgz, QField will look for the presence of a birdwatcher.qml to activate the project plugin. For app-wide plugins, installation is done via the plugins manager popup; more on this below.

Distribution of project plugins can be greatly facilitated through QFieldCloud . The presence of project plugins within a cloud project environment will be automatically detected and packaged alongside the project file and its datasets when deployed to QField devices.

Starting with a project plugin

We will start with looking into a simple project plugin that offers a new digitizing mechanism focused on snapping photos as a trigger for point feature addition. This plugin will demonstrate how new functionalities and behaviors can be added to QField to serve specific needs. In this case, the new digitizing mechanism could come in handy for bird watchers and other users in need of a quick way to snap photos!

It’s advised to download a version of QField running on your desktop environment while testing plugins. Links to Windows, Linux, and macOS builds are available here . Once installed, download this project archive containing a tiny birdwatcher sample project and extract it into a new directory on your local machine.

The project archive consists of a point vector layer ( observations.gpkg), a project file ( birdwatcher.qgz) as well as a project plugin ( birdwatcher.qml) which we will look into below. Please note that the point vector layer’s attribute form is already configured to display captured photos. We will not spend time on attribute form setup in this post; see this relevant documentation page if you are interested in knowing how that was achieved.

We can now test the project plugin by opening the project ( birdwatcher.qgz) in QField. Users familiar with QField will notice a new ‘camera’ tool button present on the top-right corner of the map canvas. This button was added by the project plugin. You can press on it, to open the QField camera, take a photo (of yourself, a random object on your table, or with a bit of luck a bird), and witness how that leads to a point feature creation.

Digging into the project plugin file

Let’s open the project plugin file (birdwatcher.qml) in your favorite text editor. The first few lines define the QML imports needed by the plugin:

import QtQuick
import QtQuick.Controls

import org.qfield
import org.qgis
import Theme

import "qrc:/qml" as QFieldItems

Beyond the two QtQuick imports, we will make use of QField-specific types and items as well as QGIS ones ( registered and declared in this source file ), a Theme to retrieve icons and colors as well as QField items such as tool buttons ( see this source directory ), as well as the QField QML items embedded into the application itself to make use of the camera.

The next line declares an generic Item component which will be used by QField to initiate the plugin. This must be present in all plugins. As this plugin does, you can use the Component.onCompleted signal to trigger code execution. In this case, we are using iface to add a tool button on top of the map canvas:

Component.onCompleted: {
  iface.addItemToPluginsToolbar(snapButton)
}

Just above these lines, the plugin declare a number of properties pointing to items found in the main QField ApplicationWindow:

property var mainWindow: iface.mainWindow()
property var positionSource: iface.findItemByObjectName('positionSource')
property var dashBoard: iface.findItemByObjectName('dashBoard')
property var overlayFeatureFormDrawer: iface.findItemByObjectName('overlayFeatureFormDrawer')

Users can reach through to any items within QField’s ApplicationWindow provided they have an objectName property defined. The string value is used in the iface.findItemByObjectName() function to retrieve the item.

The rest of the file consists of a loader to activate the QField camera, a tool button to snap a photo, and a function to create a new feature within which the current position is used as geometry and the snapped photo is attached to the feature form.

The function itself provides a good example of what can be achieved by using the parts of QGIS exposed through QML, as well as utility functions and user interface provided by QField:

function snap(path) {
  let today = new Date()
  let relativePath = 'DCIM/' + today.getFullYear()
                              + (today.getMonth() +1 ).toString().padStart(2,0)
                              + today.getDate().toString().padStart(2,0)
                              + today.getHours().toString().padStart(2,0)
                              + today.getMinutes().toString().padStart(2,0)
                              + today.getSeconds().toString().padStart(2,0)
                              + '.' + FileUtils.fileSuffix(path)
  platformUtilities.renameFile(path, qgisProject.homePath + '/' + relativePath)

  let pos = positionSource.projectedPosition
  let wkt = 'POINT(' + pos.x + ' ' + pos.y + ')'

  let geometry = GeometryUtils.createGeometryFromWkt(wkt)
  let feature = FeatureUtils.createFeature(dashBoard.activeLayer, geometry)

  let fieldNames = feature.fields.names
  if (fieldNames.indexOf('photo') > -1) {
    feature.setAttribute(fieldNames.indexOf('photo'), relativePath)
  } else if (fieldNames.indexOf('picture') > -1) {
    feature.setAttribute(fieldNames.indexOf('picture'), relativePath)
  }

  overlayFeatureFormDrawer.featureModel.feature = feature
  overlayFeatureFormDrawer.state = 'Add'
  overlayFeatureFormDrawer.open()
}

The QGIS API Documentation site is a good resource for learning what parts of the many QGIS classes are exposed to QML. For example, the QgsFeature documentation page contains a Properties section and a Q_INVOKABLE prefix next to functions indicating their availability within a QML/JavaScript environment.

Deployment of a project plugin via QFieldCloud

As mentioned above, QFieldCloud greatly eases the deployment of project plugins to devices in the field. We will now go through the steps required to create a cloud project environment based on the birdwatcher sample project, and witness it handling the project plugin automatically.

This will require you to registered for a freely available QFieldCloud community account if you haven’t done so yet ( it takes a minute to do so , what are you waiting for ;) ). We will also need the QFieldSync plugin in QGIS, which can be enabled through the QGIS plugin manager.

Let’s open QGIS, and log into QFieldCloud by clicking on the QFieldSync toolbar’s blue cloud icon. Once logged in, click on the ‘Create New Project’ tool button found at the bottom of the dialog.

In the subsequent panel dialog, choose the ‘Create a new empty QFieldCloud project’ and then hit the ‘Next’ button. Give it a name and a description, and for the local directory, pick the folder within which you had extracted the birdwatcher project, then hit the ‘Create’ button.

QFieldSync will then ask you to upload your newly created cloud project environment to the server. Notice how the project plugin file (birdwatcher.qml) is part of the files to be delivered to the cloud. Confirm by clicking on the ‘Upload to server’ button.

When QFieldSync is finished uploading, you are ready to take your mobile device, open QField, log into your QFieldCloud account and download the cloud project. Once the cloud project is loaded, you will be asked for permission to load the project plugin, which you can grant on a permanent or one-time basis.

Bravo! You have successfully deployed a project plugin through QFieldCloud.

Creating an app-wide plugin directory

Let’s move on to creating a functional app-wide plugin directory. Download this sample app-wide plugin and extract it into a new directory placed in the ‘plugins’ directory, itself found within the QField app directory. The location of the app directory is provided in the ‘About QField’ overlay, take note of it prior to extracting the plugin if you have not done so yet.

As seen in the screenshot above, which demonstrates the directory hierarchy, a given plugin directory must contain at least two files: a main.qml file, which QField will use to activate the plugin, and a metadata.txt file containing basic information on the plugin, such as the plugin name, author details, and version.

Here’s a sample metadata.txt from the birdwatcher project plugin upgraded into an app-wide plugin:

[general]
name=Snap!
description=Digitize points through snapping photos
author=OPENGIS.ch
icon=icon.svg
version=1.0
homepage=/

Opening main.qml in your favourite text editor will reveal that it has the exact same content as the above-shared project plugin. The only change is the renaming of birdwatcher.qml to main.qml to take into account this plugin’s app-wide scope.

PSA: we have setup this GitHub QField template plugin repository to ease creation of plugins. Fork at will!

Deploying app-wide plugins

While currently not as smooth as deploying a project plugin through QFieldCloud, app-wide plugins can be installed onto devices using a URL pointing to a zipped archive file containing the content of a given plugin directory. The zipped archive file can then be hosted on your own website, on a GitHub or GitLab repository, a Dropbox link, etc.

In QField, open the plugins manager popup found in the settings panel, and use the ‘Install plugin from URL’ button to paste a URL pointing to a zipped plugin file.

You should keep the zipped archive file name consistent for a better user experience, as it is used to determine the installation directory. This is an important consideration to take into account when offering plugin updates. If your zipped plugin file name changes, the plugin will not be updated but rather added to a new directory alongside the previously installed plugin.

QField does allow for a version tag to be added to a zipped archive file name, provided it is appended at the end of the file name, preceded by a dash, and includes only numbers and dots. For example, myplugin-0.0.1.zip and myplugin-0.2.1.zip will install the plugin in the myplugin directory.

Empowering users as well as developers

Here at OPENGIS.ch, we believe this new plugin framework empowers not only users but also developers, including our very own ninjas! With plugin support, we now have the possibility to develop answers to specific field scenarios that would not necessarily be fit for QField-wide functionalities. We would love to hear your opinion and ideas.

If you would like to supercharge your fieldwork and need some help, do not hesitate to contact us - your projects are our passion 💚

P.S. If you are developing a cool QField plugin, also let us know! :)

Bird SVG in video CC-BY https://svgrepo.com/svg/417419/bird
Learn More

QField 3.3 “Darién”: It is just the beginning

QField 3.3 has been released, and with it, we are proud to introduce a brand new plugin framework that empowers users to customize and add completely new functionalities to their favourite field application. That’s on top of a bunch of new features and improvements added during this development cycle. What preceded this moment was just the beginning!

Main highlights

One of the biggest feature additions of this version is a brand new drawing tool that allows users to sketch out important details over captured photos or annotate drawing templates. This was a highly requested feature, which we are delighted to bring to all supported platforms (Android, iOS, Windows, macOS, and, of course, Linux) with the financial support of the Swiss QGIS user group .

Also landing in this version is support for copying and pasting vector features into and from the clipboard. This comes in handy in multiple ways, from providing a quick and easy way to transfer attributes from one feature to another through matching field names to pasting the details of a captured feature in the field into a third-party messenger, word editing, or email application. Copying and pasting features can be done through the feature form’s menu as well as long pressed over the map canvas. If copy pasting ain’t your style, a new feature-to-feature attributes transfer shortcut has also been added to the feature form’s menu. Appreciation to Switzerland, Canton of Lucerne, Environment and Energy for providing the funds for this feature.

The feature form continues to gain more functionalities; in this version, the feature form’s value map editor widget has gained a new toggle button interface that can help fasten data entry. The interface replaces the traditional combo box with a series of toggle buttons, lowering the number of taps required to pick a value. If you enjoy this as much as we do, send a virtual thanks to German Archaeological Institut - KulturGutRetter , which sponsored this feature.

Other improvements in the feature form include support for value relation item grouping and respect for the vector layer attributes’ “reuse last entered value” setting.

Finally, additional features that are sure to please include support for image decoration overlay, a new interface to hop through cameras(front, back, and external devices) for the ‘non-native’ camera , the possibility to disable the 3-finger map rotation gesture, and much more .

User experience improvements

Long-time users of QField will notice the new version restyling of the information panels such as GNSS positioning, navigation, elevation profile, and sensor data. The information is now presented as an overlay sitting on top of the map canvas, which increases the map canvas’ visibility while also achieving better focus and clarity on the provided details. While revisiting these information panels, we’ve made sure all details, including altitude and distance to destination, respect user-configured project distance unit type.

The dashboard’s legend has also received some attention. You can now toggle the visibility of any layer via a quick tap on a new eye icon sitting in the legend tree itself. Similarly, legend groups can be expanded and collapsed directly for the tree. This also permits you to show or hide layers while digitizing a feature, something which was not possible until now. The development of these improvements was supported by Gispo and sponsored by the National Land Survey of Finland .

Plugin framework

Last but far away from least, QField 3.3 introduces a brand new plugin framework using Qt’s powerful QML and JavaScript engine. With a few lines of code, plugins can be written to tweak QField’s behaviour and add breathtaking capabilities. Two types of plugins are possible: app-wide plugins as well as project-scoped plugins. To ensure maximum ease of deployment, we have enabled project plugin distribution through QFieldCloud ! We extend our heartfelt thanks to Amsa for the financial contribution that brought this incredible project to life.

Stay tuned for an upcoming webinar and a dedicated post that will dive into how QField plugins can revolutionize your field (and business) workflows by allowing you to be even more efficient in the field.

Users interested in authoring plugins or better understanding the framework can already visit the dedicated documentation page , a sample plugin implementation sporting a weather forecast integration and our latest blog article .

Learn More