Modifications apportées par QGIS 3.20

image1

QGIS 3.20 Odense dispose d’un écran de démarrage qui affiche une section de la plus ancienne carte de la troisième plus grande ville du Danemark, Odense de 1593. La carte a été publiée par Georg Braun (1541-1622) dans l’ouvrage Civitates orbis terrarum (Cities of the World). Les cartes de Georg Braun sont toutes très belles et ont été, pour l’époque, réalisées à un haut niveau cartographique. Civitates orbis terrarum a longtemps été la principale source de cartes des villes du monde, telles que Paris, Londres, Mexico City et Aden.

Le nom Odense signifie littéralement “le temple d’Odin”, et l’endroit était peut-être à l’origine un sanctuaire du dieu païen Odin. En bas à gauche de la carte, vous voyez les ruines d’une des grandes forteresses en forme d’anneau de l’ère viking, qui ont été construites au Danemark par le roi viking danois. Harald Bluetooth (mort vers 985/86). La forteresse circulaire d’Odense s’appelle Nonnebakken.

Cette version introduit une multitude de changements subtils et de mises à jour de stabilité, renforçant le vaste catalogue de fonctionnalités de pointe introduites dans les dernières versions de QGIS. Cette version comprend de nombreuses améliorations de la gestion des données, avec quelques modifications avancées de la gestion et de l’affichage des systèmes SCR et des informations de projection. Parmi les améliorations apportées à la gestion des SCR figurent la prise en charge basique de l’époque des coordonnées des systèmes SCR dynamiques et des avertissements avancés sur l’intégrité de la précision, ce qui place QGIS 3.20 clairement à la pointe des SIG et des pratiques de gestion des données pour les systèmes de haute précision.

En outre, les utilisateurs peuvent s’attendre à une amélioration de la gestion et du traitement des métadonnées pour certains types de données et de métadonnées. Un autre point fort est l’intégration native du service de géocodage nominatim, qui permettra aux utilisateurs de rechercher des lieux et des adresses en utilisant les données du projet OpenStreetMap directement à partir de la barre de localisation de QGIS.

La communauté QGIS a également constaté un regain d’activité dans le QGIS HUB, ainsi que dans les journées portes ouvertes virtuelles de QGIS, avec la Cutting Edge Open Day présentant un certain nombre de démonstrations qui exploitent les riches fonctionnalités de QGIS introduites dans les versions plus récentes.

Nous souhaitons également remercier grandement les développeurs, rédacteurs de documentation, testeurs et tous ceux qui ont volontairement donné du temps (ou financé des gens) pour rendre possible la sortie de cette version. La communauté QGIS espère que vous apprécierez cette version ! Si vous souhaitez donner un peu de votre temps, d’argent ou vous impliquer d’une autre manière pour rendre QGIS encore plus génial, faites un tour sur QGIS.ORG et donnez nous un coup de main !

QGIS est soutenu par des donateurs et des sponsors. Une liste actuelle des donateurs qui ont apporté des contributions financières, grandes et petites, au projet peut être consultée sur notre liste de donateurs. Si vous souhaitez devenir sponsor officiel du projet, veuillez visiter notre page de parrainage pour plus de détails. Le parrainage de QGIS nous aide à financer nos réunions régulières de développeurs, à maintenir l’infrastructure du projet et à financer les efforts de correction de bogues. Une liste complète des sponsors actuels est fournie ci-dessous - merci à tous nos sponsors!

QGIS est un logiciel gratuit et vous n’avez aucune obligation de payer quoi que ce soit pour l’utiliser - en fait, nous voulons encourager les personnes de tous horizons à l’utiliser quel que soit l’état de leurs finances ou leur statut social - nous croyons que mettre à disposition un outil géographique de prise de décisions concourra à une meilleure société pour l’humanité entière.

Général

Fonctionnalité: Options supplémentaires d’ouverture des tables attributaire

Les raccourcis précédemment disponibles pour ouvrir les tables d’attributs, utiliser des filtres pour afficher uniquement les éléments sélectionnés ou les éléments visibles dans la carte, ont été intégrés dans la barre d’outils du menu afin de faciliter leur utilisation et d’améliorer l’expérience de l’utilisateur, notamment lorsqu’il travaille avec de grands ensembles de données.

image2

Cette fonctionnalité a été développée par Raymond Nijssen

Fonctionnalité: Définir la taille de toutes les colonnes de la table attributaire

La possibilité de « définir la largeur » et la « taille automatique » des colonnes a été étendue pour appliquer le redimensionnement d’un champ à toutes les colonnes.

Cela inclut la possibilité de définir une largeur fixe ou de « redimensionner automatiquement » toutes les colonnes. Ces actions sont disponibles dans le menu contextuel de l’en-tête de la table des attributs, accessible par un clic droit sur l’en-tête d’un champ.

image3

Cette fonctionnalité a été développée par Ben Wirf

Fonctionnalité: Exportation/importation de configurations d’authentification simplifiées

À partir de QGIS 3.20, les utilisateurs peuvent désormais exporter et importer facilement des configurations d’authentification via une paire d’actions dans le panneau d’authentification des paramètres de QGIS. Les configurations exportées peuvent être protégées par un mot de passe pour éviter la fuite d’informations sensibles.

Cela facilite grandement le partage de diverses configurations d’authentification entre plusieurs utilisateurs de QGIS, en particulier lorsqu’il s’agit de méthodes de configuration plus complexes telles que oauth2.

Cette fonctionnalité a été financée par la Ville d’Yverdon-les-Bains

Cette fonctionnalité a été développée par Mathieu Pellerin

Temporel

Fonctionnalité: Intervalles de navigation temporelle

