Modifications apportées par QGIS 3.22

image1

Release date: 2021-10-22

QGIS 3.22 Białowieża vise à célébrer le centenaire du parc national de Białowieża, en Pologne, qui a été créé en 1921. La forêt de Białowieża est l’une des dernières forêts primaires du monde, située à la frontière entre la Pologne et la Biélorussie. C’est l’une des rares forêts naturelles anciennes d’Europe tempérée de plaine et elle est protégée depuis plus de 600 ans. La valeur exceptionnelle de la forêt de Białowieża a été reconnue par son inscription au patrimoine mondial naturel de l’UNESCO Site <https://whc.unesco.org/en/list/33>`__.

La forêt de Białowieża doit son nom au village de Białowieża, qui se trouve en plein milieu de cette forêt. Il s’agit de l’un des plus anciens établissements de la région, qui accueille aujourd’hui de nombreuses activités de recherche et de tourisme. Aujourd’hui, trois institutions de recherche sont présentes dans le village : la station géobotanique de Białowieża, Université de Varsovie, l’Institut de recherche sur les mammifères, Académie polonaise des sciences, et l”Institut de recherche forestière, Département des forêts naturelles. En outre, un grand nombre de scientifiques polonais et étrangers se rendent à Białowieża afin de mener leurs études, et à ce titre, il existe également d’autres utilisateurs de QGIS dans la région, ainsi que des projets supplémentaires qui contribuent aux écosystèmes des données ouvertes et des logiciels libres, tels que le projet Open Forest Data

Vous pouvez en savoir plus sur le projet et sur cette version de QGIS sur le site Web dédié au projet, https://qgisbialowieza.pl.

Cette version riche en fonctionnalités comprend un grand nombre d’améliorations de l’expérience utilisateur et de contrôles ajoutés à diverses fonctionnalités avancées. En plus d’une multitude de fonctionnalités supplémentaires de maillage et d’améliorations opérationnelles, QGIS Desktop inclut désormais des outils d’annotation et la prise en charge des couches d’annotation, parmi bien d’autres choses encore. Pour un tour d’horizon de toutes les nouvelles fonctionnalités introduites, vous pouvez visionner la vidéo de présentation à l’adresse suivante https://youtu.be/U-RHBt6WZi8

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.

Annotations

Fonctionnalité: Propriétés et effets de la couche d’annotation

Les propriétés supplémentaires pour les couches d’annotation sont désormais les suivantes :

  • Une fenêtre de propriétés de la couche d’annotation, contenant des informations de base sur la couche et des options pour définir les plages d’échelle, l’opacité, le mode de fusion et les effets de dessin pour la couche.

  • Une option pour visualiser les propriétés de la couche d’annotation principale via la barre d’outils d’annotation (la couche d’annotation principale est la couche cachée qui est toujours présente au-dessus de toutes les autres couches de la carte, il est donc impossible d’ouvrir sa fenêtre de propriétés via l’arbre des couches)

  • Options permettant de définir opacité/mode de fusion/effet de peinture d’une couche d’annotation dans le dock de style de couche pour des modifications interactives.

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

Fonctionnalité : Modification des nœuds dans un élément d’annotation

L’outil de modification des annotations peut désormais être utilisé pour modifier les nœuds d’un élément d’annotation en cliquant sur un nœud existant et en le déplaçant. Les interactions de l’utilisateur suivent les modèles standard de QGIS comme suit :

  • Clic gauche pour commencer le déplacement

  • Deuxième clic gauche pour appliquer les changements

  • Clic droit pour annuler

  • La sélection d’un nœud et l’appui sur la touche de suppression suppriment le nœud.

  • Un double clic sur un segment ajoutera un nœud

image2

Cette fonctionnalité a été financée par le groupe Suisse des utilisateurs de QGIS.

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

Fonctionnalité : Déplacement de l’annotation sélectionnée à l’aide des touches du curseur

Lorsqu’un élément d’annotation est sélectionné, il peut être déplacé en appuyant sur les touches de curseur.

Cette fonctionnalité comprend la possibilité d’utiliser des raccourcis clavier de la même manière que pour les éléments de mise en page :

  • shift + cursor: Grand mouvement

  • alt + cursor: Mouvement d’1 px

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

Fonctionnalité : Outils de création d’éléments d’annotation ligne/polygone

Des fonctions permettant de créer de nouvelles annotation de type ligne et polygone ont été ajoutées aux outils d’annotation.

Celles-ci prennent en charge les mêmes interactions que les fonctions de dessin vectoriel, telles que l’accrochage, le traçage, l’ancrage des cadrans, le retour en arrière pour supprimer les sommets, les modes de numérisation des courbes et des flux, etc.

Cette fonctionnalité a été financée par le groupe Suisse des utilisateurs de QGIS.

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

Fonctionnalité : Nouvel outil de texte ponctuel

Un cadre a été créé pour que les outils cartographiques puissent créer de nouveaux éléments d’annotation, y compris la possibilité de créer de nouveaux éléments d’annotation en texte ponctuel.

image3

Cette fonctionnalité a été financée par le groupe Suisse des utilisateurs de QGIS.

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

Fonctionnalité : Barre d’outils des annotations

Une nouvelle barre d’outils d’annotations a été ajoutée qui fournit des actions suivantes :

  • Créer une nouvelle couche d’annotation vide dans le projet actuel.

  • L’outil « Modifier les annotations », qui fournit une interface pour modifier les annotations existantes.

Les opérations prises en charge pour la fonction de modification des annotations sont les suivantes :

  • Cliquezr sur une annotation existante pour la sélectionner, ses propriétés s’affichent dans le dock de style de la couche, notamment le symbole, l’échelle de référence, l’indice z, etc.

  • Cliquez avec le bouton gauche de la souris sur un élément d’annotation sélectionné pour commencer à le déplacer. Un clic droit ou un échappement annule le déplacement, tandis qu’un second clic gauche confirme le déplacement.

  • Si vous appuyez sur la touche de suppression alors qu’une annotation est sélectionnée, cette annotation sera supprimée.

