Modifications apportées par QGIS 3.12

image1

Release date: 2020-02-21

Si vous souhaitez de nouvelles fonctionnalités, une tonne de correction de bogues, cette version va pleinement vous satisfaire. QGIS 3.12 ajoute de nouvelles possibilités sur presque toutes les parties du logiciel. Depuis les masques d’étiquettes, en passant par le support natif de PG Raster jusqu’aux nouvelles fonctionnalités pour les couches de maillage et encore beaucoup d’autres fonctionnalités. Cette version propose des nouveautés pour chacun des utilisateurs. Comme toujours, nous vous rappelons que QGIS est un projet open source et que si vous le pouvez, n’hésitez pas à encourager notre travail par des dons, du sponsoring ou des contributions à la documentation du code, du site internet, etc.

Remerciements

Nous souhaitons remercier les développeurs, rédacteurs de documentation, testeurs et tous ceux qui ont volontairement donné du temps (ou donné de l’argent). 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. La liste actuelle des donateurs, que leurs contributions financières au projet soient petites ou grandes, est disponible sur notre liste des donateurs. Si vous souhaitez devenir un sponsor officiel du projet, veuillez visiter notre page de sponsoring pour les détails. Sponsoriser QGIS nous aide à financer nos rencontres développeurs semestrielles, maintenir l’infrastructure du projet et financer nos efforts de correction de bogues. La liste complète des sponsors actuels est fourni ci-dessous - un grand 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.

Outils cartographiques

Fonctionnalité : QgsMapLayerAction: ajout de l’entrée action sur la sélection dans le menu contextuel de légende

Une nouvelle entrée (Actions sur la séléction) est ajouté dans le menu contextuel des couches. Cette entrée est visible uniquement si une sélection est active sur la couche et que des actions peuvent être réalisées sur la couche concernée.

imageQ1

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

Fonctionnalité : Indique la distance entre la position du curseur actuelle et la celle déterminée par GPS.

Quand un équipement GPS est connecté, dès que l’utilisateur déplace son curseur sur le canevas, la barre de statut indique la distance et l’azimut depuis la position déterminée par le GPS vers la localisation du curseur.

Les paramètres de définition de distance et d’angle du projet sont utilisés pour cela.

Peek 2020-01-14 16-06

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

Fonctionnalité: ajout paramétrage du format d’affichage des directions aux projets

L’onglet Outils cartographiques des Options des Préférences comporte un nouveau paramètre qui contrôle le format d’affichage par défaut des directions pour le nouveaux projets. Tout nouveau projet héritera de ce paramètre par défaut.

La boite de dialogue Propriété du projet comporte également un nouveau paramètre de format d’affichage des directions spécifique au projet.

L’objectif est que, chaque fois qu’une direction est affichée dans QGIS, ce soit en utilisant le paramètre d’affichage des directions du projet.

Comprend également de nombreux ajouts intéressants dans l’API qui offrent un emplacment stable et facile à découvrir pour définir et récupérer des paramètres tels que le format des directions.

Peek 2020-01-09 11-08

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

Interface utilisateur

Fonctionnalité : Déselection des tables suite à l’appui sur le bouton d’ajout de données PostgreSQL.

Lors de l’ajout de données PostgreSQL depuis le gestionnaire des sources de données, l’appui sur le bouton d’ajout de couche retire les couches de la sélection.

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

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: affichage de la distance et la direction du déplacement dans la carte (pan) dans la barre d’état

Pendant les opérations de déplacement dans le canevas nous avons ajouté la distance totale et la direction du déplacement dans la barre d’état. L’utilisateur sait ainsi de quelle distance et dans quelle direction il a fait glisser la carte.

image5

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Une nouvelle option permet de définir le format de projet (qgs/qgz) par défaut

Cela ajoute une nouvelle option globale pour définir le format de projet préféré

imageQ2

Cette fonctionnalité a été financée par la Fondation GEM

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

Fonctionnalité: Correction du dialogue des attributs invalides lors de la copie dans une autre couche

Il Il est possible de copier des éléments d’une couche à l’autre. S’il y a les mêmes champs dans la couche de destination, les valeurs de ces champs sont reprises de l’élément original. Sinon, la valeur par défaut est affectée. Dans les autres cas, le nouvel attribut est nul.

Si la couche de destination a des contraintes définies sur les attributs, l’utilisateur doit choisir une valeur autorisée ou rejeter ces valeurs. Auparavant, les valeurs étaient copiées telles quelles et invalides.

C’est pourquoi les valeurs sont soumises aux vérifications de contraintes. Lors d’un copier-coller de plusieurs objets, un dialogue permet de corriger les données invalides.

copydialog2

Si un seul objet est collé, les options sont plus simples:

copypastesingle

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

Fonctionnalité: Il est possible de glisser-déposer une couche vers le widget de choix de projection

… de manière à récupérer facilement la même définition de projection. Une petite astuce pour gagner du temps!

Peek 2019-12-20 11-27

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

Fonctionnalité: Algorithme Calculatrice raster : ajout de boutons manquants et de la validation d’expression

Ajout des boutons pour ABS/MIN/MAX et la validation de l’expression

image10

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

Symbologie

Fonctionnalité: animation de trace vectorielle et lignes de flux pour les couche de maillage

Le rendu vectoriel de maillage peut désormais visualiser les lignes de flux et les particules au-dessus du mode « flèche » existant.

image11

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

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

Fonctionnalité: Masquage sélectif

Une nouvelle fonction de rendu avancé a été ajoutée: le masquage sélectif. Il permet de définir des zones de «masque» autour d’étiquettes ou de marqueurs de points. Ces masques « ne dessineront » que certaines couches de symboles d’autres couches en dessous, choisies par l’utilisateur.

image12

Cette fonctionnalité a été financée par QGIS.CH et autres à travers une campagne de cofinancement

Cette fonctionnalité a été développée par Hugo Mercier (Oslandia)

Fonctionnalité: lorsque la rotation des degrés décimaux ne parvient pas à être évaluée, retour à la valeur statique

La légende fonctionne enfin parfaitement avec la rotation définie par les données. QGIS pouvait déjà appliquer une rotation définie par les données aux symboles et aux couches de symboles individuels, mais cela a entraîné une légende cassée. La rotation des symboles (et des parties de symboles définies sur les couches de symboles) sur la légende peut désormais être contrôlée en modifiant les valeurs par défaut à côté des propriétés définies par les données.

L’ancien comportement consistait à toujours revenir à 0 en cas d’échec d’une expression. Ce qui a rendu difficile la création d’une légende appropriée dans certains cas.

par exemple. si vous aviez deux couches de symboles avec les expressions suivantes pour leur rotation

"orientation"

et

90 + "orientation"

qui serait deux couches de symboles orthogonaux (par exemple dénoter un angle droit), tournées par un champ d’orientation.

Désormais, dans la légende (et l’aperçu du symbole), les deux couches seraient affichées avec une rotation de 0, car il n’y a pas d’entité associée à une orientation de champ.

Le nouveau comportement consiste à revenir aux valeurs statiques et configurées, ce qui rend très intuitif la configuration de la légende pour ces cas.

Avant

Peek 2019-12-08 09-18

Après

Peek 2019-12-08 09-16

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

Fonctionnalité: ajouter un nombre de points basé sur la densité pour le remplissage de marqueur aléatoire

Cette fonction ajoute une méthode de comptage de points basée sur la densité au nouveau remplissage de marqueur aléatoire.

image15

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

Fonctionnalité: Type de couche de symbole de remplissage de marqueur aléatoire

Cette fonction ajoute un nouveau type de couche de symbole de remplissage « Remplissage de marqueur aléatoire ». Il permet d’effectuer un rendu des entités surfaciques à l’aide d’un symbole marqueur placé à des emplacements aléatoires à l’intérieur de la limite du polygone.

