Modifications apportées par QGIS 3.16

image1

Release date: 2020-10-23

Encore un grand jour pour le projet QGIS ! La nouvelle version à long terme apporte un large panel de fonctionnalités nouvelles à QGIS Desktop et QGIS Server. Cette version apporte de nombreuses nouvelles options notamment pour la cartographie en 3D, la génération de données maillées à partir d’autres types de données, des outils d’analyse spatiale additionnels, des améliorations concernant la symbologie et l’interface utilisateur ! Beaucoup d’outils ont été ajoutés à la boîte à outils de traitement toujours grandissante et l’explorateur QGIS intègre maintenant des fonctionnalités d’interactions avancées avec les bases de données qui étaient au paravent réservées à DB Manager. Ils s’agit de quelque unes des nouvelles fonctionnalités introduites dans cette version et les utilisateurs de la version LTR précédente en trouveront un nombre encore plus important depuis la version 3.10. Nous avons la joie de détailler ci-dessous certains des points forts de cette nouvelle version.

Remerciements

Nous souhaitons 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 <https://www.qgis.org/fr/site/about/sustaining_members.html#list-of-donors>`__. Si vous souhaitez devenir sponsor officiel du projet, veuillez visiter notre page de parrainage <https://www.qgis.org/fr/site/getinvolved/governance/sustaining_members/sustaining_members.html#qgis-sustaining-memberships> __ pour plus de détails. Le parrainage de QGIS nous aide à financer nos six 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

Fonction cachée : ajouter la carte des groupes d’utilisateurs

Tapez les mots « user groups » (groupes d’utilisateurs) dans la fenêtre des coordonnées actuelles et regardez la magie opérer.

image2

Cette fonctionnalité a été développée par Germán Carrillo

Temporel

Possibilité d’exporter les images des animations temporelles

Permet d’exporter des images d’animation temporelle vers des images successives, pour les assembler ultérieurement dans une application externe. Les utilisateurs ont un contrôle précis sur la taille de l’image et l’étendue de la carte.

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

Outils cartographiques

Localisateur

Nous avons ajouté un nouveau filtre de localisateur goto.

L’indicateur goto prend en compte les chaînes de caractères suivantes :

  • Un couple de coordonnées (séparées par une virgule ou un espace)

  • Une URL formatée par OSM, Leaflet ou OpenLayers.

  • Une URL Google Maps

La logique de la chaîne XY est la suivante :

  • Si le SCR du canevas n’est pas WGS84 :

    • Si la coordonnée s’inscrit dans les limites du WGS84, ajoutez un résultat WGS84 (celui-ci est pondéré pour avoir une priorité plus élevée que le résultat du canevas CRS ci-dessous).

    • Si la coordonnée s’inscrit dans les limites du canevas CRS, ajoutez un résultat de canevas CRS.

  • Si le SCR du canevas est WGS84 :

    • Si la coordonnée s’inscrit dans les limites du WGS84, ajoutez un résultat WGS84.

image3

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

Interface utilisateur

Ajouter un menu contextuel au canevas de carte

Le canevas de la carte dispose désormais d’un menu contextuel accessible par un clic droit. Par défaut, il crée le menu « Copier les coordonnées » qui a été introduit avec QGIS 3.14, cependant, il est prévu que cette fonctionnalité soit étendue pour permettre d’accéder à de nombreuses autres fonctionnalités avec le contexte spatial à l’avenir.

image4

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

Symbologie

Améliorations de la symbologie des tuiles vectorielles

De multiples améliorations ont été introduites pour l’édition de styles de tuiles vectorielles complexes :

  • Afficher des infobulles dans les listes, afin que les règles de filtrage et les noms complets puissent être affichés sans redimensionner les colonnes

  • Afficher le niveau de zoom actuel du canevas dans les widgets

  • Permettre aux utilisateurs de filtrer la liste des styles pour n’afficher que ceux qui sont actuellement visibles

  • Définir le niveau de zoom correct du canevas lors de l’édition des symboles, afin que les aperçus d’expression fonctionnent bien

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

Permettre aux utilisateurs de spécifier facultativement l’URL pour le style par défaut sur les connexions de tuiles vectorielles

Lors de la mise en place d’une connexion à une source de tuiles vectorielles, il existe une nouvelle option permettant d’entrer une URL vers une configuration de type MapBox GL JSON. Si une URL a été saisie, ce style sera appliqué à chaque fois que les couches de la connexion seront ajoutées a QGIS.

Cela fonctionne également avec les connexions du service de tuiles vectorielles ArcGIS, dont le style de configuration par défaut sera celui spécifié dans la configuration du serveur.

image5

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

Autoriser un décalage défini par les données pour les couches de symboles de remplissage

Toute couche de symboles de remplissage qui prend en charge les polygones de décalage, y compris les remplissages simples, les remplissages d’images raster, les remplissages de formes en rafale et les remplissages de gradients, permettent désormais des décalages définis par les données

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

Importer les styles MapBox GL JSON pour les couches de tuiles vectorielles

Les utilisateurs peuvent désormais charger les fichiers de configuration de style MapBox GL JSON lors de l’importation de fichiers de style sur des couches de tuiles vectorielles

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

Option d’exposition permettant de compenser les motifs de tirets de lignes simples par un montant prédéfini

Permet de modifier le positionnement des tirets/espaces dans la ligne, de sorte que les tirets/espaces peuvent être placés à des positions plus adéquates pour tenir compte des coins de la ligne (peut également être utilisé potentiellement pour « aligner » les bordures de motifs de tirets adjacents).

Le décalage peut être défini en différentes unités, y compris des unités cartographiques, et peut également être défini par des données.

Cette fonctionnalité a été financée par le Canton de Soleure (Suisse)

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

Ajouter des options pour modifier dynamiquement le motif des tirets dans les couches de symboles de lignes simples

Des options ont été ajoutées pour permettre la modification des motifs de tirets afin de mieux contrôler l’amélioration de la qualité de rendu des symboles de lignes. Ces options sont les suivantes :

  • Alignez le motif du tiret sur la longueur de la ligne : Si cette option est cochée, la longueur des tirets sera subtilement ajustée afin de garantir que, lorsqu’une ligne est rendue, elle se termine par un élément tiret complet, au lieu d’un élément espace ou d’un élément tiret partiel.

  • Tweak dash pattern at sharp corners : Si elle est cochée, cette option ajuste dynamiquement le placement du motif du tiret de sorte que les angles vifs soient représentés par un élément de tiret complet entrant et sortant de l’angle vif. Elle est conçue pour mieux représenter la géométrie sous-jacente tout en rendant les lignes pointillées, en particulier pour les lignes dentelées.

Les images suivantes illustrent le changement d’action « Aligner le motif du tiret sur la longueur de la ligne », les lignes jaunes indiquant la position réelle de début et de fin des éléments de la ligne étant symbolisées.

Avant :

image6

Après :

image7

image8

Cette fonctionnalité a été financée par le Canton de Soleure (Suisse)

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

Gérer les symboles 3D grâce au gestionnaire de style

Un support a été ajouté pour la gestion des symboles 3D via le gestionnaire de style QGIS, y compris un support pour l’importation et l’exportation de bibliothèques de symboles 3d, et complète le travail récent d’abstraction complète des symboles 3D et de leurs gestionnaires de widgets.

Malheureusement, il n’y a pas de vignettes générées pour les symboles 3D dans la bibliothèque, et une icône générique est utilisée pour tous les symboles 3D pour le moment. La génération de vignettes n’est pas une mince affaire, aussi a-t-elle été reportée pour le moment.

Cette rubrique aborde le problème soulevé dans 31479.

image9

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

Étiquetage

Ajout d’une option permettant aux utilisateurs de contrôler l’emplacement des étiquettes le long des lignes

Une nouvelle section « Ancrage des étiquettes » dans les paramètres de placement des étiquettes permet aux utilisateurs de spécifier si les étiquettes doivent être placées au centre, au début ou à la fin des lignes. En outre, elle permet de décaler ces positions (en fonction du pourcentage de la longueur de l’élément), qui peuvent être définies de manière statique ou en utilisant une définition définie par des données.

image10

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

Point d’ancrage de contrôle pour les étiquettes de lignes

Une nouvelle option est exposée qui permet aux utilisateurs de contrôler si le point d’ancrage pour l’étiquetage des traits de ligne est une indication ou une exigence stricte. Les modifications de comportement qui en résultent sont notamment les suivantes :

  • Stricte : Les étiquettes sont placées exactement sur l’ancrage de l’étiquette uniquement, et aucun autre placement de repli n’est autorisé.

  • Conseil : l’ancrage de l’étiquette est considéré comme un conseil pour l’emplacement préféré de l’étiquette, mais d’autres emplacements proches du point d’ancrage sont autorisés.

image11

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

Diagrammes

Axe de rendu pour diagramme à barres empilées