Cette fonctionnalité a été financée par le groupe Suisse des utilisateurs de QGIS.

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

Outils cartographiques

Fonctionnalité : Ajout d’un outil cartographique « mesure du relèvement ».

Cet outil se comporte de la même manière que l’outil cartographique existant « mesurer l’angle », mais il suffit à l’utilisateur de cliquer sur deux points de la carte et il affiche le relèvement entre ces points.

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

Interface utilisateur

Fonctionnalité : Basculer l’édition sur plusieurs couches sélectionnées

The toggle editing action has been modified to support activation on all selected layers, making it easy to start and stop editing sessions across multiple layers simultaneously. Although the editing session status for all selected layers may not be the same, all selected layers will be toggled to an active or inactive state as the inverse of the current state of the currently active layer. This functionality is applied to the menu item Layer > Toggle Editing, the Toggle Editing button on the digitizing toolbar, and the Toggle Editing entry in the layers context menu.

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

Fonctionnalité : Identification des groupes de couches et de toutes les couches sélectionnées

Alors que l’outil d’identification d’entités prenait en charge plusieurs modes de sélection, le mode « couche actuelle » a été étendu pour prendre en charge la sélection de groupes de couches, et identifiera les éléments de toutes les couches sélectionnées. Seules les entités des couches visibles dans un groupe de couches seront identifiées.

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

Feature: Add a “Show in Files” action for all file items in browser

Opens a file explorer window and directly selects the file

Also fixes the existing « File Properties » action so that it shows regardless of the file type, and doesn’t show incorrectly in some circumstances.

image4

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

Symbologie

Feature: Custom units for geometry generator symbol layers

Geometry generators now expose an option for users to select which units should be used for returning geometries in, rather than only supporting the units defined in the layer CRS. This is especially useful in situations where the symbol is not associated with a layer, such as when used in layout items.

The update provides the following unit choices:

  • Map units (the default, previous behavior)

  • Millimètres

  • Pixels

  • Pouces

  • Points

When millimeters, pixels, inches or points are selected, then the @map_geometry variable will be available for use within the expression, containing the feature geometry in the specified units (relative to the map frame), whilst the $geometry variable remains available within the expression in the layer CRS map units.

image5

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

Feature: Symbology reference scale for vector layers

An option has been exposed that allows the configuration of reference scales for feature symbologies on vector layers.

In practice, this defines the relevant map scale at which the configured symbology and label sizes may be referenced with paper-based units, such as millimeters or points. These unit sizes will then be automatically scaled accordingly, based on the ratio of the relevant reference scale and the scale of the current map view.

For instance, where a line layer is configured to use a 2mm wide line using a reference scale of 1:2000, the feature would be rendered using 4mm wide lines at a map scale of 1:1000, or 1mm with a map scale of 1:4000.

Cette fonctionnalité a été financée par North Road, merci à SLYR

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

Feature: Invert colors filter option for raster rendering

It is now possible to invert the colors of a raster being rendered via a new invert colors option. This can come in handy on a number of occasions. For example, a light raster base map can quickly be turned into a dark base map without the need to recreate a new raster dataset.

image6

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

Étiquetage

Feature: Specify unit for data defined label rotation

Specify the angle unit for data defined label rotation

image

Peek 2021-08-29 14-38

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

Mesh

Feature: Create new mesh layer

QGIS now supports the creation of new mesh layers.

The mesh creation supports the following creation formats:

  • New empty mesh layer

  • New mesh frame based on an existing mesh within the project

  • New mesh frame based on an existing mesh from a file

image9

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Mesh frame editing

QGIS now supports mesh frame editing, which supports the ability to ensure mesh consistency and provides the ability to undo and redo edit operations.

This introduces the QgsMeshEditor class to the QGIS Python API, which allows for performing edit operations, and the QgsTopologicalMesh class which is not exposed to the Python API but is used for ensuring that edited mesh elements remain topologically correct and perform data modifications.

image10

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Mesh frame editing lifecycle

This feature has been introduced in the scope of QEP 228 which outlines the introduction of Mesh Editing tools, implements changes to the User Interface, and exposes new functionality to the API.

Mesh frame editing now supports a complete set of functionalities for controlling the editing lifecycle operations, including start, commit, roll back, and cancel, similar to vector layers.

image11

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Edit mesh map tool

This feature has been introduced in the scope of QEP 228 which outlines the introduction of Mesh Editing tools.

Mesh editing map tool now supports the following operations:

  • Add vertices/ faces

  • Select vertices/ faces

  • Remove vertices/ faces

  • Change the Z values of vertices

  • Move vertices

  • Interaction with edges

  • Split faces

image12

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Advanced mesh editing enhancements

This feature has been introduced in the scope of QEP 228 which outlines the introduction of Mesh Editing tools, implements changes to the User Interface, and exposes new functionality to the API.

The QGIS User Interface provides delaunay triangulation and face refinement functions, which are accessible from the context menu in the map when vertices and/ or faces are selected from a mesh layer. These options may be migrated to buttons in the mesh toolbar once further functionality has been introduced.

mapToolrefine

The QGIS API has also been extended to support advanced editing for meshes, which is introduced by a new interface abstract class QgsMeshAdvancedEditing. Derived classes of this class can be implemented to make some advanced editing on a mesh: generation of faces to add to the mesh, particular operation on many faces or vertices. The advanced editing is made by passing a QgsMeshAdvancedEditing instance to a QgsmeshEditor instance, and the editing is applied as other editing operations.

Two advanced editing functions are implemented within this feature:

  • Triangulation de Delaunay

  • Faces refinement

