QGIS Planet

24th Contributors QGIS Meeting in Firenze 2022

The international community of QGIS contributors got together in person from 18 to 22 August in parallel to OpenStreetMap State of The Map event and right before the FOSS4G. So there was a lot of open source geo power concentrated in the beautiful city of Florence in those days. It was my first participation and all I knew was that it’s supposed to be an unconference. This means, there is no strict schedule but space and opportunity for everyone to present their work or team up to discuss and hack on specific tasks to bring the QGIS project to the next level.

Introduction and first discussions

We were a group of six OPENGIS.ch members arriving mostly on Thursday, spending the day shopping and moving into our city apartment. In the evening we went to a Bisteccheria to eat the famous Fiorentina steak. It was big and delicious as was the food in general. Though, I am eating vegetarian since to compensate. On Friday we went to the Campus to meet the other contributors. After a warm welcome by the organizer, Rossella and our CEO and QGIS chair Marco Bernasocchi we did an introduction round where everyone mentioned their first QGIS version ever used. At this point, I became aware of the knowledge and experience I was sharing the room with. Besides this, I noticed that there was another company attending with several members, namely Tim Sutton’s Kartoza, which is also contributing a lot to QGIS. The first discussion was about QGIS funding model, vision, communication and on the new website in planning. This discussion then moved into some smaller groups including most of the long term contributors. I was looking around, physically and virtually, and tried to process all the new inputs and to better understand the whole QGIS world. Besides, I noticed my colleague Ivan having problems with compiling QGIS after upgrading to Ubuntu 22.04 which then motivated my other colleague Clemens to implement a docker container to do the compilation. Nevertheless, I postponed my Ubuntu upgrade. That evening we went out all together to have a beer or two and play some pool sessions and table football. Finally, the OPENGIS.ch crew navigated back home pairing a high-precision GNSS sensor with a mobile device running OpenStreetMap in QField. We arrived back home safely and super precise.

First tasks and coffee breaks

There was catering in the main hall covering breakfast, lunch and coffee breaks. It never took long after grabbing a cup of coffee to find yourself in a conversation with either fellow contributors or OpenStreetMap folks. I chatted with a mapper from Japan about mobile apps, an engineer from Colombia about travelling and a freelancer from the Netherlands about GDAL, to name 3 coffees out of many.

QGIS plugins website

After some coffee, Matthias Kuhn, our CTO and high-ranking QGIS contributor, asked me whether I could improve some ugly parts of QGIS plugins website. So I had my first task which I started working on immediately. The task was to make the site more useful on mobile devices which would be achieved by collapsing some unimportant information and even removing other parts. I noticed some quirks in the development workflow, so I also added some pre-commit hooks to the dev setup. Dimas Ciputra from Kartoza helped me finalize the improvements and merge them into master branch on github.

QGIS website downloads section

Regis Haubourg asked to help simplify the QGIS Downloads for Windows section on the main QGIS website. We played around in the browser dev tools until we thought the section looked about right. I then checked out the github repo and started implementing the changes. I need to say the tech stack is not quite easy to develop with currently, but there is a complete rework in planning. Anyway, following the pull request on github a lively discussion started which is ongoing by the time of writing. And this is a good thing and shows how much thought goes into this project.

Presentations

There were many interesting and sometimes spontaneous presentations which always involved lively discussions. Amy Burness from Kartoza presented new styling capabilities for QGIS, Tobias Schmetzer from the Bavarian Center for Applied Energy Research presented the geo data processing and pointed out issues he encountered using QGIS on this and Etienne Trimaille from 3liz talked about qgis-plugins-ci, just to name a few.

Amazing community

On Saturday evening a bus showed up at the campus and took us on a trip up to the hills. After quite a long ride we arrived at a restaurant high up with mind-blowing view of the city. I forgot how many rounds of Tuscan food were served, but it was delicious throughout. An amazing evening with fruitful conversations and many laughs.

The weather was nice and hot, the beers cold, the Tuscan food delicious and the contributors were not only popular Github avatars but really nice people. Thank you QGIS.

Swiss QGIS user group Meeting Berne 2022

Learn, Present, Discuss and MEET

In Summer 2022 the Swiss QGIS User community finally got together physically again to meet at the University of Berne, after 3 years of online meetings. Up to 90 QGIS users and contributors out of academia and engineering enjoyed and discussed the newest QGIS features and use cases.

After a warm welcome and introduction by Isabel Kiefer from OPENGIS.ch the presentations started.

QGIS Update

Marco Bernasocchi (OPENGIS.ch CEO and Qgis.org Chair) presented recent QGIS features out of the changelogs of current long term release 3.22, followed by versions 3.24 and 3.26. Among the enhancements are the new curve conversion vertex tool and improvements to the mesh editing, 3D-mode, WMS server and SQL logging, to name a few.

QGIS Animation Workbench

The real world is not static. Thus, often information can be understood more easily in animated form, like visualizing traffic on a map with moving vehicles. QGIS now supports dynamic renderings with the Animation Workbench Plugin. Tim Sutton (Kartoza) led through a Youtube Video showing the underlying mechanisms of the plugin and how to use it.

QGIS Model Baker Update

Starting with the new logo, Romedi Filli (GIS-Fachstelle, Kt. Schaffhausen) showed the latest improvements to the QGIS Model Baker plugin. Especially the data validator and UsabILIty Hub make QGIS project generation out of Interlis data even easier. Even more there is now a python package for those who prefer to python script it all together.

Using QGIS Model Baker for OEREB Cadastre

Adrian Weber (Dütschler + Partner) followed up presenting the use of QGIS Model Baker in migrating their management of municipal usage plans from proprietary software to QGIS driven workflow. Though they see the potential in this approach, they lack time and money, thus doing it step by step. In providing this public service the difficulty is that data is legally binding and system components need to meet this requirements.

Dynamic Forms and Widgets with QGIS Expressions

After a coffee break, Andreas Neumann (Amt für Geoinformation, Kt. Solothurn) gave an interesting technical speech on more dynamic QGIS forms and widgets. Form values can now be defined via expressions so they update automatically depending on other form values. Furthermore, action buttons can be included into forms and defined which can call external web-services, data dependent constraints be defined and more.

Analysis of Flight Trajectories

Driven by technical ambition and will to set some factual basis for political discussion, Yvo Weidmann (Geoidee) carried out a sophisticated analysis of descents to Zurich airport based on Open Source Flight Trajectories and swisstopo data. Therefore he processed data from opensky-network.org, the Aeronautical Information Publication after a lot of initial data validation and cleaning. He finally visualized the results in a nice QGIS driven animation of flight descents.

Teksi utilities application modules

Alexandre Bosshard (Ville de Pully) presented TEKSI, an association that has set itself the task of providing the operators of public infrastructure with decision-making support in the form of professional modules for controlling their activities, namely QGEP and QWAT for the moment with more to follow. Therefore they work on open-source software built mainly on top of QGIS and PostgresSQL/PostGIS.

QGEP (by Teksi) and hydraulic analysis with SWMM

Timothée Produit (Alpnetsystem SA (IG-Group)) gave a more technical speech on their approach of managing a central database to serve both, Teksi’s waste water management tool and QGIS extension QGEP and Stormwater Management Software SWMM to carry out hydraulic analysis in Swiss Romandie. He showed the necessary database and infrastructure setup and workflow steps to create the desired product.

The new Profile Tool in QGIS Core

Nyall Dawson (North Road) led through his Youtube video about QGIS project terrain settings and how they interact with 3d maps and the new elevation profile tool, which is only possible from version 3.26. Powerfull new possibilities to process and visualize elevation and 3D geodata worth watching. Nyall joined the conference virtually after the video to answer questions from the impressed audience.

Cool Maps made with QGIS

Finally Marco Bernasocchi closed the presentations with a collection of incredibly creative QGIS results including Xmas wishes, sports statistics and human facial topology

Workshops

After a tasty lunch including a delicious cheese selection and fruitful conversations the lucky subscribers where asked to take action themselves in the four afternoon workshops. Among other interesting topics the users could get hands on working with QField and QFieldCloud or could get started with QGIS Model Baker and data validation, all tought by the experts and developers of OPENGIS.ch.

QField 2.0 Arctic Fox is here

Let’s not paraphrase it, QField 2.0 is here and it is taking professional GIS fieldwork to a completely new level.

TL;DR

After an intense development and testing period, we are ready, QField 2.0 is out.

QField 2.0 is packed with new features that will make your professional fieldwork even more efficient. You can get a taste of all you will be getting with this major update on QField’s changelog. Be aware, it will blow your mind… 🤯

If you do not have it yet, get it now!

Work efficiently 🚀 – Be anywhere ⛰ – Open anything 🔧

Survey and digitise data in no time. QField is the professional mobile app for QGIS, allowing users to deploy their existing QGIS projects to the field.

Edit your data on the go. The seamless integration with QFieldCloud allows your team to work on your projects anywhere anytime.

Open a wide range of spatial data formats, connect to industry-leading spatial databases and consume standardised geowebservices.

The 🤖 looks out of the 🪟 and sees lots of 🍎

For Android, iOS and Windows tablets and mobiles. But also for Linux, macOS and Windows laptops and desktops.

QField can be installed basically anywhere and can help thanks to its simplicity even on desktop work.
If you do not have it yet, get it now!

What mountain is Arctic Fox?