Les options incluent :

  • nombre de symboles de marqueur à rendre pour le polygone

  • si les marqueurs rendus près des bords des polygones doivent être coupés ou non à la limite du polygone

  • un nombre aléatoire facultatif , pour donner un placement cohérent des marqueurs chaque fois que les cartes sont actualisées (permet également un placement aléatoire pour jouer avec QGIS server et le rendu basé sur les tuiles)

image16

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité : Ajouter une option pour définir la couleur de rendu des pixels nodata dans les couches raster

Permet aux pixels raster nodata d’être colorés dans une couleur spécifique (non transparente). Conçu pour correspondre à l’option « Afficher la valeur d’arrière-plan » d’ArcMap.

image17

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Étiquetage

Fonctionnalité: Permet de supprimer la position d’étiquette personnalisée

Nous avons ajouté une nouvelle option de possibilité pour pouvoir supprimer la position d’étiquette personnalisée en appuyant sur la touche DEL lors du déplacement de l’étiquette.

image18

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

Diagrammes

Fonctionnalité: Prise en charge des effets de peinture pour le rendu de diagramme

cette nouvelle fonctionnalité permet aux diagrammes d’utiliser des effets de peinture, y compris les ombres portées, les lueurs extérieures, etc.

image19

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Nouveau type de diagramme « barres empilées »

Avec cette nouvelle fonctionnalité, les utilisateurs auront la possibilité de créer des barres empilées de couleurs différentes pour chaque attribut les unes sur les autres verticalement ou horizontalement. Conçu pour correspondre à l’option de rendu de graphique « Empilé » disponible dans ArcGIS.

image20

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: option d’espacement pour les diagrammes à barres pour les couches vectorielles

Permet un espacement contrôlé par l’utilisateur entre chaque barre du graphique.

image21

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Nouvelle option pour contrôler la direction angulaire du diagramme circulaire

Cette fonction permet de contrôler si les sections sont rendues dans le sens horaire ou antihoraire.

image22

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Rendu

Fonctionnalité: Boutons Play / Stop pour la lecture de la couche de maillage

Il est possible de changer les délais des jeux de données de la couche maillée par le bouton play / stop. Le paramètre de lecture peut être ajusté dans la boîte de dialogue de réglage de l’heure.

image23

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

Cette fonctionnalité a été développée par Lutra Consulting

Fonctionnalité: à la volée, rééchantillonnage des données définies sur les faces aux sommets (couche de maillage)

Pour les jeux de données définis sur les faces, on peut choisir d’interpoler les données aux sommets avec la méthode neighbour average. Lorsqu’aucune méthode d’interpolation des données n’est choisie, chaque pixel sur une seule face a une seule valeur / couleur. Avec les données sur les sommets, le rendu de chaque pixel est interpolé à partir des valeurs sur les sommets, ce qui rend les figures plus lisses.

Utilisez le panneau de style Contours de maillage pour basculer entre les méthodes d’interpolation des données.

image24

Cette fonctionnalité a été financée par Austrian Ministry of Agriculture, Forestry, Environment and Water Management

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

Fonctionnalité: Prise en charge du temps de référence du maillage

Pour différents types d’ensembles de données, par exemple GRIB et NetCDF, l’heure de référence dans la boîte de dialogue des paramètres d’heure QGIS est préremplie à partir des données brutes et n’a pas besoin d’être définie manuellement. Nous avons également corrigé divers bugs liés à l’analyse temporelle, donc dans QGIS 3.12, il devrait être possible de formater et d’afficher votre temps dans des tracés / animations de la manière appropriée:

  • S’il existe une référence temporelle valide fournie avec des groupes d’ensembles de données, cette référence temporelle est utilisée pour afficher l’heure (en utilisant le temps absolu).

  • S’il n’y a pas de temps de référence fourni, le temps est affiché en utilisant le temps relatif, et une référence de temps peut être réglée par l’utilisateur pour afficher le temps absolu.

  • Lorsqu’aucune référence d’heure n’est fournie, la valeur par défaut est la date et l’heure actuelles définies avec 00:00:00.

Un bouton est ajouté pour recharger le temps de référence fourni avec les groupes de jeux de données si nécessaire.

Il ajoute également une nouvelle fonctionnalité pour permettre à l’utilisateur de définir l’unité de temps du fournisseur avec une zone de liste déroulante si cette unité de temps est différente des heures.

imageQ3

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

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

Fonctionnalités 3D

Fonctionnalité: rendu de terrain de couche de maille 3D

Il est possible de rendre la couche de maillage dans la vue 3D en tant que terrain.

L’utilisateur peut choisir d’activer / désactiver les triangles lisses et le filaire. Il est possible de choisir la largeur de ligne et la couleur de ligne du filaire, de changer l’échelle verticale et de choisir le style de rendu (couleur unique ou dégradé de rampe de couleur).

Il existe deux entrées pour rendre la couche de maillage dans la vue 3D:

  • choisissez le maillage comme terrain dans le widget de configuration

  • activez la vue 3D dans les propriétés de la couche.

L’utilisateur peut choisir ces paramètres:

  • activer / désactiver les triangles lisses

  • activer / désactiver le filaire

  • choisissez la largeur de trait et la couleur de trait du filaire

  • changer l’échelle verticale

  • choisissez le style du rendu: couleur unique ou dégradé de rampe de couleur

  • définit l’ombrage de la rampe de couleur comme pour la couche raster

Pour l’instant, le maillage peut être rendu sous forme de TIN mais le jeu de données de rendu n’est pas pris en charge. Cependant, l’infrastructure est adaptée pour une future série de travaux.

mesh3dsettings

image27

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

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

Fonctionnalité: chargez les données de couche vectorielle 3D en arrière-plan + mosaïque

Cela ajoute la prise en charge du chargement en arrière-plan des données des couches vectorielles dans les vues de carte 3D. Jusqu’à présent, le chargement gelait complètement l’interface graphique - cela pouvait prendre plusieurs secondes selon la complexité des données d’entrée.

Le rendu de couche vectorielle et le rendu basé sur des règles ont été convertis pour utiliser QgsChunkedEntity qui est déjà utilisé pour le rendu du terrain. Il y a deux autres améliorations en plus du déverrouillage de l’interface graphique:

  • le processus de chargement est multithread au lieu d’utiliser un seul noyau

  • le chargement se fait en tuiles - il est donc possible de voir les tuiles avec des données 3D apparaissant pendant que d’autres données sont encore en cours de chargement

Il y a une nouvelle option de configuration dans l’onglet 3D des couches vectorielles - elle détermine la profondeur du quadtree. Par exemple, un niveau de zoom signifie qu’il y aura une seule tuile pour l’ensemble de la couche. Trois niveaux de zoom signifient qu’il y aura 16 tuiles au niveau de la feuille (chaque niveau de zoom supplémentaire multiplie cela par 4, donc j’ai une interface graphique limitée à 8 niveaux maximum, ce qui donne ~ 16K tuiles, ce qui est déjà beaucoup).

Comment le quadtree de mosaïque d’une couche vectorielle est peuplé: tous les nœuds d’arbre internes sont vides et donc la scène de carte 3D essaie de les remplacer immédiatement par leurs enfants - cela va jusqu’à ce que les nœuds leaf soient atteints. Seuls les nœuds au niveau leaf contiennent actuellement des données. Cela peut changer à l’avenir lorsque nous introduirons des stratégies plus élaborées - par exemple, les nœuds internes peuvent contenir un petit pourcentage d’entites des nœuds enfants (cela nous permettrait d’afficher quelque chose tout en effectuant un zoom arrière important, ne nécessitant pas de charger toutes les données) .

À des fins de débogage, il existe également une nouvelle option de configuration « afficher les boîtes englobantes ». Cela vous permet de voir le cadre de délimitation de chaque tuile (particulièrement utile s’il y a des problèmes avec les tuiles qui n’apparaissent pas quand elles le devraient).