Cela permet de rendre l’axe sur les diagrammes à barres empilées si un axe a été défini. L’implémentation est basée sur le rendu de l’axe pour le diagramme histogramme.

Les valeurs négatives ne sont pas traitées correctement par des diagrammes à barres empilées avec ou sans affichage de l’axe.

Résout le bug 34915

image12

Cette fonctionnalité a été développée par Dan Minor

Mesh

Ensembles de données maillées en mémoire avec persistance

Cette fonctionnalité permet de créer des groupes de données en mémoire pour les couches de maillage. Ces groupes de données sont temporaires et ne sont pas conservés une fois que le projet est quitté.

Une nouvelle option a été ajoutée au calculateur de maillage qui permet la création de groupes d’ensembles de données en mémoire.

Cette fonctionnalité introduit également la possibilité de supprimer ou d’enregistrer ces groupes d’ensembles de données en mémoire dans un fichier avec le pilote spécifié.

image13

image14

Cette fonctionnalité a été financée par Artelia Group

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

Identification multiple pour la couche maillée

L’outil d’identification a été adapté lorsqu’il est utilisé sur des couches de maillage et affiche maintenant la valeur de l’ensemble de données correspondant à l’heure actuelle du contrôleur temporel pour tous les groupes d’ensembles de données. Les groupes de données actifs (scalaires et éventuellement vectoriels) sont d’abord affichés, puis les autres groupes de données. D’autres informations sont également affichées, notamment :

  • Source où l’ensemble de données est stocké

  • Le pas de temps de l’ensemble de données qui est affiché (peut être différent du temps du contrôleur temporel). N’affiche rien si le groupe de données n’est pas temporel

  • Centroïde de la vue correspondante

  • Coordonnées du sommet brisé (si un sommet est brisé)

  • Centre du bord brisé (si un bord est brisé)

Lorsque la navigation temporelle n’est pas activée dans le canevas de la carte, les résultats d’identification ne contiennent que des informations sur les groupes d’ensembles de données actifs qui ont des ensembles de données statiques définis dans la boîte de dialogue des propriétés du maillage.

image15

Cette fonctionnalité a été financée par Artelia Group

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

Groupes d’ensembles de données virtuels pour la couche de maillage

La possibilité d’utiliser des groupes d’ensembles de données « virtuels » a été introduite pour les couches de maillage. Cela remplace le groupe d’ensembles de données « mémoire » utilisé dans 37389.

Avec le calculateur de maillage, les utilisateurs peuvent choisir de créer ces groupes de données « virtuels » qui seront ajoutés à la couche. Les valeurs ne sont pas stockées en mémoire, mais chaque ensemble de données est plutôt calculé au besoin à l’aide de la formule saisie dans le calculateur de maillage.

Ces groupes d’ensembles de données virtuels sont enregistrés dans le cadre du projet et sont supprimés ou enregistrés dans un fichier à des fins de persistance.

Les groupes d’ensembles de données persistants et virtuels sont distingués dans l’onglet source des propriétés de la couche de maillage par les changements de couleur du fond de chaque élément, indiqués comme suit :

Persistant : jaune

Virtuel : violet

image16

image17

Cette fonctionnalité a été financée par Artelia Group

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

Ajouter l’exportation à la méthode QgsMesh

Une méthode a été ajoutée pour exporter une triangulation vers une instance QgsMesh, avec la possibilité de construire une couche de maillage avec triangulation à partir de points et de lignes existants. C’est la première étape pour obtenir un QgsMesh à partir d’autres couches de la carte.

Les classes Triangulation et DualEdgeTriangulation ont également été renommées et remaniées pour les rendre plus cohérentes avec le code QGIS.

  • Ajouter une méthode pour exporter la triangulation vers une instance QgsMesh.

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

Création d’une maille TIN

Les couches de maillage TIN peuvent être créées à partir de données de couches vecteur (sommets et/ou lignes de rupture). Le maillage résultant est construit avec une triangulation à retardement contraint. Cette couche de maillage peut être créée à l’aide de l’API python ou d’un algorithme de la boîte à outils de traitement.

image18

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

Rendu

Filtre de correction gamma pour les couches raster

Ajoutez un filtre de correction gamma pour les couches raster en plus des filtres existants de luminosité, de contraste, de teinte et de saturation. Les utilisateurs peuvent ajuster la valeur gamma à partir de la boîte de dialogue des propriétés des couches, en utilisant le panneau de style et/ou les nouveaux boutons de la barre d’outils Raster. La valeur gamma par défaut est de 1,0 et peut être ajustée dans la plage de 0,1 à 10.

Résout le bug 13512

Ajoute également un test de rendu pour le filtre de luminosité et de contraste qui n’a pas de test du tout et corrige certains avertissements de déprédation dans le test Python pour QgsRasterLayer.

image19

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

Fonctionnalités 3D

Permettre l’intégration de fichiers de texture de matériaux 3D dans le style/projet

Quelques nettoyages mineurs de l’API et du code ont été realisés, ainsi que l’introduction de l’utilisation de QgsImageCache pour les fichiers de texture 3D afin de leur permettre d’être intégrés dans les projets.

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

Rendu des ombres

Les ombres peuvent maintenant être rendues en vues 3D.

image20

Cette fonctionnalité a été développée par Nedjima Belgacem

Export de vues 3D

Les scènes 3D peuvent désormais être exportées pour être utilisées dans d’autres logiciels 3D, tels que Blender. Cette fonction d’export prend en charge beaucoup de fonctions supplémentaires, notamment la simplification du modèle de sortie en spécifiant la résolution de sortie, le lissage optionnel du modèle et l’exportation de couches vecteur3D.

image21

Cette fonctionnalité a été développée par Nedjima Belgacem

Support d’éclairage directionnel pour QGIS 3D

Ajout de lumières directionnelles à QGIS 3D

  • L’utilisateur peut maintenant ajouter des lumières directionnelles aux vues 3D.

  • J’ai ajouté un widget sous la section « lights » du dialogue de configuration 3D.

  • L’utilisateur peut spécifier la direction de la lumière, sa couleur et son intensité.

  • Il s’agit simplement d’une duplication de la mise en œuvre des sources de lumière ponctuelles déjà existantes avec quelques changements.

  • Plus tard, il peut être utile d’ajouter un moyen de visualiser la direction de la lumière en affichant un maillage qui est positionné au point de vue de la caméra comme une flèche qui indique comment le soleil éclaire la scène par exemple.

image22

Cette fonctionnalité a été développée par Nedjima Belgacem

Support de texturation pour la couche vecteur

Le support de textures a été ajouté pour QGIS 3D avec les nouvelles fonctionnalités suivantes :

  • Les utilisateurs peuvent maintenant sélectionner une image à afficher sur les surfaces des bâtiments comme carte diffuse à partir des propriétés du symbole.

  • L’utilisateur peut également modifier l’échelle des textures à partir des propriétés du symbole.

Certains problèmes visuels peuvent apparaître lors de l’utilisation de textures. Ces problèmes sont liés aux normales des surfaces que vous pouvez corriger en cochant « add back faces » et en jouant avec les normales inversées et le mode culling dans les propriétés du symbole.

image23

Cette fonctionnalité a été développée par Nedjima Belgacem

Activer les modèles 3D intégrés et distants pour les symboles de points 3D

Les utilisateurs peuvent désormais utiliser et intégrer des modèles 3D distants pour les symboles de points 3D.

image24

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

Ajout d’une option permettant d’afficher l’origine des sources de lumière

Une fonction qui permet aux utilisateurs de basculer une sphère visible à l’origine de la source de lumière dans une scène 3D.

Cela permet de repositionner et de placer plus facilement les sources de lumière par rapport au contenu de la scène.

Résout le bug #37726.

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

Améliorations pour la gestion des matériaux

D’autres améliorations ont été apportées à la manipulation des matériaux et un modèle d’ombrage Gooch a été ajouté. Cela améliore l’API QgsAbstractMaterialSettings :

  • Ajout d’un support d’icônes pour les types de matériaux enregistrés (à utiliser dans la liste déroulante de sélection des matériaux).

  • Ajoute à QgsAbstractMaterialSettings la prise en charge de différentes techniques de rendu. Désormais, les classes de matériaux peuvent indiquer les techniques de rendu qu’elles prennent en charge (par exemple, Triangles, Lignes, InstancedPoints, etc.), et le matériau n’est proposé que s’il est compatible avec la technique requise.

  • La gestion des techniques dans le widget Gooch Material a été améliorée pour éviter de montrer des paramètres qui n’ont aucun effet dans un contexte particulier (par exemple, cacher tout sauf le choix de la couleur ambiante pour les symboles de lignes 2D simples).

  • Un nouveau matériau, « Gooch », a été ajouté. Ce matériau donne un rendu 3D de style CAO, où l’ombrage ne dépend pas de la configuration de l’éclairage dans une scène et où les détails 3D sont toujours visibles, quel que soit le choix de l’éclairage.