If you have been following QFields development, you might remember that we named each release after a mountain. We are very outdoorsy and this was a sort of tribute to the places we love. With each release, we had great fun looking for places that would be meaningful for us and our community. From beautiful mountains outside our window to the remotest island mountain on Earth and even further.

After Elbrus (0.5), Finsteraarhorn (0.6), Gonnus Mons (0.7), Hiendertelltihoren (0.8), Jungfraujoch (0.9), Kesch (0.10), Lucendro (0.11), Matterhorn (1.0 – 1.2), Ben Nevis (1.3), Olavtoppen (1.4), Piz Palü (1.5), Qinling (1.6), Rockies (1.7), Selma (1.8), Taivaskero (1.9) and Uluru (1.10), we decided to change the subject and for the 2.X series we’ll name the releases after cool animals that reflect different characteristics of QField.

The arctic fox is an incredibly hardy animal that can survive frigid Arctic temperatures as low as –50°C in the treeless lands where it makes its home. It has furry soles, short ears, and a short muzzle—all-important adaptations to the chilly clime. Arctic foxes live in burrows, and in a blizzard, they may tunnel into the snow to create shelter.

Like an Arctic Fox, QField is perfectly adapted to the outdoors and helps you get your data in the most efficient way possible.

Ah yes, and they seem to be pretty good navigators and tech-savvy too: https://www.space.com/arctic-fox-epic-journey-satellite-tracking.html

Packed with new functionalities

Obviously, the big news in QField 2.0 is the integration with QFieldCloud BETA, but besides that, we’ve added a lot of new features and fixed plenty of bugs. If you are interested in all the details, you should go to the changelog page and check out all the new goodies. If you just want the major additions, here you go:

  • – Support for the opening of projects and datasets directly from your favourite messenger app, browser, etc. on Android.
  • – Support for opening ZIP compressed projects on Android.
  • – Support for remote datasets via GDAL’s /vsicurl/ URIs
  • – Greatly improved scale bar overlay
  • – Incremental improvements to the user interface all across QField

Cloudy ☁ with a chance of meatballs

QFieldCloud’s unique technology allows your team to focus on what’s important, making sure you efficiently get the best field data possible. Thanks to the tight integration with QField, you will be able to start surveying and digitising data in no time.

Some of you may already have been part of the closed BETA testing phase. THANKS!
For all the others, great news, QFieldCloud is now officially in open BETA.

You can register directly from QField 2.0 or simply head to qfield.cloud and create your free account now.

What is QFieldCloud?

Seamless synchronisation

QFieldCloud is a synchronisation platform, that we offer as a service, which takes the pain out of syncing data from multiple data collectors. Thanks to seamless synchronization, your surveyors will be able to push their work anytime they want. Working in the wild? Your team can continue working with no limitations and sync back their changes once back in town.

Team management

QFieldCloud’s fine-grained permissions system allows you to efficiently define who can collaborate with you on your projects and what operations they are allowed to perform. You can for example add a junior surveyor as a reporter, a senior one as a project manager and you can even add users with read-only permissions.

Hosted or in your own cloud – open source

QFieldCloud perfectly integrates and extends your QGIS based geodata infrastructure, you can either subscribe for a worry-free Swiss-made solution hosted on Swiss data centres or contact us for your private cloud instance.

QFieldCloud code is open source so you can see what is actually happening to your data.

Known issues

Please note that on older AMRv7 architectures, some devices are suffering from a crash at launch. As such, we have not yet updated QField to 2.0 for these devices. If you own one such device and want to manually download and install QField, please visit the release page on GitHub.

Also, since November 2021, Google has enforced new storage access limitations for apps published on its Play store which prohibits direct storage access on Android 11 and above forcing QField to adapt and rely on importing projects and datasets to access those. As part of the enforcement of these new policies, Google came up with an arbitrary mechanism to whitelist some apps which allows those to retain full storage access given the user explicitly allowed for it. We here at OPENGIS.ch believe QField had ample justifications to be whitelisted, however, Google’s appeal process judged otherwise after a series of email exchanges detailing our reasoning. While we have so far lost this argument with Google, we will continue fighting for our users and for their freedom to choose. If you are interested in more details, read our blog post about it.

Join the effort

QField is an open-source project. It is free to share, use and modify and it will stay like that. We are very happy if this app helps you in whatever creative way you may use it. If you found it useful, we will be even happier if you could give something back. You can easily sponsor QField, contribute some help or ask us to develop a new feature.

QField Users Sit Down, We Need to Talk About Storage Access on Android

TLDR: Since November 2021, Google has enforced new storage access limitations for apps published on its Play store which prohibits direct storage access on Android 11 and above forcing QField to adapt and rely on importing projects and datasets to access those.

If you are a QField beta user on Android 11 and above, you might have noticed a significant change in the way the app is handling storage in the latest set of betas released in early February of 2022. This blog post will go over the changes, explain why those had to be made (looking at you, Google), how to work in this new paradigm, and showcase some new benefits from the hard work done by OPENGIS.ch’s geoninjas.

It’s all gone! How can I access my projects and datasets?!

Starting with Android 11, apps are denied full access to main and external storage content. For QField, this means direct access to projects and datasets transferred and/or downloaded into storage folders is not possible anymore.

To work within this new confine, QField now has to import project folders or individual datasets into an app-dedicated storage location where Android allows for unrestricted read/write access.

Practically, this means that instead of being shown and having access to the full storage tree when clicking on the “Open local files” button, users are now shown a set of new folders named ‘QField files directory’, ‘Imported datasets’, and ‘Imported projects’ as well as a drop-down menu accessible via a top-right three-dot button.

The drop-down menu lists the means to import projects and datasets: import project from folder, import project from ZIP [archive], and import [individual] dataset(s).

Import project from folder

When importing a project from a folder, users will be asked to grant permission for QField to read the content of a given folder on the device’s storage via a system folder picker. When the folder is selected, QField copies the folder content (including its sub-folders) into the app’s ‘Imported projects’ location. Users can then open 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.

Note that feature editing, addition, and deletion will be saved into the imported project’s datasets, not in the original folder selected during the import process. More on how to find and handle those project datasets will come later in this post.

Import project from ZIP archive

Having to adapt to Google’s new set of rules did not come without its benefits. Users can now easily transfer projects into a given device by compressing the project content into a ZIP archive and having QField import that compressed project automatically. This can greatly ease remote deployment of projects by being able to send a single file to users.

Import dataset(s)

QField can also import individual dataset(s). Users will be asked to select one or more files via a system file picker, which will be copied into the ‘Imported datasets’ folder. Users will have to ensure that all sidecar files are selected when importing (e.g. a shapefile dataset would require users to select the .shp, .shx, .dbf, .prj, and .cpg files).

Just like imported projects, editing of datasets will be saved into the imported datasets, and not reflected in the original files.

Alright, but how can I retrieve modified projects and datasets?

Imported projects and datasets can be accessed directly using a USB cable. The location on storage is displayed in the top navigation bar when opening a local file.

On most devices plugged into a computer via USB cable connection, the path will be <drive>:/Android/data/ch.opengis.qfield/files/ where you will find both the Imported Datasets and Imported Projects folders within which your edited content will be located.

However, we’ve also added a nice new ‘Send to…’ functionality that allows for users to share and send datasets straight from QField using Android APIs. This allows for the sending of edited datasets directly to third party apps (Gmail, Drive, Dropbox, Nextcloud, your favourite messenger app, etc.).

Is direct copying via USB cable gone altogether?

Users can still avoid going through the import process by copying files via a USB cable connection directly into the QField app’s files directory. As mentioned above, the location on most devices will be <drive>:/Android/data/ch.opengis.qfield/files/.

What are the benefits from these changes?

Working out a functional solution to meet Google’s newly-enforced restrictions did not come without its benefits.

On top of what was already covered above – importing of compressed project ZIP files and sharing functionalities – QField is now fully integrated with Android’s cross-application document sharing APIs. This means that users can now directly open projects and files sent to them via their favourite browser/email/cloud/messenger app without the need to first download those files onto the device.

Altogether, the newly-coded importing mechanisms and integration with Android document APIs don’t only improve the ease of use for the average person, it also makes viewing and editing spatial datasets on QField far more secure. The imported projects and datasets reside in a location with access limited to QField only, meaning that its content is inherently far more protected from malicious access from third-party apps.

Why were these drastic changes needed?

As mentioned in the introduction, the changes were needed to comply with a set of new Google Play policies that came into force in November 2021. Users can read more on Google’s rationale on this page https://developer.android.com/google/play/requirements/target-sdk.

As part of the enforcement of these new policies, Google came up with an arbitrary mechanism to whitelist some apps which allows those to retain full storage access given the user explicitly allowed for it. We here at OPENGIS.ch believes QField had ample justifications to be whitelisted, however, Google’s appeal process judged otherwise after a series of email exchanges detailing our reasoning. While we have so far lost this argument with Google, we will continue fighting for our users and for their freedom to choose. If by any chance you have a good contact at Google that might be willing to listen to our reasoning, we would be grateful if you’d get in touch with us.

We hope this clarifies the recent changes and helps QField users adapt to those.

QField collected data crucial in disaster relief after Tonga’s volcanic eruption

For once, it’s not an app from the Silicon Valley, but from Laax in the Swiss Alps that made the news. By publishing QField as an open-source app, OPENGIS.ch allows companies, organisations and even countries without the necessary financial means to have the opportunity to benefit from this important data collection app. And it is being used: Over half a million downloads have already been achieved. Now, since the volcanic eruption in Tonga on 15 January 2022, the app of the small Laax-based company is playing a not-unimportant role in disaster response planning. 