Cette fonctionnalité a été financée par la subvention QGIS.org.

Cette fonctionnalité a été développée par Martin Dobias

Expressions

Fonctionnalité: Rechercher des balises pour les fonctions

Balises sur les fonctions d’expression statique pour les rendre plus récupérables. Des fonctions comme array_to_string sont répertoriées lorsque l’utilisateur entre « split » ou « convert » ou - comme avant - une partie du nom de la fonction.

image33

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

Cette fonctionnalité a été développée par David Signer (OPENGIS.ch)

Fonctionnalité: Liste des valeurs de couche référencées

Lorsqu’un champ est une RelationReference, ValueRelation et ValueMap, il y a la possibilité non seulement d’afficher les valeurs de la couche actuelle mais également les valeurs possibles dans la couche référencée / les possibilités configurées.

image34

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

Cette fonctionnalité a été développée par David Signer (OPENGIS.ch)

Fonctionnalité: Nouvelles expressions

  • is_empty (geom), vérifie si une géométrie est vide (géométrie qui ne contient pas de coordonnées)

  • is_empty_or_null(geom), vérifiez si une géométrie est vide ou NULL (n’a pas de géométrie)

  • hash, fonctions de hachage cryptographiques utilisant QCryptographicHash. Le cas d’utilisation est le même que PgCrypto mais côté client pour tous les formats pris en charge.

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

Fonctionnalité: Nouvel algorithme « Renommer un champ de la table »

Prend une couche en entrée, un champ existant et un nouveau nom pour le champ, et sort une nouvelle couche avec le champ sélectionné renommé.

Bien que ce résultat puisse également être obtenu avec l’algorithme Refactor Fields, Refactor Fields n’est pas particulièrement adapté aux modèles. Il s’appuie sur une structure de table constante et fixe et ne peut pas s’adapter aux tables d’entrée avec différentes structures de champ.

En revanche, ce simple algorithme Renommer le champ s’adapte parfaitement à l’utilisation du modèle, car il fonctionne sur un seul champ et ne modifie pas tous les autres champs.

image35

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

Fonctionnalité: Expressions stockées

  • Stocker les expressions utilisateur

  • Effacer l’icône / l’action de l’éditeur

expression-storage-opt

Voir également QEP https://github.com/qgis/QGIS-Enhancement-Proposals/issues/135

Cette fonctionnalité a été financée par Salvatore Fiandaca

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

Fonctionnalité: répertorier les valeurs de couche référencées dans Expression Builder

Lorsqu’un champ est une RelationReference, ValueRelation et ValueMap, il y a la possibilité non seulement d’afficher les valeurs de la couche actuelle mais également les valeurs possibles dans la couche référencée / les possibilités configurées.

age est une ValueMap, species est une ValueRelation et island_id est une RelationReference

uniquevalues

Dans l’exemple, nous avons les personnes:

  • George (à Cuba, dans la vingtaine, humain) Paul (au Vietnam, dans la trentaine, humain) Ringo (au Venezuela, dans la quarantaine, chat) John (au Vietnam aussi, dans la quarantaine, table)

  • Et les entrées dans la couche pays sont URSS, Cuba, Vietnam, Birmanie, Venezuela, Corée du Nord

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

Fonctionnalité: Ajouter des fonctions d’expression pour la conversion vers / depuis wkb

  • geom_from_wkb(geom_to_wkb(make_point(4,5))) un objet de géométrie ponctuelle Renvoie une géométrie créée à partir d’une représentation binaire bien connue (WKB).

  • geom_to_wkb($ geometry) blob binaire contenant un objet géométrique Renvoie la représentation binaire bien connue (WKB) d’une géométrie en tant que blob binaire.

Ajoute geom_from_wkb et geom_to_wkb, qui reflètent les fonctions geom_from_wkt/geom_to_wkt existantes, mais pour les représentations WKB des géométries.

Depuis QGIS 3.6, nous avons une bonne prise en charge des valeurs d’objets blob binaires dans les expressions et les valeurs de champ, donc l’ajout de ces fonctions permet aux utilisateurs de travailler avec des champs d’objets blob binaires contenant des représentations WKB des géométries (par exemple avec un générateur de géométrie affichant les géométries codées)

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

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: expression is_valid

is_valid(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)')) true Renvoie true si une géométrie est valide; s’il est bien formé en 2D selon les règles de l’OGC

Ajoutez une fonction is_valid aux expressions, qui réutilise GEOS et renvoie true si une géométrie est valide; s’il est bien formé en 2D selon les règles de l’OGC.

Cette fonctionnalité a été développée by Pete King

Fonctionnalité: Ajouter de la fonction datetime_from_epoch (MSec from epoch)

datetime_from_epoch(1483225200000) 2017-01-01T00: 00: 00 Renvoie un datetime dont la date et l’heure sont le nombre de millisecondes, ms, qui se sont écoulées depuis 1970-01-01T00: 00: 00.000, temps universel coordonné (Qt.UTC) et converti en Qt.LocalTime.

Cette fonctionnalité a été développée par Richard Duivenvoorde

Fonctionnalité: fonction rotate()

rotation($geometry, 45, make_point(4, 5)) géométrie tournée de 45 degrés dans le sens des aiguilles d'une montre autour du point (4, 5) Renvoie une version pivotée d’une géométrie. Les calculs sont dans le système de référence spatiale de cette géométrie.

Cette fonctionnalité a été développée by Raymond Nijssen, Nyall Dawson

Fonctionnalité: permet de generer des fonctions aléatoires

  • rand (10, 80, 1) 30 Retourne un entier aléatoire dans la plage spécifiée par l’argument minimum et maximum (inclus). Si une graine aléatoire est fournie, le résultat sera toujours le même et dépendra de cette graine aléatoire.

  • randf (10, 80, 1) 19.37136508087729 Retourne un flottant aléatoire dans la plage spécifiée par les arguments minimum et maximum (inclus). Si une graine aléatoire est fournie, le résultat sera toujours le même et dépendra de cette graine aléatoire.

Cette fonctionnalité ajoute un paramètre optionnel de départ aux fonctions rand() et randf(). Ceci est très utile si vous voulez que le résultat soit déterministe, par exemple pour attribuer des couleurs aléatoires mais fixes aux entites. Utiliser la couleur _hsb (rand (0,360, $ id), 50,50) par exemple donne toujours la même couleur pour la même entite. Nous améliorons également la fonction rand(), qui ne fonctionnait pas pour les valeurs élevées (plus de 32 000) en utilisant QRandomGenerator de Qt au lieu de qrand (qui semble déconseillé dans Qt 5.11).

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

Fonctionnalité: Prise en charge de la langue pour le format _date() et pour _ {date, datetime, time}()

  • format_date('2012-05-15','d MMMM yyyy','fr') '15 mai 2012'

  • format_date('2012-05-15','d MMMM yyyy','it') '15 maggio 2012'

  • format_date('2012-05-15', 'd MMMM yyyy', 'en') '15 May 2012' Formate un type de date ou une chaîne dans un format de chaîne personnalisé. Utilise des chaînes de format de date / heure Qt. Voir QDateTime::toString.

Par défaut, ces expressions utilisent les paramètres régionaux de l’application. L’ajout d’un paramètre de langue facultatif permet de gérer des dates qui ne correspondent pas à ces paramètres régionaux par défaut (par exemple, pour un système anglais exécutant QGIS essayant de transformer une chaîne au format français en un objet date).

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

Numérisation

Fonctionnalité: Modifier les attributs non valides lors du copier / coller dans une autre couche

Sur les fonctionnalités de copier-coller d’une couche à une autre, dans le cas où il y a des contraintes (par exemple non nulles) sur la couche de destination, qui ne peuvent pas être remplies automatiquement par les valeurs par défaut, une boîte de dialogue apparaît pour corriger les attributs non valides ou ignorer volontairement les contraintes .

