QGIS Planet

Crowdfunding: Point cloud processing in QGIS and 3D data enhancements

We are pleased to announce a new crowdfunding campaign to introduce point cloud processing to QGIS! Similar to the previous crowdfunding campaigns, we have teamed up with North Road and Hobu.

Point cloud data and raster shading in QGIS

Point cloud data and raster shading in QGIS.

In the last couple of years, we added point cloud data to QGIS, developed profile tool, improved 3D map navigation and many more features related to 3D data.

The new processing tools will allow you to create terrain/contours from your point cloud data, handle and manage large datasets and several other processing algorithms. In addition, we intend to allow you to embed profiles in your print layouts, export to other formats (e.g. DXF, CSV) and more improvements to the elevation profile tool. For more details see the crowdfunding page.

To pledge to this crowdfunding campaign, simply fill in the form. We will start the work as soon as the target fund is raised.

Mergin Maps in MapScaping podcast

We talked about Mergin Maps in the MapScaping podcast: QGIS Offline And In The Field

Peter Petrik was a guest in the episode of QGIS Offline And In The Field. He talked with Daniel O’Donohue about collection of spatial data in the field.

Mergin Maps is a field data collection app based on QGIS. It makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

Point cloud and QGIS 3D improvements - progress report 3

This is a part of series of blog posts to update QGIS community with the outcome of the funding we had raised during late 2021 to improve elevation and point clouds in collaboration with North Road and Hobu. For other updates see part 1 and part 2.

Profile tool

With the new integrated profile tool, you can generate cross sections of point clouds, raster, vector and mesh data. For more information on this tool, you can see the excellent video introduction by North Road who implemented this part of the project.

To be able to view profiles from different data types, there is now a dedicated Elevation settings under layer properties. Users can set the elevation source, style and some other configurations. You can then enable elevation profile widget window by going to the main menu in QGIS, View > Elevation Profile.

Elevation Profile tool in QGIS

Support for COPC

Cloud Optimized Point Cloud (COPC) is a new format for point cloud data and QGIS 3.26 comes with support for it (for both local files and data hosted on remote servers).

COPC is a very exciting addition to the ecosystem, because it is “just” a LAZ file (a format well established in the industry) that brings some interesting extra features. This means all software supporting LAZ file format will also be able to read COPC files without any extra development. If you are familiar with Cloud Optimized GeoTIFF (COG) for rasters, COPC is an extension of the same concept for point cloud data. Read more at https://copc.io/

Ordinary LAS/LAZ files have an issue that it is not possible to efficiently read a subset of data without reading the entire file. This is less of an issue when processing point cloud data, but much more important for point cloud viewers, which typically show only a small portion of the data (e.g. zoomed in to a particular object or zoomed out to show the entire dataset). For that reason, viewers need to index (pre-process) the data before being able to show it - QGIS also needs to do the indexing when a point cloud file is first loaded. The new feature that COPC brings is that data is re-organized in a way that reading just some parts of data is efficient and easy. Therefore when loading COPC files, QGIS can immediately show them without any indexing (that takes time and extra storage).

In addition to that, COPC files can be efficiently used also directly from remote servers - clients such as QGIS can only request small portions of data needed, without the need to download the entire file (that can have size of many gigabytes). This makes dissemination of point cloud data easier than before - just make COPC files available through a static server and clients are ready to stream the data.

A small note: until now, QGIS indexed point cloud files to EPT format upon first load. From QGIS 3.26 we have switched to indexing to COPC - it has the advantage of being just a single file rather than lots of small files in a directory. If you have point cloud data indexed in EPT format already, QGIS will keep using EPT index (rather than indexing also to COPC).

Display of a remote COPC file

Display of a remote COPC file

Classified renderer improvements

Classified renderer for point clouds has been improved to:

  • Show only classes that are in the dataset (instead of hard-coded list) & show also non-standard classes
  • Show percentage of points for each class
  • Work also for other attributes (return number, number of returns, point source and few other classes)

Point cloud classification

Vector transparency in 3D scene

This improvement is not part of the crowdfunding campaign and was exclusively funded by the Swedish QGIS user group, but it is somehow relevant to the audience of this blog post!

With this feature, you can set polygon transparency in 3D scenes.

3D vector transparency

Want to see more features?

We are trying to improve QGIS to handle point clouds for visualisation and analysis. If you would like certain features to be added to QGIS, do not hesitate to contact us on [email protected] with your idea(s).

Point cloud and QGIS 3D improvements - progress report 3

This is a part of series of blog posts to update QGIS community with the outcome of the funding we had raised during late 2021 to improve elevation and point clouds in collaboration with North Road and Hobu. For other updates see part 1 and part 2.

Profile tool

With the new integrated profile tool, you can generate cross sections of point clouds, raster, vector and mesh data. For more information on this tool, you can see the excellent video introduction by North Road who implemented this part of the project.

To be able to view profiles from different data types, there is now a dedicated Elevation settings under layer properties. Users can set the elevation source, style and some other configurations. You can then enable elevation profile widget window by going to the main menu in QGIS, View > Elevation Profile.

Elevation Profile tool in QGIS

Support for COPC

Cloud Optimized Point Cloud (COPC) is a new format for point cloud data and QGIS 3.26 comes with support for it (for both local files and data hosted on remote servers).

COPC is a very exciting addition to the ecosystem, because it is “just” a LAZ file (a format well established in the industry) that brings some interesting extra features. This means all software supporting LAZ file format will also be able to read COPC files without any extra development. If you are familiar with Cloud Optimized GeoTIFF (COG) for rasters, COPC is an extension of the same concept for point cloud data. Read more at https://copc.io/

Ordinary LAS/LAZ files have an issue that it is not possible to efficiently read a subset of data without reading the entire file. This is less of an issue when processing point cloud data, but much more important for point cloud viewers, which typically show only a small portion of the data (e.g. zoomed in to a particular object or zoomed out to show the entire dataset). For that reason, viewers need to index (pre-process) the data before being able to show it - QGIS also needs to do the indexing when a point cloud file is first loaded. The new feature that COPC brings is that data is re-organized in a way that reading just some parts of data is efficient and easy. Therefore when loading COPC files, QGIS can immediately show them without any indexing (that takes time and extra storage).

In addition to that, COPC files can be efficiently used also directly from remote servers - clients such as QGIS can only request small portions of data needed, without the need to download the entire file (that can have size of many gigabytes). This makes dissemination of point cloud data easier than before - just make COPC files available through a static server and clients are ready to stream the data.

A small note: until now, QGIS indexed point cloud files to EPT format upon first load. From QGIS 3.26 we have switched to indexing to COPC - it has the advantage of being just a single file rather than lots of small files in a directory. If you have point cloud data indexed in EPT format already, QGIS will keep using EPT index (rather than indexing also to COPC).

Display of a remote COPC file

Display of a remote COPC file

Classified renderer improvements

Classified renderer for point clouds has been improved to:

  • Show only classes that are in the dataset (instead of hard-coded list) & show also non-standard classes
  • Show percentage of points for each class
  • Work also for other attributes (return number, number of returns, point source and few other classes)

Point cloud classification

Vector transparency in 3D scene

This improvement is not part of the crowdfunding campaign and was exclusively funded by the Swedish QGIS user group, but it is somehow relevant to the audience of this blog post!

With this feature, you can set polygon transparency in 3D scenes.

3D vector transparency

Want to see more features?

We are trying to improve QGIS to handle point clouds for visualisation and analysis. If you would like certain features to be added to QGIS, do not hesitate to contact us on [email protected] with your idea(s).

Point cloud and QGIS 3D improvements - progress report 2

This is a part of series of blog posts to update QGIS community with the outcome of the funding we had raised during late 2021 to improve elevation and point clouds in collaboration with North Road and Hobu. For other updates see part 1 and part 3.

Point cloud filtering

With this feature, you can filter the point cloud data based on the classes or any other attributes. This is very similar to filtering available for vector layers.

Filtering data allows you superimpose for example building on top of the raster representation of your point cloud data:

Filtering of point clouds

Filtering of point clouds

Examples of filtering you can use:

  • Classification = 2 - only show ground points

  • ReturnNumber = 1 - only show the first return or ReturnNumber = NumberOfReturns for the last return

  • Z >= 10 AND Z <= 50 - only show a slice from the range of elevations

The filtering window also displays statistics of some of the parameters.

2D/3D Camera sync

When you navigate in the 2D map, you often want to see the 3D map view also updated and vice versa. This feature also allows you to view the extent and camera angle of your 3D map view on 2D map.