image25

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

Expressions

Ajout de la fonction to_decimal() pour convertir les DMS en DD

Une nouvelle fonction QgsCoordinateUtils::dmsToDecimal a été ajoutée, qui expose la fonction to_decimal dans les expressions. Cela permet la conversion de chaînes de caractères DMS (degré/minute/seconde) au format DD (degré décimal).

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

Ajout de la fonction « main_angle » pour retourner l’angle principal estimé d’une géométrie

Retourne l’angle de la boîte de délimitation minimale orientée qui couvre la valeur de la géométrie.

Utile pour les substitutions de données définies dans la symbologie des expressions d’étiquettes, par exemple pour faire pivoter les étiquettes afin qu’elles correspondent à l’angle global d’un polygone, et similaire pour le remplissage des motifs de lignes. image33

image34

Cette fonctionnalité a été financée par le Canton de Soleure (Suisse)

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

Port réfFonctions au core

Diverses opérations de superposition ont été ajoutées au moteur d’expression. Cela couvre les fonctionnalités du plugin refFunctions.

image35

The following new expression functions are implemented:

* overlay_intersects(layer[,expression][,filter][,limit][,cache])
* overlay_contains(layer[,expression][,filter][,limit][,cache])
* overlay_crosses(layer[,expression][,filter][,limit][,cache])
* overlay_equals(layer[,expression][,filter][,limit][,cache])
* overlay_touches(layer[,expression][,filter][,limit][,cache])
* overlay_disjoint(layer[,expression][,filter][,limit][,cache])
* overlay_within(layer[,expression][,filter][,limit][,cache])
* overlay_nearest(layer[,expression][,filter][,limit][,max_distance][,cache])

In all instances, the spatial operator is evaluated against the other layer. If an expression is provided, it returns an array of results. If no expression is provided, it returns a boolean indicating whether or not there is a match for at least one feature. Features can optionally be filtered by an expression, and optionally be limited to a certain count.

La fonction « overlay_nearest » dispose d’un filtre de distance maximale supplémentaire.

image36

Cette fonctionnalité a été développée par Olivier Dalang, OPENGIS.ch

Numérisation

Ajout d’une option permettant de calculer le relèvement en fonction du sens de la marche

Pour les appareils qui signalent des mesures de relèvement erronées, cette option peut être utilisée pour calculer le relèvement GPS en se basant sur les deux emplacements enregistrés précédemment.

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

Numérisation et découpage des éléments courbes

Une nouvelle fonctionnalité a été introduite, qui ajoute la possibilité de passer d’une chaîne linéaire à une chaîne circulaire lors de la numérisation ou de la découpe des éléments d’une couche vecteur.

L’utilisateur peut utiliser le raccourci clavier Ctrl+Shift+G pour passer de linéaire à circulaire.

Pour les fonctions de découpage, de nouvelles méthodes de surcharge ont été ajoutées à l’API. Lors du fractionnement, les courbes sont préservées. Pour cela, la courbe est segmentée avant le fractionnement, et toutes les fonctions de fractionnement sont « désegmentées » après le fractionnement.

Un bouton de la barre d’outils a été ajouté pour permettre de passer du linéaire a circulaire : image37

image38

image39

image40

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

Gestion des données

Algorithme de rééchelonnement des raster pour le traitement

Ajoute un algorithme de redimensionnement du raster pour modifier la plage de valeurs du raster, tout en préservant la forme de l’histogramme du raster. Utile lorsque des raster provenant de différentes sources doivent être comparées ou traitées ensemble et que leurs valeurs de pixels doivent se situer dans la même plage. Par défaut, l’algorithme préserve la valeur NODATA du raster en entrée, mais il est possible de la remplacer.

L’image suivante affiche un histogramme d’un MNE (la plage de valeurs est de 85-243) image41 Et l’image suivante affiche un histogramme du même MNE redimensionné dans la plage 100-1000 image42

Résout le bug 26099.

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

Formulaires et widgets

Plusieurs widgets pour une seule relation

Des widgets à relations multiples peuvent désormais être créés pour une seule relation, chacun ayant sa propre configuration distincte.

Cette fonctionnalité modifie le comportement des widgets de relation créés dans l’interface de glisser-déposer et fournit une résolution pour Issue 37675.

A la lecture d’un projet configuré avec d’anciennes versions de QGIS, la configuration est reprise et écrite dans la nouvelle configuration du widget. Les formulaires autogénérés ne permettent plus la configuration des widgets de l’éditeur de relations, mais s’il a été configuré dans une ancienne version de QGIS, le formulaire d’attribut lira toujours cette configuration.

image44

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

Filtrer les expressions dans le widget de référence des relations

Une option a été ajoutée pour l’expression de filtre statique à utiliser dans le widget de référence de relation.

image46

Cette fonctionnalité a été développée par Ivan Ivanov

Outils d’analyse

Ajouter les temps de profil de charge du projet au dock des outils de déboguage

Modification de la classe QgsRuntimeProfiler qui remplit les fonctions suivantes : 1. Rendre le fil de profilage sûr, de sorte qu’il soit possible d’enregistrer des temps sur plusieurs fils 2. Permet différents « groupes » de profilage

Le nouveau groupe API est utilisé ici pour exposer une répartition des temps de chargement du projet dans le dock de débogage, parallèlement au profilage de démarrage existant de QGIS. Il est maintenant possible d’obtenir une ventilation des différentes étapes de la charge du projet, afin d’identifier les causes des temps de charge lents.

TODO : Dans la majorité des cas, les problèmes de performance seront causés par une ou plusieurs couches, il serait donc bon de décomposer davantage les temps de charge de chaque couche. Par exemple, pour une couche WFS individuelle, nous pouvons voir le temps pris pour les « capacités du serveur » initiales ou d’autres requêtes. Ajoutez un groupe avec les temps de profil pour le rendu de la carte, afin que vous puissiez voir exactement quelles couches de votre projet causent des temps de redessin de carte lents.

Dans sa forme actuelle, seul le temps de chargement global de chaque couche individuelle est affiché.

image47

image48

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

Traitement

Ajouter une chaîne d’aide pour les paramètres

Les chaînes d’aide peuvent maintenant être spécifiées au niveau des paramètres.

Cela sera visible dans l’info-bulle, dans le CLI et dans l’API de traitement Python.

image55

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

Nouvel algorithme « Aligner les points sur les entités »

Cet algorithme calcule la rotation nécessaire pour aligner les éléments ponctuels avec leur élément le plus proche d’une autre couche de référence. Un nouveau champ est ajouté à la couche de sortie, qui est rempli avec l’angle (en degrés, dans le sens des aiguilles d’une montre) par rapport à l’élément de référence le plus proche.

En option, la symbologie de la couche de sortie peut être configurée pour utiliser automatiquement le champ de rotation calculé pour faire tourner les symboles des marqueurs.

Si vous le souhaitez, une distance maximale à utiliser lors de l’alignement des points peut être fixée pour éviter d’aligner des points isolés sur des éléments éloignés.

Un exemple de cas d’utilisation est l’alignement des symboles de points de construction pour suivre la direction de la route la plus proche en utilisant une valeur de rotation définie par les données générées par cet algorithme.

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

Ajout d’un algorithme de modélisation pour créer des répertoires

Cet algorithme permet aux modèles de créer de nouveaux répertoires de fichiers. Utile pour les modèles qui doivent fournir des résultats à certains chemins créés dynamiquement (par exemple un dossier contenant la date du jour).

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

Ajout d’un algorithme de modélisation pour définir une variable d’expression de projet

Permet à un modèle de définir des variables d’expression au niveau du projet pendant l’exécution. Particulièrement utile avec les nouveaux algorithmes Export Print Layout pour permettre aux modèles qui définissent dynamiquement les variables utilisées dans une mise en page avant l’exportation.

Cette fonctionnalité a été portée à partir de https://gis.stackexchange.com/questions/359386

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

Ajouter des algorithmes de traitement pour exporter une mise en page au format PDF/image

Les modèles sont capables d’exporter des mises en page du projet en cours. L’un des cas d’utilisation est de permettre aux utilisateurs de créer un modèle en cours de projet qui exporte un ensemble particulier de mises en page du projet vers certains dossiers, afin qu’ils puissent facilement réexporter le projet en cours en une seule opération au lieu de devoir ouvrir manuellement plusieurs mises en page et les exporter une par une.

De plus, grâce aux nouvelles possibilités d’avoir des fichiers de sortie basés sur des expressions dans les modèles, vous pouvez automatiquement exporter les mises en page vers un dossier avec l’étiquette de la date du jour et l’inclure dans les noms de fichiers exportés !

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

Ajouter une fonction de sauvegarde à l’algorithme des fichiers

Il existe maintenant un algorithme de traitement natif pour sauvegarder les entites vecteur dans un ensemble de données de fichier au sein d’un modèle. Il est fourni avec une paire de fonctions avancées permettant de transmettre les options de l’ensemble de données et des couches au GDAL.