image38

Cette fonctionnalité a été financée par Amt für Wald und Wild Zug

Cette fonctionnalité a été développée par David Signer (OPENGIS.ch)

Fonctionnalité: Accrochage de la parallélisation du cache

Dans la version précédente de QGIS, le cache d’index de capture était construit séquentiellement et vous deviez attendre que toutes vos couches soient indexées avant de commencer l’édition. Grâce au programme de subvention QGIS.org, QGIS construit désormais le cache d’indexation de capture en parallèle pour chaque couche, ce qui accélère l’ensemble du processus. La capture a également été assouplie, ce qui signifie que vous n’avez pas à attendre la fin du cache, vous pouvez commencer à modifier et les informations de capture apparaîtront dès qu’elles seront prêtes.

image39

Cette fonctionnalité a été financée par QGIS.org

Cette fonctionnalité a été développée par Julien Cabieces (Oslandia)

Gestion des données

Fonctionnalité: Améliorations de l’exportation DXF

Nous avons fait une refonte du processus d’exportation DXF. Cela solidifie le processus d’exportation et offre de nouvelles fonctionnalités.

  • Les styles de géométries sont exportés et des blocs sont utilisés

  • Les coordonnées Z des géométries 3D sont préservées

  • Labels are exported with their anchor points and horizontal and vertical alignment or quadrant settings respected

L’ensemble du processus d’exportation DXF a également été préparé pour être exécuté dans un thread. Avec cela en place, il n’est plus qu’à un pas d’être envoyé en arrière-plan, de permettre l’annulation d’un processus d’exportation en cours ou d’être exposé en tant qu’algorithme de traitement.

Cette fonctionnalité a été financée par Kanton Schaffhausen

Cette fonctionnalité a été développée par Matthias Kuhn (OPENGIS.ch)

Formulaires et widgets

Fonctionnalité: créer une entite géométrique à partir de l’éditeur de relations

Nous avons ajouté la possibilité d’ajouter une nouvelle entite et de numériser sa géométrie directement à partir du widget de l’éditeur de relations. Il est désormais plus facile d’ajouter une entité géométrique liée à votre entité parent actuellement affichée.

image40

Cette fonctionnalité a été financée par QWAT user group

Cette fonctionnalité a été développée par Julien Cabieces (Oslandia)

Fonctionnalité: améliorer la boîte de dialogue de sélection des entites

Depuis le widget de l’éditeur de relations, vous pouvez lier votre entite actuellement affichée à des entites existantes. La boîte de dialogue de sélection des entites vous permet de choisir ces entites. Grâce au groupe d’utilisateurs QWAT, la sélection des entites est désormais partagée avec celle du canevas, il est donc facile de trouver et de sélectionner l’entite que vous souhaitez lier. Nous avons également ajouté la possibilité de filtrer les entités affichées (celles sélectionnées, visibles sur la carte, correspondant à une expression …) en réutilisant les mêmes widgets déjà existants sous forme d’attribut.

image41

Cette fonctionnalité a été financée par QWAT user group

Cette fonctionnalité a été développée par Julien Cabieces (Oslandia)

Fonctionnalité : Améliorations de l’UX dans la conception de formulaires à glisser-déposer

Le concepteur de formulaires drag’n’drop a reçu de belles améliorations UX

  • Les deux listes (champs disponibles et arborescence) sont désormais synchronisées: chaque fois que vous sélectionnez une entrée dans une liste, l’élément correspondant est sélectionné dans l’autre.

  • Les boîtes de dialogue de configuration cachées (sous double-clic) ont été placées dans le panneau de droite

image42

Cette fonctionnalité a été financée par QGIS.org bugfixing

Cette fonctionnalité a été développée par Denis Rouzaud, OPENGIS.ch

Légende des couches

Fonctionnalité: Prise en charge de l’affichage des graphiques de légende WMTS dans l’arborescence des couches

Nous avons ajouté la prise en charge de l’affichage des graphiques de légende WMTS directement dans l’arborescence des couches, comme c’est déjà le cas avec les graphiques de légende WMS.

Exemple :

imageQ4

Exemple de cas utilisation: https://wmts10.geo.admin.ch/EPSG/2056/1.0.0/WMTSCapabilities.xml

Cette fonctionnalité a été développée by Sandro Mani

Outils d’analyse

Fonctionnalité: exportation fluide des contours à partir de la couche de maillage

Un nouvel algorithme dans l’API de la bibliothèque d’analyse de QGIS pour exporter directement les courbes de niveau et les polygones est ajouté. La méthode n’est pas basée sur les algorithmes GDAL, mais utilise directement des méthodes d’interpolation de maillage triangulaire de couche maillée. Il est à la fois rapide et avec des formes lisses, correspondant aux images rendues de QGIS. Vous pouvez essayer le nouvel algorithme de traitement dans la boîte à outils de traitement des crayfish.

image44

Cette fonctionnalité a été financée par Austrian Ministry of Agriculture, Forestry, Environment and Water Management

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

Fonctionnalité: Prise en charge des ensembles de données définis sur les faces dans QGIS Mesh Calculator

Vous pouvez utiliser la calculatrice de maillage pour tous les types de jeux de données, définis sur les faces et les sommets. De plus, il permet aux utilisateurs de stocker le résultat de la calculatrice de maillage sous un nom ou un format différent. Cela permet par exemple de travailler avec des données FLO-2D ou HEC-RAS dans la calculatrice de maillage QGIS

image45

Cette fonctionnalité a été financée par Austrian Ministry of Agriculture, Forestry, Environment and Water Management

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

Traitements

Fonctionnalité: empaqueter de nouvelles couches dans le GeoPackage existant

Nous avons amélioré l’algorithme de traitement des couches de package existant pour pouvoir ajouter de nouvelles couches aux GeoPackages existants. Pour cela, il vous suffit de désactiver le paramètre OVERWRITE et de spécifier un GeoPackage existant.

image46

Cette fonctionnalité a été financé par BikePlan

Cette fonctionnalité a été développée par Matthias Kuhn (OPENGIS.ch)

Fonctionnalité: Logique floue - Fuzzfiy Raster (appartenance linéaire)

L’algorithme de raster Fuzzify (appartenance linéaire) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 suivant une fonction d’appartenance floue linéaire. La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit une fonction d’appartenance linéaire.

image47

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

Fonctionnalité: Logique floue - Fuzzfiy Raster (power membership)

L’algorithme de raster Fuzzify (power membership) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 à la suite d’une fonction d’appartenance floue de puissance. La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit une fonction d’appartenance au pouvoir.

image48

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

Fonctionnalité: Logique floue - Fuzzfiy Raster (small membership)

L’algorithme de raster Fuzzify (small membership) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 en suivant la «petite» fonction d’appartenance floue. La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit la «petite» fonction d’appartenance. La «petite» fonction est construite à l’aide de deux valeurs de raster en entrée définies par l’utilisateur qui définissent le point de la moitié de l’appartenance (point médian, les résultats à 0,5) et une répartition de fonction prédéfinie qui contrôle l’utilisation de la fonction.

image49

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

Fonctionnalité: Logique floue - Fuzzfiy Raster (large membership)

L’algorithme de raster Fuzzify (large membership) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 suivant la «grande» fonction d’appartenance floue. La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit la fonction d’appartenance large .La fonction large est construite à l’aide de deux valeurs raster en entrée définies par l’utilisateur qui définissent le point de la moitié de l’appartenance (point médian, résultats à 0,5) et une valeur prédéfinie répartition de la fonction qui contrôle l’absorption de la fonction.

image50

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

Fonctionnalité: Logique floue - Fuzzfiy Raster (gaussian membership)