image14

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Select editable mesh elements by polygon

Users can now select mesh elements within a digitized area when performing mesh editing. Each vertex of the polygon is digitized using a left click, whilst right clicking will complete and validate the polygon to select intersecting mesh elements (faces and vertices). Using the backspace key will allow the user to remove last vertex, and the Escape key will allow users to return to the normal digitizing mode.

This function supports two behavior modes with different selection predicates as follows:

  • Touching elements (default), or partially included/ intersecting elements will be selected (green rubber band).

  • Contained, or completely included elements will be selected (blue rubber band).

image15

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Select mesh elements by existing geometries

Two actions have been added for selecting mesh elements from geometries present in existing vector layers.

After selecting vector layer geometries, the user can use these tools to select mesh elements using the touching or containing predicates.

image16

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Select mesh elements by expression

An interface has been created for selecting mesh elements by expression during mesh editing. In addition, a contextual expression function $face_area has been added that returns the area of a mesh face.

image17

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Transform single vertex

A new editing mode for the mesh transform tool allows the user to import the coordinates of a single selected vertex.

The tool button on the top right of the Transform Mesh Vertices window toggles this mode, and each time a single vertex is selected it will automatically populate the available fields for the user to adjust the vertex coordinates accordingly.

image18

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Reindex/ renumber mesh layer

Users are now able to reindex (or renumber) the vertices and faces of a mesh layer during editing. The renumbering is an optimization of the mesh with the Cuthill-McKee algorithm.

image19

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Force mesh by polylines

When editing mesh features, users can now transform features by forcing them to conform to a surface defined by existing polylines, or break lines. Faces are forced to follow the break lines, that is, edges of encountered faces have to be on these lines. Users may select break line geometries and then use the dedicated button to transform intersecting mesh elements.

Options provided for the transform include:

  • Adding new vertices when the lines cut the internal edges

  • Interpolating the Z value of newly added vertices on the mesh or from the lines

  • Tolerance setting for shifting existing vertices into place and preventing the creation of new vertices along line within the specified distance

forceByBreakLine

Whilst the term « break lines » is typically used to refer to polylines that constrain a surface or TIN to the defined positions, these break lines are often components of the mesh itself, and additional operations would continue to constrain the surface to these lines. This functionality specifically transforms the surface in a static manner, so that future operations are not constrained to the lines used to transform the mesh elements.

image21

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Mesh transform by expression

User can perform geometrical transformations on a mesh using an expression to change the vertices” coordinates. All coordinates (X,Y,Z) of selected vertices can be calculated with an expression, allowing transformation of the mesh while the mesh is still valid.

With a valid expression, selecting the « Preview transform » option will calculate the new expression based mesh coordinates and identify whether the transform is valid and may be applied.

If the preview is green, the transformed mesh is valid and the user can apply the transformation. If the preview is red, the transformed mesh is invalid and user cannot apply the transformation.

Once applied, users have the option to undo or redo the operation.

image22

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Rendu

Feature: Allow using physical DPI for map canvas

A new setting has been made available for correctly using the physical screen DPI instead of logical DPI, allowing symbols to be rendered equally on different attached devices (hi dpi and low dpi), and in mobile applications such as QField.

This setting is disabled by default to ensure that symbols are not scaled differently than they were in previous versions of QGIS.

Cette fonctionnalité a été développée par Matthias Kuhn

Feature: Data defined raster layer opacity

A new control has been exposed which allows the opacity of a raster to be data defined. This allows for the varied representation of a raster layer, in various contexts, such as on different pages of an atlas, being dependent on the visibility of another layer, or adjusted by temporal variables etc.

Additionally, a « redraw layer only » temporal mode for raster layers has been added, which causes a raster layer to be redrawn on each new animation frame as in the equivalent functionality for vector layers. This may be useful in many contexts, such as when the layer uses time-based expression values like the data defined renderer opacity to fade in or out a raster layer from an animation.

image23

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

Expressions

Feature: Mesh expression functions for vertex_as_point and vertex_z

Expressions have been added for interacting with mesh layers, with the following functions returning value related to the current vertex:

  • $vertex_as_point: returns the current vertex as a geometry point

  • $vertex_z: returns the Z value of the current vertex.

These two functions are contextual and need to be added in a QgsExpressionContext with QgsExpressionContextUtils::meshExpressionScope() for the creation of a specific QgsExpressionScope.

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Expression function for $z

The z value for the current feature in an expression context can now be retrieved using $z

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

Cette fonctionnalité a été développée par Lutra Consulting (Vincent Cloarec)

Feature: Affine transform expression

An affine_transform function has been added to QGIS Expressions.

Cette fonctionnalité a été développée par Antoine Facchini

Feature: Straight distance2d expression

A straight_distance2d function is now available in QGIS expressions for retrieving the direct/ Euclidean distance between the first and last vertex of a curve geometry feature.

Cette fonctionnalité a été développée par Antoine Facchini

Feature: Add sinuosity expression

A sinuosity function has been added to QGIS expressions.

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

Feature: New exif() and exif_geotag() functions

A new pair of functions was added to the QGIS expression engine to read exif tags from image files. The two functions are:

  • exif(path, tag) : this function returns the value of a given tag string for the provided image file path; when the second optional parameter isn’t provided, the function will return a map object containing all exif tags and their values.

  • exif_geotag(path) : this function returns a point geometry from the exif geotags containing in the provided image file path.

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

Numérisation

Feature: Geometry snapper algorithm optimization

The geometry snapper is now blazingly fast after benefiting from another round of optimization work. Small snapping distance values hanging QGIS forever is now a thing of the past.

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

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

Feature: Convert to curve with vertex tool

The ability to convert vertices to or from curved vertices is now supported with the Vertex tool, allowing users to convert vertices with the « C » and « O » keys.