2D-3D camera sync

New point clouds styling method

There is a new 3D styling mode for point cloud which follows the 2D styling. This means you do not need to apply the same styling, e.g. Classification twice: once for the 2D map view and another for the 3D map view. Once you set the 3D style to follow 2D map, any changes in 2D map style will be automatically displayed in 3D map.

Follow 2D style for 3D point clouds

Camera and navigation improvements

This feature was funded by QGIS.org to improve 3D map navigation. Users can now better move, rotate both the map and camera. The 3D map navigation is now more inline with other applications like Google Earth.

Camera navigation

Point cloud and QGIS 3D improvements - progress report 1

This is a part of series of blog posts to update QGIS community with the outcome of the funding we had raised during late 2021 to improve elevation and point clouds in collaboration with North Road and Hobu. For other updates see part 2 and part 3.

A big thanks!

This work was made possible with generous donations and support by the individuals and organisations below (not in a particular order):

Stuart Smith, BayesMap Solutions, Tibor Lieskovský, Balanced Risk Strategies, Yoichi Kayama, Basel Land Registry and Surveying Office (GVA), Rudaz + Partner, Jakub Fuska, Richard Barnes, Spatial Thoughts, Hans van der Kwast, António Pestana, Richard Lorion, Eagle Resources, Suresh Muthukrishnan, 12P Consulting, Alta, JCIS Consultants, Brenna Hughes, Amt für Geoinformation Basel-Landschaft, Darren Farmer, F.A.R.M. Facilitazioni Agroecologiche Regionali Mobili, Ali Nayeri, Land Vorarlberg, Landesamt für Vermessung und Geoinformation, QGIS User Group Switzerland, Robert Thunen, Twomile Heavy Industries, Inc., Roberto Moyano, Jens Grehl, Pēteris Daknis, Rob Willson (Ecophylla Consulting), Daniel Löwenborg, Ville de Vevey, Alfredo Toledo (Suriyaco), QTIBIA Engineering, Ian Burrows (FAS), Pascal Obstetar, Lidar Guys, Mapping Automation, LLC, Featherstone Survey and Civil, Peter Schmitz, Fernando Michel Tuesta Chichipe, Hugo Sørensen, Bernie Connors, Watershed Research and Training Center, MBS Environmental, Andreas Neumann, Adrian Matter, Mapfly, Enso, João Gaspar, Eric van Dijk, City of Uster, Switzerland, QGIS Usergroup Denmark, STAEREA, Ostschweizerische Gesellschaft für Höhlenforschung, Department of Environment, Land, Water and Planning (Victoria), IGN FI, Travis Flohr, Amt für Wald beider Basel, Matthew Bodnar, Surface libre, OSGeo:UK, National Land Survey of Finland,Natural Resources Canada, Fonds Brukhalter, Arbeitsgemeinschaft Höllochforachung AGH, gis experts, BNHR, Rogue Geoscience Ltd., USACE CRREL and Ian Huitson.

In addition to the list above, we thank several anonymous donors who chose not to be listed.

If you have made a donation towards this work and your name or your organisation name does not appear here, please contact us ([email protected]).

3D view manager

Previously, if you closed a project with a 3D map view, the 3D map view and all its settings were lost when you reopen that project. So in QGIS 3.24 we’ve added a “3D map view manager” that takes care of listing, removing, renaming and duplicating 3D map views in your projects! We’ve also added a new “3D Map Views” menu, which contains all your created 3D map views for easy access.

To summarise, these are the advantages of this new feature:

  • Saving 3D map views within QGIS project (similar to other settings) and being able to retrieve the 3D view after closing (either the view or the project)
  • 3D map view manager: which allows you to duplicate, rename and delete 3D map views

3D Map Views Manager

Dock/undock 3D views

3D map canvas panel was difficult to move, resize and often resulting in unwanted docking. With QGIS 3.24 we added the ability to switch 3D maps from a dockable widget to a top-level window (and back to a dock widget), so that these map views can now be managed, resized and moved just like a standard application window. In addition, you can now use 3D map view in full screen mode.

Docking and undocking 3D view

Respect Z ordering of point clouds in 2D

We’ve added an option to render point clouds according to their Z-order in 2D map views. With the new bottom-to-top ordering option enabled, points with larger Z values will cover lower points – resulting in the appearance of a true orthographic photo. There’s also an option for reverse sorting (top-to-bottom), where the scene appears as if viewed from below. This feature is available in QGIS 3.24

The image below displays the default Z ordering of a LAS file when loaded in QGIS:

Default Z ordering

The same layer with the ordering of Z switched to bottom-to-top:

Z ordering bottom to top

Visualisation of point cloud as solid surfaces

With this feature you can render point cloud layer in the 3D view as solid surfaces generated by triangulation. The triangulation is available for all the 3D point cloud renderers: unique color, ramp color, classification and RGB. This feature will be available in QGIS 3.26 and you can try it in the current QGIS nightly/master.

Triangle rendering of point clouds

Mapping Invasive Weeds in Swan Bay, Australia

Mergin and the Input App used for efficient mapping and recording of weed clearance in environmentally important wetland of Swan Bay.


“Input can in theory handle everything you’d ever want for a mapping tool!”

Dr Greg Parry BSc (Hons), PhD - 8 December 2021


Greg Parry is President of the Swan Bay Environment Association in the Borough of Queenscliff, Victoria, Australia. This semi-retired marine ecologist runs a one-man ecological consulting business, Marine Ecological Solutions.

Edward’s Point, courtesy of SBEA

Bare sand and seagrass meadows off the beach at Edward’s Point.

Importance of Swan Bay

Swan Bay is a significant marine wetland with an area of 30 km2, situated near the entrance to Port Phillip Bay on the south-central coast of the Province of Victoria. This is an important bird habitat, supporting the life of about 200 different bird species. It has been recognised as an area of international importance under the Ramsar Convention. Every October, Swan Bay is visited by thousands of migratory shorebirds. More than 3 000 Black Swans can be seen in the bay in Summer and Autumn. The seagrass in Swan Bay is also an important habitat for a variety of fish and other marine life.

Drone image of Swan Bay, courtesy of SBEA

Drone image of Swan Bay, Australia

Aims of the Swan Bay Environment Association

The natural flora and fauna in the area are under threat by environmental weeds. Among the 300 different plant species, about 50 % are alien. Invasive environmental weeds harm native plants and animals, the natural landscape and threaten the biodiversity of indigenous species. The three main invasive weeds in Swan Bay are Italian Buckthorn, African Boxthorn and Polygala myrtifolia (myrtle-leaf milkwort from South Africa).

African Boxthorn, courtesy of SBEA

African Boxthorn

A team of volunteers from among the 120 members of the Environment Association will assist with the removal of invasive weeds. Some of these are so large or spiny they need to be cleared by contractors. Others require spraying, while many will be cleared manually by a team of volunteers.

pre-weeding, courtesy of SBEA post-weeding, courtesy of SBEA

Pre- and post-weeding of the same area

Need for Effective Mapping

This is where Dr Parry’s expertise comes in – together with Mergin and the Input App. He realises the urgent need for effective mapping and planning, to co-ordinate the work of volunteers. If this is not done, there is “inadequate follow-up, so it is a waste of their time and energy”. He emphasises, “We need better records of when places are weeded and how they are weeded.”

The role of accurate mapping is two-fold: firstly to create a historical record of past weeding and to assess weed density, and, secondly, to identify the areas for future weeding.

Dr Parry has classified the following categories for weeding as:

  1. areas suitable only for contractors requiring heavy equipment, (RED on map)
  2. areas suitable for contractors or volunteers – more open areas, usually where the worst weeds have already been removed by contractors, (ORANGE on map)
  3. areas suitable for volunteers – few weeds requiring diligent searching, and many man-hours but limited manual labour, (GREEN on map)
  4. areas where drainage has increased weed infestations so that drainage should be tackled before weed removal makes sense. (BLUE on map)
Classification of 4 different weeding categories, courtesy of SBEA

Classification of 4 different weeding categories

Dr Parry realises the need to store the information accurately (how much work has been done, the man-hours and number of people, etc.) and then to analyse it, so as to achieve a more effective job by volunteers in future.

Weeds removed between 2015 and mid-2021, courtesy of SBEA

Map showing all areas where weeds have been removed between 2015 and mid-2021. Underlying these ‘weed density’ polygons are polygons showing areas that were weeded in different years between 2015-2021.

Conclusion

Dr Parry finds that Input has all the features required for this project. It will be very useful for volunteers in the field, especially as it is usable by both iOS and Android. He thinks it is “remarkably cheap”, compared to the software he had previously been using.