L’algorithme de raster Fuzzify (gaussian membership) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 en suivant la fonction d’appartenance floue «gaussienne». La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit la fonction d’appartenance «gaussienne». La fonction gaussienne est construite à l’aide de deux valeurs d’entrée définies par l’utilisateur qui définissent le milieu de la fonction gaussienne (milieu, résultats à 1) et une répartition de fonction prédéfinie qui contrôle la répartition de la fonction.

image51

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

Fonctionnalité: Fuzzy Logic - Fuzzfiy Raster (near membership)

L’algorithme de trame Fuzzify (near membership) est une implémentation native d’un algorithme de logique floue. Il transforme un raster en entrée en un raster flou et affecte ainsi des valeurs comprises entre 0 et 1 en suivant la fonction d’appartenance floue «proche». La valeur de 0 n’implique aucune appartenance à l’ensemble flou défini, une valeur de 1 représente l’appartenance complète. Entre les deux, le degré d’appartenance des valeurs raster suit la fonction d’appartenance «proche». La fonction proche est construite à l’aide de deux valeurs d’entrée définies par l’utilisateur qui définissent le point médian de la fonction proche (point médian, résultats à 1) et une répartition de fonction prédéfinie qui contrôle la répartition de la fonction.

image52

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

Fonctionnalité: algotithme Port Densify by count en C ++

Nous avons porté l’algorithme Densify by count en C ++ afin d’améliorer sa vitesse par rapport à l’implémentation Python précédente. Le nouvel algorithme expose également le paramètre count en tant que paramètre dynamique afin qu’il puisse être contrôlé par des expressions ou des valeurs de champ.

image53

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

Fonctionnalité: Porter des points aléatoires dans l’algorithme d’extension en C ++

Nous avons porté l’algorithme des points aléatoires dans l’étendue en C ++. Cela augmente sa vitesse lors de sa comparaison avec l’implémentation Python précédente. Le nouvel algorithme expose également un paramètre avancé de nombres maximum de retrys pour l’algorithme lors de la recherche de points placés au hasard qui respectent une certaine distance entre tous les point

image54

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

Fonctionnalité: Algorithme de densité de ligne

Dans cette version, nous avons ajouté un algorithme natif pour calculer la densité de lignes basée sur le raster. Cet algorithme calcule la densité de ligne en fonction d’un rayon de recherche et des poids des lignes à l’intérieur du rayon de recherche. L’algorithme a été porté pour fournir plus de fonctionnalités de l’extension ArcGIS Spatial Analyst dans QGIS.

image55

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

Fonctionnalité: Nouvel algorithme « Repair Shapefile »

Nous avons ajouté un nouvel algorithme qui utilise GDAL pour réparer les fichiers de formes qui ont un fichier .SHX cassé ou manquant.

image56

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Ajouter un nouvel algorithme « Détecter les modifications de l’ensemble de données »

Cet algorithme compare deux couches vectorielles et détermine quelles entités sont inchangées, ajoutées ou supprimées entre les deux. Il est conçu pour comparer deux versions différentes du même ensemble de données.

Lors de la comparaison d’entités, les géométries d’entités originales et révisées seront comparées les unes aux autres. Selon le paramètre Comportement de comparaison de géométrie, la comparaison sera effectuée à l’aide d’une comparaison exacte (où les géométries doivent correspondre exactement les unes aux autres, y compris l’ordre et le nombre de sommets) ou à une comparaison topologique uniquement (où la zone des géométries est-elle considérée comme égale si toutes les arêtes de leurs composants se chevauchent. Par exemple, les lignes ayant les mêmes emplacements de sommet mais la direction opposée seront considérées comme égales par cette méthode). Si la comparaison topologique est sélectionnée, les valeurs z ou m présentes dans les géométries ne seront pas comparées.

Par défaut, l’algorithme compare tous les attributs des entites d’origine et révisées. Si le paramètre Attributs à considérer pour la correspondance est modifié, seuls les attributs sélectionnés seront comparés (par exemple, permettant aux utilisateurs d’ignorer un horodatage ou un champ ID qui devrait changer entre les révisions).

Si aucune entité des couches d’origine ou révisée n’a de géométrie associée, il faut veiller à ce que ces entités possèdent un ensemble unique d’attributs sélectionnés pour comparaison. Si cette condition n’est pas remplie, des avertissements seront émis et les sorties résultantes peuvent être trompeuses.

L’algorithme génère trois couches, une contenant toutes les entites considérées comme inchangées entre les révisions, une contenant les entites supprimées de la couche d’origine qui ne sont pas présentes dans la couche révisée et une contenant des entites s’ajoutant à la couche révisée qui ne sont pas présentes. dans la couche d’origine.

image57

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

Fonctionnalité: Nouveau mode pour « Joindre les attributs par emplacement » pour prendre les attributs de la fonction correspondante avec la plus grande zone de chevauchement uniquement

Cela permet des jointures polygone-> polygone faciles, où vous vous attendez à ce qu’il n’y ait qu’une seule entité correspondante et que vous ne vouliez pas inclure des entités qui se touchent ou qui n’ont que de minuscules chevauchements de polygones.

image58

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

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

Fonctionnalité: Ajouter un algorithme de transformation affine native pour les vecteurs

Offre les avantages suivants par rapport aux versions GRASS/ SAGA :

  • Prise en charge complète des valeurs z / m et gestion des géométries courbes sans perte de courbes

  • Fonctionne avec tous les types de données natifs, pas besoin de transformation de format

  • Prise en charge des paramètres dynamiques (données définies, par entite) de traduction / mise à l’échelle / rotation

  • Permet la transformation et la mise à l’échelle des valeurs Z et M (si présentes)

  • Prend en charge le mode d’édition sur place

image59

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

Fonctionnalité: ajouter l’algorithme gdal_viewshed

Exposez le nouvel outil gdal_viewshed via la boîte à outils Traitement. Remarque: cela nécessite GDAL > = 3.1.

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

Explorateur

Fonctionnalité: Personnalisation des éléments affichés dans le navigateur

Ajoutez la personnalisation des éléments affichés dans le navigateur à la boîte de dialogue Personnalisation de l’interface. L’utilisateur peut masquer certains des éléments racine dans le panneau du navigateur (par exemple, Favoris, fournisseur PostGIS, MSSQL, Oracle, Volumes, …)

image60

Cette fonctionnalité a été financée par Limerick City and County Council

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

Fonctionnalité: Afficher les fichiers html dans le panneau du navigateur

Cette fonctionnalité permet d’afficher et d’ouvrir les fichiers .htm (l) à partir du panneau du navigateur. Ils sont souvent utilisés pour documenter des fichiers de données ou des projets de mappage.

image61

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Afficher l’action « Ouvrir le document … » dans le navigateur

Lorsque vous cliquez avec le bouton droit sur certains fichiers dans le navigateur, ils pourront être ouverts avec l’application externe par défaut pour ce type de fichier

Par exemple. Les fichiers PDF s’ouvriront avec la visionneuse PDF externe par défaut.

Fonctionne avec PDF, ODS, XLS (X), CSV, TXT, PNG, JPEG, TIFF, SVG (d’autres types auront probablement besoin de plus de travail, car ils ne sont pas actuellement affichés dans le navigateur).

image62

Cette fonctionnalité a été développée par Nyall Dawson (North Road)

Fonctionnalité: Autoriser la personnalisation des éléments affichés dans le navigateur

Vous pouvez désormais personnaliser les éléments affichés dans le navigateur. L’utilisateur peut décider (dans la boîte de dialogue Personnalisation de l’interface) de masquer certains des éléments racine dans le panneau du navigateur (par exemple, Favoris ou fournisseur POSTGIS, …)

Screenshot 2020-01-09 at 09 17 05

Cette fonctionnalité a été financée par Limerick City and County Council

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

Fonctionnalité: Ajouter une action d’actualisation des services OGC

