QGIS Planet

Google Summer of Code 2019 : QGIS 3D Improvements

In this year Google Summer of Code (GSoC), there is a project involving QGIS 3D. Ismail Sunni as the student with Martin Dobias and Peter Petrik as the mentors have implemented 3D On-Screen Navigation, 3D Measurement Tool and 3D Rendering Point Feature as A Billboard.

You can also learn more about this GSoC project here.

3D On-Screen Navigation

Previously, user could already navigate the 3D world by using mouse and keyboard. Unfortunately, for a new user it is not easy to start using them. 3D On-Screen Navigation will help navigating the 3D world. There are buttons to do zoom in/out, tilt up/down, pan up/down/left/right, and rotate the 3D map view. This feature can be activated from the 3D map view toolbar. See how to use it in this video:

3D Measurement Tool

Now you can measure distance in 3D map view with considering the z-value. This tool is available in the 3D map view toolbar. It has the same UI as in 2D measurement tool with the same configuration (rubber band color, unit, decimal place, and keeping the base unit). It also has the same behavior (left-click to add a new point, middle-click to delete the last point, and right-click to restart the measurement). Now you can measure the distance between two building’s top or length of a river in a mountain. See the 3D measurement tool in action:

3D Point Feature Rendering As Billboards

A new kind of rendering style has been added for point layers. It allows you to show the point with QGIS symbol (e.g. marker, SVG, etc) that always face to the user and always has the same size. You can see sample usage:

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 mobile app for Field Data Collection
Get it on Google Play Get it on Apple store
Learn More

Input on iOS

After a long wait and weeks of development, we finally managed to release Input on iOS platform.

Update: Input app is now available through Apple App Store:

Get it on App Store

We are pleased to announce the Beta release of Input on iOS TestFlight. To install the app, simply click on this link from your iOS device: https://testflight.apple.com/join/JO5EIywn. This will open a window to first install TestFlight app. After that, you should be able to install Input on your device.

Input on iPhone

Input is the first QGIS based app to be released for iOS. Using Input, you can open, view and edit your QGIS projects and data on your iPhone/iPad.

For setting QGIS projects, transferring data/projects and capturing data, you can see the documentation here.

In addition to the great works of the QGIS community in the past to port QGIS to Android devices, we had to do major changes to be able to have Input on iOS. Below are the steps we had taken in the past couple of years, to pave the way:

QGIS Quick

As a first step, we decided to create a new library in QGIS based on Qt Quick for QGIS. This allowed us to easily create platform independent apps for touch devices.

The library has been built on components ported from QField project. In addition, we have been improving the library and added support for new types of edit form widgets. Details of the QGIS Enhancement Proposal for QGIS Quick can be found here.

Static data providers

By providing static data providers, it was possible to compile code of data providers directly into qgis_core library. This was a major step, as iOS does not support dynamic libraries. Details of this QGIS enhancement can be found here.

Feedback and suggestions

We will be delighted to hear your suggestions and feedback, mainly critical ones so that we can improve the application and user experience. After ironing out any issues reported during the Beta testing in the TestFlight, we will publish the app to the App Store.

Learn More

FOSS4G 2019 in Bucharest

FOSS4G is a gathering of like-minded people from around the world to share their experience with the Open Source GIS software. This year, we had a number of talks, a workshop and a lot of fun!

The event started with the QGIS Developers meeting. We joined the meeting to discuss the upcoming release of QGIS (3.10) and some of the new features and bugs.

FOSS4G - 1

We had a workshop on Mesh layer. Participants created animation of the Hurricane Michael in QGIS. Details of the workshop can be found here.

Our first talk was on Input: a QGIS based app for mobile/tablet. During the talk, Saber demonstrated the workflow for setting up a survey project in QGIS and transfer it through the Mergin service to mobile device. Input was then used in a live demo to collect data and synchronise the information back to the server.

You can find the video recording from the talk here