Une option d’intervalles de navigation temporelle pour les « timestamps sources » a été ajoutée au contrôleur temporel. Lorsqu’elle est sélectionnée, cela permet à la navigation temporelle de passer d’un intervalle de temps disponible à un autre à partir des couches du projet. C’est utile lorsqu’un projet contient des couches avec des temps disponibles non contigus, comme un service WMS-T qui fournit des images disponibles à des dates irrégulières. Cette option permet aux utilisateurs de passer d’un intervalle de temps à l’autre uniquement lorsque la prochaine image disponible est affichée.

image4

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720707

Cette fonctionnalité a été développée par Nyall Dawson

Fonctionnalité: Amélioration des paramètres de WMS-T

Les paramètres de WMS-T ont été simplifiés et des contrôles ont été introduits pour faciliter la sélection de l’heure souhaitée pour certains fournisseurs.

Des modifications ont été apportées afin d’atteindre les résultats suivants :

  • Rendre plus clair ce que contrôle exactement chacun des paramètres.

  • Rendre plus claire l’interaction et les relations entre les différents paramètres.

  • Indiquer clairement quels paramètres s’appliquent, que la couche soit contrôlée par le contrôleur temporel ou que les paramètres ne concernent que les couches WMS-T statiques.

  • Pour les serveurs qui exposent un ensemble non contigu d’instances de date-heure, au lieu d’une plage de dates, une boîte combo est fournie, ce qui évite de devoir saisir manuellement des dates valides.

Exemple de paramètres avec un serveur exposant une gamme de dates disponibles :

|disponible|

Exemple de paramètres avec un serveur exposant uniquement une liste d’instances de date disponibles :

datetime

image7

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720707

Cette fonctionnalité a été développée par Nyall Dawson

Fonctionnalité: Navigation temporelle à l’aide de la molette horizontale de la souris

Le défilement horizontal à l’aide de la molette de la souris (là où elle est prise en charge) avec le curseur sur le canevas de la carte permettra aux utilisateurs de naviguer, ou de « frotter », le curseur de navigation temporelle vers l’avant et l’arrière.

Cette fonctionnalité a été développée par Nyall Dawson

Outils cartographiques

Fonctionnalité : Intégration du géocodeur Nominatim

Le géocodeur Nominatim est désormais intégré nativement à QGIS ! QGIS fournit un filtre de localisation Nominatim, ainsi que l’outil de traitement « Batch Nominatim Geocoder » pour le géocodage de localisations par lots.

Filtre localisateur Nominatim

Le widget de la barre de localisation de QGIS (par défaut, la barre de recherche dans le coin inférieur gauche CTRL+K) prend désormais en charge les recherches par géocode Nominatim en utilisant le préfixe “>”.

Les utilisateurs peuvent désormais rechercher des lieux en utilisant le format « > chaîne de recherche » dans le localisateur et une sélection de résultats leur sera proposée. La sélection d’un résultat de recherche repositionnera l’étendue de la carte sur cet emplacement.

Geocoder en masse avec Nominatim

En outre, un nouvel algorithme de « Géocodage en masse avec Nominatim » a été ajouté à la boîte à outils de traitement QGIS sous Outils vecteur, permettant aux utilisateurs de géocoder plusieurs lieux à la fois.

Nominatim est un service de géocodage qui utilise les données du projet OpenStreetMap. Des limitations d’utilisation et de débit - 1 requête par seconde - s’appliquent conformément aux politiques d’utilisation de la Fondation OpenStreetMap (OSMF), et les données sont fournies selon les termes de la licence ODbl. En outre, les requêtes adressées au service Nominatim peuvent inclure des informations télémétriques.

La livraison par défaut de ce grand service de géocodage n’aurait pas été possible sans la générosité et la participation de l’OSMF.

image8

Cette fonctionnalité a été développée par Mathieu Pellerin

Interface utilisateur

Fonctionnalité: Améliorations de la boîte de dialogue de l’historique du traitement

La boîte de dialogue de l’historique du traitement a subi une série d’améliorations de l’interface utilisateur, notamment le regroupement des algorithmes dans des structures de dossiers significatives et l’utilisation d’icônes d’algorithmes individuels. La recherche de l’algorithme que vous avez exécuté la semaine dernière n’a jamais été aussi facile !

image9

Cette fonctionnalité a été développée par Mathieu Pellerin

Fonctionnalité: Icônes des couches cartographiques dans la boîte de dialogue de création d’expressions

La boîte de dialogue de création d’expressions affiche désormais des icônes de couche de carte à côté de la liste des couches dans le groupe parent « Couches de carte ». Cela accélère la navigation dans la liste et fournit un contexte supplémentaire.

image10

Cette fonctionnalité a été développée par Mathieu Pellerin

Fonctionnalité: Filtrage dans les navigateurs SVG

L’interface du navigateur SVG prend désormais en charge le filtrage à base de texte, permettant aux utilisateurs de filtrer les images SVG disponibles en fonction d’une chaîne de recherche donnée.

image11

Cette fonctionnalité a été développée par Denis Rouzaud

Symbologie

Fonctionnalité: type de symbole de couche interpolation linéaire pour couches vecteur

QGIS fourni un nouveau type de style de couche « Interpolation Linéaire », qui permet un rendu de ligne variable par couleur et/ ou taille.

Ce symbole est hautement configurable et permet aux utilisateurs d’associer des attributs ou des expressions à chaque extrémité de ligne ou de courbe, parmi d’autre options de configuration. Les valeurs sont interpolées le long de la ligne entre les extrémités. La couleur se configure grâce à un widget d’ombre de rampe de couleur.

image12

Cette fonctionnalité a été financée par Lutra Consulting

Cette fonctionnalité a été développée par Vincent Cloarec