Additionally, methods for convertVertex() have been introduced for the QgsGeometry and QgsCompoundCurve objects in the QGIS API.

image25

Cette fonctionnalité a été financée par Swiss QGIS user group

Cette fonctionnalité a été développée par Olivier Dalang

Feature: Add Z/M support to Advanced Digitizing

The QGIS Advanced Digitizing tools now support the entering of user-defined Z and M values, greatly improving the available control for newly digitized features such as components of 3D networks.

image26

Cette fonctionnalité a été financée par la Métropole Européenne de Lille @Jean-Roc

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

Gestion des données

Feature: Drag and Drop support for external storage file widget

Users may now use Drag and Drop support on an external resource widget when an external storage has been defined and configured appropriately.

image27

Cette fonctionnalité a été financée par Lille Metropole

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

Feature: File-based dataset size and last modified date in the layer properties dialog

The layer properties dialog’s information panel now shows the size and last modified date of file-based datasets, removing the need to retrieve these details from a file manager. These additional details are also visible in the browser panel’s information section. For datasets formed of more than a single file, the size will reflect the sum of all the auxiliary/ sidecar files forming the dataset.

image28

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

Feature: Rename files in QGIS Browser

A rename action has been added to the manage submenu for files in the QGIS browser. If the renamed file corresponds to a spatial dataset with multiple auxiliary/ sidecar files, then these will be renamed accordingly.

Additionally, users are warned if the file is a layer which exists in the current project and are asked whether they want to automatically update all the layer paths accordingly.

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

Feature: Move GPS tools « add gpx layer » functionality to Data Source Manager

Functionality from the GPS tools plugin to add GPX layers has been moved to a new « Add GPS Data » page in the data source manager.

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

Feature: Load projects from GPKG using drag and drop

Historically, when using drag and drop functionality with the GPKG format, only feature layers were represented to load into QGIS.

QGIS will now show projects embedded in a GPKG when the GPKG file is added to the QGIS canvas using the drag and drop functionality.

image29

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

Feature: External Storage support

QGIS now includes an External Storage API, in line with the proposal outlined in QEP 196.

The implementation includes the following features:

  • External storage API

  • Registry that contains all external storage backends

  • SimpleCopy external storage that stores the selected external resource on a specific location on disk

  • WebDAV support

In addition, a widget has been added to allow for the configuration and visualization of external storage backends and components. The storage mode (File or Directory) widget is not currently visible when an external storage is selected, and relative path settings are hidden as relative paths are not relevant to external storage data.

image30

Cette fonctionnalité a été financée par Lille Metropole

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

Formulaires et widgets

Feature: Drag & Drop designer form actions

Layer actions are now available in forms using the drag and drop designer

image31

Cette fonctionnalité a été financée par Kanton Solothurn, Amt für Geoinformation

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

Légende des couches

Feature: Use placeholder icon in legend for raster layers

A new feature has been added to allow the selection of a placeholder image which may be used in the legend item of a raster or vector layer. This is very useful in certain instances such as when using raster layers with QGIS server, preventing long lists of palleted values from GetLegendGraphic requests and instead returning a tailored result, among various other use cases.

image32

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

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

Outils d’analyse

Feature: Add if() function to raster calculator

A long awaited feature has been for QGIS to support simple if() statements in the raster calculator.

Although conditional statements have been supported in the raster calculator for a while, the syntax and structure of the expressions was often verbose and complex.

The raster calculator will now support simple conditional statements with the common syntax of if ( condition , option1 , option2 ) whereby if the condition evaluates to true, the first option will be used, otherwise the second option will be used.

image33

Cette fonctionnalité a été développée par Francesco Bursi

Feature: Virtual raster support in raster calculator

Virtual raster data provider support has been added to the QGIS raster calculator, which now allows users to perform raster calculator operations without specifying an output file or writing the resulting raster to disk.

This option is enabled via the UI by checking the « Create on-the-fly raster instead of writing layer to disk » checkbox in the raster calculator, and is also supported via the PyQgis API.

Resulting raster layers may be used in further analysis operations and allow for user specified raster names. Where a name is not provided for the resulting raster, it will be named according to the formula used to generate it.

image34

Cette fonctionnalité a été développée par Francesco Bursi

Traitement

Feature: Annotation layer parameter type for processing

An annotation layer parameter type has been added to the QGIS Processing Framework, which includes a new algorithm for converting main annotation layer items to secondary annotation layers. This is useful for moving items created in the main layer to a secondary layer, so that the item placement can be adjusted within the layer stack.

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

Feature: Add a POST option to the FileDownloader processing algorithm

Add a choice between performing GET or POST requests when downloading a file using the FileDownloader processing tool.

If the POST parameter is specified, some DATA can be added in the query.

This is useful in many contexts, such as for sending longer requests to the Overpass API using POST to download OSM data.

image35

Cette fonctionnalité a été financée par 3Liz

Cette fonctionnalité a été développée par Étienne Trimaille

Feature: Add new « Select within distance » and « Extract within distance » algorithms

New algorithms have been provided which allow users to select or extract features from one layer which are within a certain distance of features from another reference layer.

The distance checking is heavily optimized, using spatial indices to restrict the number of features retrieved, and also automatically handling off the check to the database server for layers using the PostGIS provider.

Additionally, the distance parameter may be a data-defined. property

Cette fonctionnalité a été financée par QTIBIA Engineering

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

Feature: Point cloud parameter for Processing

A new point cloud parameter has been added to the QGIS Processing. Framework. this allows for the filtering of point cloud layers in the map layer and multiple layers parameters. This opens the door for native point cloud algorithms and improves point cloud support for 3rd party providers.

Cette fonctionnalité a été développée par Alexander Bruy

Feature: Remove the GPS importer plugin