image56

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

Exporter l’atlas sous forme d’algorithme PDF

Un nouvel algorithme de traitement QGIS a été ajouté qui permet l’exportation d’un atlas cartographique en PDF. Il s’agit du pendant PDF du récent algorithme d’exportation de la mise en page de l’atlas vers l’image.

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

Nouvel algorithme « Flatten Relationship »

Cet algorithme aplanit toutes les relations pour une couche vecteur, en exportant une seule couche contenant une entité maîtresse par entité connexe. Cette entité maîtresse contient tous les attributs des entites connexes.

Il est conçu comme un moyen rapide de dé-normaliser une relation d’un projet, par exemple pour permettre l’exportation en CSV.

Cette fonctionnalité a été financée par SMEC/SJ

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

Exporter la mise en page de l’atlas sous forme d’algorithme d’image

Un nouvel algorithme de traitement natif a été ajouté pour exporter les atlas sous forme d’images.

Cela est utile dans les modèles où des ensembles de données distants sont traités dans le but d’être utilisés comme couches de couverture de l’atlas.

image57

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

Nouvel algorithme de statistiques cellulaires

Nous avons ajouté un algorithme d’analyse raster de Statistiques de la cellule. Il effectue des statistiques par cellule sur une pile de couches raster tout en tenant compte des valeurs NoData. Les fonctions disponibles dans l’implémentation actuelle sont les suivantes :


  • Somme

  • Moyenne

  • Médiane

  • Écart-type

  • Variance

  • Maximum

  • Minimum

  • Majorité (valeur la plus fréquente)

  • Minorité (valeur la moins fréquente)

  • Plage (max - min)

  • Variété (nombre de valeurs uniques)

image49

Cette fonctionnalité a été développée par Clemens Raffler

Nouvel algorithme « Equal to frequency

Nous avons ajouté de nouveaux algorithmes raster qui fonctionnent sur une base locale, cellule par cellule, dans une pile de raster. L’algorithme « Equal to frequency » évalue cellule par cellule la fréquence (nombre de fois) où les valeurs d’une pile de raster en entrée sont égales à la valeur d’une valeur de raster.

image50

Cette fonctionnalité a été développée par Clemens Raffler

Nouvel Algorithme supérieur à la fréquence

Nous avons ajouté de nouveaux algorithmes rasters qui fonctionnent sur une base locale, cellule par cellule, dans une pile de rasters. L’algorithme « Plus que la fréquence » évalue cellule par cellule la fréquence (nombre de fois) où les valeurs d’une pile de rasters en entrée sont supérieures à la valeur d’un raster.

image51

Cette fonctionnalité a été développée by Clemens Raffler

Nouvel algorithme « Moins que la fréquence »

We have added some new raster algorithms that operate on a local cell-by-cell basis in a raster stack. The Less than frequency algorithm evaluates on a cell-by-cell basis the frequency (number of times) the values of an input stack of rasters are less than the value of a value raster.

image52

Cette fonctionnalité a été développée by Clemens Raffler

Nouvelle position la plus basse dans l’algorithme de la pile de rasters

Nous avons ajouté quelques outils d’analyse de position à valeur raster avec cette nouvelle version de QGIS : L’algorithme Position la plus basse dans une pile de rasters évalue, cellule par cellule, la position du raster ayant la valeur la plus basse dans une pile de rasters. Le comptage des positions commence par 1 et s’étend jusqu’au nombre total de rasters saisis. L’ordre des rasters en entrée est pertinent pour l’algorithme.

image53

Cette fonctionnalité a été développée by Clemens Raffler

Nouvelle position la plus élevée dans l’algorithme de la pile de rasters

Nous avons ajouté quelques outils d’analyse de position à valeur raster avec cette nouvelle version de QGIS : L’algorithme Highest position in raster stack évalue, cellule par cellule, la position du raster ayant la valeur la plus élevée dans une pile de rasters. Le décompte des positions commence par 1 et s’étend jusqu’au nombre total de rasters saisis. L’ordre des rasters en entrée est pertinent pour l’algorithme.

image54

Cette fonctionnalité a été développée by Clemens Raffler

Charger les résultats du traitement dans le groupe de couches

Les utilisateurs peuvent maintenant définir un nom de groupe qui garantit que les couches de sortie résultantes ajoutées au projet lors de l’utilisation de l’option Ouvrir le fichier de sortie après l’exécution de l’algorithme sont regroupées. Cela permet de regrouper toutes les sorties de plusieurs algorithmes de traitement afin qu’elles puissent être facilement localisées dans l’arbre des couches et être supprimées, exportées ou que leur visibilité puisse être facilement modifiée. image58

Cette fonctionnalité a été développée par Germán Carrillo

Ajout d’un algorithme de statistiques zonales qui crée de nouveaux résultats

Auparavant, lors du calcul des statistiques zonales, l’algorithme mettait toujours à jour la source de données originale, en ajoutant des champs supplémentaires. Un nouvel algorithme de statistiques zonales a été ajouté, qui crée à la place une nouvelle sortie. Cette fonctionnalité est une implémentation de la requête de fonctionnalité 29504.

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

Ajouter un paramètre de traitement de la géométrie

Ajout d’un nouveau « QgisProcessingParameterGeometry » pour le passage des géométries comme paramètre de traitement des algorithmes.

Cela permet de passer des géométries simples aux algorithmes sans avoir besoin d’une couche en entrée.

Les cas d’utilisation immédiat sont :

  • Des algorithmes qui pourraient avoir besoin de manipuler des géométries de manière atomique.

  • Délégation des algorithmes parents.

  • Utilisation avec le traitement de qgis sans tête dans des outils de traitement autonomes.

Fonctionnalités :

  • Le paramètre est compatible avec les paramètres des chaînes de caractères car il peut transmettre la valeur de Well-Known-Text.

  • L’interaction actuelle des widgets est minimaliste car elle utilise uniquement le widget de saisie de texte pour saisir la valeur en tant que WKT.

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

Ajouter une interface pour déterminer si la sortie de l’application est sûre

Une interface pour les plugins et les scripts permettant d’enregistrer une logique personnalisée pour empêcher la sortie de l’application QGIS a été ajoutée. Cela permet aux plugins de déterminer si la sortie de l’application est sûre. Cela a permis aux plugins de déterminer s’il y a des modifications non sauvegardées qui doivent être sauvegardées ou supprimées avant de permettre à QGIS de sortir. Cette fonctionnalité a déjà été mise en œuvre dans l’éditeur de scripts de la console, ce qui permet d’éviter la perte de données en avertissant les utilisateurs lorsqu’il y a des modifications non sauvegardées plutôt que de fermer silencieusement l’application.

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

Options de l’application et du projet

Liste des pilotes vecteur GDAL disponibles

Un onglet Vector Drivers est maintenant disponible dans la fenêtre QGIS GDAL Settings, qui liste tous les pilotes vecteur GDAL disponibles et permet aux utilisateurs de basculer leur état actif. Lorsque plusieurs pilotes peuvent être utilisés pour ouvrir des données d’un type spécifique, les utilisateurs peuvent maintenant modifier ces paramètres pour s’assurer que le pilote prévu est utilisé lors de l’importation de types de données vecteur spécifiques. Par exemple, les pilotes FileGDB et OpenFileGDB peuvent tous deux être utilisés pour importer des fichiers .gdb, mais si le fichier de données a une version 9.x, le FileGDB ne pourra pas l’ouvrir. Dans ce cas, un utilisateur peut désactiver le pilote FileGDB et s’assurer que les données sont chargées en utilisant le pilote OpenFileGDB à la place.

Cette fonctionnalité répond directement aux limitations décrites dans le « numéro 18738 » <https://github.com/qgis/QGIS/issues/18738>`__.

image59

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

Détecter le dossier d’installation de GRASS sur MacOS

MacOS avait auparavant un paramétrage personnalisé spécifique à la plate-forme Grass7Utils.GRASS_FOLDER. Cela provoquait des plantages pour de nombreux utilisateurs ayant plusieurs installations de QGIS ou ayant des paramètres de dossier non valides. Le paramètre a été supprimé et une variable d’environnement GISBASE a été introduite à la place, qui est couramment utilisée dans les scripts GRASS comme répertoire d’installation « racine », émulant le comportement utilisé pour la détection de GRASS dans les environnements Windows. Si GISBASE n’est pas présent (par défaut), une recherche est effectuée pour les dossiers grass dans QgsApplication.prefixPath() (lorsqu’il est packagé au format bundle). S’il n’est pas trouvé, l’instance autonome de GRASS est recherchée. Le nouveau comportement de GRASS est conforme à la méthodologie utilisée pour les outils de traitement GDAL et SAGA.

Ceci résout le bug 38595.

image60

Cette fonctionnalité a été développée par Lutra Consulting (Peter Petrik)

