All Posts

QGIS Planet

QField 3.6 “Gondwana”: Locking on greatness

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

Main highlights

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

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

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

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

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

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

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

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

Focus on feature form polishing

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

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

Learn More

[Blog] New API tools give you more user management options!

Enhance user management in Mergin Maps with the Python API: automate user creation, manage roles, and integrate processes seamlessly.
Learn More

OpenStreetMapとは?QGISでも活用できるオープンデータプロジェクト - QGIS LAB by MIERUNE

はじめに「OpenStreetMap(OSM)」は、街中の自動販売機やゴミ箱からキャンプ場まで様々な種類の地物の情報をオープンデータとして提供しているプロジェクトです。この記事では、OpenStreetMapの特徴と、QGISでの具体的な活用方法について解説します。OpenStreetMapとは?OpenStreetMapとは、誰でも自由に利用できる地図データを作成するプロジェクトです。2004年...
Learn More

QGISでCSVやExcelなどの表形式のデータをGISデータに結合する方法 - QGIS LAB by MIERUNE

はじめにQGISでは、GISデータと表形式のデータを組み合わせることで、より深い分析や視覚化が可能になります。この記事では、QGISの「テーブル結合」機能を使って、GISデータに表形式のデータを結合する方法を紹介します。この機能を用いることで、属性テーブルの活用の幅を広げることができます。テーブル結合とは?QGISのテーブル結合機能は、複数の属性テーブルに共通する列の値を用いて、1つのテーブルに情...
Learn More

Speed up your analytics with the new MovingPandas 0.22 and Trajectools 2.6

The latest releases of MovingPandas and Trajectools come with many “under the hood” changes that aim to make your movement analytics faster:

  1. Instead of immediately creating a GeoPandas GeoDataFrame and populating the geometry column with Point objects, MovingPandas now has “lazy geometry column creation” that holds off on this operation until / if the geometries are actually needed. This way, for many operations, no geometry objects have to be generated at all.
  2. MovingPandas TrajectorySplitters now support parallel processing and Trajectools uses parallel processing whenever available (e.g. for adding speed & direction metrics, detecting stops, splitting trajectories).
  3. When a minimum length is specified for trajectories, MovingPandas now avoids computing the total trajectory length and, instead, immediately stops once the threshold value has been reached (“early skip”).
  4. Trajectools now offers the option to skip computation of movement metrics (speed & direction). This way, we can skip unnecessary computations and leverage the lazy geometry column creation, wherever applicable.

Let’s have a look at some example performance measurements!

Example 1: MovingPandas ValueChangeSplitter

The ValueChangeSplitter splits trajectories when it detects a value change in the specified column. This is useful, for example, to split up public trajectories that contain a “next_stop” column.

The following graph shows ValueChangeSplitter runtimes for different minimum trajectory length settings (from 0 to 1km, 100km, and 10,000km):

We see that the new, lazy geometry column initialization outperforms the old original code in all cases (e.g. 57% runtime reduction for 1km), except for the worst-case scenario, when the original implementation discards all trajectories as too short right from the start. (For most use cases, min_length will be set to rather small values to avoid creation of undesired short trajectory fragments, similar to sliver polygons in classic geometry operations.)

Additionally, we can engage multiprocessing by setting the n_processes parameter, e.g. to the number of CPUs to achieve further speedup:

Example 2: Trajectools

By applying all above-mentioned speedup techniques, Trajectools is now considerably faster. For example, the following runtime reductions can be achieved by deactivating the “Add movement metrics (speed, direction)” option in the algorithm dialog:

  • Create trajectories: 62%
  • Spatiotemporal generalization (TDTR): 78%
  • Temporal generalization: 81%
  • Split trajectories at stops: 53%

I have also updated the default trajectory points output style. It now uses a graduated renderer to visualize the speed values (if they have been calculated) instead of the previously used data-defined override. This makes the style faster to customize and provides a user-friendly legend:

For more infos, have a look at:

Enjoy the latest performance increases!

Learn More

属性テーブルの列の追加と削除〜効率的な方法と注意点〜 - QGIS LAB by MIERUNE

はじめにQGISで扱う地物では、地物に関連する情報を属性テーブルに記録することができますが、作業の途中で属性テーブルの列(フィールド)を増やしたり減らしたりしたい場合があるかもしれません。この記事では、属性テーブルの列の追加・削除の方法、および、注意点について説明します。属性テーブルに列を追加する属性テーブルに列を追加する手順を説明していきます。QGISでレイヤパネルで列を追加したいレイヤを右クリ...
Learn More

QGISでジオリファレンスを行う方法〜紙地図・画像を地図に追加する手順〜 - QGIS LAB by MIERUNE

はじめに紙の地図やスキャンした図面などの画像データには位置情報が付与されていないため、GIS上で正しい位置に表示することができません。この問題を解決するのが「ジオリファレンス」という作業です。この記事では、QGISを使って地図画像に座標情報を与える「ジオリファレンス」について、基本的な考え方と具体的な手順を紹介します。ジオリファレンスとはジオリファレンスとは、画像や図面に地理的な位置情報(座標)を...
Learn More

GISデータのエクスポート手順〜GeoPackageやCSVに変換しよう〜 - QGIS LAB by MIERUNE

はじめにQGISでは、一時的に作成したレイヤを保存したり、異なるファイル形式に変換するといった機会が多くあります。そんなときに役立つのが、「エクスポート」機能です。この機能を使えば、作業途中のレイヤをファイルとして保存したり、形式を変換して出力したりすることができます。この記事では、「名前を付けて保存」の基本的な使い方と、実際のユースケースを紹介します。エクスポート機能とは「エクスポート」機能は、...
Learn More

3D editing tools for Point Clouds

Edit point cloud (LiDAR) data directly in QGIS 3.42 and later. Discover new 3D editing tools, workflows, and demos for efficient point cloud classification.
Learn More

プラグインでQGISをもっと便利に〜概要とインストール方法〜 - QGIS LAB by MIERUNE

はじめにQGISは標準機能として多くの解析・編集機能を備えていますが、プラグインを追加することでさらに機能を拡張したり、QGISが標準として持っていない機能を追加することができます。プラグインを活用することで、より効率的なGISデータの作成・編集・解析が可能になります。この記事では、QGISプラグインの概要とインストール方法について解説します。QGISプラグインとは?QGISは、基本機能を持つ本体...
Learn More