Feature: Trim the simple line symbol

An option to trim the start and end of simple line symbols was added, allowing for the line rendering to trim off the first and last sections of a line at a user configured distance. It is useful for creating complex symbols where a line layer should not overlap marker symbol layers placed at the start or end positions of a line feature, such as with transport routes. The trim distance supports a range of units, including a percentage of the overall line length, and can also be configured as a data-defined property.

A sample gallery of this functionality in use:

image13

image14

Cette fonctionnalité a été développée par Nyall Dawson

Feature: New « Embedded styling » renderer with OGR feature styles support

A new « Embedded styling » renderer has been added which exposes OGR feature styles, allowing QGIS to automatically symbolize data from certain datatypes which have integrated style information, such as KML or TAB files.

Cette fonctionnalité implémente la QEP-209

Support should extend automatically to all GDAL drivers which implement the OGR feature style API.

Currently only supports line symbol conversion, but point and polygon symbol support is under development.

image15

This functionality also supports the direct conversion of embedded symbol renderers into categorized or rule-based renderers. This enables QGIS to automatically create categories or rules which define symbology based on the relevant feature IDs:

image16

image17

Cette fonctionnalité a été financée par QGIS Denmark user-group

Cette fonctionnalité a été développée par Nyall Dawson

Feature: New shapes and cap styles for ellipse markers

Several new shapes - semi arc and arrow signs - were added to the ellipse marker symbol layer, as well as a setting to modify the cap style for stroke-only ellipse shapes.

image18

Cette fonctionnalité a été développée par Mathieu Pellerin

Feature: Set cap styles for simple markers

QGIS now allows for the pen cap (or line ending) style to be set for simple marker symbol layers, which is useful for the stroke-only symbols like cross and arrowhead markers, where it’s beneficial to allow the use of round caps instead of square caps.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Allow pen cap style to be set for ellipse marker symbol layers

Ellipse markers now also include support for modifying the pen cap (line ending) styles

image19

Cette fonctionnalité a été développée par Mathieu Pellerin

Feature: Polygon rings @geometry_ring_num variable

A new variable, @geometry_ring_num, has been added for data-defined styling when rendering polygon rings. The variable is available whenever a polygon outline is being rendered, such as a simple line or marker line. This data-defined property will be set to 0 for the exterior ring, and increment accordingly (1, 2, 3… etc) for successive interior rings.

Cette fonctionnalité a été développée par Nyall Dawson

Étiquetage

Feature: Fill symbols for label background shields

Label shields can now use fill symbols for the rectangle, square, circle, and ellipse shapes.

This extends beyond the previously available ability for these shields to utilize simple fill and stroke and grants the ability to leverage the complete symbology capabilities of QGIS for shield rendering, including the utilization of « saved styles ».

image20

Cette fonctionnalité a été développée par Mathieu Pellerin

Feature: Blending mode settings for label callouts

Label callouts can now leverage the advanced blending modes from QGIS

image21

Cette fonctionnalité a été développée par Mathieu Pellerin

Feature: Anchor line labels by entire line

In previous versions, when an anchor position for a line label was calculated, QGIS would only consider the visible extent of the feature. This affected the expected label position in some cases, and a new « Use Entire Line » setting allows users to configure the behavior according to their needs, so that the entire feature may be considered before label placement rather than just the portion of a feature that is currently visible.

image22

Cette fonctionnalité a été financée par Stadt Zürich

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Balloon callout corner radius

Balloon callout styles now support rounded corners by introducing a « corner radius » option, resulting in the ability to easily produce visually pleasing designs.

image23

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Balloon (speech bubble) callouts

A new « balloon », or speech bubble, callout style is provided for labels.

image24

Cette fonctionnalité a été financée par SLYR

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Curved line callout style

A new « Curved Line » callout style has been provided for creating cartographically pleasing curved line callouts between the labels and features

Les options incluent :

  • Selecting a specific curve orientation (clockwise or counterclockwise)

  • Automatic orientation option which determines optimal orientation for each individual label

  • Control over the amount of curvature applied to the callout lines.

curved-callout

image26

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Highlight pinned callout start or end points

When the « show pinned labels » option is enabled, QGIS will now also highlight any pinned callout start or end points. This allows users to immediately see which callouts points have been manually placed in relation to those that are automatically placed.

image27

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Auto-creation of callout auxiliary fields

QGIS now automatically manages the creation of callout auxiliary fields when attempting to move a callout start or end point interactively, making the user experience for moving a callout follow the exact same behavior as that of moving a label, preventing the system from forcing users to create auxillary fields in advance.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Callout snapping

When interactively moving a callout line, holding the shift button will now cause the callout to snap angles at increments of 15 degrees

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Toggle label layers shortcut

A shortcut action to toggle labeling has been added to the context menu of vector layers in the layer panel. This allows for labels to be quickly switched on or off, without losing the label configuration. If a layer has never had labeling configured and the action is checked, then QGIS will attempt to apply a simple labeling configuration to the layer using default parameters.

image28

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720707

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Data defined callout start and end points

Label callout lines can now have data-defined starting and ending points, useful for manual control of the exact placement for individual callout lines.

Cette fonctionnalité a été développée par Nyall Dawson

Permettre aux légendes d’être déplacées de manière interactive à l’aide de l’outil Déplacer l’étiquette.

Cette modification permet à l’outil interactif « Déplacer les étiquettes » de déplacer également les points d’extrémité, lorsque les champs d’origine ou de destination définis par les données sont définis pour la commande.

image29

Cette fonctionnalité a été développée par Nyall Dawson

Point Clouds

Feature: Support for remote datasets (EPT)