He has some experience with GIS and, after watching a YouTube instructional video, has managed to incorporate QGIS and set it up without many problems. Once he has fine-tuned the set-up, he is sure that he will be able to enlist many more willing volunteers for this important undertaking.

Back in 2005, Dr Parry had used a Magellan Mobile Mapper hand-held device for mapping, which was bulky and cost about $7 500. “Now all of the capacity of that system is available on your phone!” He is motivated to incorporate the user-friendly features of the Input App in order to achieve his main long-term objective:

“This information, I think, will be very helpful in improving co-ordination of weeding efforts within the borough and ensuring that resources are used efficiently. Over a few years, we will get a much better concept of the resources required to do the job in total. I’d summarise it to say we should be a bit more strategic about it, so as to be more effective.”

Download Input Today

Screenshots of the Input App for Field Data Collection

Get it on Google PlayGet it on Apple store

Working collaboratively, not sequentially

Nick shares problems faced by his distributed GIS team and how Mergin solved them.

Nick was searching for a way for his remote team to safely edit the GIS layers of their fibre network designs at the same time. Solutions he’d tried were either unsafe for concurrent editing, not feature-rich enough or had prohibitive licence costs. Nick now uses Mergin to collaborate with his colleagues around the world in near real time.

Highbeech logo

Nick Whittaker is Director of Highbeech Consultancy, a company providing specialised fibre optic network design services. Highbeach is based in England and operates in markets around the world.

Around 9 years ago, Highbeech started helping their clients develop city-wide fibre-to-the-home network design strategies. Nick’s team developed network simulation models which they used to understand the performance and likely construction costs of different designs fed by both public and municipality GIS data. The models proved a success as several clients commissioned construction of the resulting designs.

Nick’s team were now tasked with acting as technical liaison to the engineering companies carrying out the build in the US.

Nick Whittaker

Nick Whittaker

The Challenge

Nick now needed a way for the different project partners to safely view and edit the design at the same time: “This was working sequentially, not collaboratively - we needed to be able to work in parallel!”

“One of the engineering companies we were advising had requirements to have staff in different parts of the US and at present, everything we were doing with the designs ran on-premises. People could use VPNs but working on designs was a nightmare” Nick explained.

Nick found working on designs via VPN was too slow to be workable and instead looked for a solution which would bring designs closer to the staff needing to work on them.

Cloud storage solutions such as OneDrive, Google Drive or Dropbox are unsuitable for collaboration on GIS data as they allow files that would normally be locked and accessed one at a time to be modified simultaneously by multiple users. This situation commonly results in data loss.

“We were having to limit ourselves to one person working on the design at a time and having to notify each other when it was safe for the next person to take over - file locking by email. This was working sequentially, not collaboratively - we needed to be able to work in parallel!” he added.

Nick searched for better solutions for allowing the various teams to work together quickly and safely at the same time.

“In the past we’d used ArcGIS Server which worked well as a collaboration platform when everyone was in the same office but wouldn’t be suitable in this case. We’d also tried ArcGIS Online but found it frustrating as it was too cut-down compared with ArcGIS Server.” Nick said.

Licencing was also an important factor for Nick: “Some solutions we looked at were plugins to other suites, for example, AutoCAD. If I tell my client that we’ll do a project in AutoCAD, they may tell me they can’t afford an AutoCAD licence.”

“While searching for collaborative GIS platforms I came across the Mergin plugin for QGIS.”

QGIS is open source GIS software with a large number of extensions called plugins.

“GIS is widely used in fibre network design and I used ArcGIS primarily. I first heard about QGIS when using FiberPlanIT as it’s implemented as a QGIS plugin. Within about 12 months I was doing the majority of my GIS tasks in QGIS and now consider myself a QGIS convert, purely because I see the power, potential and capability of its community.”

Example Fibre Network Design

A fibre network design shown in QGIS

Implementation and Outcomes

After taking time to evaluate Mergin within Highbeech, Nick proposed it as a collaboration platform to the US-based engineering company.

“Initially they were unsure how to set it up so I offered to do that and to administer it for them. Within 2-3 weeks they had 20 guys using it and within 3 months I’d migrated control of it over to them.” Nick said.

“The value is all about collaborating in near real time rather than the days it used to take to do things”

Nick’s team can now see the changes their US-based client makes to the design as they make them and jump in/out as required to perform validations and make corrections and changes as required.

“The time zone difference with the US now works to our advantage - we even tell our clients we can turn their 8 hour working day into a 16 hour working day.”

“Once our client’s fielding team has finished for the day, we work through their data, performing checks and validations and everything’s done by the time they’re back in the office the next day. This forms much of what Highbeech does on the project nowadays and this wouldn’t be possible without Mergin.”

When asked what worked particularly well about Mergin, Nick said: “the seamless way you can be working with someone on a call, make a change to a design and have it appear in front of them within seconds. This is incredible and something that happens on a regular basis.”

“The value is all about collaborating in near real time rather than the days it used to take to do things. That’s the greatest strength of both Mergin and Input.”

Input is a mobile app that allows GIS projects to be viewed and edited in the field.

When asked about how collaborative working might change in the future, Nick said: “We live in a world where an ever increasing number of people choose to work from home. For those working in fibre network design, that’s only possible with collaborative platforms such as Mergin.”

Nick has since introduced other clients in the US and UK to Mergin which supports their collaborative GIS efforts together.

Download Input Today

Screenshots of the Input App for Field Data Collection

Get it on Google PlayGet it on Apple store

Successful crowdfunding: Thank you!

We are pleased to announce the success of our crowdfunding campaign to improve point cloud and elevation tools in QGIS. Thanks to the generous pledges from QGIS community, we have exceeded the target (including the stretch goal).

We are very excited and looking forward to developing those features in the upcoming QGIS releases in collaboration with North Road and Hobu.

Thanks again to all those who have contributed to the campaign. Without your support, these major developments would have not been possible. We will publish a blog post with the list of contributors in due course.

To stay tuned with the latest development, you can visit QGIS code repository or visit our blog for news and updates.

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

You may also like...

Mergin Maps, a field data collection app based on QGIS. Mergin Maps makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

Archaeological Discoveries in the Hands of Citizens

Input App helps to identify burial grounds in a citizen science project in the Netherlands.

“QGIS is my Number One tool for all my work. Through a podcast, I heard about Mergin and the Input App - I immediately installed it and have been playing around with it ever since. It has worked wonderfully and flawlessly. We haven’t had any problem with it so far. It was the perfect solution for this specific project!”

Konan Pruiksma - 24 November 2021


21st-century tools reveal 2000 years of our past history

Konan Pruiksma, born in the Netherlands, is an archaeologist and GIS (Geographic Information System) Specialist experienced in Data Analysis, Relational Databases and Geostatistics, who is making a career in exploring our cultural heritage – in particular the vast wealth buried in the fields of the Netherlands. As an employee of Tijdlab, he was approached by Heritage Quest (Erfgoed Gezocht) and Leiden University/Erfgoed Gelderland to assist in their citizen science project, in which volunteers participate in archaeological research on the Veluwe and Utrechtse Heuvelrug.

Burial Mounds in QGIS, image courtesy of Tijdlab.nl

Area of already well-known burial mounds created in QGIS

Secrets of Burial Mounds

The Dutch landscape is dotted with ancient burial mounds, Celtic fields and cart tracks, some dating back to the 3rd and 2nd millennium BC. Bodies were first cremated and then the ashes were buried in these mounds. In the Middle Ages, mounds were also used for navigational purposes and even for gallows. The ashes of important people were probably honoured with a solitary mound, whereas other mounds contained the ashes of whole families or of many individuals.

Two burial mounds, image courtesy of Tijdlab.nl

Two burial mounds

Aims of the Heritage Quest Project

The aims of the Heritage Quest project are two-fold, focusing on two views of the concept of citizen science:

  1. The public viewpoint - to introduce as many citizens as possible to an awareness of the unique archaeological heritage in the Netherlands literally under their feet. This encourages better protection and conservation of this ancient and fragile heritage. Citizen science lessons are even planned for the classroom, to make children aware of their archaeological heritage and how to conduct scientific research.

  2. The scientific viewpoint - to collect as much information as possible about the as yet unknown archaeological treasure trove. With the aid of LiDAR map data, huge areas become visible, which were previously hidden by vegetation and thus undiscovered. Later, with the participation of citizen volunteers, a large amount of field data can be collected, which archaeologists simply do not have the manpower to gather.