The last of the GPS tools functionality has been ported to three new processing algorithms, namely:

  • Convertir les données GPS

  • Envoyer des données GPS vers un appareil

  • Télécharger des données GPS à partir d’un périphérique

As a result, the GPS importer plugin has been made redundant and has been completely removed from QGIS.

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

Feature: Convert GPX feature type processing algorithm

The Convert GPX feature type tool has been ported from the GPS tools to a new processing algorithm, which uses the GPSBabel tool to convert GPX features from one type to another (e.g. converting all waypoint features to a route feature).

It is designed as a drop-in replacement for workflows which previously used this functionality from the GPS tools plugin, but with all the benefits and improvements that come automatically from being a part of of the QGIS Processing Framework.

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

Feature: Add incremental field with modulo option

This algorithm allows the user to add a column with an integer that will be incremented from START to the limit, with the possibility of grouping to resume at the value of START following the group.

An option called « modulo counter » is included which will reset the counter to the starting value if the modulo value is reached. Using a value of 0 for the modulo option will disable it.

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

Feature: Duration parameter

A brand new duration parameter was added to the processing framework to facilitate the creation of temporal-related algorithms.

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

Feature: Spatiotemporal ST-DBSCAN clustering algorithm

QGIS 3.22 ships with a brand new spatiotemporal ST-DBSCAN clustering algorithm which clusters point features based on a 2D implementation of spatiotemporal density-based clustering of applications with noise (ST-DBSCAN) algorithm.

For more details, please see the following papers:

  • Ester, M., H. P. Kriegel, J. Sander, and X. Xu, « A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise ». In: Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996

  • Birant, Derya, and Alp Kut. « ST-DBSCAN: An algorithm for clustering spatial–temporal data. » Data & Knowledge Engineering 60.1 (2007): 208-221.

  • Peca, I., Fuchs, G., Vrotsou, K., Andrienko, N. V., & Andrienko, G. L. (2012). Scalable Cluster Analysis of Spatial Events. In EuroVA@ EuroVis.

image36

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

Feature: Move non-native processing providers into independent plugins

In line with the discussion in QEP 226, the SAGA, GRASS, and OTB providers have been separated into independent plugins.

This should prevent issues with the loading of the Processing plugin in cases where any one of these providers is broken. It will also make it easier to convert them into third-party plugins in the future.

The SAGA and GRASS plugins are enabled by default, leaving the UX unchanged. The OTB provider can be enabled in the Plugin Manager if necessary, however, the enabling or disabling of any of these providers is now performed via the Plugin Manager as with any other plugin.

This is mostly an internal change, with the only visible change on the part of end-users being that the Plugin Manager is used to activate or deactivate the SAGA, GRASS, and OTB providers.

Cette fonctionnalité a été développée par Alexander Bruy

Options de l’application et du projet

Feature: Export all keyboard shortcuts to XML or PDF

Historically, when exporting keyboard shortcuts to an XML file, QGIS would only export user-defined shortcuts. In instances where no customized shortcuts were found, an empty file would be created.

A new option has been provided to export all available keyboard shortcuts to the resulting XML file, or to generate a PDF output with a list of all defined QGIS shortcuts.

image37

Cette fonctionnalité a été développée par Alexander Bruy

Feature: Move GPS Tools GPSbabel device configuration widget to global settings

The GPS babel configuration settings has been moved from a settings page in the deprecated GPS Tools plugin, to a new page in the main settings dialog.

image38

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

Feature: Set default path structure for new projects

QGIS Desktop historically supported the definition of whether a particular project used an absolute or relative structure from the project properties, however, the default setting for this functionality was always configured to use relative paths.

A new setting has been exposed which allows users to set the default path structure to use either absolute or relative for new projects under the program options. In much the same way the default project format may be configured to use qgz or qgs, this is made available as a global property specific to each user profile.

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

Feature: Allow configuration of the max cache size from QGIS settings

In the qgis_global_settings.ini file, it’s possible to set the max image cache size in bytes.

The cache is used for caching symbology and layout images, If high resolution images are used for printing layout, then this value should be increased accordingly.

Default value is 100mb.

Cette fonctionnalité a été financée par 3Liz

Cette fonctionnalité a été développée par David Marteau

Explorateur

Feature: Improved delete action for browser files

The delete action used from the QGIS browser has been improved in various ways, including:

  • The action is more consistent and applied to all file type items

  • Multiple file deletion is now supported by selecting multiple file items in the browser which includes a confirmation prompt

  • Before deleting files, the current project is scanned to see if it is using any of the files. If so, a prompt is shown asking users if they want to cancel the deletion, or delete and remove layers, or delete and retain layers.

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

Feature: Connections API result widget

As a part of the ongoing efforts to port the table management functionalities from the DB Manager to the QGIS Browser, as detailed in QEP 205, a new SQL dialog is available from the browser panel which provides the ability to execute queries and SQL statements for the following elements:

  • DB connections

  • Schema items

  • Table items

The implementation also supports the following advanced functionalities:

  • A multi-threaded implementation for both API token fetching and row fetching results in non-blocking GUI operations

  • Fully interruptible API

  • Support for progressive loading of features in the results view (fetchMore API)

image39

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

Fournisseurs de données

Feature: Transactions in MSSQL provider

Addition of transaction support to the MSSQL data provider.

There are no GUI-related changes, as users can enable transactional editing as with other providers. This is done by going to the Project Properties and checking « Automatically create transaction groups where possible » in the Data Sources tab.

By default, a running transaction in MSSQL will block other clients from accessing the same data. For example, if one client starts a transaction and adds or modifies a feature in a table, other clients will get blocked when trying to read any data from the table until the transaction is completed.

There is database-level configuration option, READ_COMMITTED_SNAPSHOT, which is OFF by default.