Martin Dobias presented the current state of QGIS 3D and future plans. Martin and Peter Petrik have been mentoring Ismail Sunni for his Google Summer of Code to implement 3D billboard in QGIS. The work was completed and merged to QGIS project recently. Martin demonstrated the new features as the result of the GSoC.

Full presentation can be found here

Mesh layer has been a part of the QGIS for the past year. Peter discussed the improvements made over the recent months. He also gave an overview of the upcoming works to extend the mesh layer to handle 1D and 3D data.

Peter’s talk on mesh layer can be found here

The event was not all about work! We had fun times catching up with friends, partying and running around!

A lot of effort, sleepless nights and sweat went into organising this event. We thank the organisers to make this happen.

FOSS4G - 3 FOSS4G - 2

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 mobile app for Field Data Collection
Get it on Google Play Get it on Apple store
Learn More

FOSS4G 2019 Bucharest

Reporting back from the annual international FOSS4G conference, which took place in Bucharest this year.

Learn More

FOSS4G Workshop: Working with mesh layer in QGIS

We presented a workshop on Mesh layer in QGIS during FOSS4G in Bucharest. Below is step-by-step guide for those who’d like to know more about mesh layers in QGIS.

Introduction

Data for this tutorial can be found here.

In this tutorial, we are going to work with a mesh layer in QGIS. Throughout this tutorial you will learn to:

  • Load a mesh layer

  • Change symbology

  • Working with time

  • Creating time series/cross section plots

  • Export mesh

  • Creating animation

For the purpose of this tutorial, we are going to use the ERA5 dataset from ECMWF:

(the data in the first link should contain what you need to proceed with this tutorial).

Loading mesh in QGIS

Before loading the mesh layer in QGIS, we are going to add the world map as a background layer.

In QGIS, from the Browser panel, browse to the downloaded data > Working with mesh layer > vector_data.gpkg and add world_map layer.

You can change the project background layer to blue to have an image similar to the one below:

To add the mesh layer:

In QGIS, from the Browser panel, browse to the downloaded data > Working with mesh layer and add Hurricane Michael data from Copernicus ECMWF.nc as a mesh layer (not raster).

Depending on your QGIS settings, the CRS setting window might appear. Ensure you assign EPSG:4326 to the mesh layer.

Mesh layer symbology and styling

To change the mesh layer style:

In QGIS, from the layers panel, select the mesh layer and press F7

The layer styling panel will appear on the right of your QGIS window

Within this panel, you can switch on/off quantities, vectors, style the layer and browse through time.

Below, we are going to switch on the wind data and style it:

On the Style panel, click on Symbology tab

  • **Under Settings section, click on the icon in front of 10 metre

    wind to switch on the quantity**

  • Under color ramp section:

    • Set Min to 0

    • Set Max to 20

    • Interpolation to Linear

    • Color ramp to Blues (Inverted)

    • Mode to Equal Interval

    • Classes to 11

You can change the blending mode to Darken and you will see an image similar to the one below:

To style vector component of the wind data:

  • **Under Settings section, click on the arrow icon in front of 10

    metre wind to switch on the vector**

  • Click on the vector settings section:

    • Enable the option for Display Vectors on User Grid

      • X Spacing: 10 px

      • **Y Spacing: 10 px **

    • For Arrow Length, select Scaled to Magnitude

      • Set the Scale by a Factor of 1

Working with time

If your mesh layer has time dimension, you should be able to browse through time using the slider provided under the settings tab:

Note that the time reference does not always parse correctly. To change the time (if you know the correct format and starting date/time):

Click on the setting in front of time

In the new window:

  • Use absolute time

  • Reference date/time: 29.09.2018 04:00:00

Plotting time series and profiles

To plot time series, you will need to install Crayfish plugin from QGIS plugin repository. Once the plugin is installed:

In QGIS, from the main menu > Mesh > Crayfish > Plot

An empty plot appears at the bottom of your QGIS window. To generate time series for multiple points on the map:

Make sure you have the following settings

Layer: Hurricane Michale data from Copernicus ECMWF

Plot: Time series