Volunteers using Input App in the field, image courtesy of Tijdlab.nl

Volunteers using Input App in the field

LiDAR Assists in New Discoveries

LiDAR maps – high-resolution models of ground elevation created by a laser scanner, GPS and INS systems mounted on a small aircraft – are made accessible to the project by the Dutch government. Over the past 2 years, these LiDAR maps of areas of suspected burial mounds were analysed by over 6 500 volunteers, even by children, who searched over 600 000 maps and identified many thousands of possible new discoveries. In addition to burial mounds, Celtic fields (agricultural fields about 2 500 years old) and deep linear depressions left by the wheels of carts or wagons are clearly visible in the sandy soil of the Utrechtse Heuvelrug and Veluwe on LiDAR maps.

This manual work of many volunteers has another great benefit. The identified objects from LiDAR maps were used as a teaching dataset for a neural network that could potentially do a similar task automatically in the near future for different sites.

LiDAR image showing burial mounds and tracks, image courtesy of Tijdlab.nl

LiDAR image showing burial mounds and tracks

As every map was inspected by at least 15 different participants, the difference in the probability of potential barrows become clear immediately; some hills are identified by all participants, while others only by a few. It is probable that hills recognised by more people have a higher chance of being burial mounds and not natural hillocks. Following this reasoning, there are about 6 000 hills that have a high potential of being ancient burial mounds. However, this needs to be checked in the field.

Volunteers Gather Data in the Field

In summer 2021, the field work began and this is where Mergin and Input App came into play.

“For this project, I immediately thought of Mergin and Input App and it worked from the get-go,”

says Konan Pruiksma regarding the ideal tools he chose for data collection in the field. Volunteers install the Input App to their phones and see the potential burial mounds or Celtic fields on the map. They navigate to a point of interest, digitise the point and fill in the required information, such as photos and notes, in a form. Such field work will continue to be carried out over the next year or more.

Burial mounds to be verified, image courtesy of Tijdlab.nl Form to fill in by volunteers, image courtesy of Tijdlab.nl

Burial mounds to be verified and form to fill in by volunteers

Once they have all the information about the location in Input App, they synchronise the data back to the Mergin Cloud. Konan, as a field manager, sees that data are synchronised on Mergin Cloud Dashboard, as well as who made the changes and when. If he needs to update anything, he can do it even from his office and let volunteers refresh the map. The collected data are stored in the PostGIS database via a docker container for further analysis. Konan uses QGIS Plugin for Mergin to download the field data gathered and to analyse them. When the point has been confirmed as a possible burial mound in the field a certain number of times, it is removed from the volunteers’ maps on Input App and reported to the professional team of archaeologists.

“Input App is user-friendly and can be used on any smartphone. This makes it possible to be used by volunteers with only minimal instruction. Which is great, because with over 6 000 locations to be inspected, we need all the help we can get!” explains Konan. “The App furthermore enables volunteers and archaeologists alike to locate the barrows which are usually hidden beneath vegetation. In the field, these low rises are often poorly visible, which is the reason they have not been identified until now. Before we used Input App, it often took us a very long time just to be able to locate the hill highlighted on the LiDAR map.”

Konan doing analysis of collected field data on his laptop, image courtesy of Tijdlab.nl

Konan doing analysis of collected field data on his laptop

Information Gleaned from Soil of Burial Mounds

This team further investigates the mound by borehole surveying and the removal of soil samples. The mounds are generally not excavated, only if there is a danger of them being destroyed. Archaeologists prefer to keep these archaeological remains intact.

By coring with a 7 cm auger, a thin soil profile can be extracted from the barrow. In this way, archaeologists can get a small glimpse of the different layers that are present beneath the soil without destroying them by excavation. This provides invaluable information about our prehistoric ancestors. Radiocarbon (or Carbon-14) dating can provide accurate dating of the contents of these prehistoric mounds.

Konan says, “We previously did not know that there were so many burial mounds in the Netherlands!” He explains how information is obtained from the soil, without the need for excavation: “If we find charcoal, it is almost 100 % sure that it is a burial mound. We can learn what the burial rituals were of our ancestors, how they lived and what they ate.”

Conclusion

There are inestimable benefits of collecting and interpreting data accurately. The vast number of burial mounds in the Netherlands would not be able to be detected were it not for the assistance of volunteers, combined with LiDAR maps and tools such as QGIS or Input App. At present, there is a team of 20 volunteers at work on the Veluwe project, but this number should increase in the future, as more citizens become interested in doing citizen science in their environment. As Input App is user-friendly and very intuitive, a minimum amount of training is needed for volunteers, many of whom are students or senior citizens not au fait with digital technology.

Download Input Today

Screenshots of the Input App for Field Data Collection

Get it on Google PlayGet it on Apple store

Crowdfunding: Enhancing elevation data and point cloud in QGIS

The next round of crowdfunding to improve point cloud and elevation data in QGIS is here! Similar to the previous crowdfunding campaign, we have teamed up with North Road and Hobu to improve elevation and point cloud data in QGIS.

Created by: Tibor Lieskovský

Buildings extracted from lidar, overlaid on top of a cadastral map from 1890. Made by Tibor Lieskovsky, data UGKK SR.

Last year, we added point cloud data to QGIS, thanks to the great support from the community. Based on numerous feedback and suggestions we had over the past year, we have decided to run another campaign to introduce some new tools and enhance user experience when dealing with elevation and point cloud data. Below is a list of those features we intend to introduce. For more details see the crowdfunding page.

Profile tool

A tool for drawing profiles of elevations is essential when working with 3D data, yet it has long been missing from QGIS. While there are several plugins for QGIS that add this missing functionality, unfortunately they all have limitations when it comes to ease of use, performance, integration with the rest of the user interface and wealth of functionality. The goal is to add a profile tool that would cover a wide variety of use cases, and be available immediately out-of-the-box for all QGIS users.

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

An example of a cross-section: view from the top including the profile line with a buffer, and the profile with two different ways of styling (classification / elevation-based).

Enhanced 2D visualisation of point cloud

A technique that is extremely useful for visualization of point clouds in the 3D map view is the Eye Dome Lighting effect, which adds subtle shading and silhouettes (when there is a greater change of elevation) making it much easier to identify various features of interest that could be otherwise hard to see. To date this feature is only available in 3D QGIS map views, but we would like to introduce it to 2D map view as well! Many GIS workflows and products are still entirely based around 2D views of data (such as digitizing of vector data), so having the extra visual clues which Eye Dome adds is also highly desirable in 2D views.

Point cloud - without hillshade Point cloud - with hillshade

Top-down 2D view of a classified point cloud. Left: rendering without Eye Dome Lighting (EDL) effect. Right: rendering with EDL.

Filtering point clouds for visualisation

A common requirement of analysts when working with point clouds to work with just a subset of the dataset. This could be as simple as showing only one class of a classified dataset, using only a limited range of elevations, viewing just a particular flight line, or looking at just the first/last returns. Currently, QGIS only provides basic class-based filtering when using rendering based on classification.

Improve 3D map views

One of the limitations is the 3D map view’s window: when it gets closed the configuration of the 3D map view is discarded and any newly opened 3D map view needs to be re-configured again. This is frustrating for users and results in a lot of wasted time! We would like to fix this by keeping 3D views stored in QGIS projects, even when they are not currently being shown. Another issue related to 3D map views is the fact that they are currently only “dock widgets” that can be embedded within the main window. However, often it is preferable to be able to see the 3D view content in a big window, which is quite tricky to do in current QGIS versions (especially when the user does not have multiple displays).

Cloud-optimized point clouds

The new specification of cloud-optimized point clouds (COPC) is current being finalized (October 2021) and it is a very exciting innovation! Inspired by the hugely successful cloud-optimized GeoTIFF (COG) format, the idea is to reuse the existing LAZ format (widely used by the lidar community) and add the improvements which make the format more useful.

More point cloud data formats & more robust loading

While LAS and LAZ files (currently supported by QGIS) are the most common formats for point clouds nowadays, they are not the only ones. In order to support more formats in QGIS we do not need to worry about technical details of each format thanks to the PDAL library. It comes with a multitude of drivers for various formats and services - see https://pdal.io/stages/readers.html . In QGIS we need to provide a user interface to allow people to get other additional formats to work. Some drivers are always available in PDAL, others are optional and may need extra third-party libraries in order to work. We welcome feedback from the community regarding drivers they consider important.

About the crowdfunding campaign

Please visit the crowdfunding page for more details about the campaign!

You may also like...

Mergin Maps, a field data collection app based on QGIS. Mergin Maps makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