Vous pouvez maintenant actualiser les services OGC dans le navigateur. Ci-dessous, une capture d’écran montrant un exemple de fonctionnement de cette fonction dans les connexions WMS / WMTS:

OGCrefreshonaction

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fournisseurs de données

Fonctionnalité: icône de collection de couches WMTS modifiée

Il s’agissait d’un changement de l’icône utilisée pour l’élément de collection de couches WMTS, un schéma de base de données a été utilisé à la place d’une icône liée à WMTS. Une icône WMS générale est maintenant utilisée.

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

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: Ajout de la propriété URL de métadonnées dans l’onglet de métadonnées de couche pour les services WMS / WMTS et WCS

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

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: Récupérer et afficher les métadonnées des dimensions pour une métadonnée de couche WMS

image65

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

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: Ajout d’une action de rafraîchissement aux entrées des services OGC

image66

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

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: mailles empilées 3D

MDAL et QGIS prennent désormais en charge les maillages empilés 3D, en particulier pour le format TUFLOW-FV. Pour cette version, vous devez choisir la méthode de calcul de moyenne appropriée dans l’interface QGIS et vous pouvez parcourir les données de manière similaire à tout autre ensemble de données 2D.

image67

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

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

Fonctionnalité: correction de nombreux problèmes d’encodage de fichiers de formes

Cela corrige la gestion (cassée par la conception?) De l’encodage Shapefile, qui est un problème récurrent depuis des années dans QGIS.

Voir discussion à

(+ d’autres !)

La situation était que nous avions deux chemins de code différents pour gérer le décodage d’attribut côté GDAL OU le décodage côté QGIS. Malheureusement, ils sont tous les deux incompatibles, et en raison de l’API GDAL, à cause de cela, nous ne pouvons pas unifier les deux approches. (Plus de détails techniques dans le message du journal de validation!)

Alors maintenant, nous :

  • faites toujours le décodage du côté de QGIS. Cela permet aux utilisateurs de remplacer manuellement l’encodage déclaré d’un fichier de formes car ils sont souvent incorrects!

  • utiliser un port de la logique de détection des fichiers de formes de GDAL (il n’est pas exposé dans l’API GDAL, j’ai donc dû le réimplémenter ici) afin que nous choisissions par défaut la lecture des fichiers de formes en respectant les informations de codage intégrées (via les fichiers CPG ou les informations DBF LDID)

  • Supprimez complètement l’option « Ignorer la déclaration d’encodage du fichier de formes », source de confusion, car elle n’est plus requise - les utilisateurs sont TOUJOURS en mesure de modifier manuellement l’encodage des couches de fichiers de formes si nécessaire

  • Toujours montrer aux utilisateurs l’encodage incorporé détecté dans les propriétés de la couche, au lieu d’afficher toujours « UTF-8 » lorsque les informations d’encodage incorporées sont utilisées

Cela devrait donner le meilleur des deux mondes - un comportement par défaut agréable entraînant la lecture des fichiers de formes avec le codage correct, tout en permettant aux utilisateurs de remplacer cela sur une base couche par couche selon les besoins.

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

Fonctionnalité: Prise en charge de l’édition de type de courbe Oracle

Dans les versions antérieures de QGIS, il n’était pas possible de modifier certains types de géométrie provenant d’une base de données Oracle. Nous avons ensuite ajouté le support d’édition pour les types de géométrie suivants:

  • CircularString(Z)

  • CompoundCurve(Z)

  • MultiCurve(Z)

  • CurvePolygon(Z)

  • MultiSurface(Z)

Cette fonctionnalité a été financée par Lille Métropole

Cette fonctionnalité a été développée par Julien Cabieces (Oslandia)

Fonctionnalité: Prise en charge du raster MBTiles dans le fournisseur WMS

Cette fonctionnalité ajoute la prise en charge de la carte raster en mosaïque MBTiles au fournisseur WMS afin qu’il utilise les mêmes chemins de code comme les tuiles WMTS ou XYZ. Voici les avantages de l’approche via le fournisseur WMS:

  • mise à l’échelle correcte des tuiles sur un affichage haute résolution

  • mieux regarder sans zoomer sur la résolution native des tuiles. Le fournisseur WMS utilise une mise à l’échelle fluide tandis que GDAL utilise le voisin le plus proche par défaut.

  • tuile de carte apparaissant pendant le rendu (avec GDAL, c’est une carte blanche jusqu’à ce que tout soit chargé)

  • possibilité d’utiliser un widget curseur à l’échelle de tuiles

  • plus rapide - principalement un effet secondaire du chargement de moins de tuiles sur un affichage haute résolution

Cette fonctionnalité a été développée par Martin Dobias

Fonctionnalité: fournisseur de données raster PostGIS natif

Il s’agit d’une implémentation d’un fournisseur de données raster PostGIS dans QGIS core. Les tuiles sont mises en cache dans la mémoire RAM.

Cette fonctionnalité a été financée par Christmas Holidays Inc.

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

Fonctionnalité: Afficher les métadonnées des dimensions sur les métadonnées de la couche WMS

wms-ttimelayermetadataqgis

Cette fonctionnalité a été développée par Samweli Mwakisambwe

Fonctionnalité: Autres méthodes moyennes maillage 3d