We’ve only been around for seven years. We could almost pass for a start-up. But OPENGIS.ch is already a household name when it comes to field data collection. OPENGIS.ch makes its field mapping tool QField available without restrictions (i.e. open-source) so that companies or even nations can collect their geographical data. In this way, data is brought from the field to the office and provides important insights for future decisions.

This was also the case for Tonga’s volcanic eruption. There, in December 2021, many relevant agricultural datasets were captured with “QField” and “QFieldCloud”. This currently helps the Ministry of Agriculture, Food, Forests, and Fisheries to analyse the damage after the volcanic eruption and the subsequent tsunami and plan the response.

Swiss software in use for Tonga

It is a technical and ethical decision for me. I want not only the privileged nations to benefit from our work.

Marco Bernasocchi, CEO

Co-founder Marco Bernasocchi’s credo is to focus on further developing the product (QField). OPENGIS.ch makes it freely available, so that nations like Tonga, with little financial means, can use professional software and invest their financial resources in reconstruction. “It is a technical and ethical decision for me. I want not only the privileged nations to benefit from our work. We are always developing the product and generate income mainly from support, paid developments and custom solutions. Our product, however, is publicly accessible”. This strategy is successful: the company is 90% financed by Swiss customers but the app is used all over the world. “Open source is a technological advantage for me. This way we get the input of many developers worldwide who are motivated to work out the best possible software. This leads to a superior product and is particularly valuable to me.,” adds Matthias Kuhn, co-founder of OPENGIS.ch.

This way we get the input of many developers worldwide who are motivated to work out the best possible software.

Matthias Kuhn, CTO

John Duncan, project manager at the University of Western Australia, who is working on the project in support of Tonga, explains the work done in December like this: “the workflow uses QField to map the extent of landscape features including agricultural fields and cropped holdings, recording detailed attributes about each feature’s farming system. QFieldCloud was used to support large teams of data collectors tasked with surveying every tax allotment across Tonga. The initiative has resulted in the detailed mapping of cropping and livestock systems for over 11,000 farms across Tonga’s three main island groups. These datasets provide actionable information for short-term decision making around food security, agricultural planning, and disaster response, and are a valuable resource for longer-term monitoring of agricultural and environmental changes in these climate-vulnerable locations.

The data was originally intended for food security and agricultural planning. But now they suddenly have acquired enormous value and can be used for disaster response planning. 

John Duncan, University of Western Australia

Further information on QField in connection with Tonga: 

Media articles

About OPENGIS.ch

OPENGIS.ch GmbH is a Swiss software development company based in Laax. OPENGIS.ch employs 19 people and works mainly in the field of spatial software development, geodata infrastructure deployments and professional support. Personalised open source GIS solutions are often planned and developed as desktop or mobile applications. OPENGIS.ch finances itself through tailor-made customer solutions, professional support and adaptations. Link: https://opengis.ch

OPENGIS.ch team in Summer 2021 company retreat

About the OPENGIS.ch product “QField” application

“QField” is an open-source app developed for efficient fieldwork in real-time in urban areas, with 5G connection or with offline data. The mobile GIS app combines a minimal design with sophisticated technology to conveniently bring data from the field to the office. Seamless QGIS integration, GPS centred, offline functionality, synchronisation capabilities, desktop configurable: “QField” is designed for fieldwork – simple but uncompromising. Link: https://qfield.org

About the OPENGIS.ch service “QFieldCloud

“QFieldCloud” is a spatial cloud service integrated into “QField” that allows remote provisioning and synchronisation of geodata and projects. Although “QFieldCloud” is still in an advanced beta stage, it is already being used by many groups to significantly improve their workflows. Link: https://qfield.cloud

QField 1.10 Uluru: Faster, Better, Stronger

While OPENGIS.ch’s GeoNinjas are busy getting QFieldCloud ready for primetime, it has not kept them away from concocting a brand new feature-packed QField 1.10 “Uluru”. Most users will find something to fall in love with in this release. From an improved feature form to new digitizing functionalities and quality of live updates.

Major feature form improvements

QField’s feature form has received lots of attention during this development cycle. Its user interface and stability have greatly improved, and there are simply too many individual changes to list here.

On the new functionality front, the feature form has gained:

  • An ordered relation editor widget allowing users to re-order the children features of a relationship
  • A complete-as-you-type mode for value relation editor widget
  • A new UUID generator editor widget
  • Support for “live” default expression value to be on feature update

Speed up workflow with new duplicate and move feature(s) actions

QField 1.10 brings in a pair of new useful actions: the duplicate feature(s) and move feature(s). This can speed up work in the field for many surveyors by avoiding potentially lengthy digitizing and attribute filling processes in favour of quickly duplicating what’s already done whenever possible.

Vertex digitizing logger

Conducting quality assurance (QA) reviews from work done in the field with QField has just gotten a lot better thanks to the brand new vertex digitizing logger. When enabled, each vertex entered while digitizing new features or editing preexisting geometries are logged as point features onto a ‘digitizing logs’ layer. Each point feature added has access to snapping result context, position context including horizontal and vertical accuracy, and more. This allows for data reviewers to get a fuller picture of how geometries were built.

Quality of life improvements

Quite a few improvements have landed in QField 1.10 which should improve users’ experience. To list a few:

  • To save battery, QField will now automatically dim the screen backlight after a period of inactivity, allowing users to conduct longer tracking sessions before running out of power
  • Tracking settings are now remembered and sub-meter minimum distance constraint allowed
  • The map scale bar now avoids degrees and instead automatically converts units into meters
  • Opening an individual point dataset will automatically setup and show feature labels; for other geometry types, users can show labels via a new checkbox in the layer item properties panel

QField speaks many languages

Thanks to community efforts, QField has been translated into a growing number of languages. However, the user interface language adopted by QField was until now hard-coded to match that of the device onto which QField was running.

Starting with QField 1.10, users are able to customize the language used by going to the settings panel.

Updates to foundational libraries

Time was spent during this development cycle to update a large number of libraries powering up QField, which is now running against QGIS 3.22, gdal 3.3.2, PROJ 8.1.1. This has resulted in increased stability as well as speed gains in a number of scenarios.

The Future is almost here

We are working hard to get QFieldClour open to the public, we currently have more than 2/3 of our waiting list actively using it. In the next 2-3 weeks we will invite all waiting users and then open up Beta registrations to the public.Meanwhile, we have also been working on fully supporting iOS, Windows and Linux. Simply go to https://qfield.org/get and start using QField immediately on your favourite device.

QFieldCloud now opensource – Happy 10 Years of field mapping with QGIS

Today, on QField’s 10th anniversary, we’re extremely proud to publish the results of over 18 months of development and give you the source code of QFieldCloud to go and make your awesome adaptations, solutions, and hopefully contributions 🙂

If you want to quickly try it out, head to https://qfield.cloud where our hosted solution is running and secure yourself a spot in the beta program.

QFieldCloud’s unique technology allows your team to focus on what’s important, making sure you efficiently get the best field data possible. Thanks to the tight integration with the leading GIS fieldwork app QField, your team will be able to start surveying and digitising data in no time.

QField git history
After 10 years of OPENGIS.ch giving to the QGIS community, here is our latest present. Happy birthday #fieldmapping with QGIS https://github.com/opengisch/qfieldcloud/pull/3

What a journey it was and what plans do we already have… It has now been 10 years since I pushed the first scripts to build Quantum GIS for Android and it is incredible what we’ve been able to achieve thanks to a vibrant community, sponsors and especially our fantastic team.

At OPENGIS.ch we strongly believe in giving back. We live from open-source projects and are deeply committed to sustaining their technological and economic well-being. We also believe everyone should have access to the best possible tools and knowledge. By committing ourselves to develop open-source applications, we give everyone access to powerful tools to plan, review and mitigate geospatial issues.

That is why we are even more thrilled to have created and open-sourced a professional data and team management solution for the best QGIS fieldwork app and would like to share a bit of the history of how we revolutionised field work by creating QField for QGIS.

Prehistory – QGIS for Android is born

Stone-, bronze-, iron-age, you get it, the beginnings of field mapping in the QGIS world were pretty rough around the edges. It all started thanks to me being accepted in the Google Summer of Code 2011 programme with the “QGIS mobile” submission. In the following 3 months, I’d try, with the help of my mentors Pirmin Kalberer and Marco Hugentobler, to get Quantum GIS to run on my tablet.

The first start

Hi all, it is a pleasure to announce that I finally got Quantum GIS to start on an android (3.2) tablet (Asus transformer). I tested as well on a Samsung Galaxy phone with cyanogen mod 7 RC1 and it works well (with the obvious screen size limitations).
Qgis still doesn’t load many elements, but the GUI is there and the rest should be only minor issues. I’ll post more as soon as I make further developments. Meanwhile, if you want to test the apk, you can download it from my GitHub here. For building your own, have a look at qgis wiki

https://www.opengis.ch/2011/08/17/qgis-on-android/
The first ever video about QGIS on Android

A proper GUI

See my last posts. In short, I managed to get qgis packaged as an APK and to properly run with only one major problem. The map canvas is always black. I’ll investigate this till Tuesday.
Cheers