Scoped storage in Input for Android

Android has forced app to use Scoped Storage for all app related data. If you are using Input app on Android please read carefully for the upcoming update (1.1) of the app in the Google Play Store.

What is Scoped Storage?

In summary, apps need to use a specific part of folders on Android devices to store app related data.

Currently, Input stores your QGIS project and some other settings (e.g. grid shift projection) on /Internal storage/INPUT. With the new Android requirements, the app related data should be stored on /Internal storage/Android/data/uk.co.lutraconsulting.

Update process

For the 1.1 release of Input on Android, there will be an extra process. This process will be a on-off action. When you launch the app after the upgrade, it will copy the data from /Internal storage/INPUT to /Internal storage/Android/data/uk.co.lutraconsulting. Depending on the size of your projects, this can take a couple of minutes. During the process you will see a screen similar to this one:

Input project migration

Best practices

The upgrade and copy process should work smoothly. But we suggest to take the following actions to ensure you will not lose any data during the process:

  • Sync all you changes: before upgrading the app, open Input and sync all your local changes to Mergin.

  • Storage space: if you work with several projects and large volume of data, make sure you have enough storage. The process will make a copy of your existing /Internal storage/INPUT without deleting it. So, you need at least the size of /Internal storage/INPUT storage available.

Troubleshooting

In case you have encountered any issues, you can take the following steps to fix the problem manually:

  • Lack of storage space:
    • Transfer the data through USB cable to your PC.
    • Make a back up of data on your PC.
    • Delete /Internal storage/INPUT on your Android phone/tablet
    • Transfer the data from PC through USB to /Internal storage/Android/data/uk.co.lutraconsulting
    Input project migration - storage warning
  • Missing data: the migration process does not delete /Internal storage/INPUT folder. It will rename it /Internal storage/INPUT_migrated. Similar to step above, you can copy the data to the PC and move them to /Internal storage/Android/data/uk.co.lutraconsulting. Alternatively, you can use a file browser app on your device to copy files around.

  • If you use Input app on a shared device, the migration process will transfer all the project data from /Internal storage/INPUT and marks the folder as /Internal storage/INPUT_migrated. Therefore, when the next user starts up the app, no data will be present. To fix the issue, you need to manually move the data from /Internal storage/INPUT_migrated to /Internal storage/Android/data/uk.co.lutraconsulting (as described above) for the other users on the device.
Input project migration problem

Need help

If you need further help, please join us on the community chatroom and we will be able to help you with the upgrade issue (or other Input/Mergin related problems.)

Pecan Precision Farming with Input App

Precision farming opens an opportunity to increase the gain for a farmer up to 20% with fewer trees.

Making a sustainable profit from farming can be something like tossing a coin. However, today the advancements in digital technology provide the incredible benefit of reducing the unpredictability of farming in general. In pecan farming in particular, the proper know-how of a combination of multiple factors such as soil composition, environmental impact, climate, irrigation and sunlight management are vital for success. Hard data is essential for innovating key decisions. Riaan Burger, a South African farmer, successfully uses open source GIS software to tackle the issues of collecting and utilising such vital data.

Riaan on Farm

Riaan Burger on his pecan farm.

Becoming a Farmer

Riaan Burger’s journey started back in 2017 when, after 20 years’ working as an electrical engineer, he decided to embark on his own business in pecan nut farming. He is a self-taught farmer and co-owner of one of the biggest pecan farms in the district of Weenen, South Africa. At first, Riaan had only a rough idea of how to improve his newly bought 24 hectares of planted orchard.

After reading books on soil structure, type, depth and chemical analyses, he had soil samples taken to create a soil sample map. In his orchard, the trees were planted in 10x10 metres geometric layouts. After 20 years, the trees were already creating shade. Riaan knew that sunlight penetration is important and that pecan trees are susceptible to fungus, so he decided to take a closer look.

“The previous owner of the farm had already started chopping out every second tree. I was in the position where I could compare the yield from areas where trees had been chopped down, to areas where they had not been felled,” explains Riaan.

Initial stage

A photo of the farm taken by drone and initial stage of farming - soil maps.

Riaan realised that understanding the ambient conditions and mapping them to yield results was the right way to go. This was the beginning of his exciting journey in precision farming.

Collecting Data from the Field

It was no easy task for Riaan to get a complete picture. For two years, he only recorded the yield per day, and the relevant orchard block. Later, he used the services of a local consulting company which provided him with surveying applications to help him to set up a basic workflow.

“I record the weight of pecan nuts from each individual tree and I plot it on the map,” Riaan says. “And then afterwards I can see the different cultivars of trees, the weight of nuts they produced and the area in which they were produced. I previously had soil samples taken, so I’ve got soil sample maps. Now I can overlay a yield map over the soil sample map and correlate them”

Despite working well with the surveying app, Riaan was still in need of assistance to prepare data tables and then to export them to Excel sheets and to request map creation. After the consulting company moved from a third-party app to the in-house build solution, things got worse for Riaan: “It was a generic tool and a difficult app to work with. Displaying data was cumbersome. I wanted something that was quick and easy again. Ideally, I would like to capture data on the iPad and have it directly linked to my laptop – that is how I think it should work.”

So Riaan discovered the Input and Mergin suite, a surveying app based on QGIS and a cloud service for data synchronisation, respectively. Despite only a basic knowledge of QGIS and the necessity to learn and experiment, the effort immediately paid off!

“I’ve got Input, I’ve got a Mergin account and I’ve got QGIS. I now have full control of the process. I don’t need to fund a consultant and find that by 8 o’clock at night he has not yet responded to my query, and so I have to back it up with a WhatsApp call,” Riaan explains. “This is something I created entirely myself. I don’t need to ask someone to change this map, or add that icon, modify the legend or change the styling, I am in control of all of it! And I think there is a sense of satisfaction when one gets things going for oneself.”

Project in QGIS Project in Input

A farming project in QGIS desktop and Input app UI.

With the Input app, Riaan has gained control of the workflow – something not before experienced. He has gained the freedom to set the project according to his own individual needs. Without much effort, not only the data but the styling, an important factor for him, are synchronised.

“In QGIS I created a style where each bubble represents the kilograms of the yield and the colour represents the variety,” says Riaan. “Then I saw in Input that there is suddenly an extra page on my iPad. So now I have the bubbles and bubble colours on the iPad instantly, which I did not have in previous apps. Previously, I had to create it the long way around, but now it is suddenly on the iPad automatically. I enjoy having that available! In the past, I only had that information by the end of the harvest.”

Cutting Down Trees

The energy invested in creating workflow, capturing and analysing data paid off handsomely for Riaan. All his initial doubts were suddenly eliminated. He has all the information essential for making any important decision right at his fingertips.

“The first time you fell trees, you have nightmares! How on earth you can be cutting your income and destroying 20 years of growth? Now, with the necessary proof at hand, it is easier in your mind to motivate that tree felling is actually your source of income, that it is the right thing to do,” says Riaan. “You can see that the yield from the remaining trees is more than double than before. The trees are healthier, because of allowing sunlight in. Moreover, you also get less pressure from fungus, because pecan trees are easily susceptible to fungus. Now that you have good ventilation, because you have a draught through your orchard, you can see on the map what your exposure to fungus is.”

Higher density of trees Lower density of trees

Orchard with higher density of trees (top) and lower density (bottom).

Riaan continues: “I am not a sole owner, I have a partner. Now I have the data available, so that when we have a meeting I can explain to him this is what I did, this is what happened and this is the result. If you go to a bank manager for a loan, I mean, he really frowns at you when you tell him you are cutting down your trees which produce your income. Then you can explain to him why it is for the better.”

Yield increase

Increase in yield per tree after reduction of tree density.

Harvest Data Analysis and Beyond

The benefits of collecting and interpreting data carefully are limitless. Cutting down trees is just one example of the many advantages of careful data gathering and interpretation.

“Now I see that certain cultivars perform better than others this year,” adds Riaan. “So I can see if they consistently perform better or worse. I can decide, based on these results, what to do: if I need to add more nitrogen or improve soil pH, or whatever the case may be.”

User-friendly tools tailor-made to specific needs, such as the Input and Mergin suite, provided Riaan a way of collecting and analysing his specific type of farming data. His insights for necessary improvements also developed over the past few years.

“At first I did not have the distinction between individual trees and I even said to my partner” continues Riaan, “if only I’d started doing this in the very first season, I would have had 5 years of data to compare – but I didn’t. I will definitely continue to use this suite. It is valuable and I have been using it only for harvest. However, I see now that I can start recording where I have cut down a tree, so I have a record of when and where the tree was cut. I can also record my irrigation data.”

