QGIS Planet

[Changelog] Enhanced synchronization performance and stability

The mobile app 2.5.0 contains multiple synchronization fixes and enhancements. Enjoy faster and more reliable file transfers!

Learn More

3D Tiles in QGIS

Earlier this year, in collaboration with North Road we were awarded a grant from Cesium to introduce 3D tiles support in QGIS. The feature was developed successfully and shipped with QGIS 3.34.

In this blog post, you can read more about how to work with this feature, where to get data and how to display your maps in 2D and 3D. For a video demo of this feature, you can watch Nyall Dawson’s presentation on Youtube.

What are 3D tiles?

3D tiles are a specification for streaming and rendering large-scale 3D geospatial datasets. They use a hierarchical structure to efficiently manage and display 3D content, optimising performance by dynamically loading appropriate levels of detail. This technology is widely used in urban planning, architecture, simulation, gaming, and virtual reality, providing a standardised and interoperable solution for visualising complex geographical data.

Examples of 3D tiles:

3D tiles of Zurich from Swisstopo

Data from Swisstopo (https://map.geo.admin.ch/)

Washington - 3D Surface Model (Vricon, Cesium)

Washington - 3D Surface Model (Vricon, Cesium)

3D tiles in QGIS

To be able to use 3D tiles in QGIS, you need to have QGIS 3.34 or later. You can add a new connection to a 3D tile service from within the Data Source Manager under Scene:

Adding a new 3D tile service from Data Source Manager in QGIS

Adding a new 3D tile service from Data Source Manager in QGIS

Alternatively, you can add the service from your Browser Panel:

3D tiles data provider in the Browser panel

3D tiles data provider in the Browser panel

To test the feature, you can use the following 3D tiles service:


Name: 3D Tiles example
URL: https://pelican-public.s3.amazonaws.com/3dtiles/agi-hq/tileset.json

Creating a new connection to a 3D tiles service

Creating a new connection to a 3D tiles service

You can then add the map from the newly generated connection to QGIS:

Adding a new 3D tiles to QGIS

Adding a new 3D tiles to QGIS

By default, the layer is styled using texture, but you can change it to see the wireframe mesh behind the scene:

3D tiles’ mesh wireframe

3D tiles’ mesh wireframe

You can change the mesh fill and line symbols similar to the vector polygons. Alternatively, you can use texture colors. This will render each mesh element with the average value of the full texture. This is ideal when dealing with a large dataset and want to get a quick overview of the data:

3D tiles with texture color for meshes

3D tiles with texture color for meshes

To view the data in 3D, you can open a new 3D map. Similar to 2D map, by zooming in/out, finer resolution tiles will be fetched and displayed:

Using data from Cesium ion

Cesium ion is a cloud-based platform for managing and streaming 3D geospatial data. It simplifies data management, visualisation, and sharing.

To add 3D tiles from Cesium ion, you need to first sign up to their service here: https://ion.cesium.com/tokens

Under Asset Depot, you will see a catalogue of publicly available datasets. You can also upload your own 3D models (such as OBJ or PLY), georeference them and get them converted to 3D tiles.

You can also add one of the existing tile service under https://ion.cesium.com/assetdepot and select the tile service and then click on Add to my assets:

Adding an existing dataset to your Cesium ion assets

Adding an existing dataset to your Cesium ion assets

You can use the excellent Cesium ion plugin by North Road from the QGIS repository to add the data to QGIS:

Adding Cesium ion assets to QGIS

Adding Cesium ion assets to QGIS

Working with Google 3D data

In addition to accessing Google Photorealistic 3D tiles from Cesium ion, you can also add the tiles directly in QGIS. First you will need to follow the instructions below and obtain API keys for 3D tiles: https://developers.google.com/maps/documentation/tile/cloud-setup

During the registration process, you will be asked to add your credit card details. Currently (November 2023), they do not charge you for using the service.

Once you have obtained the API key, you can add Google tiles using the following connection details:

Adding Google 3D tiles in QGIS

Adding Google Photorealistic tiles in QGIS

Notes and remarks

  • Adjusting map extents for large scenes

When dealing with large scenes, map extents should be set to a smaller area to be able to view it in 3D. This is the current limitation of QGIS 3D maps as it cannot handle scenes larger than 500 x 500 km.

To change the map extent, you can open Project Properties and under View Settings change the extent. In the example below, the map extent has been limited only to a part of London, so we can view Google Photorealistic tiles in the 3D map without rendering issues.

Limiting project extent in QGIS

Limiting project extent in QGIS

3D tiles from Google in QGIS

3D tiles from Google in QGIS
  • Network cache size

If you are handling a large dataset, it is recommended to increase network cache size to 1 GB or more. The default value in QGIS is much lower and it results in slower rendering of the data.

Increasing Cache size in QGIS for faster rendering

Increasing Cache size in QGIS for faster rendering
  • Overlaying other 3D data

When you try to overlay other data sets on top of a global 3D tiles, the vertical datum might not match and hence you will see the data in the wrong place in a 3D map. To fix the issue, you may need to use elevation offsetting to shift the data along the Z axis under Layer Properties:

Offsetting elevation of a layer in QGIS

Offsetting elevation of a layer in QGIS

Future works

This is the first implementation of the 3D tiles in QGIS. For the future, we would like to add more features for handling and creation of the 3D tiles. Our wishlist in no particular order is:

  • Globe view: QGIS 3D cannot handle large scenes or unprojected views.
  • More advanced styling of meshes: as an example, users will be able to create their own style.
  • 3D In-door navigation: as an example users will be able to navigate inside buildings and potentially it will bring BIM data closer to QGIS
  • Generation of 3D tiles inside QGIS: adding a processing tool in QGIS to generate 3D Tiles from your map data.

Styling of 3D tiles

Styling of 3D tiles (image from https://cesium.com/learn/ion/stories-styling/)

If you would like to see those features in QGIS and want to fund the efforts, do not hesitate to contact us.

Learn More

[Changelog] Configure DB Sync right from your QGIS

QGIS Plugin now allows you to generate configuration file for DB Sync based on your PostgreSQL connections. Simply navigate to “Plugins → Mergin Maps → Configure DB Sync“ and follow the guide.

Resulting configuration file can be saved and used for synchronising our GPKG data with PostgreSQL. Read more about DB Sync here: https://merginmaps.com/docs/dev/dbsync/

Learn More

[Changelog] Easier way to prepare offline projects - download vector tile layers

Introducing an easier way to prepare offline projects!

Now, you can download vector tile layers seamlessly by simply right-clicking on the layer and selecting 'Make available offline...' - making offline project preparation a breeze.

For a step-by-step guide, check out our documentation here. Enhance your offline mapping experience today!

Learn More

[Changelog] Enhanced feature identification speed

In our latest update, we've turbocharged the speed of feature identification on the map! Enjoy a faster and more responsive experience as you navigate and identify features with efficiency.

Learn More

[Changelog] Added support for text, spacer and HTML widgets

In our most recent update, we're thrilled to announce the addition of support for QGIS's spacer, text, and HTML widgets in our forms! This enhancement brings greater flexibility and customization to your data entry process. Easily incorporate spacers, add informative text, and use HTML elements to create dynamic and engaging forms tailored to your specific needs.

Learn More

[Changelog] Enhanced viewing: zoom feature now available in the mobile app

In our latest mobile app update, we've added an enhanced viewing feature that allows users to smoothly zoom in and out of images. This new functionality provides a more detailed and flexible viewing experience, letting you focus on intricate details or take in the big picture with ease. Navigate your visual data with precision and control!

Learn More

[Changelog] Stake out mode now supports multiple distance units

Users now have the flexibility to utilize a variety of distance units in the stake out mode, moving beyond the conventional meters. This enhancement allows for a more customized and user-friendly experience, catering to diverse geographic contexts and preferences.

To configure these distance units, navigate to QGIS project settings and change “distance units“ to your preferred units.

For detailed instructions on how to set up and leverage alternative distance units in stakeout mode, refer to our documentation https://merginmaps.com/docs/field/stake-out/#changing-stake-out-distance-units-in-qgis.

Learn More

QGIS 3D Tiles – thanks to Cesium Ecosystem Grant!

We’ve recently had the opportunity to implement a very exciting feature in QGIS 3.34 — the ability to load and view 3D content in the “Cesium 3D Tiles” format! This was a joint project with our (very talented!) partners at Lutra Consulting, and was made possible thanks to a generous ecosystem grant from the Cesium project.

Before we dive into all the details, let’s take a quick guided tour showcasing how Cesium 3D Tiles work inside QGIS:

What are 3D tiles?

Cesium 3D Tiles are an OGC standard data format where the content from a 3D scene is split up into multiple individual tiles. You can think of them a little like a 3D version of the vector tile format we’ve all come to rely upon. The 3D objects from the scene are stored in a generalized, simplified form for small-scale, “zoomed out” maps, and in more detailed, complex forms for when the map is zoomed in. This allows the scenes to be incredibly detailed, whilst still covering huge geographic regions (including the whole globe!) and remaining responsive and quick to download. Take a look at the incredible level of detail available in a Cesium 3D Tiles scene in the example below:

Where can you get 3D tile content?

If you’re lucky, your regional government or data custodians are already publishing 3D “digital twins” of your area. Cesium 3D Tiles are the standard way that these digital twin datasets are being published. Check your regional data portals and government open data hubs and see whether they’ve made any content available as 3D tiles. (For Australian users, there’s tons of great content available on the Terria platform!).

Alternatively, there’s many datasets available via the Cesium ion platform. This includes global 3D buildings based on OpenStreetMap data, and the entirety of Google’s photorealistic Google Earth tiles! We’ve published a Cesium ion QGIS plugin to complement the QGIS 3.34 release, which helps make it super-easy to directly load datasets from ion into your QGIS projects.

Lastly, users of the OpenDroneMap photogrammetry application will already have Cesium 3D Tiles datasets of their projects available, as 3D tiles are one of the standard outputs generated by OpenDroneMap.

Why QGIS?

So why exactly would you want to access Cesium 3D tiles within QGIS? Well, for a start, 3D Tiles datasets are intrinsically geospatial data. All the 3D content from these datasets are georeferenced and have accurate spatial information present. By loading a 3D tiles dataset into QGIS, you can easily overlay and compare 3D tile content to all your other standard spatial data formats (such as Shapefiles, Geopackages, raster layers, mesh datasets, WMS layers, etc…). They become just another layer of spatial information in your QGIS projects, and  you can utilise all the tools and capabilities you’re familiar with in QGIS for analysing spatial data along with these new data sources.

One large drawcard of adding a Cesium 3D Tile dataset to your QGIS project is that they make fantastic 3D basemaps. While QGIS has had good support for 3D maps for a number of years now, it has been tricky to create beautiful 3D content. That’s because all the standard spatial data formats tend to give generalised, “blocky” representations of objects in 3D. For example, you could use an extruded building footprint file to show buildings in a 3D map but they’ll all be colored as idealised solid blocks. In contrast, Cesium 3D Tiles are a perfect fit for a 3D basemap! They typically include photorealistic textures, and include all types of real-world features you’d expect to see in a 3D map — including buildings, trees, bridges, cliffsides, etc.

What next?

If you’re keen to learn even more about Cesium 3D Tiles in QGIS, you can check out the recent “QGIS Open Day” session we presented. In this session we cover all the details about 3D tiles and QGIS, and talk in depth about what’s possible in QGIS 3.34 and what may be coming in later releases.

Otherwise, grab the latest QGIS 3.34 and start playing…. you’ll quickly find that Cesium 3D Tiles are a fun and valuable addition to QGIS’ capabilities!

Our thanks go to Cesium and their ecosystem grant project for funding this work and making it possible.

Learn More

FOSS4G SotM Oceania 2023 Auckland round up

Recently, we had the pleasure of helping organise the FOSS4G SotM Oceania 2023 conference in Auckland. It was a fantastic week and felt like a worthy return to pre-covid events full of great presentations, catching up with old friends, making new ones, and of course – delicious food! The venue, Auckland University of Technology, put on a really professional event with catering, venue spaces and their Audio Visual operations. Auckland gave us great weather, and great venues to enjoy each others company in.

We were blown away with the variety of presentations and the talent our Oceania region holds. We got to meet some of our clients in person including Koordinates, A.B. Heritage and Soar, which we loved, plus we spent valuable time connecting with our community.

At North Road we are passionate about supporting open-source and our local Oceania region, so we took an active part in making this year’s conference happen. Aside from being a conference sponsor, our very own powerhouse Emma Hain worked tirelessly as Program Chair to organise the conference program and ensure that the talks ran smoothly and were of very high value.  Nyall ran a workshop for Advanced Cartography, presented on his journey in the FOSS4G workspace and contributed as panel member on making  a living in FOSS4G. Emma also presented a lightning talk on GitHub QGIS Issues and was a community day facilitator on an exciting project to develop digital stories with a map component. We really love community and being involved in “building it” is integral. But it is also super fun as well!

One of the great things about this conference is the legacy it leaves, not only in the relationships formed, but in the recordings of all the presentations that end up on the FOSS4G Oceania YouTube channel. This is not only knowledge captured for the community, but also a showcase for the talent that exists in FOSS4G. Not every  presentations was technical or about case studies, they also covered personal observations, hobbies and general mapping topics.

You can view the presentations from our staff below:

Also, check out the presentations from some of the great companies we have worked with:

Soar: Soar: lessons from our start-up experience, From Satellites to Slobs,   Maps, Media and Manipulation

Koordinates: Kart – the geospatial version control system – now with Rasters!Making it up: map making bots, generative mapping and TTRPG tools

Community Day

On the last day of the conference we attended the Community Day. This involves a Mapathon run by HOTOSM, and rooms for brainstorming and workshopping of ideas. These were really valuable! First we attended the FOSS4G Hui run by Byron Cochrane from OpenWork (one of the conference sponsors). It was a great discussion on how to make FOSS4G more relevant in Oceania. If you are keen to help out with this, contact the OSGeo Oceania Board – as they need helpers with Communications and members to espouse FOSS4G at outside conferences.

Emma also ran the session on developing digital stories with a map component in a FOSS4G environment. This was well attended with a lot of ideas. We developed our MVP and we are now looking at our next steps. The question here is do we develop a new tool within existing software, find a standalone software where we could add in a map component, or approach a current OS Story Map software and provide our MVP and find funding. If you’re keen to take part in these discussions, you can join in on the Maptime Oceania slack channel under #foss4g-productdev.

A Big Thank-you!

The Organisation committee worked so hard on putting this conference on, and we would like to express our heartfelt thanks for this. This is the keystone event for our community and so much grows from this. Without the Organisation Committee’s sweat, tears, frustration and joy this would not have happened. We thank their families who supported them whilst they gave up their valuable time and their employers who supported them to give their time and effort to making this special event happen.

Bring on FOSS4G/SOTM Oceania 2024!

Learn More