https://www.opengis.ch/2011/08/18/qgis-on-android-has-a-proper-gui/
After 3 months of intensive work, QGIS for android finally has a a proper GUI

Blazing fast startup

Hi, I just managed to create an APK with all the resources needed by qgis …

The only inconvenience at the moment is that at the first startup the app shows a black screen while it’s copying the files for about 30 to 60sec so just be patient and remember that the whole app will take up to 230MB (it installs on external storage by default)

https://www.opengis.ch/2011/08/19/qgis-on-android-has-complete-gui-and-supports-translations/

A working reality

I still remember the feeling that day when after almost 3 months, of fighting with shell scripts, patching of build systems, debugging via ADB, writing C++ in Java wrappers and so on, my Quantum GIS test project was suddenly running on my tablet… I Was so happy I just went running in the mountains :).

Just a quick screenshot to show that qgis on android is now a working reality. Tomorrow I’ll make a video and so on. The major missing thing now is reading SHP files ad maybe spatialite… maybe tomorrow. Now it’s Sunday 😉

https://www.opengis.ch/2011/08/21/qgis-android-works-2/

GSoC 2011 results

At the end of the Google Summer of code, I received my MSc in geoinformatics and left for 3 Months to Indonesia working as a consultant/developer for the World-bank Global Facility for Disaster Reduction and Recovery.

So, it is over, after 3 months of working on QGIS for android as a Google Summer of Code project it is now time to wrap up what I did and didn’t do.
First of all a QGIS android app exists now and it has many features including:
– reading/writing projects
– raster support
– spatialite support
– WMS support
– (apparent – untested) WFS and Postgres support
– partial shape files support (string attributes still crash the app)
– Fully functional GUI (SymbologyV2 doesn’t work yet)
– (all?) core C++ plugins beside globe (any takers? 😉)
Furthermore, I created a series of build scripts that make it easier to set up a dev environment.
Unfortunately, I didn’t manage to implement live GPS tracking and a larger GUI optimisation, but all in all, I’m very happy with the results and seeing that few peoples are already testing it. Soon ill publish a video.
cheers

https://www.opengis.ch/2011/08/24/gsoc-2011-final-report/

Quantum GIS for Android was a reality and I was fully committed to keeping working on it. Turns out I wasn’t wrong 🙂

A commitment is a commitment 🙂

Classical – QGIS for Android grows

The Next Era of QGIS for android is what could be seen as the time of great knowledge enhancement, philosophical musings and the rise of the first great features including:

Middle Ages – QGIS Mobile

The dark ages, times of instability, change and some setbacks. Sounds terrifying, it was not at all, on the contrary it was a very formative period that apexed with the fantastic release of QGIS 2.0 for android.

The QML app experiment

From the beginning on, the idea behind QGIS for android was to eventually ditch the GUI and build a dedicated one for touch devices. The code for the future.

The Python failure

Probably the major setback in QGIS for android’s history was the non-completion of the Python support. I got really close to it multiple times but unfortunately never managed to tame the snake. Maybe something we’ll look into in future, who knows.

The QGIS 2.0 release

The pivotal point of the Middle Ages was definitely 20.09.2013, when Tim Sutton presented to a full auditorium the shiny new QGIS 2.0. And along with it it introduced the general availability of QGIS 2.0 on android. The first real QGIS version for mobile devices was finally available for the broad public.

After the launch followed a very active time of keeping QGIS for Android on pair with the desktop versions leading to a regular release of updates on the playstore between 2013 and late 2014. This is also when Matthias Kuhn started committing to the QGIS for Android repository.

Early Modern – QField for QGIS is here

Humanism, Renaissance and Enlightenment are what we saw happening in the period between 2015 and early 2019. Field users were put at the centre of the design process, new ideas were explored and a new name was chosen to reflect the main goal of the application: Make fieldwork as efficient as possible.

Early 2015 was also when Matthias Kuhn and myself decided to join forces in OPENGIS.ch LLC.

The rebranding

The project never had a clear name, at times it was called QGIS for Android at times QGIS mobile, we felt that to clearly convey what we were building we needed a clear, simple and poignant name.

Beginning of 2015 saw the last rebranding

It is with great pleasure that we want to announce the new name for what was briefly known as QGIS mobile.

Please welcome QField for QGIS™!

After long thinking about various names and variants including QGIS mobile, QTouch, OPENGIS.ch QGIS mobile, QWork, and many more, we felt that QField represents best what we want to archive. A field data capture and management app fully compatible with QGIS™.

https://www.opengis.ch/2015/01/28/qgis-mobile-is-now-qfield/

QField Experimental is out, after a couple of months of requirements gathering, private early alpha testing and foremost tons of  emails requesting access to the testes group we decided today to put the current BETA version in the playstore.

https://www.opengis.ch/2015/06/15/qfield-in-the-wild/

Streamlined installation

Since the beginning of QGIS for android, to distribute the needed Qt libraries, we used a project called “ministro”. This was interesting because it allowed to download the libraries only once but on the other hand, it was a very painful experience for the user that needed to install a second app before getting QField to start. Around the end of 2015 it was so far, we finally managed to get rid of that dependency and make the installation process as streamlined as possible.

It’s done, finally we managed to get rid of Ministro so that we finally can say, QField runs on any android from 4.0.3 (ICS). This makes as of today (according to google) 96% of the android installations worldwide.

https://www.opengis.ch/2015/12/01/qfield-for-android-5/

Release candidates

In these 3.5 years, a continuous, mainly volunteer-driven iterative process led by Matthias Kuhn made QField grow to the point where we felt confident it was time to launch QField 1.0.

After a series of release candidates with lots of feedback from the community, we felt it was time to move into a New Era.

It was a long and winding road but we are very excited to announce the general availability of QField 1.0 Release Candidate 1.

Packed with loads of useful features like online and offline features digitizing, geometry and attributes editing, attribute search, powerful forms, theme switching, GPS support, camera integration and much more, QField is a powerful tool for those who need to edit on the go and would like to avoid standing in the swamp with a laptop or paper charts.

https://www.opengis.ch/2019/01/08/qfield-1-0-rc1/

Modern times – QField 1.X

Fast forward to March 28th 2019,

Let’s get straight to the point

It’s official, QField for QGIS 1.0 is out!

Get it while it’s hot on the Playstore (qfield.org/get) or on GitHub

We are incredibly pleased and proud of just having released such a jewel and are convinced that thanks to all its features and conscious design choices, QField will make your field digitizing work much more efficient and pleasant.

https://www.opengis.ch/2019/03/28/qfield-1-0-is-here/

Recent releases

In the last 2 years the development pace increased tremendously, the sponsored featured grew as never before, QField rating skyrocketed to 4.7 ⭐ we currently have 100’000 active users and we’re getting around 500 new users every day.

Our QField core team grew more and now thanks to David Signer’s lead and Mathieu Pellerin keen eye for UX we’re pushing QField even further.

Going into all releases would be so much information that this post would turn into a 3 volumes classic, and since starting from QField 1.0 we’ve documented each new release, we’re just going to link them: https://www.opengis.ch/category/qfield/highlights/

The future is cloudy – ehm sunny of course 😉

Yesterday we published QField 1.9.6, which is going to be the last 1.X release and will put QField 2.0 into the beta channel so that every beta tester can start using QFieldCloud without having to use the developer version.

But that is a different story and you can read all about it in our latest newsletter

QField 1.9 Taivaskero is out to further empower users

From unlocking selective atlas layout export to opening individual datasets and creating GeoPDFs, QField 1.9 is all about giving even more power to its users. The release also comes with significant user experience improvement, such as faster rendering and restoring the last viewed map extent.

Print Atlas-Driven Layouts to PDF

QField has long supported exporting print layouts to PDF, but now users are able to export atlas-driven layouts from selected features, all while being in the field. A new print action is now attached to the feature form and identified features list for all vector layers acting as atlas coverage layers in any of the print layouts present in a loaded project.

Oh, and did we mention exported PDFs from QField are now georeferenced?

Opening of individual datasets

Users in the field can find themselves in need of opening individual geospatial datasets not bound to a project: that KML file a colleague has just sent through via a messenger app or a new GeoPDF sitting in the inbox. QField 1.9 will seamlessly do that for you.

geopackage

Out of the box, users will now be able to open vector and rasters datasets from their mobile devices. By default, an OpenStreetMap base map will be added as an underlying basemap to the opened dataset layer(s).

Geometry digitizing when adding child features to relationships

While QField has long allowed users to add new child features to predefined layers’ relationships, users were only able to add feature attributes. This changes with this new version of QField.

As of now, users will be able to digitize geometries alongside attributes for new child features. This is a significant user experience improvement and will surely ease field data entry in many cases.

A maturing search bar now with address searches

A new address search framework was added to QField’s search bar. In this new version, Finnish users will be able to search for street addresses and locations straight from QField. More coverage is planned in future releases.

serach

If you want to sponsor a specific country, contact us.

User interface and experience improvements

While this new version of QField brings an exciting amount of new features, it also showcases countless refinements and improvements to its user interface and experience. Some noteworthy improvements include:

  • QField now remembers the last map extent for each project and dataset opened, allowing users to launch QField and pick things up where they left off.
  • QField now provides visual feedback when opening large projects so users don’t have to wonder what is happening to a frozen QField frame.
  • Significant attention was paid to improve the visual consistency of the feature form widgets, and users will be pleased to see project-set background colours for attributes are now reflected in the QField interface.