In spite of initial teething problems and the difficult decisions he had to take, Riaan’s success is proof that he has found the right way to go for his own specific pecan farming needs. He has even become an evangelist within the local farming community.

“I am not the only pecan farmer in our district. I am the biggest pecan farmer, but not the only one. I am trying to spread the word around. For example, my neighbour still does not want to cut down his trees. But I am getting there, showing him photos, proving that you have to be aggressive to open up the orchard to get sunlight in – and here is the proof that it has been working for me!”

Download Input Today

Screenshots of the Input App for Field Data Collection

Get it on Google PlayGet it on Apple store

Input version 1.0 release

Input app has reached a new milestone. Earlier in September, we have released version 1.0 of the app with many new features and enhancements.

Make syncs faster

When you work in a team with several collaborators adding data and photos to the project, the size of the project can get really big. Every time you try to sync your changes, photos from all users will be transferred to your phone. This can take a long while when there are several hundreds of photos collected by other collaborators.

Image below illustrates the difference between having selective sync or the default behaviour (selective sync is disabled):

With and without sync

The configuration file for enabling the selective sync is stored in mergin-config.json which should be placed in the root of your folder. By opening the file in a text editor and adding the following option, the sync will be enabled for photos within your project root folder:

{ "input-selective-sync": true }

Currently, the editing of the file is manual and through the text editor, but we plan to incorporate it within the Mergin plugin for QGIS.

To learn more about how to set up selective sync for your project, you can see the example project. Read more on our help pages for extra configuration options.

One too many!

It is often the case that you have a set of spatial features and you want to record some parameters every now and then. For example, there is a GIS layer representing the manholes and the surveyors carry out regular inspections of the manholes. Instead of duplicating the manhole layer and recording each inspection, you can create a non-spatial table and store each inspection as a new line.

1-N relations in Input

Another use-case for such a feature is that you’d like to attach multiple photos to a single feature.

Many photos to a single feature

To learn more about how to configure these types of projects in QGIS you can see the example projects (manhole example and multiple photos example). The documentation pages describes the logic and process in QGIS in more details.

Accuracy metadata

In addition to the display of the accuracy bubble in the app, we have recently added a whole set of new variables to capture the GPS accuracy, e.g. horizontal and vertical accuracy, ground speed and many more. See the help pages to find out how you can set up those variable within your form. Alternatively, you can clone the example project on Mergin website.

In addition to capturing GPS metadata, this feature can be used for geo-fencing: for example, you can only allow users to edit/capture data when they are physically (i.e. their GPS location) within a certain area:

Join our community

If you have any questions, would like to interact with the rest of community or want to give us your feedback, you can join the Slack community channel.

If you would like to add a new feature or have suggestions to improve the app, do not hesitate to contact us on [email protected]

Google Summer of Code 2021 : Virtual Raster Provider for QGIS

Read the guest post and congratulate Francesco Bursi, who successfully completed GSOC 2021 project to add virtual raster provider for QGIS with help of mentors Martin Dobias and Peter Petrik.


In this year’s Google Summer of Code (GSoC), I decided to work on the native QGIS raster calculator. Martin Dobias and Peter Petrik volunteered to mentor my work. I’ve been studying Civil Engineering and GeoInformatics at the University of Padua; here I had the opportunity to work both with a lot of GIS software including QGIS. I enjoyed working with QGIS almost immediately because of the possibility to perform complex analysis with a few clicks or with few python commands. Being passionate about programming and enthusiastic about Open Source, I realized that having the possibility to work together with some experienced developers and with an active community was really a great and unique opportunity, so I decided to apply to the GSoC.

GSOC & OSGeo

Virtual Raster Provider

The existing raster calculator is a powerful tool to perform map algebra that outputs a raster layer, before this work it was possible to take advantage of this tool only by saving the output of this operation as a file. The aim of this year GSoC was to allow users to perform their analysis without creating a new derived raster and taking up disk space and therefore have the result as an on-the-fly computational layer.

Let’s jump to an example and let’s say I want to compute the Chanopy Height Model (CHM), subtracting the Digital Terrain Model (DTM) from the Digital Surface Model (DSM).

I also want to perform some other analysis on the DTM since I want to compute the ideal elevation value for a particular tree planting (disclaimer: the elevation value used is example purposes only, moreover when planting trees you should take into account a lot of factors like slope, aspect, latitude. QGIS, by the way, can really be helpful in this kind of analysis). To do so I will start from the same data and I will create different on-the-fly layers for each calculation, in order to avoid the creation of different files I can take advantage of the new checkbox added to the raster calculator dialog. The computation of CHM is performed in the next screencast and the output layer name is, of course, CHM.

computation of CHM

I’ll end up with a new raster layer (CHM) that can be styled as a normal raster and that is not written as an output file to the disk. For some further analysis, from the DTM, I want to obtain the portion of the area with an elevation between 150 and 350 metres above the datum. By applying the following expression to DTM I’ll end up with a raster that has a value of 1 where conditions specified by the expression is TRUE and it will have value of 0 otherwise.

("[email protected]" > 150) AND ("[email protected]" < 350)

I did not select the output layer name intentionally. The resulting layer will be named after the expression used to generate the layer.

generation of CHM layer

Conditional Statement

I also had the opportunity to improve the raster calculator capabilities by adding the possibility to write expressions that involve conditional statements. Taking the already used example, let’s imagine I want to compute the CHM only for the areas of the DTM that are between 150 and 350 metres above the datum. It’s now possible to write an expression as the following one:

if ( ("[email protected]" > 150) AND ("[email protected]" < 350), CHM, -10)

This expression will output a raster with values of the CHM where the conditions are met and value of -10 if the conditions are not met. Since this is a final result of our analysis I’ll store this output as a file to the disk in the form of a GeoTIFF. I’d like to outline that the CHM used in the expression above and in the next screencast is an onn-the-fly computed raster, so it is possible to:

  • Take advantage of the virtual raster provider (on-the-fly computed raster) in other analysis with the raster calculator (and with other analysis tools);
  • Store the on-the-fly computed raster as a file.

Conclusion

I had fun and I struggled working with QGIS, but I learned a lot of new and interesting things. My pull requests were met with several constructive comments, suggestions and feedback. Some suggestions can be a starting point for future improvements.

  • An enhancement for the feature I’ve developed can be the possibility to take advantage of OpenCL acceleration as it has also been suggested in the dev mailing list;
  • Another enhancement that concerns the raster calculator and only partially the virtual raster provider would be the possibility to support the creation of output raster with multiple bands with the declaration of multiple formulas. I hope to continue to contribute to the QGIS project in the future.

Organising Charitable Collection Routes with Offline Mobile Maps

Significant time saved when route maps distributed with Input and Mergin.

This case study was originally written in Czech. The Czech version can be found here.

Every year, teams of volunteers walk door-to-door through the Czech town of Litomyšl collecting charitable donations. Event organisers define routes for the various volunteer teams by marking-up paper maps with pens. The process has a number of issues both in the making and usage of the maps which organisers worked to overcome by making the maps digital using open source GIS software.

Maps were developed using QGIS and made available on volunteers’ phones using the Input app. Volunteers are now able to easily orientate themselves on maps which clearly show their routes. Organisers have reduced the time it takes to update routes and distribute these to volunteers.

Veronika Peterková works for the Litomyšl Parish Charity, a non-profit organisation providing health and social services to people in need since 1993.

Veronika describes the charity’s activities: “We provide home medical services and nursing care to the residents of Litomyšl and its surrounding villages. This includes helping families where the healthy development of a child is at risk and providing respite stays for clients who are otherwise cared for by their families at home. We provide care for about 1000 clients a year.”

She added: “We also coordinate the activities of volunteers who visit the elderly, help with tutoring children and with various leisure and cultural activities.”

One of the parish charity’s biggest fundraising events is the “Tříkrálová sbírka” (Three Kings Collection), a door-to-door carol-singing collection taking part around the 6th of January each year.

Tříkrálová sbírka Litomyšl

Volunteers participating in the Three Kings Collection.

“The Three Kings Collection is the largest national volunteer event in the Czech Republic. In the Litomyšl region alone, nearly 300 volunteers are involved each year with the carol-singers collecting over 500,000 Czech crowns (~20,000 EUR) in sealed boxes. The proceeds are intended to help the sick, the disabled, the elderly, mothers with children in need and other in-need groups in the local area.” Veronika explains.