Parcourir

Exposer les champs dans le navigateur

Première partie de QEP https://github.com/qgis/QGIS-Enhancement-Proposals/issues/171

Expose les colonnes de champ dans le navigateur pour les fournisseurs qui mettent en œuvre l’API de connexion :

  • PG

  • GPKG

  • Spatialite

  • MSSQL

Les opérations suivantes sont soutenues sur le terrain :

  • ajouter un nouveau champ

  • supprimer le champ

image61

image62

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

Fournisseurs de données

Connexions du service de tuiles vectorielles ArcGIS

Une option permettant de créer des connexions pour les services de tuiles vectorielles ArcGIS a été ajoutée pour permettre aux utilisateurs de charger facilement des couches de tuiles vectorielles à partir des services de tuiles vectorielles ArcGIS Server. Elle a également ajouté la prise en charge de l’authentification, de la configuration et de la chaîne de référencement personnalisée pour les connexions de tuiles vectorielles.

Ce changement ajoute des options d’interface utilisateur explicites pour l’ajout et la configuration de connexions aux services de tuiles vectorielles ESRI. Bien que ces services utilisent le cadre standard des tuiles vectorielles pour la recherche de données, ils peuvent être directement ajoutés en créant une connexion à l’aide du point d’extrémité de l’API VectorTileService sur le serveur ArcGIS.

Lorsqu’un utilisateur ajoute une couche à partir d’un VectorTileService, le style et l’étiquetage par défaut du serveur pour la couche sont automatiquement chargés.

image63

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

Propagation des métadonnées de la couche de cnfiance

Le drapeau de confiance au niveau du projet n’est utilisé que pour lire l’étendue de la couche vecteur à partir du xml, et non du fournisseur.

Ce drapeau n’était pas disponible au niveau de la couche vecteur et du fournisseur de données. Un nouveau drapeau de lecture QgsMapLayer pour propager les métadonnées de la couche de confiance pour le drapeau de lecture du projet et un nouveau drapeau de fournisseur pour faire confiance à la configuration de la source de données.

La confiance dans la configuration de la source de données permet au fournisseur d’utiliser des métadonnées estimées, garantit que la clé primaire est unique et que le type de géométrie détectable et le SRID sont les mêmes que ceux demandés.

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

Ajouter le support des colonnes virtuelles dans Oracle

La prise en charge des colonnes Oracle virtuelles (générées) a été ajoutée et est définie de cette manière :

sql CREATE TABLE QGIS.GENERATED_COLUMNS ( "pk" INTEGER PRIMARY KEY, "generated_field" GENERATED ALWAYS AS ('test:' || "pk") VIRTUAL);

Note: Il n’est pas possible de définir une colonne générée sur un champ SDO_GEOMETRY dans Oracle.

Pour l’instant, lors de la création d’une nouvelle entité, le champ généré est modifiable et ne doit pas l’être. Une nouvelle méthode API doit être ajoutée pour récupérer le champ en lecture seule auprès du fournisseur, comme indiqué dans Issue 35995.

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

Ajouter des options avancées pour l’importation de données

Une nouvelle fonctionnalité a été introduite qui permet de spécifier des paramètres avancés lors de l’importation de couches à l’aide du fournisseur de données OGR, ce qui ouvre un vaste éventail de nouvelles possibilités, en particulier pour contourner les problèmes attendus des ensembles de données.

image64

image65

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

QGIS Server

QGIS Server WFS3 API Sorting

Ajoute une fonctionnalité de tri à l’API WFS3 de QGIS server

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

Plugin de la page d’accueil de QGIS Server

Un plugin de page demarrage QGIS server a été créé, qui est un port C++ de https://github.com/elpaso/qgis-server-landing-page-plugin

image66

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

Variable d’environnement permettant de désactiver GetPrint et de ne pas charger les mises en page

Une nouvelle variable d’environnement QGIS_SERVER_DISABLE_GETPRINT a été ajoutée à QGIS Server qui empêche le chargement des mises en page lors de la lecture des projets et désactive la requête WMS GetPrint, améliorant ainsi le temps de lecture des projets.

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

Cette fonctionnalité a été développée par 3Liz

Variable d’environnement pour faire confiance aux métadonnées de la couche avec les paramètres du serveur

Les métadonnées de la couche de confiance peuvent être définies au niveau du projet. Un nouveau drapeau de lecture de projet a été ajouté, qui permet de forcer les métadonnées de la couche de confiance.

Pour QGIS Server, l’option de métadonnées de la couche de confiance peut être remplacée par la variable d’environnement QGIS_SERVER_TRUST_LAYER_METADATA.

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

Cette fonctionnalité a été développée par 3Liz

Correctifs notables

Correction de bugs par Even Rouault

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Le défilement de la table d’attributs d’une couche ajoutée avec le « fournisseur de texte délimité » est presque impossible

#38068

PR #38735

PR #38745

Prise en charge des clés API via une requête pour l’API mettant en œuvre l’API de l’OGC - Features

#38436

PR #38738

N/A

Les CRS personnalisés ne commutent pas toujours correctement les paramètres de wkt à la chaîne proj

#38689

impossible à reproduire

Le client OGC API Features utilise toujours limit=1000

#38666

impossible à reproduire

L’exportation vers le géopackage modifie le type de champ de DATE à DATETIME

#37857

pas un bug

Champ de date CSV interprété comme type de temps

#38091

PR #38741

N/A

Différence de transformation des coordonnées entre QGIS et Proj

#38190

problème d’utilisation

gdal_rasterize ne marche pas lorsque le fichier contient le symbole “&” dans son nom

#38674

PR #38743

PR #38747

Core dump when using identify feature on a vector polygon

#36213

déjà corrigé

Error of the raster histogram of QGIS 3.10.8(LTR)

#38298

PR #38769

À faire

[Postgres] Cannot edit attribute when there is no primary key

#37917

pas un bug à mon avis

Switching between WMS info-output formats throws: CRITICAL QTableWidget: cannot insert an item that is already owned by another QTableWidget

#37215

PR #38770

PR #38783

SaveAs Geopackage: TEXT fields are converted to TEXT(255)

#25405

déjà corrigé

« Join attributes by nearest » tool defaults to « None » when using Max distance of 0

#38761

PR #38773