QField Cloud

We have also been working hard on improved methods for synchronizing data from field to the office. QField Cloud is looming around the corner to help you simplify processes and data integration. Don’t miss out and join the waiting list if you haven’t done so already!

That’s it! Thanks for reading and check out the complete changelog on our repository.

Generate DXF on QGIS server

Everyone knows QGIS is on the desktop and mobile devices. Many know QGIS is on the web with QGIS server through OGC services. Some know QGIS server has its own extension to generate PDFs. But did you know that QGIS server can also produce DXF files?

DXF

DXF files are mainly used for interchanging CAD drawings, vector geometries with styles and attributes. With a couple of compromises, these files can be imported and exported to and from QGIS.

Due to their heavy use of CAD software, architects work a lot with DXF files. For example, for the Swiss Cadastral Survey (Amtliche Vermessung, Mensuration Officielle) there is a standard with the name GEOBAU-DXF that defines layer names and structure of this file. Architects often request this format from cantonal government agencies when planning construction work.

In the canton of Schaffhausen, there are over 100 downloads per month and it’s by far the most demanded format. These files were produced semi-automatically through a separate application and the customers got the data by mail with a link to a zip file. The time between order and delivery was about 20 minutes. With the renewal of the cantonal SDI, including QGIS server for handling OGC services, the situation changed and an update to this process was required.

Optimize the process

For the canton of Schaffhausen, the goal was to find a solution with existing components of the new SDI, completely based on machine-to-machine communication and to make the turnaround time for the customer as fast as possible. As soon as they realized QGIS server is also able to deliver DXF, this seemed to be the best approach to fulfil their needs concerning the download of GEOBAU-DXF. And, with the help of OPENGIS.ch, it was a full success.

In the cantonal infrastructure, the data is available in a Postgres database, which is regularly filled through an ETL workflow. On top of this database, the canton created a QGIS project with symbology, labelling and layers that reflect the GEOBAU-DXF standard.

With this project published on a QGIS server, it was quickly possible to generate a DXF file, but some improvements were still required in QGIS 3.10.

  • Label alignment was not preserved
  • Altitudes (Z values) of coordinates were not properly exported
  • Symbols were defined inline and not in blocks
  • When a layer could have mixed geometry types (points, lines and polygons) there were problems with missing objects and wrong symbology

The Canton Shaffausen already had a support and maintenance contract in place with us and used this contract to kick off the development as well as requesting an additional dedicated development contract with specific goals. A couple of iterations later these enhancements were released with the next QGIS versions and are now available for everyone.

As a side effect, the DXF code has been cleaned up. This is now in a much more solid and modular state (it would, for example, be straightforward to expose it as processing algorithm now). Another nice improvement was that QGIS WMS server is now able to handle multiple layers with the same name, merging them to a single layer. This can be interesting if you have to expose the same layer multiple times with points, lines and polygons.

Meanwhile in Schaffhausen, the service is running in production and architects can happily obtain DXF-GEOBAU files by choosing the area of interest on the web map and download the file in no time.

To try it out, head over to the geoportal of the canton of Schaffhausen, click the three-dots menu and choose GEOBAU-DXF.

Or directly use the following download sample link to generate a GEOBAU-DXF file: https://wfs.geo.sh.ch/dxfgeobau?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=dxfgeobau&STYLES=&CRS=EPSG%3A2056&BBOX=2690035,1283484,2690299,1283694&WIDTH=1042&HEIGHT=811&FORMAT_OPTIONS=MODE:SYMBOLLAYERSYMBOLOGY;SCALE:500;NO_MTEXT:TEXT&FILE_NAME=geobau.dxf&FORMAT=application/dxf

Powerful and gentle QField 1.8 Selma sneaked in

Get fieldwork smoothly and nimbly done despite the ice and snow outside. Collect accurate data with freehand digitizing and improved form widgets, use the data from your external GNSS receivers without any third-party apps and enjoy the pleasant usability of QField 1.8 Selma.

This year started off hi-speed for us. There’s been already a lot of coding, designing and teaching, and we’ve thrown ourselves into these things we love to do. And we published another QField release last week that I completely forgot to announce in this blog. But here it is. It’s QField 1.8, Selma. And it’s packed with cool features.

Let’s have a look.

Freehand drawing

This might be a feature that brings a lot of fun and professionalism to your work. The freehand digitizing mode allows the user to “draw” lines and polygons with the stylus pen. The mode is available for adding line/polygon features as well as for the ring tool of the geometry editor.

Together with the powerful options in the topological editing where you can snap to existing features and avoid overlaps, it’s very convenient to digitize complex shapes.

Zoom in and out

Speaking of fun. One day, a guy from the QGIS community asked us if we could implement the functionality to zoom in and zoom out like he is able to do with an app called Maps from a company named Google. I didn’t know what he meant, but he explained: Single finger double tap-and-hold zoom gesture (which allows you to zoom smoothly from anywhere on the screen). Wow! Didn’t know it before, but it’s super neat! So we made it available in QField as well.

If you are used to it, it’s quite easy. But for beginners it can be a bit difficult. So for people who are not that deft – and to keep the UX self-explanatory and simple – we also added two buttons + / – to zoom in and zoom out with just one finger. So now even a clumsy pirate with a hook instead of a hand can collect data with QField 🙂

Powerful Relation Reference Widget

Let’s be a little bit more serious and talk about how powerful the relation reference widget has become.

View and Edit selected feature

The intuitive eye icon next to the widget lets you open the form of the referenced parent feature to view and edit it.

Autocomplete mode

When auto-complete is enabled, you can easily perform a search in all available parent features.

autocomplete

With space-separated input, you can search for the beginning of multiple words in the display name of the parent features. So in this example searching for “Ma” will find the name “Mae” and “Marie” and using the second word “buck” it finds the Buckfast bees – so the entries containing both values will be listed on top.

Integration of external GNSS receivers

In case you wondered, why we did not release 1.8 Selma earlier? Because we wanted to have it feature loaded and rocket proof. And one of this cool feature is the integration of external GNSS receivers.

QField can receive and decode NMEA sentences received via Bluetooth from an external GNSS receiver (such as an EMLID Reach RS2) without the need for any third party app.

nmea

Search for paired Bluetooth devices in the device settings, connect to the external device and receive the GNSS information.

Select vertical grid shift files

In the QField settings, you can select a grid file on your mobile device by placing it in a directory named QField/proj in the main folder of the internal storage to increase the vertical location accuracy.

Postgres Config File

If you once started using PostgreSQL configuration files, you don’t want to live without them anymore. And when you use it on your PC, I’m sure you want to use it on your mobile device as well.

Define Postgresql services in a pg_service.conf file and use it on QField by placing it directly in a directory named QField in the main folder of the internal storage.

Add reload data button

The layer properties have been polished and in addition, you will find a button to reload the layer data. This is especially useful if you use WFS layers from which you need to get updates.

nmea

Register extra fonts

Also, you can add TTF and OTF font files into a directory named QField/fonts at the main folder of the internal storage to use the nice fonts you like.

fonts

How beautiful is that!

Support of new raster file formats

By the way: Many new raster file formats are supported – most notably COG. While not yet supported as remote format streamed directly from the web, it is also a high performance format if used locally

What about the cloud?

You might be one of these people eagerly waiting and always receiving the same message: Keep calm, it’s coming soon. Sorry for that. But when we do something, we do it right. And we prefer to have a stable solution than to publish half baked stuff. We are still highly busy coding, testing and promoting QFieldCloud. It’s announced for this spring / early summer.

Also, keep an eye on the @QFieldForQgis and @QFieldCloud twitter accounts to stay updated.

We ♥ our Beta Testers

The Beta Testers are our secret heroes. They report bugs and inconveniences before the normal users are bothered with them. Thanks to the Beta Testers QField is so stable. And at this point we would like to say: Thank you, test heroes!

And what do the beta testers get in return? Well, they can be the very first to try out the great new features. This is exciting and fun. So don’t hesitate. Join the beta.

In the Play Store you should find this section under the “QField for QGIS” app listing. Enjoy the feature frenzy and report the problems at qfield.org/issues

And if you wondered…

… why this release is called “Selma”. It’s of course because of the Mount Selma in Australia… And because it’s the name of my beloved cat. That’s her – Selma Eulenkopf – staring at me while I’m coding QField.

QField 1.7 Rockies hits the stage

Be ready for the cold weather with a smooth coordinate search, filters in the value relation widget, fancy new QML and HTML widgets, enhanced geometry editing functionalities and an expandable legend. Right when Autumn starts, QField 1.7 Rockies hits the stage.

As usual get it now on the play store or on github!

The days are getting shorter and the wind blows colder. It’s always good to be in a good company outside while getting your mapping work done. QField will be your reliable companion.

We know, QField 1.6 Qinling has only been out two months and with its amount of new features and stability improvements, it would have deserved a longer primetime. But we just couldn’t withhold you all the new great stuff we’ve been building lately.

So let’s welcome QField 1.7 Rockies. And yes, we mean THE Rockies, where QField is looking for plenty of new buddies.

Let’s have a look.

Merging features

Splitting of a feature has been possible for quite some time. Now the merging of features of multipolygon-layer is possible as well. Select them and merge them – easy like that. The first selected feature gets the new geometry and keeps its attributes.

Filters in the Value Relation Widget

