Modifications apportées par QGIS 3.12

image1

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)

Feature: UX improvements in drag’n’drop form designer

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

This feature was funded by 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é: 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é: 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
QGISserver cannot find shp; tries to open absolute instead of relative path #33200 PR #33925 critique
unreported: wrong link in server WFS3 items page (too many slashes) non signalé PR #33926 critique
Qgis scans raster tables on connection to 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 works for me in current master  
QgsVectorLayer readStyle does not read scale based visibility #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 works for me in current 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
QGIS Server - WMS Request GetPrint fails with ATLAS_PK #30817 works for me in current 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 in 3.11 Master can’t connect to PostGIS Enabled database #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
filter expression error returns true #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
Raster calculator turns one row of pixels into 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 when applying wrong filter to OAFeat layer #33878 PR #33927 PR #33958
Oracle provider: fix compiler warnings
PR #33930
Cannot import 3D vector into Spatialite datasource (works for 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 Archlinux non signalé PR #34110 PR #34146
Move labels doesn’t work with GPKG QGIS 3.4 #30408 Closed (works on master and 3.10)
Auxiliary storage not usable in non editable layer #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 with relations #33120 PR #34255
Crash with 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

Feature: Bug fixes by 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 Closed (fixed in 3.10 and 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

Feature: Bug fixes by 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 Closed (fixed in 3.10 and 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)
Close vertex for line when editing #32359 PR #34217 PR #34285
Fix Grass linking on FreeBSD reported on 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

Feature: Bug fixes by 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: fix invalid layer result when Oracle version is under 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

Feature: Bug fixes by 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
Fix crash when changing raster data source #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 - 3.12 only
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 - 3.12 only
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 - 3.12 only
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
Don’t try to label empty geometries #33931 Commit 1144974 N/A - 3.12 only
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