Activating this will change the behavior to function in a similar fashion as other RDBMS systems such as PostgreSQL, in that transactions do not cause blocking and enables the database to support multiple versions of data. This is a database-level property configured by the administrator and can not be automatically set by QGIS when connecting to the database, however it may be activated using the following query:

ALTER DATABASE my_db SET READ_COMMITTED_SNAPSHOT ON

In most instances where transactions are desired, activating this option is likely recommended to prevent freezing in QGIS or other clients.

Cette fonctionnalité a été financée par ms.GIS

Cette fonctionnalité a été développée par Lutra Consulting (Martin Dobias)

Feature: Show system and internal tables in sublayer selection

A check box has been added to the sublayer selection dialog to control whether system and internal tables should be shown. This will be turned off by default, but will be useful in instances where users have a particular need to load a system table into QGIS for viewing or manipulation purposes.

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

Feature: Automatically read and convert metadata from ESRI Personal Geodatabases

Previously this was supported for File Geodatabases and shp.xml metadata, but it is now also supported for ESRI personal geodatabases (.mdb files)

Nécessite GDAL 3.4+

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

Feature: Create a generic data item provider for all file based datasources

This provider uses the QgsProviderRegistry::querySublayers API to automatically create appropriate browser data items for all file based sources, regardless of the underlying provider whether it may be mdal, gdal, ogr, pdal, or ept.

This allows the merging of sources which can be handled by multiple different providers into single container items in the browser, which may be expanded to display all related or nested elements. It is common for many file types, such as GeoPDF or KML/KMZ files to may contain raster and vector layers, or .nc files which may be accessed as a mesh or raster depending on the data provider.

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

QGIS Server

Feature: Enable multiple MetadataUrls

QGIS Server historically only supported the provision of a single metadata URL, but will now allow multiple metadata endpoints to be specified in the service definition.

image40

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

Cette fonctionnalité a été développée par Étienne Trimaille

Feature: Add version to QGIS Server CLI tools

It’s quite a common practice to have arguments like -v and --version for tools accessed via command line interfaces (CLIs), so new --version and it’s alias -v have been added to identify QGIS version information for the following tools:

  • qgis_process

  • qgis_mapserv.fcgi

  • qgis_mapserver

Cette fonctionnalité a été financée par 3Liz

Cette fonctionnalité a été développée par Étienne Trimaille

Programmation

Feature: Expose scriptable vector tile encoder

An additional writeSingleTile method in QgsVectorTileWriter has been exposed to enable the encoding of a single vector tile to a memory buffer. This may support workflows for PyQgis and QGIS Server which include support for vector tiles.

Cette fonctionnalité a été développée par David Marteau

Feature: Encode and write vector tiles in different CRS than EPSG:3857

The QGIS API has been extended to support encoding and writing vector tiles in a different CRS than EPSG:3857.

Note that according to the Mapbox Vector Tile specification, a Vector Tile represents data based on a square extent within a projection. A Vector Tile should contain information about its bounds and projection. The file format assumes that the decoder knows the bounds and projection of a Vector Tile before decoding it.

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

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

Feature: DistanceWithin filter for QgsFeatureRequest

An option has been added to QgsFeatureRequest to request features within a certain distance of a reference geometry

This is made possible by the new enum Qgis::SpatialFilterType which has been added to reflect whether a request uses no spatial filter, a BoundingBox filter (via setFilterRect), or the new DistanceWithin filter.

Par exemple, la requête suivante récupère tous les éléments situés dans un rayon de 50 unités cartographiques autour de la ligne fournie :

QgsFeatureRequest().setDistanceWithin(QgsGeometry.fromWkt('LineString(0 0, 10 0, 12 1)'), 50)

Distance within filters are treated like bounding box filters, in that they are independent of any attribute/id filters (such as feature ids or expressions).

Provider feature iterators can potentially delegate the distance within search to the backend. So, for example, the PostgreSQL data provider could use an ST_DWithin query for optimal index use.

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

Feature: API for preset combobox values

An API has been added to allow a string parameter to show as a combobox with preset choices in processing GUI tools.

In some circumstances, it is desirable to restrict the values available when a user is asked to enter a string parameter that should match a list of predetermined « valid » values, yet these values will vary installation by installation.

For example, a « printer name » parameter, where it may be desired that users may pick a name value from a list of printers installed on the system, but since the printer names will vary between installations, an enum parameter is not a suitable choice.

This is now supported by setting the « value_hints » option in the widget wrapper metadata, as demonstrated below.

Whilst this provides a mechanism for guiding users to select from valid string values when running a Processing algorithm through the GUI, it does not place any limits on the string values accepted via PyQGIS codes or when running the algorithm via other means that do not use the GUI. Algorithms should gracefully handle other values accordingly.

param = QgsProcessingParameterString( 'PRINTER_NAME', 'Printer name')
# show only printers which are available on the current system as options
# for the string input.
param.setMetadata( {'widget_wrapper': { 'value_hints': ['Inkjet printer', 'Laser printer'] } })

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

Feature: QgsExifTools class support for fetching tag values

The QgsExifTools class can now retrieve individual exif tags from images using the readTag function.

E.g.: QgsExifTools.readTag('/my/photo/0997.JPG'), 'Exif.Image.DateTime')

Known exif tags representing time values are automatically converted to Q{Date,Time,DateTime} objects. This makes working with those tags much easier and integrates well with other parts of the QGIS API.

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

Correctifs notables

Correction de bugs par Even Rouault

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

WFS / GML parse issue, but QGIS loads GML as file fine?

#45017

Pas un bug

POST request to modify timestamp does not respect defined format

#44990

Non corrigé / pas un bug

Warning message “Cannot create temporary SpatiaLite cache” when adding many WFS-layers

#44971

Doublon

QGIS creates invalid filter for WFS GetFeature request

#43957

PR #45043

PR #45053