Les ensembles de données de nuages de points qui ont été traités au format EPT peuvent être chargés à partir de serveurs HTTP(S) distants, de manière similaire au fonctionnement des tuiles raster/vectorielles. De cette façon, il est possible d’accéder à de grands ensembles de données de nuages de points sans avoir à les télécharger au préalable sous forme de fichiers LAS/LAZ. Le format EPT est optimisé pour les tuiles et le streaming, de sorte que QGIS ne télécharge que les petites quantités de données nécessaires à l’affichage de la vue et de la résolution actuelles. Cela fonctionne à la fois en vue 2D et 3D.

Si vous disposez d’ensembles de données de nuages de points au format LAS/LAZ, ceux-ci peuvent être convertis en EPT à l’aide de la méthode suivante Entwine ou Untwine (livrées également avec QGIS).

How to use: in Data Source Manager > Point Cloud tab > select « Protocol » as the source type and enter URL of the dataset (normally ending with « ept.json »).

You can test with USGS LiDAR data - just use the link from « EPT » column from one of the datasets. Some example endpoints include:

By the way, every point cloud dataset that QGIS loads is first processed to EPT (look for « ept_XXX » sub-folder where your original data is located), so it is possible to just copy that « ept_XXX » folder to a HTTP(S) server and you are ready to use this feature.

image30

Cette fonctionnalité a été financée par Hobu

Cette fonctionnalité a été développée par Belgacem Nedjima (Lutra Consulting)

Expressions

Feature: length3D Function

Une fonction  » longueur 3D  » a été ajoutée pour renvoyer la longueur 3D d’une géométrie de type LineGeometry. Cette fonction calcule la longueur 3D cartésienne d’un objet ligne de la géométrie. Si la géométrie n’est pas un objet ligne 3D, elle renvoie sa longueur 2D.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Extended array expression functions

The following array expressions were added:

  • array_count

  • array_prioritize

  • array_replace

Cette fonctionnalité a été financée par Canton of Luzern

Cette fonctionnalité a été développée par Damiano Lombardi

Feature: MIME Type expression function

The new mime_type( bytes ) expression function returns the MIME Type, or Media type, of an input bytes object

image31

Cette fonctionnalité a été développée par Alessandro Pasotti

Numérisation

Feature: Select attributes from the largest geometry when merging

A button to select attributes from the largest geometry has been added to the confirmation dialogue when using the merge features editing tools for polygon and line layers.

image32

Cette fonctionnalité a été développée par Stefanos Natsis

Feature: Streaming digitizing mode

When streaming digitizing mode is active, points are automatically added following the mouse cursor movement, providing a « freehand drawing » type experience.

Using the « R » key during digitizing operations will toggle streaming digitizing and normal (or circular string) digitizing.

Works with multiple map tools, including creating new line or polygon features, add ring, add part, reshape, split features, split parts, and more.

image33

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720707

Cette fonctionnalité a été développée par Nyall Dawson

Feature: New « Line Endpoints » snapping option

When enabled, this snapping mode snaps to the beginning or end vertex of lines only. When snapping to a polygon layer, only the first vertex in rings will be snapped to.

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720707

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Select vertices by polygon

Users can now use the ALT button to select vertices by polygon whilst digitizing.

This should improve the user experience for selecting specific vertices using the vertex tool, reducing the need for multiple passes using The SHIFT or CTRL functions to add and remove vertices from the current selection.

This also reduces the need to creatively rotate the map canvas in order to align vertices for selection, and provides an enhanced editing process such as for selecting the vertices of a curved road along a single side only.

This function supports the following usage operations:

  • Alt+click using the vertex tool to start digitizing a polygon.

  • Each subsequent click adds a new vertex to the rubberband polygon.

  • Backspace/ delete removes last added rubberband vertex.

  • Esc cancels the polygon selection mode, as does backspace/ deleting all of the rubberband’s vertices.

  • Right-click finalizes the polygon digitizing and selects all vertices within the rubberband polygon.

image34

Cette fonctionnalité a été développée par Stefanos Natsis

Gestion des données

Feature: Layer tree warning icon for layers with CRS inaccuracies

A new « Show CRS accuracy warnings for layers in project legend » is provided which, when checked, will display a new warning icon identifying any layers with a CRS which is identified as having accuracy issues.

Examples of low-accuracy layers might include those with a dynamic CRS with no coordinate epoch available, or a CRS based on a datum ensemble with accuracy that is found to exceed the user-set limit.

This option is disabled by default, and designed for use in engineering, BIM, and other industries where inaccuracies of meter/submeter level are very dangerous.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Basic support for dynamic CRS coordinate epoch

Basic support for the coordinate epoch of dynamic (not plate fixed) CRS has been added in line with relevant updates to GDAL.

QGIS has added support for respecting the source or destination coordinate epoch when transforming to or from a dynamic CRS.

If a dynamic CRS to dynamic CRS transformation at different epochs is attempted, which is not currently supported by PROJ, a user-facing warning message will be shown advising them that the results may be misleading and should not be used for high accuracy work.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Projection information improvements

Various improvements have been made to the handling and representation of projection information in QGIS, including:

  • The addition of an API to retrieve PROJ operation details for CRSes

  • The ability to show extended information about a layer’s CRS in the layer properties info tab, including accuracy warnings

  • The addition of a @map_crs_projection variable, for retrieving a friendly name of a map’s projection (e.g. « Albers Equal Area »)

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Datum ensemble CRS warnings

QGIS now shows a warning in the projection selection widget when a CRS based on a datum ensemble is selected, warning the user that there’s an inherent lack of accuracy in the selected CRS.

image35

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Persist layer metadata in vector file exports