QGIS inclut désormais de nombreuses méthodes pour faire la moyenne des couches de maillage (voir QEP related <https://github.com/qgis/QGIS-Enhancement-Proposals/issues/158> __, et pour une description des méthodes, voir `Documentation TUFLOW < https://fvwiki.tuflow.com/index.php?title=Depth_Averaging_Results>`__.

  • SingleLevelAverageMethod (top)

  • SingleLevelAverageMethod (bottom)

  • MultiLevelsFromTopAveragingMethod

  • MultiLevelsFromBottomAveragingMethod

  • SigmaAveragingMethod

  • DepthAveragingMethod

  • HeightAveragingMethod

  • ElevationAveragingMethod

Screenshot 2019-12-19 at 13 59 47

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

Fonctionnalité: API OGC - Fournisseur de fonctionnalités

Ce nouveau fournisseur est une implémentation côté client de la spécification récemment adoptée OGC API - Features - Part 1: Core, anciennement connu sous le nom de WFS3. Il est intégré à l’interface utilisateur graphique du fournisseur WFS et exploite ses principaux mécanismes pour offrir un téléchargement en arrière-plan des entités, à l’aide de la pagination, et un cache local des entités déjà téléchargées pour une utilisation interactive plus fluide des jeux de données.

image70

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

Cette fonctionnalité a été développée par Even Rouault (Spatialys)

QGIS Server

Fonctionnalité: QGIS Development Server Application

QGIS Development HTTP Server

Il s’agit d’une petite application de ligne de commande indépendante qui implémente un serveur de développement HTTP minimal pour QGIS Server.

Il peut être utile lors du développement et du test de projets, modules et plugins QGIS Server sans nécessiter une pile complète de serveur Web / FCGI.

qgismapserver

Usage: qgis\_mapserver [options] [address:port]
QGIS Development Server

Options:
-h, --help Displays this help.
-v, --version Displays version information.
-l Sets log level (default: 0)
0: INFO
1: WARNING
2: CRITICAL
-p Path to a QGIS project file (*.qgs or* .qgz),
if specified it will override the query string MAP argument
and the QGIS\_PROJECT\_FILE environment variable

Arguments:
addressAndPort Listen to address and port (default: "localhost:8000")
address and port can also be specified with the environment
variables QGIS\_SERVER\_ADDRESS and QGIS\_SERVER\_PORT

Exemple de sortie :

bash QGIS Development Server listening on http://localhost:8000 CTRL+C to exit 127.0.0.1 [lun gen 20 15:16:41 2020] 5140 103ms "GET /wfs3/?MAP=/home/ale/dev/QGIS/tests/testdata/qgis_server/test_project.qgs HTTP/1.1" 200 127.0.0.1 [lun gen 20 15:16:41 2020] 3298 2ms "GET /wfs3/static/jsonFormatter.min.js HTTP/1.1" 200 127.0.0.1 [lun gen 20 15:16:41 2020] 1678 3ms "GET /wfs3/static/jsonFormatter.min.css HTTP/1.1" 200 127.0.0.1 [lun gen 20 15:16:41 2020] 1310 5ms "GET /wfs3/static/style.css HTTP/1.1" 200 127.0.0.1 [lun gen 20 15:16:43 2020] 4285 13ms "GET /wfs3/collections?MAP=/home/ale/dev/QGIS/tests/testdata/qgis_server/test_project.qgs HTTP/1.1" 200

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

Fonctionnalité: Ajouter les paramètres d’exportation du serveur DXF NO_MTEXT et FORCE_2D

QGIS Server prend désormais en charge les nouveaux paramètres NO_MTEXT et FORCE_2D pour contrôler la symbologie de texte et de ligne pour les fichiers DXF générés. Ajoute des paramètres manquants à la demande GetDxf

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

Fonctionnalité: ajouter la prise en charge json à WMS GetLegendGraphic

Cette fonctionnalité ajoute la prise en charge des réponses GetLegendGraphic codées en JSON. Il s’appuie sur les travaux antérieurs de @pblottiere, qui a ajouté QgsLegendRenderer::exportLegendToJson dans ce but précis.

Par exemple, une requête GetLegendGraphic avec FORMAT=image/png produisant l’image

image72

produira ce qui suit avec FORMAT=application/json.

L’image de l’icône est codée en base64 et directement affichable dans une page Web.

Cette fonctionnalité a été développée par Éric Lemoine

Programmation

Fonctionnalité: Expose les méthodes de numérisation de formes à QgisInterface

Les actions pour déclencher les outils de dessin n’étaient pas exposées dans l’API, si vous vouliez effectuer une action pour l’un de ces outils, vous deviez recréer des classes. Un appel du type qgis.utils.iface.actionCircleCenterPoint().Trigger() simplifie donc la programmation.

Cette fonctionnalité a été financée par QWAT/QGEP group

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

Correctifs notables

Fonctionnalité: Correction de bugs par Stephen Knox

Bug Titre

URL du ticket (le cas échéant)

URL PR ou commit

Permettre l’édition des champs JSON dans postgres depuis un widget d’édition de texte

#29361

#30758

Cette fonctionnalité a été développée par Stephen Knox

Fonctionnalité: Bug fixes by Alessandro Pasotti

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

La catégorie « Récent » n’apparaît pas quand on ouvre la fenêtre de « Sélection par expression »

#33791

PR #33922

PR #33922

Le serveur QGIS ne trouve pas de shp ; il essaie d’ouvrir un chemin absolu plutôt que relatif

#33200

PR #33925

critique

non signalé : mauvais lien dans la page des éléments WFS3 du serveur (trop de barres obliques)

non signalé

PR #33926

critique

Qgis scanne les tables raster lors de la connexion à postgis

#33885

PR #33922

PR #34288

Layer Properties Information tab - formatting problems

#33862

PR #33955

PR #34289

Can’t set min/max values to decimal in raster symbology with QGis Linux versions

#33859

fonctionne pour moi dans la version actuelle master

QgsVectorLayer readStyle ne lit pas la visibilité basée sur l’échelle

#33840

PR #33987

PR #34289

Categorized symbolization does not work on bigint columns in QGIS

#33585

PR #33992

PR #34290

QGIS n’applique pas le fichier de style sur les couches raster

#29427

Aucun changement n’est nécessaire mais l’étude se poursuit

Le copier / coller d’entité avec une géométrie de type multiligneZ ne fonctionne pas correctement

#33977

fonctionne pour moi dans la version actuelle master

Edit Form shows and saves raw default-values from geopackage, spatialite or sqlite

#33383

PR #34012

PR #34298

Impossible de décocher les couches dans le panneau Ordre des couches

#33854

PR #34015

PR #34288

PostgreSQL identity column not recognized properly

#29560

PR #34017

PR #34291

Spatialite provider does not recognize autoincrement PKs when table definition uses backticks

#34085

PR #34012

PR #34298

QGIS plante lorsque je clique sur le bouton « Gérer les thèmes de la carte ».

#33295

PR #34090

PR #34098

Serveur QGIS - La demande WMS GetPrint échoue avec ATLAS_PK

#30817

fonctionne pour moi dans la version actuelle master

QGIS 3.10.2 remplace 0 par NULL

#34118

PR #34152

PR #34292

Representation for NULL values inconsistent use/display

#28643

PR #34157

PR #34293

DB Manager dans la version 3.11 MasterPostGIS ne peut pas se connecter à la base de données PostGIS activé

#34132

PR #34171

N/A

QGIS ne respecte pas les recommandations de l’OGC pour les paramètres KVP

#34148

PR #34175

PR #34294

QGIS 3.10 ne trouve pas la pkey dans les vues postgres

#34167

PR #34179

PR #34295

Duplicating a scratch layer ignores added fields

#34134

PR #34199

PR #34203

Le fichier XML d’un projet QGIS est invalide

#34218

PR #34219

PR #34297

Full row conditional formatting formats wrong full rows

#34122

PR #34305

PR #34315

l’erreur d’expression du filtre renvoie vrai

#34259

PR #34309

PR #34512

Fields are shifted when importing a layer with an FID attribute into GeoPackage

#32927

PR #32934

N/A

« split features » of PostGIS layers become slow since 3.6

#34326

closed: cannot reproduce with any of the (several) provided datasets

Cannot add/save more than 1 record/feature in a Spatialite layer/table

#34379

PR #34423

PR #34513

QGIS crashes when changing « default value » in layer property on a point scratch layer, after editing feature

#34404

PR #34428

PR #34514

La calculatrice raster transforme une ligne de pixels en nodata

#34435

PR #34460

PR #34511

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

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

Fonctionnalité: Correction de bugs par Sandro Santilli

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

repository files modified by “make check”

#25830

Runs of testsuite leaves hundreds of directories in ~/.local/share

#34185

Commit 96a7fb8

N/A

Drop use of deprecated QgsCoordinateReferenceSystem constructor

PR #34186

Commit b4fa419

N/A

Only look for pointcloud in its installed extension schema

#33509

Commit 1f44b29

N/A

QGIS 3.10 unable to load PostGIS-table on MacOS Catalina

#32558

Commit d15ce6b

Commit a06b164

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 Sandro Santilli

Fonctionnalité: 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)

Crash lors de l’application d’un mauvais filtre sur la couche OAFeat

#33878

PR #33927

PR #33958

Fournisseur Oracle : correction des avertissements du compilateur

PR #33930

Impossible d’importer un vecteur 3D dans Spatialite (fonctionne pour les fichiers GPKG)

#33883

PR #33938

PR #33945

[Oracle] Fix MultiSurface with straight polygon

PR #33959

pas faisable

Geometries stored in Oracle table fail sdo_geom.validate_geometry_with_context(..) check

#29085

PR #33959

pas faisable

QGIS WFS / OGC API – Features not showing list typed attributes correctly

#33758

PR #33983

N/A

La légende entraîne un crash

#32913

PR #34004

PR #34063

Draw effects units setting doesn’t persist

#34089

PR #34135

PR #34151

Mauvais géoréférencement des fichiers .map OZI

#34299

commit GDAL

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

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

Fonctionnalité: Correction de bugs par Alexander Bruy

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Remove verbose wording on layout toolbar buttons

#30161

PR #33912

Impossible de coller une couche dans un projet vide

#26710

PR #33961

PR #33965

DB Manager: Create Layer dialog should be closed or cleared once the new layer is generated

#25535

PR #33910