WFS Layer is not rendered when requested CRS is not matching project CRS and « Only request features overlapping the view extent » option is set

#44054

PR #45044

PR #45047

Adding a WFS layer with filter for non-existent attribute leads to broken layer

#43950

PR #45045

PR #45052

New Shapefile layer silently overwrite existing files

#44299

PR #45207

PR #45240

QGIS on linux crashes when opening many geopackages at once

#43620

PR #45211

Non

Crash in QgsPointCloudLayerRenderer when closing while rendering still active

#44144

PR #45227

PR #45241

Geoprocessing tools cause libgeos to throw SIGBUS

#45226

geos PR 481

N/A

QGIS crash after loading WMS layer via script and zooming in and out

#44095

PR #45254

Non

Mostly a usage issue

Integer unexpectedly large in GeoPackage

#45178

Pas un bug

Attributes - Update All button - Creates Corrupted Fields - GeoJSON file

#45139

GDAL PR 4552

N/A

WFS connection manager: GetCapabilities document’s URLs not being used consistently

#45242

PR #45267

PR #45273

QGIS crashes if network connexion is lost and a raster layer is loaded

#45293

GDAL PR 4560

N/A

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Even Rouault

Correction de bugs par Alessandro Pasotti

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

Data Source Manager - ArcGIS REST Server - dialog/window closes when adding a layer

#45050

PR #45059

n/a

« Display no data value as » option is not available in raster layer properties

#44949

PR #45063

Not critical

Raster layer not rendering after data-source change when combined with certain layout element

#44929

PR #45074

PR #45083

Update selected feature ids before emitting featuresDeleted

#44921

PR #45078

Not critical

sample() and identify() from QgsRasterDataProvider don’t always provide the same value

#44902

PR #45086

PR #45145

Copying objects containing multiline strings into another project does not work properly

#44989

PR #45129

Not critical

projecting label coordinates for multiPoint geometry crashes QGIS

#45148

PR #45150

Non

Copy/paste style category « Form » is missing some settings

#45146

Maybe won’t fix, checking with m-kuhn and 3nids

Adding a new point onto a memory multipoint layer kills QGIS

#45152

PR #45157

Attributes - Update All button - Creates Corrupted Fields - GeoJSON file

#45139

PR #45174

Non

WMS parent layer added via QGIS Browser doesn’t use default style

#45192

PR #45209

Non

« Display nodata as » color widget is not automatically updated in layer styling panel

#45132

PR #45264

n/a

PostGIS error while changing attributes (field value and geometry): prepared statement « updatefeature » already exists

#45100

PR #45266

queued

Attribute Table in Layout Manager Font Style Override Doesn’t Show Fields

#45098

PR #45269

queued

WFS Layer from QGIS Server is not rendered because of an issue with coordinate axis order

#45216

PR #45270

Not critical

Not rendering with identity transform raster created with rasterio

#45324

Checked out, probably not a bug

SQL query from DB Manager is executed twice

#45318

PR #45351

queued

can’t use layers where name starts with number in virtual layer

#45347

PR #45354

queued

Show Feature Count counts null in zero category

#45280

PR #45361

queued

Copying table by Drag&Drop in Browser (2) doesn’t copy the table structure correctly

#45286

PR #45375

Non

Wrong histogram plot if raster data type is byte

#45379

PR #45400

queued

Inconsistency regarding pattern handling for QgsServerOgcApiHandler

#45439

PR #45450

queued

Serveur QGIS - La demande WMS GetPrint échoue avec ATLAS_PK

#30817

PR #45521

queued

projectsInDatabase key is not stored to xml for PostGIS connections

#45508

PR #45523

queued

Changing values in Form mode of attribute table doesn’t set active the Save button

#45527

PR #45532

queued

Create spatialite trigger with DBManager do not work

#45420

PR #45553

Non

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Alessandro Pasotti

Correction de bugs par Peter Petrik

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

QGIS 3.20 on Mac crashes when certain Qt signals are emitted

#44182

QGIS-Mac-Packager Commit bf925f311

n/a

Unable to view LAS files written in WGS84 (EPSG:4326) coordinates

#44755

copie de #41765

macOS: Symbol not found: __cg_jpeg_resync_to_restart when reprojecting raster layer with GDAL warp on macOS

#40164

non

non

Not an issue with the nightly (qgis-deps-0.9) anymore

Data Source Manager incorrectly identifies PostGIS raster extent on macOS

#43042

PR #45322

queued

icons not visible in the Layer Notes

#44425

PR #45332

n/a

unable to open any ascii FLO-2D files in Mesh Layer

non signalé

PR #45349

n/a

encoding issue when using GRASS processing tool on macOS

#41870

PR #45399

Not critical - workaround exists

Matplotlib QT backend imports not working on MacOS

#45398

investigation

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Lutra Consulting (Peter Petrik)

Bugs corrigés par by Sandro Santilli

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

Make QgsGeos::prepareGeometry and QgsGeos::cacheGeos idempotent

non signalé

PR #45147

Add a distanceWithin method to the QgsGeometryEngine virtual class

non signalé

PR #45057

Allow calling testdata_pg.sh from any directory

non signalé

PR #45378

Make TestPyQgsPostgresProvider.testGeneratedColumns idempotent

non signalé

PR #45415

Improve PostgreSQL test DB setup documentation and script

non signalé

PR #45413

Add GEOS DistanceWithin API

GEOS Ticket #1124

GEOS commit #ba10ba4508a

GEOS Issue #472

Make Postgres provider test idempotent

#45417

PR #45418

Use GEOSDistanceWithin when available

non signalé

PR #45340

Reduce GEOS conversions and preparations of geometries

non signalé

PR #45195

More heuristics to determine whether to iterate over target source

non signalé

PR #45339

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Sandro Santilli

Bugs corrigés par Loïc Bartoletti

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