A « persist layer metadata » checkbox has been added to the export vector file dialog. When checked, any layer metadata present in the source layer will be copied and stored in the destination file.

This functionality is enabled by default and ensures that metadata is properly transferred over to newly created items, which is especially effective when utilizing the GPKG format.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Layer notes

QGIS now supports « layer notes », which can be created via the « Add Layer Notes » action in the layer context menu.

These notes are saved per layer, per project. They can be used as a place to store important messages for project users, such as to-do lists, processing or management instructions, or any other arbitrary text-based metadata.

A notepad indicator icon in the layers panel identifies layers that have notes attached. Clicking the notes indicator icon will open the note for editing.

Cette fonctionnalité a été discutée dans la QEP-206

These notes may be copied and pasted using the traditional copy/ paste methodology for transferring styles between layers in QGIS.

Layer notes are also supported by and stored within QML (QGIS Style) and QLR (QGIS Layer Definition) files.

image36

Cette fonctionnalité a été financée par by Alta Ehf

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Automatically load .shp.xml metadata

QGIS will now automatically load and convert ESRI metadata stored using a .shp.xml sidecar file. Where shapefile data is loaded and these metadata files are present they will be loaded automatically, with available layer metadata populated accordingly.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Automatically translate layer data from ESRI Filegeodatabases to QGIS layer metadata

When loading data from a .gdb file, QGIS will automatically attempt to translate as much as possible of the original ESRI metadata across to the QGIS metadata, so that it’s immediately available for use.

Cette fonctionnalité a été financée par North Road / SLYR

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Read field domains from datasets

For formats that support the embedded definition of field domains (currently GPKG and GDB), QGIS automatically converts the embedded field domain over to the equivalent QGIS editor configuration for the field.

This means that GPKG/GDB with coded field domains will automatically load into QGIS with their correct Value Map widget configuration intact, so that users see descriptions for field values instead of raw codes. Fields with a range (min/max) type domain will be translated to the range widget for the field as well.

Cette fonctionnalité a été financée par North Road

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Allow loading GPKG layers with GEOMETRY type

GeoPackage supports layers with a generic « geometry » type, with the QGIS release 3.20 it is now possible to load them and specify the requested geometry type on load, just like with PostGIS.

image37

Cette fonctionnalité a été développée par Marco Bernasocchi (OPENGIS.ch)

Feature: Offline editing support for string list and number list field types

PostGIS users rejoice: offline editing got a bit smarter and can now handle string list and number list field types.

Cette fonctionnalité a été développée par Mathieu Pellerin

Formulaires et widgets

Feature: Per-field usage of last values for newly created features

Extended control has been provided for whether the last entered field values should be reused when creating new features, as this functionality may now be controlled independently for each individual attribute field for each layer.

Historically this functionality was configured using a global option that causes ALL field values for ALL layers to be remembered and reused during a QGIS session when creating new features.

This allows for finer control over form behavior, where some values may be desirable to reuse but others should be cleared or set to a default value based on an expression.

image38

Cette fonctionnalité a été développée par Nyall Dawson

Feature: JSON View widget

New view widget to display JSON data in a user friendly way. Data can be displayed as syntax highlighted text or as a tree.

image39

Cette fonctionnalité a été financée par Canton of Solothurn

Cette fonctionnalité a été développée par Damiano Lombardi

Légende des couches

Feature: Vector « label » legend entries

QGIS now supports adding legend entries for layer labels, which will display the font style and labeling classes for vector features.

This provides a legend entry that allows users to explicitly identify features by label style, even when no feature symbology is used.

Control of this behavior is made accessible by adding a « show label legend » option to the legend tab of the vector layer properties.

image40

Cette fonctionnalité a été financée par Canton of Glarus

Cette fonctionnalité a été développée par mhugent

Traitement

Feature: Add option to save layer metadata to Package Layers algorithm

This additional option enriches the Package Layers algorithm and will copy the source layer metadata into the geopackage, so that it will be used as the default metadata for the layer.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Raster Layer Properties Algorithm

This algorithm retrieves basic raster layer properties such as the size in pixels, pixel dimensions (map units per pixel), number of bands, and no data value.

It is intended for use as a means of extracting these useful properties to use as the input values to other algorithms in a model, such as passing an existing raster’s pixel sizes over to a GDAL raster algorithm.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Improved rasterize operation with 3D support

The rasterize (vector to raster) GDAL process now supports 3D data, in that it now includes the possibility to use the Z value (elevation) of a feature to extract burn values.

The use of this option indicates that a burn value should be extracted from the “Z” values of the feature. Works with points and lines (linear interpolation along each segment). For polygons, it only works properly if the features are flat (i.e. contain the same Z value for all vertices)

Cette fonctionnalité a été développée par talledodiego

Feature: Save selected option for Package Layers Algorithm

The Package Layers Algorithm was modified to support saving only selected features

Cette fonctionnalité a été développée par Stefan Conrads

Feature: Log levels for processing context

A new log level property has been added to QgsProcessingContext

This allows algorithms to tune their output based on the logging level.

The qgis_process command line operation has been granted a –verbose switch to enable verbose log output.

Cette fonctionnalité a été financée par Natural resources Canada Contract: 3000720411

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Geometry snapper rework offers major speed boost

This development cycle saw a rework of the inner workings of QGIS” geometry snapper algorithm, which has led to a significant speed boost. Datasets which could take over 10 minutes to process now take less than 10 seconds.

Cette fonctionnalité a été financée par SwissTierras Colombia

Cette fonctionnalité a été développée par Mathieu Pellerin

Feature: Add a last_value function to the aggregate algorithm

The aggregate processing tool now includes a last_value aggregation function, which is especially useful when working with input data that has meaningful ordering.

image41