Deux raccourcis différents pour ouvrir le panneau Style de Couche (F7 vs Ctrl+3)

#26696

PR #33984

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 Alexander Bruy

Fonctionnalité: 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)

Fixes compilation on Arch Linux

non signalé

PR #34110

PR #34146

Déplacer les étiquettes ne fonctionne pas avec GPKG QGIS 3.4

#30408

Fermé (fonctionne sur master et 3.10)

Stockage auxiliaire non utilisable dans une couche non éditable

#30376

Feedback (works on master and 3.10)

Labels Buffer DD options do not have fields set and do not render in map canvas

#28544

PR #34153

critique

QGIS does not load embedded layers when opening projects

#34060

PR #34311

PR #34706

Embedded layers are duplicated after opening

non signalé

PR #34311

PR #34706

Raise log level of server exception

Discussed on qgis-developers list

PR #34256

PR #34539

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

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

Fonctionnalité : Correction de bugs par Denis Rouzaud

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Crash avec les relations

#33120

PR #34255

Crash avec les relations V2

#33120

PR #34403

fait

Fix map layer actions rendering in attribute table

non signalé

PR #34266

fait

DnD improvements (sync selections)

#28570

PR #34411

À faire ?

DnD improvements (container config)

#29063

PR #34433

DnD improvements (do not hide behind double click)

#29063

PR #34479

disable browsing auto pan/scale in attribute table when showing visible features only

#34486

PR #34493

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

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

Fonctionnalité : correction de bug par Julien Cabieces

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Snapping and vertex tool not working with some layers if snapping was enabled when loaded

#33449

PR #33757

N/A

Snapping not possible in new project with new layer

#32969

Doublon

Vertex Tool cache not refreshing after changes to line features

#33947

Ne sera pas corrigé

« fill ring » do not trigger the correct computation of the area in the « default value » expression

#32377

Fermé (Corrigé pour la version 3.10 et master)

« view feature form » opens the wrong feature/record

#33880

PR #34009

À faire

setFilterExpression and QGIS Filter output different results

#33454

Fermé (pas un problème de QGIS)

Crash while using Oracle views with primary key defined as number without precision

#31626

PR #34312

À faire

WCS client stopped working on a specific service from 2.18 to 3.x

#33339

PR #34300

À faire

Crash in relation reference test

#34779

PR #34822

À faire

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

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

Fonctionnalité : Correction de bugs par Bertrand Rix

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Snapping and vertex tool not working with some layers if snapping was enabled when loaded

#33449

PR #33757

N/A

Snapping not possible in new project with new layer

#32969

Doublon

Vertex Tool cache not refreshing after changes to line features

#33947

Ne sera pas corrigé

« fill ring » do not trigger the correct computation of the area in the « default value » expression

#32377

Fermé (Corrigé pour la version 3.10 et master)

« view feature form » opens the wrong feature/record

#33880

PR #34009

À faire

setFilterExpression and QGIS Filter output different results

#33454

Fermé (pas un problème de QGIS)

Crash while using Oracle views with primary key defined as number without precision

#31626

PR #34312

À faire

WCS client stopped working on a specific service from 2.18 to 3.x

#33339

PR #34300

À faire

Crash in relation reference test

#34779

PR #34822

À faire

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 Bertrand Rix

Fonctionnalité : Correction de bugs par Loïc Bartoletti

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Fermer le sommet de la ligne lors de l’édition

#32359

PR #34217

PR #34285

Correction des liens Grass sur FreeBSD

Signalé sur FreeBSD ML

PR #34088

PR #34238

[Regular Shape] Allow undo click when digitizing new features

#25597

PR #34080

PR #34302

Remove Added Vertex with Add Circular String

#29688

PR #34058

PR #34301

Rubberband not working correctly with « Shapes » digtizing in rotated map window

#33287

Doublon

Digitizing: LineStringZ does not inherit Z-coordinates from points if line starts by snapping to a point with no Z coordinate

#33201

PR #33642

PR #33951

Split feature makes QGIS 3.4.6 crash

#33408

Déjà corrigé

Fix oriented minimum bounding box algorithm

#33532

PR #34334

PR #34338

error with returned angle by orientedMinimumBoundingBox()

#31371

Fermé. Manque de retour

Fix build with txt2tags >= 3.5

directly reported by FreeBSD qgis maintainer

PR #34377

PR #34389

Fix identify menu when an expression is used as display name

non signalé

PR #34361

PR #34402

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

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

Fonctionnalité : Correction de bugs par Sebastien Peillet

Bug Titre

URL du ticket (le cas échéant)

URL du commit (Github)

Commit sur la 3.10 - backport (GitHub)

Extend line does not work in compoundCurvedZ layer

#32080

PR #34055

Feature attribute selection design bug

#29542

PR #34359

Unable to add a new feature when joining two PostGIS tables

#33148

PR #34216

Copy/Paste fails from one layer to another when layer has NOT NULL constraints and transaction groups are enabled

#29603

Déjà corrigé par PR #33688

QGIS se fige à la création de nouveaux shapefiles

#32069

Déjà corrigé

Oracle : tables are listed once for Polygons and once for MultiPolygons but both show all geometries

#32521

PR #34358

BUG : correction d’un résultat de couche invalide lorsque la version d’Oracle est inférieure à 12

non signalé

PR #34546

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 Sebastien Peillet

Fonctionnalité: 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 IN/NOT IN evaluation with very long number like strings

#34314

Commit 167e0de

Commit aca059a

[processing] Define Layer Projection tool should write .prj files using ESRI WKT1 format

#34007

Commit f41dd11e

Soumis

Show “unknown CRS” in status bar instead of blank text when project is set to an unknown CRS

#33458

Commit c6319b2

Soumis

Don’t force users to make a choice in the datum transform dialog

#34234

Commit 644a552

Soumis

Correction d’un crash lors d’un changement de source de données raster

#34231

Commit caf334e6

Commit b4142c3

Handle unit type « m » in custom WKT strings on proj 6 builds

#34196

Commit bb20cee

Commit 97c50f9

Show full CRS WKT for custom CRS in layer properties

#33862

Commit 19d58bda

Commit 2908227

[processing] Fix modeler draws lines to wrong output when connecting green output boxes

non signalé

Commit 5ae9807

Commit 528a45d

[processing] Fix Points Along Geometry handling of multipart geometries

#34022

Commit 3fb18a2

Commit ac3b446

[processing] Fix QStringList values are not accepted as valid values for multi-field parameters

non signalé

Commit abcb8d2

Commit d421313

[processing] Fix some field names are rejected in modeler for non-multi field parameters

non signalé

Commit 9bcd980

N/A - Seulement 3.12

Fix crash in server feature info

non signalé

Commit b3f37fde

Soumis

Fix overflow by assigning double max to float, invalid min

non signalé

Commit 2b15e255

N/A - Seulement 3.12

Fix crash in QgsGeometryDuplicateCheck due to heap use after free

non signalé

Commit 195576e

Commit dc647bc

Fix crash on destruction of QgsPointLocator, if object is destroyed while indexing is happening in the background

non signalé

Commit 08adb23

N/A - Seulement 3.12

Fix crashes when reading certain resampled raster files

#33711

Commit b2c5a45

Commit 388277e

Fix use after free in 3d point symbol

non signalé

Commit df7979c

Commit 7204de2

Fix leaks in geometry generator symbol layer

non signalé

Commit 1610fb8

Commit 3944db4

Fix crash in rendering on proj 6 builds

#33902

Commit 8a71091

Commit f41076d

N’essayez pas d’étiqueter des géométries vides

#33931

Commit 1144974

N/A - Seulement 3.12

Fix crashes when attempting to export reprojected raster layers

#33801

Commit bbd055c

Commit 2fff8e1

Correction des problèmes d’encodage des shapefiles

#21264

Soumis

Reporté à la 3.10.4

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