The value relation widgets provide an easy selection of a related feature. Often it’s used for lookup tables but sometimes the related tables contain a lot of entries and the list of the possible values is long.

Using filters in the value relation drop-down can increase the efficiency in selecting the correct value. It can be configured by expressions in QGIS, so it’s possible to have the content of the drop down depend on the values entered previously in other fields.

In the screenshot above there is a Map Value Widget with “forest” and “meadow” as values. On selecting “forest”, only the trees appear in the Field “Plant Species”. On selecting “meadow” there would be listed flowers instead.

Go to coordinates in the Search

The search has not only been improved in its appearance, but it’s handling is much more comfortable with a button to clear the text and easy opening and closing.

Additionally, we added the possibility to jump to coordinates. Searching a place you know the coordinates of is now super simple. And this means that digitizing that precise geometry with known coordinates is finally possible.

coordinates

QML and HTML Widget

You might remember when we introduced the QML widget in QGIS. Now it’s in QField as well. And it’s not alone. HTML widgets are supported too.

This provides a lot of possibilities to display information with texts, images and charts and it even allows you interaction.
Do you need help setting up complex forms? Don’t hesitate to get in touch with us!


Expandable legend icons

The legend items are now expandable and collapsible.

Wait a minute… Wasn’t this possible before? Yes. It was possible in earlier versions. But why it’s announced here as a new feature?

Because now it is built in a future proof manner thanks to all the people and organisations who care for QField and bought a support contract with the sustainability initiative or committed to a recurring sponsorship.

Some technical background: As you may be aware QField uses QGIS under the hood and QGIS uses Qt under the hood. Qt is currently used in version 5. Qt 5 is not that young any more and has a lot of functionality which is no longer supported by Qt. The old legend was based on the tree view, a deprecated module. Using it had some implications like the suboptimal support of HiDPI. Furthermore, these deprecated modules will disappear in the soon-to-come Qt 6.

As you can see, keeping QField at the quality we and you expect requires a lot of maintenance work. It is of utmost importance and only possible thanks to sponsoring since paying for fixing already existing features is less attractive for most people.

What will the future bring

In the last weeks, we have been highly busy on coding, testing and promoting QFieldCloud and we are very happy to be able to announce it very soon. So be prepared.

Also, keep an eye on the @QFieldForQgis and @QFieldCloud twitter accounts to stay updated.

Open Source

QField is an open source project. This means that whatever is produced is available free of charge. To anyone. Forever. This also means that everyone has the chance to contribute. You can write code, but you don’t need to. You can also help translating the app to your language or help out writing documentation or case studies or by sponsoring a new feature.

And now…

… enjoy QField 1.7 Rockies and have a nice autumn!

QField 1.6 is out!

Editing multiple features at the same time, support for stylus pens, dynamic configuration of image names and much more.
QField 1.6 Qinling 秦岭 comes packed with awesome new features and an improved user experience.

We have been very busy over the last few months working on a new and shiny QField release. We have added many new features that increase efficiency on the field or allow for new workflows. In parallel, we have also been working on ironing out a series of issues and improving the overall user experience to make the app as pleasurable to use as possible. The result is QField 1.6 which has been published now.

Enough of the highlevel talking, let’s see what has been done.

Multi editing

Do you recall Geography lesson 101, Toblers first law? Everything is related to everything else. But near things are more related than distant things.

Very often there are similar objects nearby which share a property, tree species tend to group, human created objects like street light types or street paint markings tend to be of the same type at the same location.

With QField 1.6 it is now much easier to select a couple of features and change an attribute with very few taps. Identify a feature, long press an identify results, select more features and click the edit attributes button.

Stylus support

Sometimes it is just too cold to be working with fingers (although of course you can get capacitive gloves too). Or you just prefer to be working with a pen. QField 1.6 comes with support for stylus pens. If your device ships with one, give it a try.

Lock geometries

For some scenarios, especially in asset management, you only need to change attributes of existing objects and never add new features, delete features or change geometries. This can be configured through QFieldSync and set in the layer properties.

Image name configuration

Did you ever want to have the file names of your pictures to match the feature id, the layer name or any free text? The expression based configuration in QFieldSync offers now complete freedom in naming your images.

Legend and UX and legacy code

Didn’t expect to read UX and legacy code in one single title?

QML is the technology on which the QField user interface is built. QML ships a lot of user interface elements in a library called “Quick Controls”. A long time ago already it received an update from version 1 to version 2. Up to recently we still have been using some elements from version 1, which had an effect on high resolution displays not being able to properly display everything. To workaround that we introduced a lot of band aids, to improve the situation. We are very happy, that by migrating the legend and few other remaining elements to Quick Controls 2 in version 1.6, we have been able to completely drop this code.

Topological editing

QGIS can detect shared boundary by the features, so you only have to move a common vertex once, and QGIS will take care of updating the neighboring ones. So does his little college QField since this release.

Fast editing mode

For the real adventurers who know what they are doing this release brings the fast editing mode. In this mode, the features will automatically be stored on every change. The user interface is lighter and it combines perfectly with the topological editing.

Unter the hood

We have brought the whole technology stack up to speed with modern requirements. Proj and GDAL have been updated to recent versions. This helped to mitigate a couple of issues with coordinate transformations that were completely misplaced. It also paves the path for a future with datum corrections and always more important high precision measurements.

Known Issues

Unfortunately, we are experiencing a crash on startup with 32 bit devices. These devices are not that common any more, but if you have a device that is already a couple of years old it’s very well possible that it comes with a 32 bit cpu builtin. Despite the team’s hard efforts to isolate the reason, we were not able to find out what it was yet. Because of this we will not be able to update to 1.6 for these devices at the moment. We still hope that we will find a solution for this but don’t know yet when this will be.

We have updated proj to version 6. This brings plenty of bug fixes with coordinate handling. Among other things it adds support for using datum grids (gsb files) for very precise transformations, it is not yet possible to install those on the device. You will get an information message in the about dialog if your project happens to fall into this category. In this case, as a workaround switch the CRS of the project to a CRS with a known conversion that works without grid files.

What will the future bring

You guessed it already, we are not tired and have plenty of things stacked for the future. Prepare for more exciting updates for attribute forms and also for QFieldCloud which is right now being tested in our R&D labs.

Also keep an eye on the @QFieldForQgis Twitter account to stay updated.

Open Source

QField is an open source project. This means that whatever is produced is available free of charge. To anyone. Forever. This also means that everyone has the chance to contribute. You can write code, but you don’t need to. You can also help translating the app to your language or help out writing documentation or case studies or by sponsoring a new feature.

Thanks to sponsors

Various organisations have helped to make this new release become a reality. Without the support of people in organisations who believe in the future of QField and open source tool for geospatial in general. The whole team behind QField would like to thank you with a big applause!

Plugin Manager improvement

During the 2020 Swiss QGIS Users Group annual meeting, a proposal to improve the plugin manager was accepted to improve QGIS’ plugin manager. Starting with version 3.14, it will be possible to choose whether to install the stable or the experimental version of individual plugins.

This feature will greatly improve the workflow between developers and users of a plugin. Users will be able to easily switch between the stable version used in production, and the experimental version to test out new features.

Until now, it was necessary either to configure a dedicated extensions repository or to have users manually install development version from a zip file.

You can test out this new feature before 3.14 is out by installing a recent nightly build of QGIS and making sure you have enabled the “show experimental versions” in the plugin manager.

We’re very thankful to the Swiss QGIS User Group for funding this new feature!

QGIS on the Road: Episode III – Attack of the Destructor

This summer we went on tour with what turned out to be an extremely popular event: QGIS on the Road

Telling the most remarkable story of Maya the beekeeper building her honey business and fighting against seemingly hopeless challenges with the help of QGIS functionality you probably never heard of.

Attack of the Destructor

In the last episode, Maya started to populate many beehives around her home. She has visualized and labeled them to have concise information and an easily understandable map representation of her honey production.

In case you missed it, watch Episode II: The Rise of the Hives or even better, follow us on Twitter and LinkedIn for all updates.

After Maya realizes that many of her beehives have been infected by severe diseases she needs to act quickly to get an overview of the situation. She grabs some friends and tablets and launches QField to map the situation. After assessing the results with advanced configuration of the attribute table she is ready to choose the right measures and do a precise intervention. And of course, this precise intervention is accompanied with a visualization that is on fire.

And Action!

We have taken care to create subtitles for all the videos so you can comfortably read Maya’s story in your favourite language. To enable the subtitles, just click on the CC button on the player.

Features shown in this episode

  • Configuration of attribute form and widgets
  • Using QField to collect data in the field (including snapping)
  • Configuring the attribute table with colors and icons
  • Live layers to show animated maps

Coming Thursday on QGIS on the Road: A New Hope

After emergency response with mobile data collection, attribute table representation optimizations and live layers, Maya will go back to growing her business in the next episode. She will create links between information on different layers by using relations, she will show how to use animated charts on feature forms using the QML widget and she will be using the advanced digitizing tools to create precise geometries based on angles and distances to create an exact map based on a paper sketch.
So better stay tuned 🙂

If you enjoyed this episode, you can find all QGIS on the Road episodes at https://www.opengis.ch/qgis-on-the-road/ or even better, follow us on Twitter and LinkedIn for all updates.

QField 1.4 released – Happy new year

What a year’s start! After a very packed December publishing all the QGIS on the road videos and quietly releasing QField 1.3 – Ben Nevis we could have gone and relaxed over the holidays. But since we love QField so much we immediately started working on the next iteration. Now, after an intensive testing period, we are proud to announce the release of QField 1.4 – Olavtoppen.