Cette fonctionnalité a été développée par Mathieu Pellerin

Options de l’application et du projet

Feature: Add global option to disable monitoring of directories

Allows users to manually opt-out of monitoring directories in the browser by default, and also provides a mechanism for enterprise installs to disable this potentially unwanted behavior.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: APIs for export and import of XML authentication configurations

QGIS now provides export and import functions to the QGIS authentication manager. This functionality has not yet been exposed through the User Interface. Complex authentication configurations with numerous, such as OAuth2, can optionally be encrypted or stored in plain text to enhance authentication management workflows.

Cette fonctionnalité a été développée par Mathieu Pellerin

Explorateur

Feature: Custom icon colors for folders in browser

QGIS now allows users to set a custom icon color for different folders in the browser. This effectively allows users to « tag » folders, which aids in the rapid navigation of complex folder structures in the browser.

image42

Cette fonctionnalité a été développée par Nyall Dawson

Feature: OWS Group removed from the QGIS Browser

The non-functional and redundant « OWS » Group has been removed from the QGIS Browser panel.

Cette fonctionnalité a été développé par Loïc Bartoletti

Fournisseurs de données

Feature: Add support for integer, real and integer64 list data types in OGR

Additional list field types have been added to the OGR driver for supported data types, such as Geojson.

Cette fonctionnalité a été développée par Nyall Dawson

Feature: Extend vector layer read capabilities to other layer types

Whilst the ability for QGIS to access a layer’s metadata information, such as reading the extent of a layer from the metadata, was previously restricted to vector layers, this functionality has now been extended to include various other layer types including raster, point cloud, and others.

Cette fonctionnalité a été financée par Ifremer

Cette fonctionnalité a été développée par rldhont

QGIS Server

Feature: External layer opacity

Opacity control support for external/ remote layers served by QGIS Server

Cette fonctionnalité a été développée par mhugent

Feature: Configurable Service URL

Additional options have been added to QGIS Server to improve the results of the GetCapabilities response, especially without the need to complete various fields within the QGIS Project configuration. These updates also enable many options to be set by an environment variable, or by providing headers from a proxy.

The following options have been added and will be resolved by the server in the following order:

  • Value defined in the project per service.

  • The <service>_SERVICE_URL environment variable.

  • The SERVICE_URL environment variable.

  • The custom X-Qgis-<service>-Service-Url header.

  • The custom X-Qgis-Service-Url header.

  • Build from the standard Forwarded header.

  • Build from the pseudo standard X-Forwarded-Host and X-Forwarded-Proto headers.

  • Build from the standard Host header and the server protocol.

  • Build from the server name and the server protocol.

Cette fonctionnalité a été développée par Stéphane Brunner

Correctifs notables

Fonctionnalité : Correction de bugs par Even Rouault

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

compiler warning in QgsMeshDatasetGroupStore::readXml()

non signalé

PR #43304

N/A

QGIS plante avec GDAL 3.3

#43224

PR #43306

PR #43323

Data corrupted when deleting field in a (specific) geopackage layer

#42768

PR #43309

PR #43322

PyQGIS: WMS-T layer uri without timeDimensionExtent in it crashes QGIS

#43158

PR #43310

PR #43324

Data Corruption: Failed GPKG OID/FID Over-write causes value to spill into next attribute column

#42274

PR #43311

PR #43360

« Split features » causes data loss

#41283

PR #43328

PR #43340

Foreign key constraints checks are ignored on GPKG

#34728

PR #43330

Inapproprié

Strange error message from SQL Query Composer in WFS client

#42985

PR #43334

PR #43341

WFS 1.1.0 ExceptionReport response handling : QGIS looks for “exceptionCode” but in specifications it’s “code” attribute

#42196

PR #43335

PR #43342

Export selection from a large WFS layer fails

#42049

PR #43336

PR #43343

Long (?) WKT makes delimited text layer fail on 3.16 and 3.18

#43256

PR #43337

PR #43339

Wrong SRS when reading a Postgis layer

non signalé

PR #43338

Inapproprié

Mesh data in GRIB format from ERA5

#41809

PR 3875 de GDAL

`PR 3877 de GDAL<https://github.com/OSGeo/gdal/pull/3877>`__

Two OGR provider filtered layers with same source dataset don’t restore proper feature count / extent on project reload

#43361

PR #43372

PR #43394

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Even Rouault

Fonctionnalité : Bug fixes by Alessandro Pasotti

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Data Source Manager fails to derive exact 3D geometry type for GeometryZ PostGIS tables

#43268

PR #43326

Attribute table conditional formatting doesn’t work when using $geometry is NULL

#43252

Fonctionne pour moi

QgsZonalStatistics.calculateStatistics() incomplete outputs

#43245

PR #43332

PR #43378

Bad Request on feed.qgis.org

#43232

PR #43333

Not relevant

Server: WFS3/API Features - overlapping columns/content on data items as HTML pages

#42269

PR #43363

PR #43380

Datum transformation using custom gsb grid for WMS Layer in QGIS Server does not work

#43072

PR #43365

Not relevant

Server: fix unreported QGIS_OPTIONS_PATH not really working for proj

non signalé

PR #43366

Inapproprié

WFS cascade getfeatureinfo fails

#42062

Fonctionne pour moi

Server standalone: fix unreported project storage not supported with -p

non signalé

PR #43381

PR #43464

QGIS Server GetPrint: HIGHLIGHT_GEOM is not printed if map layers are configured to follow a map theme

#34178

PR #43391

Risqué

Feature count is wrong when adding features from a table with features of mixed geometries

#43199

Fonctionne pour moi

Not all geometry types are found in PostGIS table with Spatial Type of Geometry

#43186

PR #43419

Risqué