The Three Kings Collection is organised by Caritas Czech Republic and at least 10% of its proceeds are allocated for humanitarian aid abroad.

charita logo

The Challenge

Veronika is responsible for planning routes for the carol-singers so they efficiently visit households in the Litomyšl area. Singers are split into groups and paper maps are provided which show groups which households to visit.

Old map © mapy.cz

An example of previous paper maps, image courtesy of Farní charita Litomyšl.

The above maps were produced by printing screenshots from a national web mapping provider and marking-up printouts for each of the 50 teams using marker pens.

This method proved to have a number of issues as Veronika describes: “On maps of larger areas, house numbers were not always visible due to the scale. This made it even harder for coordinators not familiar with the area to orient themselves, leading to confusion. Coordinators also found it hard to keep the maps dry and undamaged during unfavourable weather. If new groups signed-up afterwards or others opted-out, we’d have to redo/redivide the areas which would be very time-consuming as the maps would need to be marked-up manually once again.”

The Solution and Implementation

Veronika wanted to try a new solution for organising the 2021 Three Kings Collection with the goal of making volunteer tasks clearer and less reliant on paper maps. She wanted the new solution to allow her to:

  • reduce work through the reuse of maps in future Three Kings Collection events
  • easily update maps if new groups sign in/out and areas need editing
  • allow carol singers to see exactly where they are on the map
  • gradually replace paper maps while still allowing the use of paper maps where preferred
  • group and colour buildings to be visited on the computer
  • record a building’s use (e.g. commercial) to direct volunteers more effectively
  • clearly show how areas are assigned so anyone can see who is responsible for a given area

In addition, Veronika wanted the solution to be affordable and work offline without volunteers needing internet connectivity in the field.

Peter Petrík, a regular participant of the Litomyšl Three Kings Collection suggested Veronika try using the Input app for coordinating the collection in 2021. Peter works for Lutra Consulting, the company behind Input and Mergin.

He showed Veronika how to create the maps in QGIS, a free and open source mapping software. Using map data from OpenStreetMap, they created a project showing the buildings to be visited, coloured by their associated volunteer group number.

qgis map © OpenStreetMap contributors

Houses grouped by team in QGIS, image courtesy of Farní charita Litomyšl.

The styled map was uploaded to Mergin, a collaborative mapping platform, making it readily available for viewing interactively on volunteer’s phones using the Input mobile app. Both QGIS and Input integrate closely with Mergin which meant that maps could be adjusted in QGIS with the resulting changes being visible to volunteers shortly thereafter.

Outcomes

Veronika reflects on the solution: “The solution met all our requirements and the maps we’ve prepared can easily be reused in upcoming events, saving us time. The fact that the new maps were made publicly accessible means volunteers can just download them using Input which makes distributing and updating them very easy.”

qgis map © OpenStreetMap contributors

Volunteer routes and position information shown in Input, screenshot courtesy of Farní charita Litomyšl.

She adds: “All the districts we wanted to visit were distinguished from each other by colour and we were also pleased to be able to clearly mark the areas not to be visited like industrial areas by colouring them in grey.”

Unfortunately COVID meant that Veronika’s plans changed as she explains: “Using these new methods we were able to prepare for the 2021 Three Kings Collection in a short time. Unfortunately however, the COVID situation meant we could not go out on the streets to use the new maps as intended. We hope that in 2022 we’ll be able to more closely evaluate the positives and negatives of the field aspect of the project.”

She adds: “We already see it’s now much easier to allocate areas of the town to our volunteers in a clear and fair manner using QGIS. Producing printed maps for those who prefer them is also now easy and the maps look much more professional. Those who only wanted to use the Input app could see the same information as on the paper maps, but had the advantage of being able to pinpoint their exact location and clearly see the house numbers of each building.”

new map © OpenStreetMap contributors

Example printed map created for volunteers wanting also paper maps, image courtesy of Farní charita Litomyšl.

She concludes: “Overall we found the solution user-friendly, and appreciated being able to discuss the process with Lutra Consulting who helped us solve issues as required. About a third of our volunteers are interested in using Input, which I consider positive.”

The Litomyšl Parish Charity are on Facebook and Instagram.

Download Input Today

Screenshots of the Input App for Field Data Collection

Get it on Google PlayGet it on Apple store

Case Study: QGIS Core Development for TUFLOW

The case study presents the C++ development of QGIS Desktop to support rendering of 3D results produced by TUFLOW’s 3D capable solver: TUFLOW FV (10 minute read)

Introduction

TUFLOW is a suite of advanced 1D/2D/3D computer simulation software for flooding, urban drainage, coastal hydraulics, sediment transport, particle tracking and water quality. With over 30 years of continuous development, TUFLOW is internationally recognised as one of the industry leaders for hydraulic modelling accuracy, speed and workflow efficiency.

Lutra Consulting Ltd is a leader in software development for pre- and post-processing of hydraulic and meteorological results in open-source QGIS. We also work on mobile data collection Input App and GIS data synchronization service Mergin

TUFLOW

In 2019 the TUFLOW team commissioned us to develop post-processing support for their TUFLOW Flexible Mesh format for QGIS 3.12. The format is 3D stacked mesh, which consists of multiple stacked 2D unstructured meshes each extruded in the vertical direction (levels) by means of a vertical coordinate.

TUFLOW

At that time QGIS only supported 2D meshes that defined results on vertices and faces. We had been keen to extend the capabilities of the software stack to support 3D mesh data for a long time so this was an exciting opportunity. Part of the task was also to include rendering support for TUFLOW model results on the QGIS 3D view. The delivery of the project was within one QGIS release cycle (less than 6 months time for users to use it on their projects!)

Flooding simulation simulated as a mesh layer in QGIS 3D

Contact us at [email protected] if you’d like to discuss the benefits of integrating your flood modelling software more tightly with QGIS or you have some custom QGIS development in mind.

C++ Development Process: From requirement to delivery

Communicate project with the community first

When doing a substantial change in the QGIS codebase, the developer needs to write a technical specification of the QGIS changes for community discussion. QGIS Core Developers (which Lutra is a part of) can give valuable feedback to the overall technical approach and the wider community can raise some usability issues or enhancement proposals. Most importantly, each part of the QGIS code has its lead maintainers, for example Martin Dobias, our CTO, is the maintainer of QGIS 3D code and Peter Petrik is the maintainer of the Mesh layer code. It is a good practice to address the maintainers’, users’ and other developers’ concerns and feedback to ensure the feature can be implemented in QGIS.

So after a thorough discussion about the requirements with the TUFLOW team and analysis of the existing tools for post-processing and display of the TUFLOW FV format we came up with the QGIS Enhancement: Support of 3D layered meshes

The community reaction was very positive and supportive. Time to start coding!

MDAL to support TUFLOW FV NetCDF format

Mesh Data Abstraction Library MDAL is a C++ library for handling unstructured mesh data. It provides a single data model for multiple supported data formats. MDAL is used by QGIS for data access for mesh layers. If you want QGIS to support your data format, you need to have a driver in MDAL that implements it.

MDAL

We added support for 3D stacked meshes and the TUFLOW FV format in MDAL. When we develop features in MDAL, we focus on quality code, so

  • all changes have a proper code review,
  • all code has fully automated tests with more than 90% coverage target
  • the documentation and manual testing is done after coding

To implement the TUFLOW FV driver for 3D stacked meshes, we added a new API/interface in MDAL, so we needed to follow up with the QGIS changes in QgsMeshLayer and MDAL data-provider.

QGIS C++ Development to support stacked meshes and visualization in 3D

The implementation of large feature changes is best to split into smaller but self-consistent parts. For example the first pull request added the basic support for the new 3D stacked meshes. Each pull request we do has a screenshot or gif/video with the new functionality preview, follows QGIS Coding Standards, has unit tests where necessary and includes the documentation for the functions/classes added in the public interface. Once the request is merged, the features are next day available in nightly builds on all platforms for testing!

3D Terrain in QGIS3

Final Steps: feedback, testing, documentation and presentation

When all the features were in QGIS master, the TUFLOW team used windows nightly builds to test the new features and provide feedback. After a small number of iterations, all issues were resolved and implementation signed.

Shortly the new official QGIS release was published and we started promotion of the new features on our social media channels. Also, the features developed under this contract were promoted in the visual QGIS changelog.

Streamlines in QGIS3