Olavtoppen!? yes, the highest point of Bouvet Island, the remotest island on Earth. And sure enough, QField would follow you there!

As usual, get it on play store or download it from GitHub.

QField Crowdfunding Campaign

Before digging into all the new goodness that you will find in QField 1.4, let’s get a big “Thanks” out to everybody who supported our crowdfunding campaign for improved camera support and all our customers that agreed to open source the work we did for them.

If you like QField, want a new feature or would like to support the project, don’t hesitate to get in touch with us.

Usability enhancements

In QField 1.2 we started to improve on the usability of the user interface. We are constantly working on this with a usability expert to get the user interface to be even more appealing and user-friendly.

Besides lots of clean-up and polishing, QField received two major improvements, a portrait mode and a new welcome screen with recent projects.

Welcome screen with recent projects

QField is all about efficiency. While favourites folders in the file selector already give a great productivity boost, very often we work with the same 3-4 projects. This is why we redesigned the welcome screen to list the last five project used. And if you look carefully you might get a hint of what will be coming soon…

Portrait mode

QField now flawlessly works in portrait mode. We heard you say you needed a comfortable way to work in portrait mode, especially on smartphones. QField forms and button placements are now optimized to be easy to use with your thumbs.

New features

We keep on listening to your feedback and prioritize new features based on it. We did implement some minor features like allowing hiding legend nodes and printing to PDF using the current extent. But this time’s superstars are three highly expected features: Splitting of geometries, compass integration and, yes you guessed right, native camera and gallery app support!

Split Features

ezgif com-optimize

A new editing tool is available that allows for splitting existing features. This adds an even more powerful operation to an already impressive geometry editing tools set.

Compass integration

A long-awaited feature! QField now shows you on-screen in which direction you are looking, walking, driving, flying or warping direction. This makes it much easier and more pleasant to navigate in the field.

Screenshot_20200115-154223_QField Nightly

Native Camera and Gallery

It is now possible to use your favourite camera app so that you have more control over how pictures are taken. It is also possible to select pictures which are already on your device by using the new gallery selector.

Pro Tip: You can use any camera app. For example, you can use the open camera app to create geotagged photos if your preinstalled system camera doesn’t save positioning information in EXIF data.

Pro Tip 2: You can use an image annotation app to add notes, sketches, drawings and so on to your images and then choose them from QField via the add from gallery button.

Antenna Height Correction

For high precision measurements, it’s possible to compensate your altitude by a fixed antenna height. This will then automatically adjust all the digitised altitude values.

JPEG 2000

Support for JPEG 2000 raster datasets was added. This lossy format offers a compression rate at par with proprietary formats like ECW or Mr SID.

Pro Tip: save your base maps in JPEG 2000 to save storage.

New Languages

Thanks to the hard work of our community, QField is now also available in Turkish and Japanese.

New packages

You say: wow that’s a lot! We say: there is more 🙂
We have upgraded our whole building infrastructure so that you can comfortably get even more QField goodness without having to uninstall your production ready QField.

Automated master builds

After each pull request is merged into our master code, a new package is created and automatically published on the playstore in a dedicated app called QField for QGIS – Unstable (Early Access). Installing this app will allow you to always have the latest build of QField for testing and giving feedback. On your device, this app is completely separated from the production-ready QField and has a distinctive black icon so that you do not confuse it.

Pull request builds

QField is an extremely active project, and as you see we develop multiple functionalities and fixes at the same time. If you’re particularly interested in one of this, our continuous integration fairy builds and publishes new packages automatically at each commit directly to the pull request you are interested in. To see what we are currently working on, have a look at the pull request overview page.

Experimental Windows builds

Last but definitely not least, we’ve set up an Azure CI infrastructure to build QField for windows. For now, we still consider this experimental but we already had some very successful testing. If you are interested in testing out QField for windows you can get it here, remember it is experimental so don’t use it in production yet and give us as much feedback as possible 🙂

What’s next?

As you can imagine we’ve had a very busy start of 2020, but even more is to come soon with the next releases of QField. We’d like to thank again all companies and individuals that actively use QField and that invest in making QField even better. If you feel QField misses something you need or would like to support the project, don’t hesitate to get in touch with us.

Marco becomes QGIS.org Chair

Serving as a pragmatic community conciliator – collecting thoughts from people with differing opinions and trying to find the high road through difficult issues – I want to focus my and the community’s energies on our core product, QGIS.

Marco Bernasocchi · QGIS.org Chair

OPENGIS.ch has always been dedicated to sustaining QGIS’ technological and economical well-being, supporting it with endless hours of internally funded QA, infrastructure works and developments.

Today we are very proud to announce that our commitment has grown even more as one of our founders and CEO Marco Bernasocchi was elected Chair of the QGIS.org association.

With over 15 years of involvement with QGIS (he started working with QGIS 0.6) and two years serving as vice-chair, Marco will serve for the next two years as Chairperson of the QGIS.org association.

Understanding the importance of the role trusted him, Marco would like to thank the QGIS community for the trust and appreciation. Marco is looking forward to intensifying work with the PSC and the fantastic QGIS community to push QGIS even further.

We wish Marco and the rest of the elected PSC two very successful years full of QGIS awesomeness.

Rock on QGIS! – read more at QGIS Annual General Meeting – 2020

Marco’s vision for QGIS.org:

I want to help QGIS and it’s community thrive under the value proposition of:

Making the most amazing opensource GIS that provides users with value and that meets their needs by providing great functionality and usability, being cost-effective whilst being actively supported by a vibrant and knowledgeable community.

Sharing our work under an open-source license is part of the approach by which we achieve that value proposition as it allows broad collaboration with our developers and users community.

I see FOSS as a very socially responsible way to develop software, but even more, I see the immense technological advantage that writing open-source code brings. This is why I want our focus to be on allowing both pragmatic and ideological views to respectfully coexist and enrich each other.

One of my main motivations to be part of the PSC and to make myself available as project Chair is to help QGIS keep this incredible growth rate by being even more attractive to new community members, sponsors and large/corporate users. To achieve this, the key is maintaining the right balance between sustainable processes (that guarantee the great quality QGIS has been known for) and an interesting and motivating grassroots project to ensure that QGIS remains an attractive project for volunteers to contribute to and help QGIS and its community to grow to become even more the reference [Open Source] GIS project.

Offline WMS – Benchmarking raster formats for QField

What are we looking for?

We would like to use WMS offline on QField. For that, we need to figure out what is the best way to get a raster from a WMS and which format is the most efficient (size and performance).

In this post we’ll show you is how to generate the ideal raster file from a WMS and the results of our efficiency tests for the the different raster formats.

WMS to GPKG

The simple way

If there is no limitation on the WMS or you need only a small region, here is the easiest process.

  1. Request the WMS and store a description file in XML:
gdal_translate "WMS:url" file.xml -of WMS
  1. Create a Geopackage from the information in the description file.
gdal_translate -of GPKG file.xml file.gpkg -co TILE_FORMAT=JPEG

That was quite simple, right?

The larger datasets way

If the command takes too much time, it means that it is trying to download too much data and could be caused by downloading higher resolution data than required.
The command might even completely fail if it contains a request for bigger data blocks thant the server allows.

Here is the process to get larger datasets in a simple way. Let’s use a real example:

  1. Use gdal_translate "WMS:https://www.gebco.net/data_and_products/gebco_web_services/web_map_service/mapserv?request=getmap&service=wms&crs=EPSG:4326&format=image/jpeg&layers=gebco_latest&version=1.1.0" test.xml -of WMS
  2. Open the test.xml file for editing, here you’ll find the parameters of the WMS. We change the “SizeX” to 3600 and “SizeY” to 1800. By changing these parameters we lower the resolution. It is important to keep proportionality.
  3. Another thing we need to change are “BlockSizeX” and “BlockSizeY” that define the size of the tiles. We change both to 2048.
  4. Finally, use gdal_translate -of GPKG test.xml test.gpkg -co TILE_FORMAT=JPEG
  5. To make a Geopackage pyramid use gdaladdo GPKG:test.gpkg:gebco_latest. It will replace the Geopackage, if you want to keep the original one, you need to copy it first.

Now you have a raster Geopackage that you can use in QField.

Testing raster formats

Preparing the files

As first step we exported our test orthophoto WMS to a plain GeoTIFF using QGIS’ default behaviour.