Non, pas approprié (voir PR #38778)

Lost edits in layer of same transaction group

#38697

PR #38779 + PR #38780

PR #38824

Preview of Expression String Builder “freezes” if Feature id higher then available

#38646

PR #38797

N/A

VectorFileWriter/OGR provider: workaround GDAL 3.1.x bug regarding XLSX and ODS creation

non reporté

PR #38837

PR #38853

Coordinate operation widget: avoid repeating scope and remarks

non reporté

PR #38847

N/A

Freeze when showing attribute table of WFS layer

#37224

PR #38952

PR #38956

OGR Error when editing a kml file

#39087

Commit GDAL 72e1a4d7c96e0381d2d335857697b5f8e1668450

Également appliqué à la branche GDAL 3.1

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

Correction de bugs par Alessandro Pasotti

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Loading PostGIS layers with no specified geometry loads all features in the attribute table.

PR #35367 #38565

Backport only

PR #38736

Server API: current project is not settable anymore

#38755

PR #38758

PR #38758

PostGIS layer saved in 3.10 project, fail to load correctly on 3.14

#38567

PR #38763

N/A

Server WFS-T 1.1.0 wrong case for totalUpdated, totalInserted, totalDeleted

#38558

PR #38764

À faire

Server crashes on GetLegendGraphics when RULE does not exists.

#38766

PR #38775

PR #38794

Form view gets stuck in the last shown not-NULL-value for some attributes when browsing through data

#38552

PR #38801

À faire

Marker line Simple marker rotation override not respecting follow line direction setting

#38716

PR #38815

Unable to dock the « snapping options » widget

#38604

fonctionne pour moi

Can’t read PG data sources when saved in version 3.10 and using service / auth combo

#38809

PR #38833

N/A

DB Manager « cancel » button to stop a query is not working

#38092

PR #38870

N/A

GDAL enhancement related to #38092

#380922

https://github.com/OSGeo/gdal/pull/2953#event-3788638320

N/A

Shift values issue while creating new field under DB Manager

#38800

fonctionne pour moi

Problem with VUV wms

#38924

fonctionne pour moi

Data Source Manager: WMS/WMTS Window not resizable

#38903

fonctionne pour moi, en attente de retours

Form tab option « Show as group box » won’t save or apply

#38539

fonctionne pour moi

Scale lock is ignored when panning the map

#38953

PR #38954

N/A

Zoom to layer overwrites locked scale bug

#38417

PR #38954

N/A

Repeated column names cause visualization issues in DB Manager

#38976

PR #38981

N/A

« show search_path » returns 0 rows

#38975

PR #38981

N/A

PG NOTIFY not accessible

#38986

fonctionne pour moi

Fix PG db-manager rename schema

#38998

PR #39000

N/A

Several PG browser items UX issues

#39001

PR #39006

N/A

Virtual vector does not load correctly on Windows

#35016

fonctionne pour moi sur Windows et la version master actuelle

DB Manager: PostgreSQL field comments are not displayed correctly

#38394

PR #39026

Only first row for Postgis raster table in DB Manager preview and when adding layer to Map canvas

#39017

PR #39039

N/A

erroneous postgis query when trying to discover relations

#39036

many additional tables that are already loaded in the project are loaded on project load because of layer dependencies

#39025

PR #39043

N/A

Partial fix for : Wrong assignments of raster values to symbology Paletted/Unique values or Singleband Pseudocolor

#39058

PR #39071

N/A

Allow to set precision for raster single band presudocolor classification

non reporté

PR #39079

Complete fix for : Wrong assignments of raster values to symbology Paletted/Unique values or Singleband Pseudocolor

#39058

PR #39088

Risqué

Failure with identifier sequence when adding feature

#39093

fonctionne pour moi

Export report to PDF crashes QGIS if no layout is in edit mode

#39086

PR #39135

À faire

PG raster: float rasters do not show nodata values correctly in master/3.14

#39142

#39142

Python API call QgsAbstractDatabaseProviderConnection::TableProperty exceptions not converted to QgsProviderConnectionException

#39151

PR #39152

N/A

DB Manager unable to show PostGIS geography column

#37666

PR #39154

N/A

setting a field to NULL via field calculator freezes qgis

#39178

PR #39257

À faire

Layer X: Feature has too many attributes (expecting 5, received 7) when « Automatic Creation of Transaction Group » is enabled

#39230

PR #39267

PR #39278

unreported crash when calling data provider’s lastError on no errors

non reporté

PR #39267

N/A

Crash digitizing a feature when transaction group is on (after save)

#39265

PR #39283

Transaction groups: not-current layers a set to not editable after save

#39282

PR #39286

non critique

OGR decodeUri: be tolerant on layerName case

not reported but impact the QGIS-Documentation

PR #39328

N/A

Wrong extension handling in links when layer name has dots

non reporté

PR #39346

N/A

Passwords are URL-encoded before base64 encoding for HTTP Basic auth

#39243

PR #39347

PR #39382

QGIS crash in Settings menu if NOT in english

#39430

PR #39434

N/A

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

Correction de bugs par Peter Petrik

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Problem with displaying mesh and canvas rotation

#35147

PR #38795/files

non, pas critique

Crash while attempting to use mesh

#31773

impossible à reproduire

Spatial Bookmark Manager Bad Behavior and Crashing App

#35348

impossible à reproduire

Seqmentation fault 11 on QGIS shutdown on MacOS

non reporté

PR #38806

PR #38748

Crash when creating New MSSQL connexion on macOS

#35026

PR #39084

système de packaging différent…

qgis_process is installed in the wrong place on MacOS

#38447

Mac Packager Commit 97b0ec974e2309e447ebb69c4117580db27af6f0

N/A

Impossible de lancer l’extension GRASS sur MacOS

#32511

Mac Packager Commit 218a571f6f268dcc4490ebe1a00068bfe363b2ae

système de packaging différent…

Processing: GRASS r.drain fails on macOS: « No module named site », « Raster not found »

#36126

Mac Packager Commit 218a571f6f268dcc4490ebe1a00068bfe363b2ae

système de packaging différent…

The Grass7 processing toolbox option dialogue should include a way to specify a path to the GRASS binary, overriding Grass7Utils.command

#29454

impossible à reproduire

Path error GRASS plugin QGIS 3.14

#38595

PR #38840

système de packaging différent…

No Print dialog or Page Setup dialog in macOS

#30791

impossible à reproduire

Splash Screen Persists While “Handle Bad Layers” Dialog is Open

#34784

PR #38842

inapproprié

qgis terms of license pop up bug

#38588

impossible à reproduire

Cannot load pictures anymore in custom forms

#30833

already fixed by Mac Packager Issue #3

inapproprié

Mac Packager Issue #83

Mac Packager Commit 36f86759649abc4cb8f6875f6ad934070c13d56e

système de packaging différent…

Projections not reading in MacOS Nightly Build

#38919

PR #38922

système de packaging différent…

layers in .osm format are not loading

Mac Packager Issue #84

impossible à reproduire

fonctionne avec la 3.10

missing metadata python package

Mac Packager Issue #87

Mac Packager Commit 7c94749579acaf059e9b6c5094c7a2cb74d17f7a

système de packaging différent…

GeoPDF Export fails

Mac Packager Issue #75

works now with qgis-deps-0.5.5

système de packaging différent…

GRASS Console not work on Mac

#38961

Mac Packager Commit bfc4ca0717de0e496d98f91e7a28e85216763ab1

système de packaging différent…

Processing Plugin Crashes QGIS on MacOS Nightly Build

#38960

PR #38973

système de packaging différent…

Program crash when pasting file name

#38939

impossible à reproduire

Wrong Python default path in QGIS server on macOS

#29843

Mac Packager Commit 1a6ccb6e60adbfbbe05839e0c507e675a71c2491

système de packaging différent…

qgis_map.fcgi on macOS doesn’t find libraries

#29399

Mac Packager Commit 1a6ccb6e60adbfbbe05839e0c507e675a71c2491

système de packaging différent…

GRASS provider cannot get projection

#31397

Mac Packager Commit bfdeab3f5c2ae9465efd1a55a29c0bbc9a88cd95

système de packaging différent…

QGIS crashing on start on Mac

#38858

corrupted user profile

N/A

Browser cannot open Volumes under macOS

#29702

PR #39096

non, pas critique

MetaSearch unexpected keyword argument “auth”

#38074

impossible à reproduire sur la version master

système de packaging différent…

No QGIS plugins found in /Applications/QGIS3.10.app/Contents/MacOS/../PlugIns/qgis

#39044

impossible à reproduire sur la version master

système de packaging différent…

Browser Panel: unable to find all the connected drives

#24641

doublon de #29702 pour MacOS

Provider Settings for GRASS avoid to active OTB

#39112

impossible à reproduire sur la version master

Can’t open GeoJSON vector via HTTP protocol on Windows and macOS

#37107

« Mac Packager Commit d06bc3ac933c75071f36937aaf8189920dccc503

système de packaging différent…

QGIS 3.0.1 Crash - Zooming in while moving node crashes QGIS

#26509

impossible à reproduire

Crash when switching user profiles (too early?)

#26993

impossible à reproduire

Aborted when debugging python plugin with pdb

#27201

impossible à reproduire / invalide

Customization: the widget catcher can’t select icon from a toolbar when it’s under a group of icons

#22967

PR #39209

non critique

QGIS on macOS can save file in qgz-format, but won’t open files in qgz format

#39204

impossible à reproduire

Mouse pointer keeps switching type

#32947

probablement une demande de fonctionnalité, pas un bug

Aggregate function bug on macOS version

« #32932

impossible à reproduire sur la version master

système de packaging différent…

Clear filter in Snapping Toolbar > Edit advanced configuration causes crash

#29750

impossible à reproduire sur la version master

Snapping Settings window with Night Mapping, low readability

#29751

déjà corrigé

Merge raster fails in macOS

#39213

impossible à reproduire sur la version master

système de packaging différent…

Can’t get info on WFS feature in MacOS nightly build

#39223

Mac Packager Commit 54872e06a43ef61bf6dae8242e121bd5cec8be11

système de packaging différent…

Crashs de QGIS 3.4.10 - Python

#31304

déjà corrigé

déjà corrigé

Exporting GRASS vector (save as…) crashes QGIS

#37508

PR #39284

À faire

Crash when loading 3D project with DEM terrain and symbols that uses height value over the terrain

#35483

PR #39287

À faire

Creating 3D View from raster

#37163

doublon de #35483

N/A

Crash when moving camera in 3D

« #37881

impossible à reproduire sur la version master

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

Correction de bugs par Paul Blottiere

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Linebreak issue with editing expression of « Title Label Decoration »

#37803

PR #38817

PR #38748

QGIS Server GetPrint: EXTERNAL_WMS layer on top of QGIS layer

#35873

PR #38548

N/A

Fixes OGC API Features certification

non reporté

PR #37622

N/A

Outdated help for labels « data-defined » placement group options

#36680

PR #37344

Server GetFeatureInfo returns 0 where is should return NULL

#37781

PR #38807

z function returns Nan when used with a 2d point geometry

#37772

PR #38831

m function returns Nan when used with a 2d point geometry

non reporté

PR #38831/commits/829ee25d431b2b3d1ea08fa8a930bb519ab2dd2f

processing.algorithmHelp from terminal (outside QGIS desktop)

#37524

impossible à reproduire

Cache join layer in memory » not toggling when editing join properties

#37326

PR #38838

Map tips should not appear for invisible features

#37066

PR #38861

Merge features: manual value is not respected

#37659

PR #39083

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

Correction de bugs par Matthias Kuhn

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Legend nodes overlapping each other after inserting

#38881

PR #38882

non critique

Poor legend performance with complex legends

#38890

PR #38891

non critique

AMS layers cannot be added when no project CRS is set

#38892

PR #38893

non prévu

Legend performance problems

#38978

PR #39066

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 Matthias Kuhn

Corrections de bug par Julien Cabieces

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

QgsProcessingAlgRunnerTask started inside function crashes QGIS

#38583

Ne sera pas corrigé

Geometry generator symbol not rendered if the feature itself is not on the map canvas

#38579

Retour d’informations

Relation widget in input form tabs - NULL value filled with data in form

#38549

Won’t backport (too risky)

(Fermé) #38549

Warning message: Missing layer form dependency : layer “layerX” requires layer “layerY” to be loaded

PR #38802

PR #38802

N/A

When embedding a layer, the display expression of a relation reference is not taken over

#38422

Closed (FeatureRequest)

the keybord shortcut CTRL+C copy only the first cell, not the whole line

#37503

PR #38810

if shortcut is set for copy features then Ctrl+C not working anymore

#37401

Doublon de #37503

Organize columns not working if the table is empty

#38653

Upstream (Qt)

Copy and paste style for forms ignores edit widget type

#37702

PR #38836

Keep order when drag and drop multiple widget

#37038

PR #38844

PR #39239

QGIS crash removing QgsAnnotation in python

#36098

Retour d’informations

Error in SQL statement for Virtual layers may lock layers in map canvas

#34378

PR #38949

PR #39023

Virtual field in virtual layer not found

#38523

Retour d’informations

Closed ID column for temporary layer is not detected when creating virtual layers using data source manager

#34830

Ne sera pas corrigé

Boolean virtual field unusable in virtual layers

#31798

PR #38957

PR #38748

fails to generate virtual geometry layer based on virtual wkt field

#28265

Retour d’informations

Closed virtual fields can’t be filtered

#28072

Non reproduit

Qgis crached after calculated field removed

#26486

Non reproduit

sql « order by » does not work with the « Add/Edit Virtual Layer » feature

#29043

Ne sera pas corrigé

Form fails to initialize $geometry

#34791

PR #39041

Oracle - can’t create or a modify a connection

#38979

PR #39131

Test connection Oracle DB ready - OK greyed out !

#39116

Doublon de #38979

Scale dependent snapping does not activate as long as it displays the scale as « 1:xxxxxx »

#39031

PR #39133

N/A

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

Correction de bugs par Denis Rouzaud

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

correctly determine if variables are static in aggregate expression and filter, give @parent in generic aggregates

#33382

PR #39391

non

Freeze when using aggregate in a virtual field

#39366

Ne sera pas corrigé

Fix SVG marker anchor calculation and improve bounds

PR #39336

Improve SVG UI + remove duplicated code

PR #39421

Improve SVG UI + remove duplicated code

PR #39519

Improve SVG UI + remove duplicated code

PR #39524

Fix duplicating features

PR #39548

fix duplication of feature being stopped at 1 level deep

PR #39550

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

Correction de bugs par Olivier Dalang

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Core topology fixer issues

non reporté

PR #39392

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 Olivier Dalang

Correction de bugs par Nyall Dawson

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Fix crash in dbmanager

#38393

Commit 8c623b268ed94ef65aa19e2271be10b75e1ef36a

N/A

Fix GeoPDF page size issues when opened in Acrobat reader

#33465

Commit 460bf8e534eb32ccba665918a615b55a8cbccadd

Delayed till more widespread user testing

Improve default lighting of 3d scenes

non reporté

Commit 350bc602e0ecd0f93dc2cc90ab34ce09993a687b

N/A

Allow conversion of QgsFeatureStoreList results to Python objects

#39479

Commit 49c508921d7ccb59b1f1abaff4f890456cca1455

Trop risqué

Fix preview symbol when offsetting point symbols isn’t shown correctly

non reporté

Commit 62409b92ce20a84dd92188cf42a98d7cdc0b08c3

N/A

Use click-click behavior for rotate and offset marker tools

non reporté

Commit 00a3a6b8057f96dfa6c37943427a276cd3a5065d

N/A

Avoid massive UI hangs when a layer has complicated actions defined

non reporté

Commit 9aa805c15bb2cf8f9ba33fd2905f5784d6eb4668

Trop risqué

Ensure display expression is used for map action tool, not raw feature ids

non reporté

Commit e304d4d7e3eae0f48f336c7eb34542be6055df5d

Priorité basse

Improve UX when configuring lights in a 3d scene, fixes confusing interface

non reporté

Commit 3019b82100d4fc405f64cebcddf9aaae253c4293

N/A

Fix features with invalid geometries cannot be selected

#38460

Commit 22c2c5a41c7ca25cb1fdbb0e121578a2d9386d4d

N/A

Expose metadata tab for mesh layers

non reporté

Commit 9482b1be70f36f778f6a409847244c5ff8a6a739

N/A

Fix missing text codecs on Windows installs

#36871

Commit c3ca85e60bec73056bd87c426fd71c8f578363cb

Trop risqué

Don’t force a whole layout map to be rasterised just because one vector layer has non 100% opacity

non reporté

Commit 2d15a4cfad6c732cf640fbb0eabd625856b643ca

Trop risqué

Ensure mesh layer properties follows same appearance as other layer types

non reporté

Commit 3c67e1acde24a49bcb0356c2ef5ed6cb8102fdac

N/A

Speed up mesh triangulation algorithm by avoiding a bunch of unnecessary QVector detachments

non reporté

Commit 46ef391a7acf10515a11c19b69fafa4548046448

N/A

Don’t allow users to set 3d terrain to mesh or DEM without selecting an elevation layer, instead show friendly warning

non reporté

Commit 0d9f1da846c70764fa6840309b5460f713b30e1f

N/A

Avoid 3d map config dialog opening with initially out-of-sync selected pane

non reporté

Commit 8b6477208f3c34e228734f7c04d32625965c48ed

N/A

Fix menu not shown when clicking “add” item in style manager dialog and color ramp tab is active

non reporté

Commit a085ce84b81a46896c9f00ee64eccaea63dad29a

N/A

Fix trying to create new color ramp from first page in style manager dialog does nothing

non reporté

Commit 34fb646f7ab69f20072b4d74ebec0595054089d7

N/A

[processing] Fix generated layers stored in geopackage always report a feature count of 0

non reporté

Commit 0675d99b34ee209a09857dfcba47cb5a92f55154

Trop risqué

Fix Import Geotagged photos algorithm incorrectly assigns form widgets when saving the results to GPKG

non reporté

Commit ff336ade18f4d6b307e4ed0e98fee77ee11a157c

PR #39563

[processing] Ensure driverName is passed to QgsVectorLayerExporter so that GPKG specific optimisations can be applied when saving outputs to geopackage

non reporté

Commit 501c63feb3887e18da35188062546186d8a767ac

Trop risqué

Update strings and UI regarding layer CRS override setting

#32101

Commit 06cfdd9563b15d8fbb27aee94b83d1b15773df77

N/A

Use proper SQL code editor in filter preview widget in vector layer properties, don’t show filter as disabled

non reporté

Commit 0f4270cfe600e77f09db7727bd3ba965be7acb0e

N/A

Fix boolean literal presentation in dox/PyQGIS docs

non reporté

Commit 746ee315bd0a4140f6e84617d547cc89103f79aa

N/A

Speed up QGIS geometry validation

non reporté

Commit 2a15c3b0a4a631db1b55ac7e46256fdbd89949f9

Trop risqué

[processing] Correctly discard fid field values when running algorithms with the RegeneratePrimaryKey flag in in-place mode

#37761, #33816

Commit db7b97705967041d4eaca7e7f69cbf49f5692aef

Trop risqué

[processing] When reporting that a feature is invalid, also mention the layer name

#26664

Commit a53bb3d49b59a3f814d862f30202ff156f74d6bc

Trop risqué

Allow expanding xls, ods, gpx, pdf files in browser so that layer sources can be repaired for these file types

non reporté

Commit 252976b739527e213f5d1c8c98a345911dfeab32

N/A

[processing] Fix « Split with lines » algorithm can get stuck in an endless loop

non reporté

Commit 05645b320d8547f50a308843e961e343c383036d

Trop risqué

Don’t show cascaded feature deletion warnings and feedback if joined deleted features came from an auxilary layer

non reporté

Commit 8c79b94fcc14e41d4442a018554e889f81b8e080

N/A

Fix crash in undo dock when clearing project/closing QGIS

#38157

Commit d87d230bb4bcbe091fe35bb047d54f7d9fcaabb8

Commit 5c97ff66dd90d450a1ec60583da9626c14c9c08c

Fix copy/paste/select all shortcuts don’t work when layer tree is selected

#38849

Commit 02d7afae3f8699e83efacc781d3266700397d8b8

N/A

Fix edited and new features no longer correctly show their corresponding color shading in the feature list view

non reporté

Commit a195b056624c2fabe231be7c0e96c3d63e052e5b

Trop risqué / priorité faible

ALWAYS load processing plugin in qgis_process tool

#37989

Commit bc0df6d25e929a575d0821208f7d187737d80709

N/A

Add –json option to qgis_process tool

https://github.com/paleolimbot/qgisprocess/issues/21

Commit fc8d916b8dd444b3edaee3c18ec308e74a9bb91e

N/A

Ensure all code editors in QGIS follow the same appearance and behavior

non reporté

(many)

N/A

When creating a CRS from WKT and the WKT has an embedded CRS name, correctly use this to set the QgsCoordinateReferenceSystem description

non reporté

Commit 9a35b27630982d63101c57c3e3440dcbf1a7786f

Possible after further user testing

Big speed up for scripts which fire off many individual feature requests to a memory provider layer

non reporté

Commit 1d2bb41752c51e6c9b84124a1ce1599d3d42b41c

Trop risqué

[console] Fix exception when running scripts

non reporté

Commit 5c8013df6129a2bc06d25a98ff20dbf27621bff5

N/A

[layouts] Fix resizing multiline label items to adjust to the size of their text

non reporté

Commit 6829e6351e1dab18f1fa0c0443107eb7617794c7

Trop risqué

Improve appearance of PyQGIS documentation for functions which return multiple values

non reporté

Commit 0001ec27a43cbf4c99d1525c3c5f75183e96f5c3

N/A

[processing] Don’t raise a generic « something went wrong » exception when calling processing.run(), instead use proper descriptive exception

non reporté

Commit 2207c30a247e5907a12185165b4bd220e255bbdc

Trop risqué

[processing] Fix execution of « Eliminate selection » through Python

#38808

Commit ee7bea2305253fd276a69c25bb5d308942dcb190

Trop risqué

[3d] Fix crash when line feature cannot be buffered

non reporté

Commit f6eed85729a8cbf913155ae16df7499f688ba0fa

Commit d4c963e1c2fdc497dba038896caf2b3f975240ff

Fix custom stroke patterns incorrectly scale when data defined stroke width is set

#39201

Commit 03fdc0cd7992a7883183704cd68506f32afe9ca3

Trop risqué

Allow columns to be resized in datum transformation table

#39169

Commit 1cd5a3358b235f67b6b4d95331ce561e9f8cb715

N/A

Fix settings incorrectly show for wrong layer types in labeling dialog

#39168

Commit 2e948884c029c9f79639201943ec4bc36dba3573

N/A

[processing] Fix error reporting from batch dialog

#39197

Commit 5243a8594cc39540f2c01201415633801a22ff43

N/A

[processing] Fix crash when renaming conditional branch in modeler

#39053

Commit ddae53b7b789467bf17b21d6f4b884e827fbd3c5

N/A

[processing] Fix crash in model designer when a child algorithm contains hidden parameters

non reporté

Commit f3c9f9bfbc2fc456c77965be4c1e65cc692bc0d0

N/A

Ensure True/False are treated as Python keywords in Python code editor

non reporté

Commit 5f661045c078b7938550c2c9d0798664c6f65f5a

N/A

Don’t silently close QGIS with unsaved changes in the console script editors

#38529

Commit 9093bdfd1e46ba65af78c5fc01bcb4df1ed6a0e9

Trop risqué

Fix dropping processing script algorithm .py file on QGIS no longer triggers the algorithm to execute

non reporté

Commit 64bf347d7e1d664fc674c5ca602ce6c4bedecdf9

N/A

Fix message log dock causes havoc with other docks placed in the same area

#31955

Commit 384f6a1d9257a05eaa58942921c94f1dd4941cd3

Trop risqué

When restoring a custom CRS from XML, if the CRS does NOT match any of the existing user defined CRS’s on the QGIS profile then still restore the previously saved name of the custom CRS

non reporté

Commit e6d316ace7031821e04ca625e35f7c2c4d57f639

Possible after further user testing

Don’t refer to valid but custom CRSes as « Unknown CRS » and instead use « Custom CRS » phrasing

non reporté

Commit d3833fd8d6c4b4f0673c4c2337044c224675185f

Possible after further user testing

Improve performance of processing batch process dialog with a large number of files

#38987

Commit 776768eb9f4ee2a8d13909b4ced5c175a0d05b3d

Trop risqué

Improve behavior of CRS selector and transformation widgets

non reporté

many

N/A

[layouts] Use standard CRS selector widget for map grid CRS choice

#26548

Commit 4c7fbc0260ef95f7dd6dd4b6954ee2086ad3da70

Trop risqué

[layouts] When selecting a CRS for a map item, don’t show misleading no crs option at the top of the dialog

non reporté

Commit c3a26db4babbef46ae1b7904bb9d1f0ee9e273ad

Trop risqué

Fix « layer has no CRS » message incorrectly show at the top of many projection selection dialog boxes

non reporté

Commit c68d05cc40f8f2c828e5204e6e4f5f11e68b4a7c

Trop risqué

Fix crash when editing style and opening a project

#38920

Commit 67ec244864ca6f9290e1f35a1a0c60b4888fe686

PR #38748/commits/ecf96231aefa5628539f0b63ca313ea8b20c9548

Avoid qt warning when dragging a non-color object over color buttons

non reporté

Commit fd771bba68da84b1ce8023898b9662b5dc619693

N/A

Fix shift in geopdf feature positions when using geographic CRS at large scales

#37755

Commit 0b77f187ec5a14651457fd07f306cba2511fb854

PR #38748/commits/b705d29c73e81fe87e2e301c7028e5e659d80364

Fix constraint metadata is duplicated after opening layer properties

#38916

Commit 6a002573c00a8a8e11443eaca28b57a8ad6de4c0

PR #38748/commits/49260b8f1f4b1ddd9a25c7160f32570221f3989e

Fix PDF export includes vector information outside of the area of interest

#38878

Commit f3f226aa69a19b31dd8a1b83c82319528e061cfe

Trop risqué

[layouts] Fix legend symbol rendering doesn’t respect linked map scale when symbol uses map unit based sizes

#38326

Commit 426ee2120b33a8613f3e476da3c2eba0a00f65d7

N/A

Don’t try to write empty rendered rings/geometries to GeoPDF outputs

non reporté

Commit 96753cfd1b9e986841158675bda365e585c48c27

Possible after further user testing

Correctly apply capitalization setting whenever QgsTextRenderer is used, not just in labeling

#38898

Commit e1ca83b2c24c51e7ff67a53278ffd2601c0459be

Trop risqué

Fix qgis_process list raises exception if processing algorithm provider is activated

#38862

Commit 772181bc16820d7dd5ee8d967355dbdfde5a8efe

N/A

Dramatic speed up for calling some frequently used methods from PyQGIS

non reporté

Commit d4a2dddac5a2fd4fcf901cc3d50f70a6119ca1ca

Trop risqué

[processing] Fix certain characters show as HTML escaped in processing log

#37934

Commit 965595d25bd0a69875ba8a405d3b365bedfe2a12

N/A

Fix incorrect capitalization in title of new layout name dialog

non reporté

Commit 92d0ec59a1c26c4ac33d35b9e6c93344845eddca

N/A

Add a new capitalization option for « Title Case », and rename the confusing « Capitalize First Letter » option to Force First Letter to Capital

#16539

Commit 484ba6f979cdcaabffe823c72b35b57d1b1c7aad

N/A

Add a Legend category to the style selection widgets and allow legend settings to be stored and restored in QML

#37683

Commit f018252023275f95c167d7f308d05c8819d6db0b

Trop risqué

Fix [Style] Export –> Save as QGIS Layer style File should allow to select style categories (and output format)

#29145

Commit 1ad2e78735e57cef218a7470d7eec645c2f45263

Trop risqué

[browser] Correctly save expanded node state when closing QGIS

non reporté

Commit 2eff061bf3cdcb3f36956e43098adfcb0359b5eb

Trop risqué

[browser] Gpkg and other container types can be dragged to the map to allow layers to be added from them

non reporté

Commit 0234d4e9e10f3fbb5732f66e00eebd038f502ab0

Trop risqué

Don’t prompt for CRS for annotation layers

#38739

Commit 15975c1d5191933311d81a494d87806f4e73ce57

N/A

Fix reading saved color map file when an item’s label contains a comma character

#24112

Commit 252149375c750d6a8f1ee281c1cc9d03de272170

Trop risqué

Fix diagram settings are not correctly restored when loading a QML file

#35343

Commit 4668927ce432b198b3c572535ff234343c5042f5

Trop risqué

Fix can no longer paste colors from text strings

non reporté

PR #39561

N/A

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