Benefits for TUFLOW to support QGIS Core C++ Development:

  • Reduced development and maintenance costs for tools such as the TUFLOW Viewer QGIS Plugin since the new features are part of the QGIS core
  • By being part of the QGIS ecosystem it provides opportunities to approach QGIS users in the flooding and coastal modeling industry to use TUFLOW software
  • As a project sponsor, the requirements of the new features meet the present and future needs of the TUFLOW user base.
  • At the beginning of the project Lutra showed all the current relevant capabilities of QGIS ecosystem, allowing TUFLOW to be aware of the latest and greatest features
  • Allowed TUFLOW to solve upstream bugs in QGIS or MDAL due to the open-source nature of the projects
QGIS3

Benefits for TUFLOW users:

Key benefits made available to TUFLOW users include:

  • Being able to work with TUFLOW models using open source GIS on all major operating systems
  • A full GIS application to support their data pre-processing
  • Logical and intuitive workflows
  • Visualisation and post-processing of TUFLOW results natively in QGIS via mesh layer
  • The development allows interactive plotting features for 3D results, such as 3D profiles and curtains that can be easily extracted, providing an improved user experience
  • Ability to use all native QGIS support and development channels in addition to TUFLOW support
  • Integration of internal workflows with powerful native QGIS features including projection support, GDAL/OGR integrations, background maps support (e.g. vector tiles) and printed flood maps.

Further Reading

Do you have any questions or would like to see a demo of the QGIS Mesh Layer? Contact us at [email protected] or schedule a demo call calendly.com/saber-razmjooei/15min

Key words

QGIS, migration, optimised, speed up, fast, hydraulic modelling, water, 2D, 3D, open-source, cost reduction, software development, TUFLOW, TUFLOW FV

You may also like...

Mergin Maps, a field data collection app based on QGIS. Mergin Maps makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

MDAL gets adopted as an OSGeo Community Project

Mesh Data Abstraction Library MDAL proudly joins the OSGeo Community program

We would like to share the excellent news that the OSGeo incubation committee kindly accepted the MDAL project into its Community Program. MDAL is an MIT Licensed C++ Library which integrates into your QGIS installation and is backed by the Lutra Consulting team and the wider community.

MDAL is a low-level library which allows reading unstructured mesh data from various formats. If you’ve never seen a QGIS Mesh Layer, then check out my presentation at FOSS4G 2019.

We kicked-off the MDAL project at the time we were migrating the Crayfish plugin to QGIS version 3. The Crayfish project started in late 2012, has more than 120,000 downloads and opened the way engineers and data scientists to visualize their hydro and meteo-data in QGIS.

QGIS uses MDAL to visualize, analyze and even modify data on unstructured meshes which are used by many hydraulic / numercial modelling solvers. In addition to providing abstraction for complex mesh data structures, MDAL also allows vectoral (e.g. wind speed) and temporal data to be visualised effectively and easily in QGIS.

The MDAL project (and therefore the wider community) has benefitted from generous sponsors such as TUFLOW, 3Di, Hydrotech, DHI, FLO-2D, Artelia, Federal Ministry of Austria for Agriculture, Regions and Tourism and many others. If you’d like to see your formats or workflows supported by QGIS then please consider becoming a sponsor or contact Peter at [email protected]

Right now we’re working on some new mesh frame editing tools for QGIS 3.22 (due for release in autumn 2021) and of course support for additional result file formats.

You may also like...

Mergin Maps, a field data collection app based on QGIS. Mergin Maps makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

Mergin CE (open source) released

We’d like to share some exciting news with you about our cloud-based geo-data synchronisation service, Mergin.

In this post we’ll talk both about Mergin the online managed service (Mergin Cloud) and also about the software stack that powers it (the Mergin Software Stack).

Mergin CE

The Mergin Software Stack has been developed and maintained at Lutra Consulting over the past 3 years to power our Mergin Cloud service and has been maturing nicely in production.

We believe a sync service for supporting field-based GIS activities has been a missing piece of the open geospatial puzzle, and as strong advocates of open source software, we’re now sharing the Mergin Software Stack with the community. Therefore, on the 14th of June we released Mergin CE on GitHub. The CE stands for Community Edition.

The release means a fully open solution for field data collection and synchronisation is now possible using QGIS, Input app and Mergin CE.

Mergin CE is released under the AGPL licence and we are open to contributions from others. Looking forward to seeing what the open source community has to offer!

Mergin CE gives you the freedom to deploy, host and manage your own Mergin server on your own infrastructure, giving you complete control over your data. Mergin CE comes without commercial support.

Our main efforts are still very much focussed on the continuous improvement of Mergin Cloud, making it an awesome fully managed service for our customers.

We also now provide Mergin EE (Enterprise Edition) for those who want an on-premises deployment but with extra features like Active Directory integration, commercial support, and/or prefer a licence other than AGPL.

Changes to Mergin Cloud

Releasing Mergin CE got us taking another look at Mergin Cloud’s Community (free of charge) tier. That’s why from today we’re updating Mergin Cloud’s Terms of Service so its free tier can no longer be used to store projects for commercial use. Mergin accounts storing projects for commercial use should now purchase a paid subscription after their initial 14 day evaluation period.

A common surveying setup is a single paid account (providing extra storage for projects) and a handful of free tier accounts used by surveyors for collecting field data. This is still possible because the new Terms only require that the Mergin account hosting/storing/owning the commercial project has a paid subscription.

For example, consider two users: Fred (who uses a free account) and Penny (who uses a paid account). Penny is permitted to use the project Penny/Survey for commercial purposes as it resides on her paid account. Fred (who uses a free account) is permitted to collaborate on the commercial project Penny/Survey as it resides on Penny’s paid account. However, Fred may not use the project Fred/Survey2 for commercial use as it resides on his free account.

In light of the release of Mergin CE, we feel it is fair to encourage those using Mergin Cloud’s free tier for commercial gain to support us with one of our affordable subscriptions. The link also has a number of frequently asked questions relating to this change.

You may also like...

Mergin Maps, a field data collection app based on QGIS. Mergin Maps makes field work easy with its simple interface and cloud-based sync. Available on Android, iOS and Windows. Screenshots of the Mergin Maps Input App for Field Data Collection
Get it on Google Play Get it on Apple store

Geodiff version 1.0

We are excited to announce that the geodiff library has finally reached version 1.0. We have started to develop geodiff back in 2019 as a part of our efforts to allow synchronisation of changes between the Input mobile app and Mergin platform.

geodiff-diff.png

At the core, geodiff library provides functionality to:

  • compare a pair of GeoPackage databases and create “diff” files containing changes between them
  • apply a “diff” file to a GeoPackage database
  • rebase changes in a “diff” file
  • invert, concatenate diffs and other utility functions

Thanks to the above low-level operations, any changes to data stored in spatial/non-spatial tables in GeoPackages can be easily transferred to others and applied. And thanks to the “rebase” functionality - inspired by source code management systems like git - we can automatically merge changes from multiple users capturing data offline in Input/Mergin (see our recent blog post that covers rebasing for more).

The library is written in C++, providing stable C API and offering Python bindings as well (look for pygeodiff package in pip). It also comes with a command line interface tool geodiff covering all major features. The whole package has a very permissive MIT license.

Support for drivers

Initially, geodiff library only worked with SQLite / GeoPackage files. This has changed with the version 1.0 - geodiff supports drivers, allowing use of different database backends to compare and apply diffs. In the 1.0 release we have added PostGIS driver in addition to SQLite/GeoPackage driver.

This means that users can compare tables or apply diffs in PostGIS databases using the same APIs as with GeoPackages. And not only that - diff files are compatible across different drivers. That means it is possible to take a diff file from a GeoPackage and apply it to PostGIS database!

Using the PostGIS driver we were able to create mergin-db-sync tool as a companion to Mergin platform. With DB sync, one can keep a local PostGIS database always in sync with a project in Mergin, supporting automatic transfer of changes from Mergin to PostGIS and the other way round as well - from PostGIS to back Mergin.

Try it

The library is hosted on GitHub in lutraconsulting/geodiff repository. We would love to hear your feedback!

Stay tuned for more!

As announced earlier, next week we will be open sourcing Mergin, our platform for easy sharing of spatial data in teams (whether they are in office or in the field). If you have not heard about Mergin platform yet, please have a look at the Mergin website, try Mergin plugin for QGIS and Input app, a mobile app based on QGIS for iPhone/iPad and Android devices. Since the initial release in early 2019, Mergin and Input have been used by thousands of users around the world.

At Lutra Consulting, we are dedicated to improving free and open source software for geospatial. We will be releasing Mergin as open source to solve another missing piece in the puzzle, providing open source end-to-end solution for mobile data capture for QGIS users. Watch our blog and Twitter for further updates!

Mergin

Back to Top

Sustaining Members