Default parameters used to create the initial tiff
Formatgdal_translategdaladdo
gpkg JPEGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_JPEG.gpkg” -co TILE_FORMAT=JPEG
gpkg PNGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG.gpkg” -co TILE_FORMAT=PNG
gpkg PNG_JPEGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG_JPEG.gpkg” -co TILE_FORMAT=PNG_JPEG
gpkg PNG8gdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG8.gpkg” -co TILE_FORMAT=PNG8
gpkg WEBPgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_WEBP.gpkg” -co TILE_FORMAT=WEBP
gpkg pyramid_JPEGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_JPEG.gpkg” -co TILE_FORMAT=JPEGgdaladdo GPKG:C:\test\test_JPEG.gpkg:test_gpkg_JPEG
gpkg pyramid_PNGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG.gpkg” -co TILE_FORMAT=PNGgdaladdo GPKG:C:\test\test_PNG.gpkg:test_gpkg_PNG
gpkg pyramid_PNG_JPEGgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG_JPEG.gpkg” -co TILE_FORMAT=PNG_JPEGgdaladdo GPKG:C:\test\test_PNG_JPEG.gpkg:test_gpkg_PNG_JPEG
gpkg pyramid_PNG8gdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_PNG8.gpkg” -co TILE_FORMAT=PNG8gdaladdo GPKG:C:\test\test_PNG8.gpkg:test_gpkg_PNG8
gpkg pyramid_WEBPgdal_translate -of GPKG “C:\test\ortho_test.tif” “C:\test\test_WEBP.gpkg” -co TILE_FORMAT=WEBPgdaladdo GPKG:C:\test\test_WEBP.gpkg:test_gpkg_WEBP
JPEG2000gdal_translate -of JP2OpenJPEG “C:\test\ortho_test.tif” “C:\test\test_jpeg_2000.jpg”
COG DEFLATEgdal_translate “C:\test\ortho_test.tif” “C:\test\test_cog.tif” -co TILED=YES -co COPY_SRC_OVERVIEWS=YES -co COMPRESS=DEFLATE
COG_JPEGgdal_translate “C:\test\ortho_test.tif” “C:\test\test_cog_JPEG.tif” -co TILED=YES -co COPY_SRC_OVERVIEWS=YES -co COMPRESS=JPEG
tifIn QGIS right click on the layer > export > save as > (see the details in the picture under the table)
MBTgdal_translate -of MBTILES “C:\test\ortho_test.tif” “C:\test\test_mbt.mbtiles”
Creation commands for all the tested formats

Rendering test results

We have tested many formats, here is a table with the results of the size and rendering speed in QGIS and QField.
To analyze the speed we used qgis_bench.exe -i 10 -p "C:\test\test.qgs" >> "C:\test\test.log.
Qgis_bench is a tool that renders a QGIS project a number of times to get performance measurements. The parameter -i is to define the iterations and -p is the project used which contains only the generated raster.

FormatExtent [m]File size [GB]Total_avgTotal_maxdevTotal_minTotal_stdev
gpkg JPEG52’880/29’2300.4250.242255.7815.539244.984
gpkg PNG52’880/29’2302.9412.002490.328152.142259.859
gpkg PNG_JPEG52’880/29’2300.4250.125256.8756.750245.172
gpkg PNG852’880/29’2301.4283.875296.40612.625271.250
gpkg WEBP52’880/29’2300.3330.238348.10973.534256.703
gpkg pyramid_JPEG52’880/29’2300.51.0093.4062.3970.688
gpkg pyramid_PNG52’880/29’2303.01.2083.2812.0730.688
gpkg pyramid_PNG_JPEG52’880/29’2300.61.4914.3442.8531.016
gpkg pyramid_PNG852’880/29’2301.61.5084.3752.8670.969
gpkg pyramid_WEBP52’880/29’2300.41.3334.9063.5730.766
JPEG200052’880/29’2301.113.888136.109122.2220.219
COG DEFLATE52’880/29’2303.6264.427273.09425.411239.016
COG_JPEG52’880/29’2301.014.778131.172116.3941.734
tif52’880/29’2306.42.3676.7344.3671.672
MBT52’880/29’2304.40.4694.6414.1710
Comparison of file size and rendering speed of different raster formats. “Total” columns are rendering times in [s]. Lower file size is more storage friendly, lower Total_avg is more performant.

Analysis

File size

The Geopackage WEBP (with and without pyramid) has the best result for file size, but it is not yet supported by QField (from 1.6) and is only slightly smaller than the JPEG variant.

Plain GeoTiff, MBTiles, Cloud Optimized GeoTIFF (COG – DEFLATE mode) and Geopackages with PNG generate by far the largest file sizes (up to 20x larger) and are thus not recommended.

Rendering speed

MBTiles are on average double as fast as JPEG Geopackages with pyramids which in turn are more than double as fast as GeoTIFF and 15x faster than COG.
Geopackages without pyramids are 200 to 400 times slower.

Conclusion

Even though MBTiles render faster than the Geopackage pyramid JPEG, they come with an almost 10x bigger storage requirement which makes us say that the best offline raster format supported by QField is Geopackage pyramid JPEG or if you need transparency and slightly smaller files Geopackage pyramid WebP.

If you need transparency before QField 1.6, the best results are achieved with Geopackage pyramid PNG_JPEG.

QGIS on the Road: Episode II – The Rise of the Hives

This summer we went on tour with what turned out to be an extremely popular event: QGIS on the Road

Telling the most remarkable story of Maya the beekeeper building her honey business and fighting against seemingly hopeless challenges with the help of QGIS functionality you probably never heard of.

The Rise of the Hives

During last episode, Maya demonstrated the basics of the creation of a project: loading WMS layers from the Swiss Geoportal, creating simple layers, automatic setup of widgets, importing and merging layers and even playing with Interlis data.

In case you missed it, watch Episode 1: The GIS Awakens or even better, follow us on Twitter and LinkedIn for all updates.

After analysing the area, Maya now has more hives in the forest. She will locate them using a GPS and import the data through a GPX file. She will then use her advanced knowledge of QGIS symbology capabilities to produce beautiful and meaningful maps.

And Action!

We have taken care to create subtitles for all the videos so you can comfortably read Maya’s story in your favorite language. To enable the subtitles, just click on the CC button on the player.

Features shown in this episode

  • Creating a processing model to import data from a GPX file
  • Improving labeling
  • Using a geometry generator in the symbology
  • Importing styles
  • Using cluster symbols

Coming Tuesday on QGIS on the Road: Attack of the Destructor

After showing how to process data and load styles, Maya prepares for the next episode. She will have some severe problems and to be able to come up with an emergency plan blindfolded. She will need to collect data on the field using QField and analyze this data in the attribute table before moving on to creating stunning effects by animating the map canvas.
So better stay tuned 🙂

If you enjoyed this episode, you can find all QGIS on the Road episodes at https://www.opengis.ch/qgis-on-the-road/ or even better, follow us on Twitter and LinkedIn for all updates.

QGIS on the Road: Episode IV – A New Hope

This summer we went on tour with what turned out to be an extremely popular event: QGIS on the Road

Telling the most remarkable story of Maya the beekeeper building her honey business and fighting against seemingly hopeless challenges with the help of QGIS functionality you probably never heard of.

A new hope

In the last episode, Maya minimized the damage the destructor made to her bees, using complex forms and widgets, the advanced functionalities of the attribute table, live layers and even QField for mobile data collection.

In case you missed it, watch Episode III: Attack of the Destructor or even better, follow us on Twitter and LinkedIn for all updates.

Maya is coming back with a lot of new ideas, demanding more QGIS power. Since she has received plenty of great feedback on honey from hives located at certain spots, she wants to have full overview over the whole area now. First, she uses relations to link information on different layers, then she creates animated charts on feature forms with the QML widget and – to cover the entire area – she uses the advanced digitizing tool to create precise geometries using angles and distances based on a paper sketch.

And Action!

We have taken care to create subtitles for all the videos so you can comfortably read Maya’s story in your favourite language. To enable the subtitles, just click on the CC button on the player.

Features shown in this episode

  • Setting up relations and use them in the forms
  • Visualize the data using animated charts created in QML
  • Create precise geometries with the advanced digitizing tool

Coming Tuesday on QGIS on the Road: The Web Strikes Back

Once Maya has full control over her neighbourhood, she will expand up into the mountains in the next episode. She will show us how she uses spatial bookmarks and live layers to manage her hives without leaving home. Maya also starts a new business: With the help of the QGIS’ print composer and the Lizmap Web Client, she gets her infrastructure ready for tourism.
So stay tuned 🙂

If you enjoyed this episode, you can find all QGIS on the Road episodes at https://www.opengis.ch/qgis-on-the-road/ or even better, follow us on Twitter and LinkedIn for all updates.

QGIS on the Road: Episode V – The Web Strikes Back

This summer we went on tour with what turned out to be an extremely popular event: QGIS on the Road

Telling the most remarkable story of Maya the beekeeper building her honey business and fighting against seemingly hopeless challenges with the help of QGIS functionality you probably never heard of.

The Web Strikes Back

In the last episode, Maya has got full control over her neighbourhood and she has now a complete overview of her bees habits.

In case you missed it, watch Episode IV: A New Hope or even better, follow us on Twitter and LinkedIn for all updates.

Maya expands up into the mountains. She will show us how she uses spatial bookmarks and live layers to manage her hives without leaving home. Maya also starts a new business: with the help of the QGIS’ print layout manager, QGIS server and the Lizmap Web Client, she gets her infrastructure ready for tourism.

And Action!

We have taken care to create subtitles for all the videos so you can comfortably read Maya’s story in your favourite language. To enable the subtitles, just click on the CC button on the player.

Features shown in this episode

  • Creation and use of spatial bookmarks
  • Use of live layers
  • Print layouts
  • Publish a project online with Lizmap Web Client

Coming Thursday on QGIS on the Road: The Last Bee

After reaching the peak of success, in the next episode, Maya will use raster analysis and the time manager plugin to try to avert a serious threat looming over her bees. Will she succeed? Stay tuned to find out 🙂

If you enjoyed this episode, you can find all QGIS on the Road episodes at https://www.opengis.ch/qgis-on-the-road/ or even better, follow us on Twitter and LinkedIn for all updates.

Back to Top

Sustaining Members