Icon not updated when saving a scratch layer

non signalé

PR #43431

PR #43463

Fix list of protocols in ssh custom configuration

non signalé

PR #43432

Inapproprié

Crash with table set to Show Visible, joins, and left open as QGIS is quit

#43287

PR #43434

Inapproprié

« show label » is disabled in widget designer but label keeps displaying in attribute form if you use tabs in the Drag and-Drop Designer and the field widget was placed in any tab

#43103

PR #43435

À faire

Browser adds layers to projects with a leading space

#43129

PR #43436

Inapproprié

saveStyleToDatabase() bug when saving more than one layer to a GPKG

#42988

Fonctionne pour moi

Widget parameters not persistent for relations in D&D designer

#43123

PR #43468

Inapproprié

Rule-based rendering sometimes doesn’t show all results

#43181

PR #43502

Risqué

Fix unreported missing raster band stats in info panel

non signalé

PR #43507

Raster calculator does not create/store statistics for output rasters

#42835

PR #43512

Pas prioritaire

Attribute Form Value Relation Doesn’t Respect Column Default

#41951

Fonctionne pour moi

Attribute table in form view can display « ghost » attributes

#43477

PR #43533

Pas prioritaire

PG identity default clause issue

https://lists.osgeo.org/pipermail/qgis-user/2021-June/048983.html

PR #43529

Inapproprié

Erreur 3.18.3 lors de l “ajout d’une couche wms

#43580

PR #43581

À faire

« Réutiliser les dernières valeurs d’attributs  » ralentit la création de nouvelles éléments sur un grand vecteur

#42909

PR #43584

À faire

La suppression de « toutes les autres valeurs » rompt la symbologie des catégories basées sur la date

#43651

PR 3978 de GDAL

Fix documentation doctest builds

https://github.com/qgis/QGIS-Documentation/pull/6747

https://github.com/qgis/QGIS-Documentation/pull/6747

Not relevant

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Alessandro Pasotti

Fonctionnalité : Correction de bugs par Paul Blottiere

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

VERSION is now mandatory in WMS 1.3.0 for getmap requests

non signalé

PR #43459

PR #43467

WMTS GetCapabilities and axis order

#34826

PR #43280

PR #43772

Utiliser une version plus ancienne dans la négociation wms

#41051

PR #41376

Risqué

QGIS crashes adding a record to a memory (« scratch ») layer table in some circumstances

#42578

Fonctionne pour moi

QGIS fails silently when an auxiliary layer cannot be created

non signalé

PR #43543

PR #43773

Impossible de sauvegarder le stockage auxiliaire

#26365

PR #43560

Risqué

WMS GetFeatureInfo sur une couche dont le temps est activé ne fournit pas le paramètre TIME.

#42141

PR #43599

PR #43774

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Paul Blottiere

Fonctionnalité : Correction de bugs par Denis Rouzaud

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Widget parameters not persistent for relations in D&D designer

#43123

PR #43479

not relevant

Utiliser une édition de ligne en lecture seule au lieu d’une zone de liste déroulante dans la référence de relation ne permet pas d’ajouter un enfant au parent

#42813

PR #43509

trop risqué / ne vaut pas la peine

pas de formulaire ouvert dans le filtre de localisation des entités de toutes les couches (filtre actif) + afficher le formulaire au lieu de l’erreur pour les couches sans géométrie

non signalé

PR #43462

?

Cannot add a polymorphic relations

#41959

PR #43488

not relevant

Filter expression from relation reference widget on attributes form, not working properly

#42803

PR #43523

oui

fix Picture layout element does not handle properly a non-existing filepath when provided with an expression

#42280

PR #43119

relations bug: zoom to child button disappears

#34477

Fonctionne pour moi

Value Relation and Relation reference widget: Entries are sorted although the option « Order by value » is NOT checked

#26468

not sure how to fix this for now

Errors while adding a feature with a polymorphic relation

#41962

corrigé

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Denis Rouzaud

Fonctionnalité : Correction de bugs par Loïc Bartoletti

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

QgsProjectionSelectionWidget::selectCrs() ne peut être écrasé en Python

#43019

Fonctionne pour moi

Un bug? dans FindPyQt5.py

#41913

#41913

not relevant

Missing incon of Geometry Checker core plugin

#42708

PR #43536

PR #43549

Please reomve the not functional OWS group from the QGIS browser

#24841

PR #43559

Inapproprié

Build fails with external qwtpolar

#41910

PR #43551

PR #43583

Check geometries tool does not save default action changes

#42489

PR #43550

PR #43568

Wrong error output location when using Check validity on data with certain type of 3D error

#43582

PR #43588

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Loïc Bartoletti

Fonctionnalité : correction de bug par Julien Cabieces

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Postgresql tables with intarray fields as primary key causes problems in python scripts

#42778

PR #43493

PR #43510

Cannot instantiate QgsFeatureFilterModel using PyQGIS

#42488

PR #43494

PR #43516

QGIS crashes by loading ui file

#42379

Fonctionne

QvariantList Field , nothing in attribute table when a single value is in the list

#33108

PR #43508

PR #43530

Copy CRS to clipboard when copying selected features

#40117

PR #43527

PR #43532

Open Running (connection) Task makes it impossible to Quit QGIS

#40001

PR #43587

Plugin manager doesn’t work with proxy

#43284

Retour d’informations

Form fails to initialize $geometry

#34791

PR #43617

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Julien Cabieces

Fonctionnalité : Correction de bugs par Peter Petrik

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Passwords cannot be saved into keychain on macOS with QGIS 3.16

#40541

feedback

buggy profile results in two instances starting

#29379

not an issue anymore

GRASS plugin init error on macOS

#41782