Group: [current]

And then click on From Map: Point

Hold Ctrl key on your keyboard and click on the locations you want to plot time series:

A series of graphs will be plotted for each point with matching colours.

You can also create long profile (including aggregated long plot) for a specific time step.

Export mesh to vector or raster

To export mesh to a raster or vector, you can use the processing toolbox:

In QGIS, from the main menu > Processing > Toolbox

Under Crayfish algorithm, double click on Rasterize

A new window will appear:

  • For Input mesh layer select Hurricane Michale data from Copernicus ECMWF

  • For Minimum extent click on … and select Use Layer Extent. In the new pop-up, select Hurricane Michale data from Copernicus ECMWF

  • For Map units per pixel, type: 0.500

  • For Dataset group, select 2 metre temperature

  • For Timestep, select 29 days, 6:00:00

  • Click Run

Similarly, you can export your mesh to points or polygon for each time step.

Export to animation

To export to animation, you can set up a print layout template.

Ensure you have selected 10 m wind quantity from the mesh layer properties panel

Right-click on Hurricane Michael data from Copernicus ECMWF and select Export to animation

Set the correct parameters for start time/end time

Set the values for time, legend, title, etc

Set the filename for the animation file

Mesh calculator

Mesh calculator is similar to the Raster calculator with the following added functionalities:

  • Aggregate functions, e.g. calculate maximum values over time

  • Time filter

Try to calculate the maximum precipitation values for Hurricane Michale data from Copernicus ECMWF dataset

Learn More

Input new release

To join the FOSS4G in Bucharest this week, we have released a new version of Input, a mobile app based on QGIS for field survey.

There have been many new features and enhancements in the new release. You can download the latest version from here:

Get it on Google Play

New form widgets

Slider widget has been added as a method to insert values in the forms. The widget configuration follows the QGIS form settings. In addition, the default value settings in QGIS are also recognised in Input forms.

Defaults in Input

Map rendering indicator

An indicator will appear on the map, while the app is trying to render the content.

Better synchronisation

Download and upload to the Mergin service have been improved substantially. There is a progress bar indicator for the download/upload. You can also cancel the process.

64-bit version

With the new Google Play Store requirement, we are also now shipping the 64-bit version of the application. Our initial tests showed faster loading and rendering of the maps.

FOSS4G

We will be in Bucharest during FOSS4G 2019. Come and talk to us about Input, QGIS, web mapping, etc during the conference!

Learn More

(Fr) Oslandia recrute : développeur(se) C++ et Python

Sorry, this entry is only available in French.
Learn More

Using QGIS from Conda

QGIS recipes have been available on Conda for a while, but now, that they work for the three main operating systems, getting QGIS from Conda is s starting to become a reliable alternative to other QGIS distributions. Anyway, let’s rewind a bit…

What is Conda?

Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.

Why is that of any relevance?

Conda provides a similar way to build, package and install QGIS (or any other software) in Linux, Windows, and Mac.

As a user, it’s the installation part that I enjoy the most. I am a Linux user, and one of the significant limitations is not having an easy way to install more than one version of QGIS on my machine (for example the latest stable version and the Long Term Release). I was able to work around that limitation by compiling QGIS myself, but with Conda, I can install as many versions as I want in a very convenient way.

The following paragraphs explain how to install QGIS using Conda. The instructions and Conda commands should be quite similar for all the operating systems.

Anaconda or miniconda?

First thing you need to do is to install the Conda packaging system. Two distributions install Conda: Anaconda and Miniconda.

TL;DR Anaconda is big (3Gb?) and installs the packaging system and a lot of useful tools, python packages, libraries, etc… . Miniconda is much smaller and installs just the packaging system, which is the bare minimum that you need to work with Conda and will allow you to selectively install the tools and packages you need. I prefer the later.

For more information, check this stack exchange answer on anaconda vs miniconda.

Download anaconda or miniconda installers for your system and follow the instructions to install it.

Windows installer is an executable, you should run it as administrator. The OSX and Linux installers are bash scripts, which means that, once downloaded, you need to run something like this to install:

bash Miniconda3-latest-Linux-x86_64.sh

Installing QGIS

Notice that the Conda tools are used in a command line terminal. Besides, on Windows, you need to use the command prompt that is installed with miniconda.

Using environments

Conda works with environments, which are similar to Python virtual environments but not limited only to python. Basically, it allows isolating different installations or setups without interfering with the rest of the system. I recommend that you always use environments. If, like me, you want to have more that one version of QGIS installed, then the use of environments is mandatory.

Creating an environment is as easy as entering the following command on the terminal:

conda create --name <name_of_the_environment>

For example,

conda create --name qgis_stable

You can choose the version of python to use in your environment by adding the option python=<version>. Currently versions of QGIS run on python 3.6, 3.7, 3.8 and 3.9.

conda create –name qgis_stable python=3.7

To use an environment, you need to activate it.

conda activate qgis_stable

Your terminal prompt will show you the active environment.

(qgis_stable) aneto@oryx:~/miniconda3$

To deactivate the current environment, you run

conda deactivate

Installing packages

Installing packages using Conda is as simples as:

conda install <package_name>

Because conda packages can be stored in different channels, and because the default channels (from the anaconda service) do not contain QGIS, we need to specify the channel we want to get the package from. conda-forge is a community-driven repository of conda recipes and includes updated QGIS packages.

conda install qgis --channel conda-forge

Conda will download the latest available version of QGIS and all its dependencies installing it on the active environment.

Note: Because conda always try to install the latest version, if you want to use the QGIS LTR version, you must specify the QGIS version.

conda install qgis=3.10.12 --channel conda-forge

Uninstalling packages

Uninstalling QGIS is also easy. The quickest option is to delete the entire environment where QGIS was installed. Make sure you deactivate it first.

conda deactivate
conda env remove --name qgis_stable

Another option is to remove QGIS package manually. This is useful if you have other packages installed that you want to keep.

conda activate qgis_stable
conda remove qgis -c conda-forge

This only removes the QGIS package and will leave all other packages that were installed with it. Note that you need to specify the conda-forge channel. Otherwise, Conda will try to update some packages from the default channels during the removal process, and things may get messy.

Running QGIS

To run QGIS, in the terminal, activate the environment (if not activated already) and run the qgis command

conda activate qgis_stable
qgis

Updating QGIS

To update QGIS to the most recent version, you need to run the following command with the respective environment active

conda update qgis -c conda-forge

To update a patch release for the QGIS LTR version you run the install command again with the new version:

conda install qgis=3.10.13 -c conda-forge

Some notes and caveats

Please be aware that QGIS packages on Conda do not provide the same level of user experience as the official Linux, Windows, and Mac installer from the QGIS.org distribution. For example, there are no desktop icons or file association, it does not include GRASS and SAGA, etc …

On the other hand, QGIS installations on Conda it will share user configurations, installed plugins, with any other QGIS installations on your system.

Learn More

FOSSGIS 2019 in Dresden

Sourcepole war an der FOSSGIS 2019 in Dresden als Austeller, mit Vorträgen und einem Vektor Tile Workshop präsent.

Learn More

Mergin QGIS plugin

One of the key features of Input mobile app, is the ability to upload/download your data from field through Mergin directly from the app.

For uploading/downloading your project, the only method was to use Mergin web interface. But with this plugin, users can interact with their projects and data directly from within QGIS desktop.

How to use the plugin?

You can install the Mergin plugin from QGIS plugin repository. Once it’s installed, you will see Mergin provider from your QGIS browser panel.

Mergin QGIS plugin

To use the plugin, you need to sign into your Mergin account. You can then easily:

  • Download your existing projects
  • Create a project
  • Synchronise your changes
  • Delete a local copy of your project

For more information about this plugin, see user documentation.

Once you synchronise your changes to Mergin, the data will be available from your Input mobile app. To download the app for your Android device, click below:

Get it on Google Play

Learn More