More const in geometry

Not reported / performance

PR #45217

QgsFeature::setId improve documentation with a warning

#44898

PR #45189

PR #45229

Geometry Checker: Enlarge FeatureID

#44250

PR #45191

PR #45229

VertexTool. Fixes move vertex on Z layer if CRS are differents (with Vincent Cloarec)

Not reported

PR #45020

Non rétroporté. Introduit de nouvelles méthodes.

Fix Z/M dimension URI via DB Manager.

#34894

PR #45223

PR #45304

[FIX] GeometryValidator init curve support

Not reported

PR #45272

Compile fails, “None” is not a member of “QgsField::ConfigurationFlags”

#44681

Non corrigé / pas un bug

L’union échoue lorsqu’on utilise un point et une couche de polygone

#44801

Différence entre GEOS 3.8 et 3.9

Rings order in MultiPolygon WKT string may leave overlapping parts when deleting holes (native:deleteholes)

#44424

Wontfix for now. We can use Geos to fix the issue, but will remove Z/M and segmentize arc.

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Loïc Bartoletti

Correction de bugs par Denis Rouzaud

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

Régression : tenter d’exécuter l’algorithme de conversion de multiparties en monoparties génère une erreur python.

#45331

PR #45348

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Denis Rouzaud

Corrections de bug par Julien Cabieces

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

Les styles dans la base de données ne fonctionnent pas pour le fournisseur postgres et les couches non géométriques

#44749

PR #45075

PR #45102

L’icône « Notes de couche » ne s’affiche pas lors du copier-coller d’un style

#44692

PR #45302

pas nécessaire

Erreurs JSON ambiguës

#42832

impossible à reproduire

Attribute table: missing features when copying/pasting from scratch layer

#42798

Impossible à reproduire (Fermé)

La vue formulaire affiche des images jointes erronées lors du défilement des éléments.

#42705

Déjà corrigé

Build Virtual Raster tool creates an additional layer when selecting and reordering layers

#44270

PR #45092

PR #45102

Attachment widget options are reset when you reopen the field widget properties

#45089

Doublon

Les attributs des entités effacées n’agissent pas comme s’ils avaient été effacés et empêchent l’enregistrement de la couche.

#39146

PR #45176

PR #45292

[Postgres] valeur par défaut affichée à la place de NULL

#45198

PR #45199

PR #45291

un copier/coller d’entité met un champ NULL à sa « valeur par défaut » dans un géopackage

#44544

Question : Doit-on évaluer la valeur par défaut du champ NULL lors du copier-coller ?

Le générateur d’expressions de QGIS ne peut pas résoudre correctement les arrays de texte PostgreSQL

#45290

PR #45321

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Julien Cabieces

Correction de bugs par Nyall Dawson

Intitulé du bug

URL du ticket (le cas échéant)

URL du commit (Github)

Correctif rétroporté sur la 3.16 (GitHub)

Remark

Ne pas réinitialiser le style de la couche de maillage lors du changement de source de données pour la couche

#45391

PR #45392

N/A

Correction d’un crash lors du rendu des entités et des formes découpées

#45190

Commit 6a4cdb36

PR #45422

Correction d’un crash lors de l’utilisation des outils d’étiquetage des cartes avec des projets contenant des couches de tuiles vectorielles

#44486

PR #45311

PR #45390

Correction de la taille des symboles en mètres à l’échelle ne peut être négative

#45298

Commit 360351a

Ne convient pas pour le backport

Correction de l’écrasement du style par défaut des couches de géopackage

#42811

Commit eef6939b96

PR #45107

Fix hang when rendering lines with dash patterns with all 0 values

#41994

Commit f4e2e900

PR #45107

Update default toolbar locations

non signalé

Commit 77be95feac

N/A

Don’t overwrite existing data defined property expressions when an interactive map tool is used to move/rotate/edit labels

PR #45279

Commit b30c17f0

N/A

Fix crash on exit with CAD dock open

non signalé

Commit 1fb21f69f

N/A

Fix rule based symbology doesn’t work for columns with “-” in name

#44379

Commit 51fa9840

Commit 797367dde

Avoid hangs when drawing symbol icons using inappropriate sizes in map units

#41149

PR #45233

Ne convient pas pour le backport

Fix inappropriate display of z/m values in cad dock when non-z/m layer is selected

non signalé

Commit 55a76d1d

N/A

Implement more responsive cancelation of map render for maps using complex effects

#41149

PR #45212

Ne convient pas pour le backport

Allow CAD dock to be used for geographic CRS, but only allow the x/y/z/m constraints to be set

non signalé

PR #45185

Ne convient pas pour le backport

Fix crash when opening symbology properties of a layer set to embedded renderer which is not compatible with embedded renderers

#45159

PR #45193

N/A

Fix QgsMapToolCapture coordinates when associated with a non-vector layer where the layer CRS != canvas CRS

non signalé

PR #45183

N/A

Fix geometry generator rendering outside of vector layers

#39159

PR #45165

Ne convient pas pour le backport

Fix color customisation is lost when configuring renderers using geometry generators

#38377

PR #45166

Ne convient pas pour le backport

Fix rendering of interpolated line symbol layer outside of vector layers

#45028

PR #45164

N/A

Fix QgsGeometry.fromPolygonXY docs

#45099

Commit 3d599fe4

N/A

Fix digitizing features using CAD dock when layer CRS != canvas CRS

non signalé

PR #45108

N/A

Correction du décalage de l’arrière-plan lors du dessin d’un texte pivoté

#44907

PR #45425

en cours

Échapper correctement les chaînes de caractères source complexes dans le journal de l’historique de traitement

#45403

PR #45426

en cours

Fix handling of ADF files in browser

non signalé

PR #45393

Ne convient pas pour le backport

These bug fixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs corrigés par Nyall Dawson