Fonctionne pour moi

Data Source Manager incorrectly identifies PostGIS raster extent on macOS

#43042

investigation

Crash with point clouds when zooming into 3D viewer [Mac]

#41903

PR #43743

not relevant

Crash when chcking the « Show bounding boxes » option in 3D view settings

#40766

PR #43755

backport_bot

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Peter Petrik

Fonctionnalité: correction de bugs par Nyall Dawson

Intitulé du bug

URL (if reported, Github)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Fix browser panel scanning on remote locations can hang QGIS

many PRs

[3d] Fix rendering of curved lines using simple line renderer

non signalé

Modification 700390a

Fix layer preview through browser panel

#43303

Modification 7bf85a0

[expressions] Fix evaluation of round(…) where input value is a string containing a decimal number

#36467

Modification 42c2061

Fix label masking settings get dropped for layers with « , » or « ; » characters in the text

#37473

Modification 3d4e2f4

Fix orphaned symbol masking can force maps to be rasterized

non signalé

Modification ffc500d

Fix selection of features which use variables in filter rules

#42006

Modification d41c234

PR #43235

[labeling] Default to « from symbol bounds » for cartographic point label placement

#25866

Modification 4ad5d36

Fix PyQGIS QgsLineString constructor only accepts lists of QgsPoint, not QgsPointXY as indicated by the documentation

#43200

Modification 2b6c3c1

Fix crash when changing symbol levels through style dock

#42671

Modification f3f4c17

PR #43235

Allow clearing data defined buttons which are set to non-existing fields

non signalé

Modification ee03ad5

[processing] Python entry in history dialog should be processing.run line, not processing.execAlgorithmDialog

non signalé

Modification 61ac64c

Don’t try to render font marker symbols in massive font sizes, avoid crash

#42270

Modification 12d1078

PR #43235

Fix Qgis::MessageLevel::None is not available in PyQGIS

#42996

Modification 02266ef

Fix marker symbol bounds incorrectly include bounds of disabled symbol layers

non signalé

Modification ca54e8f

PR #43235

Fix hang in rendering joined layers

#38551

Modification ca00377

Modification cdbf722

[temporal] Fix broken animations when a non-integer interval value is used (e.g. 1.5 hours)

non signalé

Modification 81ec79c

Fix allowing attribute selection for DXF layer name

#42575

Modification 66c6ef9

Fix papercut in rule based labeling widget where it’s possible to uncheck BOTH the filter and else radio buttons

non signalé

Modification 1fcb9752

PR #43235

Fix it’s impossible to change a rule based labeling « else » rule back to a normal rule

non signalé

Modification de92ca0

PR #43235

Fix data defined properties which bind to a field can have incorrect values when the linked field has a null value

non signalé

Modification 4e25c6b

Modification 2a3bcc3

Fix broken coordinate transform when exporting features to DXF

#43449

Modification 65c02e0

Modification 044f6a1

[processing] Don’t show model child algorithm outputs as choices for multi-layer input parameters when running a model

#41210

Modification f4477b2

Expand on QgsPoint/QgsPointXY documentation to clarify when each class should be used

#43598

Modification ae83444

Fix crash when canceling union tool

#43553

Modification b1f50bb

Modification 1f25ba5

Fix « force layer to render as raster » setting wasn’t correctly copied

#43535

Modification 1313786

Modification dcd016b

Fix massive performance regression in attribute table

non signalé

Modification 5fdb88b

Modification 4970c3a

Fix performance issue when using attribute table with « edited or new features » filter in place

non signalé

Modification af021f1

Fix invalid error message when creating expression for layout text item

#42884

Modification db74013

Clarify labels in temporal controller

non signalé

Modification ed346d8

Correctly redraw canvas when applying project properties changes

non signalé

Modification 41f9842

Modification 607b44b

Make interactive labeling tools correctly work with data defined properties which aren’t bound to fields

non signalé

Modification c6bd366

Fix crash in labeling if label has data defined x/y set and projection error occurs transforming these coordinates

non signalé

Modification 8943ac7

Modification 2fe68cc

[temporal] Fix filter generation for vector temporal layers

#38468

Modification 544708f

Fix formatting of exception blocks in PyQGIS docs

non signalé

Modification 8359281

PR #43235

Fix zonal statistics does not correctly handle coordinate transforms

#26858

Modification e70cf8d

Modification c82678d

Don’t assume that owslib >= 0.20 is available

#38074

Modification 3cf9083

Modification eb1a55a

Fix crash in geometry checker when empty geometries are found

#38983

Modification 73a4948

Modification 6938593

[temporal] Fix incorrect frame duration in last frame in animation mode

#40777

Modification f76747b

Default to a time range of the last 24 hours, in 1 hour increments, instead of a confusing « zero length » range

#40868

Modification 5f5a3a7

Fix temporal fields reset if previously set to no value

#43643

Modification 9de5d25

PR #43235

[traitement] Correction d’un problème d’exécution des modèles via le navigateur/glisser-déposer

#43698

Modification cbe2678

Modification 9e0cdcb

Correction de QgsDistanceArea.bearing()

non signalé

Modification 0b499d3

Don’t restrict adding crs selections to list of recent CRSes to only a few select dialogs

non signalé

Modification 870945c

[traitement] Correction de l’utilisation des valeurs de paramètres définis par des données lors de l’édition d’entités sur place

#43758

Modification 3ae9625

[Mises en page] Correction du rectangle d’encombrement qui n’inclut pas la largeur du trait après le chargement à partir de xml.

#43748

Modification fad1800

Cette fonctionnalité a été financée par QGIS.ORG (grâce aux dons et adhésions de soutien)

Cette fonctionnalité a été développée par Nyall Dawson