Modifications apportées par QGIS 3.4 LTR

image0

La première version long terme (LTR) de QGIS 3, QGIS 3.4, vient de sortir. Après cinq versions de consolidation (3.4.5), elle va remplacer la précédente LTR dans les dépôts en février 2019 (voir release schedule). Il s’agit d’un grand pas en avant pour le projet, la première version long terme basée sur la plateforme 3.x. Pour les utilisateurs qui migrent depuis la version 2.18 LTR, cette nouvelle version LTR propose une quantité de nouvelles fonctionnalités et de changements importants. Les extensions 3.x ne sont pas compatibles avec celles des versions 2.x donc faites attention à l’usage que vous faites de vos extensions et, si possible, aidez à migrer les vieilles extensions vers la nouvelle plateforme. Si ce n’est pas déjà fait, jetez un œil aux modifications de la Version 3.0 et la Version 3.2 pour intégrer l’ensemble des modifications apportées par la version 3.4.

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 d’une manière d’une autre vous impliquer 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 membres de soutien. Une liste actuelle des donateurs qui ont apporté des contributions financières, grandes et petites, au projet peut être consultée sur notre: ref: liste des donateurs<list_of_donors>. Si vous souhaitez devenir membre officiel de soutien, veuillez visiter: ref: notre page des membres de soutien<QGIS_sustaining_memberships> pour plus de détails. La prise en charge de QGIS nous aide à financer nos six réunions mensuelles de développeurs, à maintenir l’infrastructure du projet et à financer les efforts de correction de bogues. Une liste complète des supporters actuels est fournie ci-dessous - merci à tous nos supporters!

QGIS est un logiciel libre et vous n’avez aucune obligation de payer quoi que ce soit pour l’utiliser. En fait, nous souhaitons encourager les gens à l’utiliser le plus possible, sans s’intéresser à leur état financier ou à leur statut social. Nous croyons que fournir aux gens des outils décisionnels spatiaux permettra d’améliorer la société.

image1

Général

Fonctionnalité: Flatpak

QGIS est maintenant disponible en tant qu’application flatpak sur flathub <https://flathub.org/apps/search/qgis>`__ Flatpak (anciennement xdg-app) est un utilitaire logiciel pour le déploiement de logiciels, la gestion des packages et la virtualisation d’applications pour les ordinateurs de bureau Linux. Il permet aux utilisateurs d’installer différentes versions de QGIS sur Linux sans avoir à recompiler ou utiliser Docker. Il s’agit d’un package complet avec toutes les bibliothèques incluses, et il utilise ses propres emplacements de profil utilisateur. Vous aurez donc besoin d’un peu d’espace disque et de nouvelles habitudes de travail avec flatpak, mais ça marche!

image28

Cette fonctionnalité a été financée par Aleix Pol

Cette fonctionnalité a été développé par Aleix Pol

Fonctionnalité : Les fichiers SVG peuvent être intégrés dans les fichiers de projet et de style

Permet aux images SVG utilisées pour la symbologie, les étiquettes, etc. d’être directement intégrées dans le fichier projet (ou de style QML, ou modèle d’impression QPT). Les SVG sont encodés comme une chaîne de caractères base64 standard.

Les symboles peuvent ensuite être extrait des fichiers projets ou symboles puis enregistrés sur le disque en tant que fichier SVG.

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

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

Fonctionnalité : Accélération OpenCL

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

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

Expressions

Fonctionnalité : Nouvelles fonctions et variables pour les expressions

Des nouvelles fonctions ont été ajoutées pour les expressions dans QGIS 3.4. Cela inclu de nombreuses fonctions pour manipuler les tableaux et les objets cartographiques (dictionnaire).

  • json_to_map: Convertit une valeur de chaîne codée JSON en un objet de type carte (dictionnaire)
  • map_to_json: Convertit un objet de type carte (dictionnaire) en une valeur de chaîne codée JSON
  • hstore_to_map: Convertit une valeur hstore en un objet de type carte (dictionnaire)
  • map_to_hstore: Convertit un objet de type carte (dictionnaire) en valeur hstore
  • array_foreach : Boucle sur un tableau et exécute une expression sur chaque élément du tableau, renvoyant un nouveau tableau contenant chaque valeur calculée
  • array_filter : Filtre un tableau en fonction d’une expression
  • raster_value: Renvoie une valeur échantillonnée à partir d’une couche raster à un point spécifié
  • to_dms: Convertit une valeur numérique en une chaîne formatée en degrés, minutes et secondes
  • to_dm: Convertit une valeur numérique en une chaîne au format degrés, minutes
  • line_substring: Renvoie la partie d’une géométrie de ligne (ou courbe) qui se situe entre les distances de début et de fin spécifiées (mesurées depuis le début de la ligne). Les valeurs Z et M sont interpolées linéairement à partir des valeurs existantes.
  • generate_series(start,stop,step): Crée un tableau contenant une séquence de nombres.

En complément, de nouvelles variables peuvent être utilisées au sein des expressions QGIS :

  • @canvas_cursor_point: contient une valeur en points représentant la position actuelle du curseur de la souris dans le canevas de carte principal
  • @map_layers: Contient un tableau de toutes les couches visibles sur la carte
  • @map_layers_ids:Contient un tableau de tous les ID de couche pour les couches visibles dans la carte

image2

Cette fonctionnalité a été développée par Etienne Trimaille, Matteo Ghetta, Matthias Kuhn, Mathieu Pellerin, Nyall Dawson

Fonctionnalité : Auto-complétion du code pour le constructeur d’expression

Autocompletion pour le code au sein de l’éditeur d’expression.

  • Les variables, les noms de fonctions et les noms de champ sont proposés et insérés automatiquement lors de l’écriture d’expression.
  • Les paramètres des fonctions sont affichés lors de leur complétion

image3

Cette fonctionnalité a été financée par OPENGIS.ch

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

Outils cartographiques

Fonctionnalité : Identification ou sélection des entités à partir d’un polygone existant.

Il est souvent utile de sélectionner / identifier des entités couvertes par un polygone existant. Pour cela, les utilisateurs peuvent utiliser les outils «Sélectionner les entités par polygone» et «Identifier les entités par polygone», mais il était nécessaire de tracer manuellement le polygone d’intérêt. Cette nouvelle fonctionnalité permet à l’utilisateur de cliquer avec le bouton droit sur la carte et de sélectionner une entité polygonale existante à cet emplacement dans le menu contextuel - ce polygone sera utilisé comme entrée pour la sélection ou l’identification.

image4

Cette fonctionnalité a été financée par Leicestershire County Council

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

Interface utilisateur

Fonctionnalité : Sélection automatique des fichiers exportés dans le gestionnaire de fichier

Chaque fois qu’un élément de la barre des messages établit un lien vers un fichier créé (par exemple, après l’exportation d’une disposition ou d’une couche de carte), le lien ouvre désormais directement le dossier contenant ce fichier dans le navigateur de fichiers du système d’exploitation ET présélectionne le fichier créé. C’est un raccourci super pratique qui accélère les opérations sur les fichiers après une exportation depuis QGIS !

image5

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

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

Fonctionnalité: Nouvelle option « Ouvrir le dossier » pour les projets désactivés sur la page d’accueil

Cette nouvelle option du menu contextuel qui s’affiche en faisant un clic droit sur un projet de la page d’accueil permet aux utilisateurs d’ouvrir le répertoire existant le plus proche du fichier de projet désactivé pour aider à re-localiser le fichier qui aurait été supprimé, déplacé ou renommé.

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

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

Fonctionnalité: Améliorations de l’experience utilisateur (UX) pour les couches temporaires en mémoire

Les couches temporaires dans QGIS peuvent être très utiles lorsqu’une couche «jetable» est nécessaire, comme lors du prétraitement des données en plusieurs étapes. Cependant, ils peuvent être un piège pour les utilisateurs en uniforme qui peuvent ne pas se rendre compte que le contenu de la couche sera définitivement perdu lorsque le projet QGIS en cours sera fermé. En conséquence, une nouvelle icône d’indicateur a été ajoutée qui apparaît à côté de tous les calques de travail temporaires dans l’arborescence des calques, ce qui permet de voir immédiatement quels calques sont temporaires uniquement.

Il est également beaucoup plus facile de faire la transition de ces couches temporaires vers des formats sur disque permanents. Vous pouvez soit cliquer sur la nouvelle icône d’indicateur, soit sélectionner «Rendre permanent» dans le menu contextuel de la couche. QGIS vous demandera alors un emplacement dans lequel enregistrer la couche temporaire, puis la remplacera en place (en conservant le même ID de couche, le même style, les mêmes paramètres de formulaire, etc.).

image6

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

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

Fonctionnalité: Amélioration du gestionnaire de tâches¶

Le widget du gestionnaire de tâches QGIS (affiché dans la barre d’état lorsqu’une tâche en arrière-plan est en cours d’exécution) affiche désormais une estimation du temps restant et de la fin des tâches en arrière-plan de longue durée. Cette heure d’arrivée estimée est calculée à l’aide d’une simple interpolation linéaire basée sur le temps écoulé de la tâche et la progression actuelle.

De plus, QGIS utilise les mécanismes de rapport de progression du système d’exploitation standard sur davantage de plates-formes dans QGIS 3.4. Certaines tâches de longue durée (qui ne s’exécutent pas en arrière-plan) telles que les exportations d’atlas montrent désormais leur progression via le mécanisme du système d’exploitation et lancent des notifications d’achèvement pratiques.

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

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

Fonctionnalité : Améliorations du Gestionnaire de styles

La boîte de dialogue QGIS Style Manager (qui permet aux utilisateurs de configurer et de gérer leurs propres bibliothèques de symboles et de rampes de couleurs) s’ouvre désormais de manière non modale, de sorte qu’elle peut désormais être utilisée à côté de la fenêtre principale de QGIS (tout comme la boîte de dialogue Layout Manager et Print Layout Designer).

Nous avons également amélioré l’aperçu des symboles dans le Dock de style de couche, en ajoutant un bouton permettant de basculer entre une grande vue d’icônes et une vue de liste détaillée des symboles. Le survol des symboles ( et des couleurs ! ) affiche désormais un grand aperçu du symbole. Enfin, nous avons conçu des listes de symboles plus conviviales en haute résolution.

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

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

Fonctionnalité : Améliorations de l’interface et des fonctionnalités du Panneau Explorateur

Des tonnes de travail ont été effectuées pour cette version afin d’améliorer l’interface utilisateur et l’expérience du panneau du navigateur, y compris les correctifs HiDPI, les améliorations du jeu de données vectorielles / raster compressées et un ensemble d’icônes actualisées.

Des fonctionnalités ont également été ajoutées, notamment la possibilité de créer un nouveau répertoire directement à partir du menu contextuel du navigateur. Le navigateur affiche également désormais une gamme d’options plus complète pour les connexions SQL Server, correspondant aux options qui étaient déjà disponibles pour d’autres connexions à la base de données.

image8

Cette fonctionnalité a été développée par Mathieu Pellerin (iMHere Asia), Nyall Dawson (North Road)

Fonctionnalité: Widget de dessins et graphique QML

Un nouveau type de widget de formulaire de couche vectorielle pour afficher des éléments graphiques et interactifs comme des graphiques ou des dessins techniques sur le formulaire d’attribut a été ajouté dans QGIS 3.4. Le widget arbore une configuration flexible, comprenant des exemples de modèles et la prise en charge des expressions.

image9

Cette fonctionnalité a été financée par QGIS Project

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

Symbologie

Fonctionnalité: Style de couche de maille

  • Ajout de jeux de données à la couche maillée à partir du panneau des propriétés
  • Panneaux Information et Source dans le panneau des propriétés
  • Sélection de l’ensemble de données actif (propriétés ou panneau de style)
  • Style des contours / scalaires (propriétés ou panneau de style)
  • Style du cadre maille (propriétés ou panneau de style)
  • Style des flèches vectorielles (propriétés ou panneau de style)

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

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

Fonctionnalité : Classification symétrique pour le mode de rendu Gradué

Cette fonctionnalité a été financée par https://github.com/pierreloicq

Cette fonctionnalité a été développé par https://github.com/pierreloicq

Fonctionnalité : Exportation et importation partielles des styles QML

Lors de l’exportation et de l’importation de styles vers et depuis des fichiers .qml, il est désormais possible de sélectionner un sous-ensemble de sections. Cela permet d’enregistrer et de restaurer des parties d’une configuration de couche tout en en omettant d’autres. Par exemple, il est possible d’exporter uniquement la symbologie d’une couche et lors de l’importation de ce fichier de style QML dans une couche, toute configuration des formulaires et widgets ou d’autres propriétés n’est pas affectée. Il est également possible de gérer uniquement des sections uniques d’un style lors de l’utilisation du copier / coller.

image10

Cette fonctionnalité a été financée par qwat group

Cette fonctionnalité a été développée par Denis Rouzaud (OPENGIS.ch GmbH)

Numérisation

Fonctionnalité : Améliorations des outils de tracking GPS

QGIS 3.4 étend la prise en charge du suivi GPS intégré, en ajoutant des paramètres «intervalle d’acquisition» et «seuil de distance». Ces options peuvent être utilisées pour maintenir le curseur immobile lorsque le récepteur est dans des conditions statiques.

Cette fonctionnalité a été financée par Andrea Rossi

Cette fonctionnalité a été développée par Andrea Rossi

Fonctionnalité : Plus de choix de valeurs d’angles dans le panneau de Numérisation avancée

Des options ont été ajoutées pour permettre l’accrochage à 5/10/15/18 / 22,5 degrés en mode construction.

image11

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

Cette fonctionnalité a été développé par lbartoletti

Fonctionnalité : L’outil de nœuds peut fonctionner uniquement sur la couche active

L’éditeur de sommet est désormais beaucoup plus productif. Il peut déplacer les sommets de toutes les couches modifiables à la fois, ce qui est idéal pour préserver la topologie des couches. Cependant, dans de nombreux cas, beaucoup d’entre nous ne veulent pas modifier tous les calques à la fois. Nous avons ajouté une variante de l’outil de cartographie des sommets juste pour cela.

image12

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

Cette fonctionnalité a été développée par Paul Blottiere (Oslandia)

Fonctionnalité : Ajout d’un outil pour inverser le sens des lignes

Une fonctionnalité attendue depuis longtemps! Plus de plugin ou d’algorithme externe pour inverser la direction d’une ligne !

image13

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

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

Fonctionnalité : Précision des géométries

Les couches vectorielles ont une option de configuration de précision. La précision définit la précision de l’emplacement des nœuds à enregistrer. Chaque nœud de géométries nouvelles ou modifiées est accroché à une grille de cette résolution. Pendant la numérisation, la grille est montrée pour guider l’utilisateur.

image14

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

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

Fonctionnalité : Suppression automatique des sommets en double

Lors de l’ajout ou de la modification de géométries sur une couche vectorielle, QGIS peut supprimer automatiquement les nœuds en double des géométries. Cette option est configurable dans l’onglet de numérisation des couches vectorielles.

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

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

Fonctionnalité : Vérification de la validité des géométries

La validité de chaque géométrie nouvelle ou modifiée peut être vérifiée si cette option est activée. Cela permet de communiquer de manière transparente à un utilisateur lorsqu’il y a des géométries erronées produites par la session d’édition en cours.

image15

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

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

Fonctionnalité : Vérification de la topologie pendant l’édition

Les contrôles de topologie peuvent être activés sur une couche. Sur les géométries nouvellement ajoutées et modifiées, les vérifications de la topologie peuvent être exécutées. Les vérifications seront exécutées lors de l’enregistrement de la couche ou lors d’un clic sur le bouton de vérification de la topologie dans le panneau de validation de la géométrie.

Les vérifications suivantes sont disponibles:

  • Intersections
  • Recouvrements
  • Sommets manquants entre polygones voisins

Cela s’appuie sur les fonctionnalités du plugin Geometry Checker qui a été implémenté par Sourcepole <https://sourcepole.ch> __.

image16

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

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

Gestion des Données

Fonctionnalité : Traduction des projets QGIS

Comme QGIS et les plugins, les projets sont traduits avec le processus de traduction Qt. Cela signifie qu’il effectue la traduction selon un fichier source de traduction compilé Qt (fichier .qm). Lorsque l’utilisateur ouvre un projet, QGIS recherche un fichier .qm se trouvant dans le même dossier que le fichier .qgs, ayant le même nom que le fichier .qgs et ayant le code de langue comme suffixe de la langue de l’utilisateur (la langue configurée dans les paramètres QGIS). Pour créer la traduction, dans les paramètres du projet, il existe une option pour générer le fichier .ts, qui peut être édité par des programmes comme Qt Linguist ou Transifex.

Plus d’informations dans cet article de blog <https://new.opengis.ch/2018/09/11/qgis-speaks-a-lot-of-languages/>`__

Cette fonctionnalité a été financée par QGIS Usergroup Switzerland et QGEP Project

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

Fonctionnalité: Changer le mode d’ancrage de la table des attributs à la demande¶

Un bouton a été ajouté à la barre d’outils Tableau d’attributs pour basculer entre le mode ancré et le mode fenêtre à la demande. Auparavant, les utilisateurs devaient modifier une option dans la boîte de dialogue des paramètres et ouvrir une nouvelle table afin de basculer entre le mode ancré / non ancré, mais cela est pénible si vous décidez après qu’une table est déjà ouverte que vous souhaitez l’ancrer / la désancrer… !

image17

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

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

Fonctionnalité: Nouveau filtre de localisation pour rechercher dans toutes les couches

Un nouveau filtre de localisation a été ajouté qui permet aux utilisateurs de rechercher dans toutes les couches de leur projet, par l’expression d’affichage de la couche

Le filtre peut être activé en utilisant le préfixe «af», ou en faisant une recherche par défaut via les options QGIS -> Locator -> Features In All Layer. Les expressions d’affichage sont définies dans les propriétés du calque vectoriel sous l’onglet d’affichage. Les couches individuelles peuvent être marquées comme non consultables dans la boîte de dialogue Propriétés du projet, sous l’onglet Sources de données.

image18

Cette fonctionnalité a été financée par Opengis.ch

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

Fonctionnalité: Couches qui ne peuvent pas être enlevées de l’arborescence du projet QGIS (obligatoires)

Une nouvelle icône d’indicateur «verrouillé» s’affiche pour tous les couches marquées «requis» dans le projet en cours. Cette icône donne aux utilisateurs un retour instantané qu’une couche particulière ne peut pas être supprimée du projet.

Les couches requises sont configurées via la boîte de dialogue Propriétés du projet, onglet Sources de données.

image19

Cette fonctionnalité a été financée par Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project

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

Fonctionnalité : Ajouter une vouche raster à un Geopackage existant

Lors de l’enregistrement d’une couche raster dans la base de données GeoPackage, il est désormais possible d’ajouter la couche à un fichier existant.

image20

Cette fonctionnalité a été financée par Borys Jurgiel

Cette fonctionnalité a été développée par Borys Jurgiel

Formulaires et widgets

Fonctionnalité: Formulaires d’exploration (en cascade) dans les widgets de relation de valeur QGIS

Nouvelles fonctions dans QGIS «Value Relation Widgets», permettant la mise en œuvre de filtres complexes et dynamiques dans les formulaires d’attributs QGIS. La fonctionnalité peut être utilisée pour implémenter des formulaires «drill-down» dans QGIS, où les valeurs disponibles dans un champ dépendent des valeurs des autres champs:

image21

Cette fonctionnalité a été financée par un financement participatif de la communauté QGIS

Cette fonctionnalité a été développée par Alessandro Pasotti (avec North Road)

Composeur de Cartes

Fonctionnalité: Éléments de carte 3D

Cette fonctionnalité permet aux utilisateurs d’ajouter leur vue de carte 3D au composeur d’impression.

image22

Cette fonctionnalité a été financée par un financement participatif de la communauté QGIS

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

Traitements

Fonctionnalité: Nouveau mode «Edition sur place»

Grâce à un grand nombre de généreux contributeurs <https://north-road.com/edit-features-in-place-using-qgis-spatial-operations-campaign/>`__, un mode «éditer sur place» financé par le crowdfunding a été ajouté au Processing pour la version 3.4. Lorsqu’une couche vectorielle est active et modifiable, ce mode permet aux utilisateurs d’exécuter des algorithmes appropriés directement sur les entités de la couche, en modifiant leurs attributs et leurs géométries sur place. Toutes les modifications sont ajoutées au «tampon d’édition» du calque, vous pouvez donc facilement annuler et refaire les modifications avant de les enregistrer à nouveau dans la source de données.

Pour les utilisateurs expérimentés qui effectuent des modifications fréquentes des données, cette fonctionnalité est également exposée via la «barre de localisation» de QGIS 3.0 (cette barre «type à localiser» qui se trouve dans le coin inférieur gauche). En tapant «ef» («fonctions d’édition») suivi du nom de l’opération correspondante, vous pouvez effectuer les modifications directement via le clavier. Par exemple.

  • Sélectionnez un ensemble d’entités linéaires
  • Appuyez sur Ctrl+K (active le localisateur)
  • Saisissez « ef reverse »
  • Appuyez sur Entrée - les entités linéaires sélectionnées sont immédiatement retournées!

image23

Cette fonctionnalité a été financée par une campagne de financement participatif

Cette fonctionnalité a été développée par North Road

Fonctionnalité: Stocker les modèles dans le projet

Certains modèles de traitement sont si intrinsèquement liés à la logique à l’intérieur d’un projet particulier qu’ils n’ont aucune signification (ou sont totalement rompus) en dehors de ce projet (par exemple, les modèles qui reposent sur la présence de couches cartographiques, de relations, etc.). Par conséquent, à partir de QGIS 3.4, les modèles de traitement peuvent être stockés dans des fichiers de projet QGIS. Tous les modèles stockés dans un projet sont disponibles dès l’ouverture de ce projet. Cela évite également d’encombrer le fournisseur de modèles «global» avec des modèles qui n’ont aucun sens, et facilite la distribution d’un projet unique, tous les modèles pertinents inclus.

Les modèles sont stockés dans les projets en cliquant sur le nouveau bouton «Intégrer dans le projet» dans la barre d’outils de la boîte de dialogue Modeleur. Les modèles peuvent être supprimés d’un projet à partir du menu contextuel du modèle dans la boîte à outils.

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

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

Fonctionnalité: Exemples de valeurs raster

Un nouvel algorithme a été ajouté pour échantillonner les valeurs des couches raster aux emplacements des points.

image24

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

Cette fonctionnalité a été développée par Matteo Ghetta (Faunalia)

Fonctionnalité: Nouvel algorithme «Pixels raster vers polygones»

Cet algorithme convertit une couche raster en une couche vectorielle, avec une entité polygonale correspondant à chaque pixel du raster et un seul champ contenant la valeur de bande du raster.

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

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

Fonctionnalité: K Means algorithme de clustering

QGIS 3.4 ajoute un algorithme natif de «clustering k-means». Basé sur un port de la fonction ST_ClusterKMeans de PostGIS, cet algorithme ajoute un nouveau champ d’ID de cluster à un ensemble de fonctionnalités d’entrée qui identifie le cluster de la fonctionnalité en fonction d’une approche de clustering k-means. Si des géométries non ponctuelles sont utilisées en entrée, le regroupement est basé sur le centre de gravité des géométries en entrée.

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

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

Fonctionnalité: algorithme de clustering spatial dbscan

Ce nouvel algorithme natif implémente une approche de cluster d’analyse basée sur la densité DBSCAN optimisée pour regrouper les fonctionnalités de points 2D.

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

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

Fonctionnalité: Algorithmes améliorés

Certaines améliorations diverses apportées aux algorithmes de traitement existants incluent:

  • L’algorithme Reverse line direction fonctionne désormais avec les entrées de géométrie MultiLineString
  • Extend lines: la prise en charge des distances de début et de fin dynamiques (définies par les données) a été ajoutée
  • Offset lines: la prise en charge de la distance de décalage dynamique a été ajoutée
  • Les algorithmes Join by Field Value et Join by Location peuvent désormais éventuellement exporter des enregistrements sans correspondance
  • Join by Field Value signale également le nombre de fonctionnalités appariées / non appariées

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

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

Fonctionnalité: Filtrer les sommets par les algorithmes M et Filtrer les sommets par Z

Deux nouveaux algorithmes ont été ajoutés pour filtrer les sommets des lignes / polygones par leurs valeurs M ou Z. Une valeur minimale et maximale M / Z peut être entrée, et si les sommets tombent en dehors de ces plages, ils seront rejetés de la géométrie de sortie. Les valeurs de filtre minimales et maximales peuvent également être définies par les données, elles peuvent donc varier en fonction des entités.

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

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

Fonctionnalité: Algorithme «Array of Translated Features»

Ce nouvel algorithme crée des copies d’entités dans une couche, en créant plusieurs versions traduites (décalées) de l’entité. Chaque copie est déplacée d’une valeur prédéfinie sur l’axe x / y / z / m.

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

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

Fonctionnalité: Algorithme «Array of offset (parallel) lines»

Ce nouvel algorithme crée des copies des entités linéaires dans une couche, en créant plusieurs versions parallèles de chaque entité. Chaque copie est décalée d’une distance prédéfinie.

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

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

Fonctionnalité: Choix d’unités pour les distances qui ne sont pas en degrés / inconnues

Lorsqu’un algorithme a un paramètre de distance en mètres / pieds / etc. (c’est-à-dire des distances non géographiques), une zone de liste déroulante a été ajoutée permettant de choisir le type d’unité.

(QGIS n’expose pas et ne devrait jamais l’exposer pour les distances en degrés - il appartient aux utilisateurs dans cette situation de choisir une projection locale appropriée et de reprojeter leurs données pour qu’elles correspondent.)

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

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

Fonctionnalité: Algorithmes «Drape features to z / m»

Ces deux nouveaux algorithmes peuvent définir des valeurs de sommet de géométrie z ou m sur des valeurs échantillonnées à partir d’une bande raster. Les valeurs peuvent éventuellement être mises à l’échelle en utilisant une valeur d’échelle (définissable par les données).

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

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

Fonctionnalité: Algorithme « Raster pixels vers points »

Un nouvel algorithme «pixels vers points» a été ajouté dans QGIS 3.4, qui crée une entité ponctuelle au centre de chaque pixel. les pixels nodata sont ignorés.

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

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

Fonctionnalité: Algorithme extraction partie d’une Ligne

Ce nouvel algorithme très demandé renvoie la partie d’une ligne (ou courbe) qui se situe entre les distances de début et de fin spécifiées (mesurées depuis le début de la ligne). Les valeurs Z et M sont interpolées linéairement à partir des valeurs existantes.

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

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

Fonctionnalité: Algorithme «Interpoler un point sur une ligne»

Ce nouvel algorithme crée une géométrie ponctuelle interpolée à une distance définie le long des géométries de ligne (ou de frontière de polygone). Les géométries d’entrée courbes sont entièrement prises en charge. Les valeurs Z ou M sont interpolées linéairement en fonction des valeurs existantes.

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

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

Fonctionnalité: k-neighbour concave hull

Cette fonctionnalité a été financée par https://qgis.org

Cette fonctionnalité a été développée par Detlev Neumann, Rudi von Staden

Fonctionnalité: Les scripts Python qui implémentent des algorithmes exécutent désormais l’algorithme par glisser-déposer et double clic du navigateur

Le cas échéant, les scripts lanceront désormais une boîte de dialogue d’algorithme de traitement sur:

  • Glisser-déposer un script Python sur la fenêtre principale
  • Utilisation de l’action de script d’exécution du clic droit du panneau du navigateur

image25

Cette fonctionnalité a été financée par iMhere Asia

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

Fonctionnalité: Nouvel algorithme de « Rearrange band » de GDAL

Un nouvel algorithme «Rearrange band» du fournisseur GDAL a été ajouté à la boîte à outils de traitement. L’algorithme permet de sortir des rasters un sous-ensemble de bandes et offre la possibilité de réorganiser les bandes.

image26

Cette fonctionnalité a été financée par iMHere Asia

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

Fonctionnalité: Valeurs «précalculées» pour les paramètres de l’algorithme du modèle

Une nouvelle option est présente pour tous les paramètres d’utilisation d’une «expression précalculée». Cette expression est évaluée une fois avant l’exécution de l’algorithme enfant et utilisée pendant l’exécution de cet algorithme.

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

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

Fonctionnalité: Algorithme «Catégoriser une couche à l’aide d’un fichier de style XML »

Ce nouvel algorithme définit le rendu d’une couche vectorielle sur un rendu catégorisé à l’aide de symboles correspondants provenant d’une base de données de styles.

Une expression spécifiée (ou nom de champ) est utilisée pour créer des catégories pour le rendu, QGIS créant une catégorie pour chaque valeur unique dans la couche. Chaque catégorie est associée individuellement aux symboles qui existent dans la base de données de style XML spécifiée. Chaque fois qu’un nom de symbole correspondant est trouvé, le symbole de la catégorie sera défini sur ce symbole correspondant.

La correspondance ne respecte pas la casse par défaut, mais peut être rendue sensible à la casse si nécessaire. Facultativement, les caractères non alphanumériques dans la valeur de la catégorie et le nom du symbole peuvent être ignorés lors de l’exécution de la correspondance. Cela permet une plus grande tolérance lors de la correspondance des catégories aux symboles.

Si vous le souhaitez, vous pouvez également générer des tableaux contenant des listes des catégories qui n’ont pas pu être mises en correspondance avec des symboles et des symboles qui n’ont pas pu être mis en correspondance avec des catégories.

image27

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

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

Fonctionnalité: Nouveau mode pour l’algorithme Snap geometries

Le nouveau mode «Accrocher aux nœuds d’ancrage (couche unique uniquement)» garantit que deux sommets de la couche vectorielle sont au moins à la distance donnée par la valeur de seuil.

Cet algorithme est pratique lorsque vous effectuez des opérations de superposition de vecteur telles que l’intersection, l’union ou la différence pour éviter d’éventuelles erreurs topologiques causées par des erreurs numériques si les coordonnées sont très proches les unes des autres. Après avoir exécuté l’algorithme, certaines géométries précédemment valides peuvent devenir invalides et il peut donc être utile d’exécuter ensuite l’algorithme Vérifier geometries.

Cette fonctionnalité a été financée par InaSAFE DFAT

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

Pilotes de données

Fonctionnalité: Plugin méthode authentification OAuth2

  • Prend en charge le code d’authentification, les flux d’octroi implicites et les propriétaires de ressources
  • Permet des connexions préconfigurées, lues à partir des emplacements par défaut
  • Offre la mise en cache du jeton d’accès au-delà des redémarrages de QGIS
  • Enregistrer / charger des configurations

Cette fonctionnalité a été financée par Monsanto Company

Cette fonctionnalité a été développée par Larry Shaffer, Alessandro Pasotti

Fonctionnalité: Couche de maillage: nouveau support de format de couche de maillage

Les couches de maillage représentent des données sur une grille de taille variable avec des composants supplémentaires (par exemple, le temps et le vecteur). Avec l’introduction de MDAL, les utilisateurs peuvent charger les formats suivants directement dans QGIS et explorer tous les autres composants:

  • GRIB
  • XMDF
  • Netcdf

image29

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

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

Fonctionnalité: Couche de maillage: ajoutez une fonction pour identifier la valeur des couches de maillage

Avec cette API, les développeurs peuvent inspecter les éléments de maillage et récupérer des valeurs dans l’espace et dans le temps. Par exemple, vous pouvez créer un tracé de série chronologique à partir de votre couche de maillage.

image30

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

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

Fonctionnalité: Couche de maillage: permet de choisir différents jeux de données vectorielles et scalaires

Une couche maillée contient souvent plusieurs quantités. Par exemple, un netcdf / grib peut contenir plusieurs quantités météorologiques. Chaque quantité peut également avoir plusieurs composants. Par exemple, les données de vent peuvent contenir la vitesse (scalaire) et les valeurs (grille). Avec cette option, vous pouvez superposer des scalaires et des grilles de différentes quantités. Dans l’image ci-dessous, vous pouvez voir la température (grille) et le vent (scalaire).

image31

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

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

Fonctionnalité: Couche de maillage: autorisez les vecteurs / flèches de rendu sur la grille définie par l’utilisateur

Les données scalaires sont générées généralement au centre / coin de chaque élément de maillage. Lors de l’affichage des données scalaires, les flèches peuvent sembler clairsemées et il est souvent impossible de voir la tendance générale. Avec cette option, les flèches peuvent être affichées sur une grille définie par l’utilisateur. Des valeurs scalaires supplémentaires seront interpolées à la volée et placées sur la grille définie par l’utilisateur.

image32

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

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

Fonctionnalité: Prise en charge du type JSON / JSONB

La lecture des types JSON PostgreSQL est prise en charge. Les données JSON peuvent être affichées dans les widgets sous forme de «clé / valeur» (cartes), de «liste» (tableaux) ou de texte.

image33

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

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

Fonctionnalité: Prise en charge de l’authentification par jeton ESRI

Une prise en charge a été ajoutée au système d’authentification QGIS pour l’authentification par jeton temporaire d’ESRI. Cela permet la connexion aux serveurs d’entités et de cartes ArcGIS via un jeton temporaire alloué.

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

Fonctionnalité: SQL Server - Gestion de géométrie non valide

Les versions récentes de QGIS sont passées à une approche plus sûre de la lecture des couches SQL Server, qui vérifie automatiquement la validité de la géométrie et répare les géométries si nécessaire. Cette solution de contournement est nécessaire pour éviter les problèmes de conception de la gestion de la géométrie de SQL Server, où la rencontre de lignes avec des géométries non valides peut annuler une demande sans renvoyer toutes les fonctionnalités d’une couche. Malheureusement, la solution de contournement a un coût de performance important.

Dans QGIS 3.4, un nouveau paramètre a été ajouté pour permettre aux utilisateurs de désactiver manuellement la gestion de la géométrie non valide de QGIS ”SQL Server. L’activation du paramètre «Ignorer la gestion des géométries non valides» sous les propriétés d’une connexion SQL Server oblige QGIS à ignorer tous les processus de validation de géométrie coûteux, mais il revient fermement à l’utilisateur / administrateur de base de données de s’assurer que toutes les fonctionnalités de la base de données ont des géométries valides. . Il s’agit d’un paramètre «à vos risques et périls». Une activation incorrecte de cette option peut entraîner des fonctionnalités manquantes et une perte de données.

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

QGIS Server

Fonctionnalité: Le cache du serveur peut être géré par des plugins

Par défaut, QGIS Server met uniquement en cache le document WMS GetCapabilities en mémoire. Avec l’implémentation WMTS, il est nécessaire d’avoir un moyen de mettre en cache les tuiles. Mais le gestionnaire de cache n’a pas été développé pour ne mettre en cache que les tuiles.

Le plugin du gestionnaire de cache peut être utilisé pour mettre en cache :

  • Documents GetCapabilities WMS, WFS, WCS, WMTS.
  • Documents WFS DescribeFeatureType
  • Documents WCS DescribeCoverage
  • Images WMTS GetTile
  • Images WMS GetLegendGraphic

Voici une classe de gestionnaire de cache python, qui ne vérifie pas si le projet QGIS a changé:

class PyServerCache(QgsServerCacheFilter):

    """ Used to have cache control """

    def __init__(self, server_iface):
        super(QgsServerCacheFilter, self).__init__(server_iface)

        self._cache_dir = os.path.join(tempfile.gettempdir(), "qgs_server_cache")
        if not os.path.exists(self._cache_dir):
            os.mkdir(self._cache_dir)

        self._tile_cache_dir = os.path.join(self._cache_dir, 'tiles')
        if not os.path.exists(self._tile_cache_dir):
            os.mkdir(self._tile_cache_dir)

    def getCachedDocument(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))

        if not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
            return QByteArray()

        doc = QDomDocument(m.hexdigest() + ".xml")
        with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "r") as f:
            statusOK, errorStr, errorLine, errorColumn = doc.setContent(f.read(), True)
            if not statusOK:
                print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
                return QByteArray()

        return doc.toByteArray()

    def setCachedDocument(self, doc, project, request, key):
        if not doc:
            print("Could not cache None document")
            return False
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "w") as f:
            f.write(doc.toString())
        return os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))

    def deleteCachedDocument(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        if os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
            os.remove(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))
        return not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))

    def deleteCachedDocuments(self, project):
        filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
        for f in filelist:
            os.remove(os.path.join(self._cache_dir, f))
        filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
        return len(filelist) == 0

    def getCachedImage(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))

        if not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
            return QByteArray()

        img = QImage(m.hexdigest() + ".png")
        with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "rb") as f:
            statusOK = img.loadFromData(f.read())
            if not statusOK:
                print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
                return QByteArray()

        ba = QByteArray()
        buff = QBuffer(ba)
        buff.open(QIODevice.WriteOnly)
        img.save(buff, 'PNG')
        return ba

    def setCachedImage(self, img, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "wb") as f:
            f.write(img)
        return os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))

    def deleteCachedImage(self, project, request, key):
        m = hashlib.md5()
        paramMap = request.parameters()
        urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
        m.update(urlParam.encode('utf8'))
        if os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
            os.remove(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))
        return not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))

    def deleteCachedImages(self, project):
        filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
        for f in filelist:
            os.remove(os.path.join(self._tile_cache_dir, f))
        filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
        return len(filelist) == 0

Et la façon de l’ajouter au gestionnaire de cache de QGIS Server.

servercache = PyServerCache(server_iface) server_iface.registerServerCache(servercache, 100)

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

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

Fonctionnalité : Support du WMTS 1.0.0

QGIS Server 3.4 prend en charge la norme OGC WMTS 1.0.0

Dans les propriétés du projet QGIS, l’utilisateur peut définir:

  • quelle partie du projet (tous les projets, groupes de couches ou couches) doit être publiée via la norme WMTS
  • l’échelle min des tuiles

QGIS Server réutilise le SCR défini dans le WMS pour WMTS

Pour gérer le cache de tuiles, un plug-in QGIS Server avec une classe QgsServerCacheFilter doit être installé et chargé par QGIS Server.

image34

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

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

Fonctionnalité: Ajouter la possibilité de définir un min. échelle pour le flux WMTS

Cette fonctionnalité a été financée par https://github.com/rldhont

Cette fonctionnalité a été développé par https://github.com/rldhont

Fonctionnalité: Prise en charge des journaux QGIS Server sur stderr

Il est désormais possible de configurer QGIS Server pour lui faire écrire ses journaux sur stderr. Pour ce faire, définissez la variable d’environnement QGIS_SERVER_LOG_FILE sur la valeur spéciale «stderr».

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

Cette fonctionnalité a été développé par Eric Lemoine

Extensions

Fonctionnalité: Prise en charge des zips chiffrés dans Plugin Manager

Plugin Manager peut désormais installer des plugins à partir de fichiers zip locaux même s’ils sont cryptés.

image35

Cette fonctionnalité a été financée par Borys Jurgiel

Cette fonctionnalité a été développée par Borys Jurgiel

Fonctionnalité: Édition hors ligne de GeoPackage

Avec la fonctionnalité d’édition hors ligne, il est possible de choisir si l’exportation doit créer un fichier SpatiaLite ou GeoPackage pour une utilisation hors ligne.

Cette fonctionnalité a été financée par Oester Messtechnik

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

Programmation

F

Un index spatial statique très rapide pour les points 2D basé sur un arbre KD plat, utilisant https://github.com/mourner/kdbush.hpp

Comparé à QgsSpatialIndex, cet index: - prend uniquement en charge les entités ponctuelles (pas de multipoints) - est statique (les entités ne peuvent pas être ajoutées ou supprimées de l’index après la construction) - est beaucoup plus rapide ! - prend en charge de véritables recherches «basées sur la distance», c’est-à-dire renvoyer tous les points dans un rayon à partir d’un point de recherche

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

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

Fonctionnalité: QgsRasterDataProvider :: méthode d’échantillonnage pour un échantillonnage efficace des rasters à un point donné

Ceci est une alternative à la méthode QgsRasterDataProvider::identify, qui est moins efficace mais plus puissante

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

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

Fonctionnalité: Nouvel appel d’API de géométrie pour renvoyer une sous-chaîne de courbe

Une nouvelle API PyQGIS a été ajoutée pour faciliter la récupération d’une sous-chaîne à partir d’une géométrie LineString / Curve:

`` QgsCurve :: curveSubstring - Retourne une nouvelle courbe représentant une sous-chaîne d’une courbe, à partir d’une distance de début et d’une distance de fin. “”

Si des valeurs z ou m sont présentes, les sorties z et m seront interpolées en utilisant les valeurs z ou m des sommets existants. La méthode gère également les géométries courbes sans perte ni segmentation.

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

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

Fonctionnalité: Modifications de l’API du module sip

En raison des modifications en amont au sein de la bibliothèque PyQt / sip, la façon recommandée d’importer ce module a changé dans QGIS 3.4. Pour une portabilité maximale, au lieu d’appeler directement: import sip les plugins d’importation devraient plutôt utiliser: from qgis.PyQt import sip. L’utilisation de cette nouvelle importation de style garantira que le code fonctionne correctement sur toutes les plateformes et reste fonctionnel dans les futures versions de QGIS.

Fonctionnalité: Fournisseurs de données vectorielles Python

Développement de l’API, d’un exemple de fournisseur et de tests permettant la création d’un fournisseur de données vectorielles en python.

image36

Cette fonctionnalité a été financée par bonne volonté !

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

Fonctionnalités 3D

Fonctionnalité: Amélioration de la navigation

Cela mettra à jour le centre de vision de la caméra lorsque la caméra se déplacera. Avant le centre de la vue serait toujours à l’altitude zéro, ce qui signifie qu’avec un terrain plus éloigné de l’altitude zéro, l’inclinaison et la rotation de la caméra sembleraient étranges en raison du point central éloigné.

Autoriser le déplacement de la caméra vers le haut / bas à l’aide des touches de page haut / bas

Déplacer la caméra en gardant la position avec Ctrl + touches fléchées / souris

image37

Cette fonctionnalité a été financée par un financement participatif de la communauté QGIS

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

Fonctionnalité : Animations 3D

Vous pouvez créer une animation basée sur un ensemble d’images clés - les positions des caméras à des moments particuliers. QGIS 3D interpole ensuite les positions / rotations de la caméra entre les images clés.

Pour créer les images clés, définissez d’abord la scène de votre carte, en faisant pivoter, zoomer ou déplacer la caméra. Attribuez ensuite une heure au cadre. Il existe plusieurs méthodes d’interpolation entre les images clés.

image38

Cette fonctionnalité a été financée par un financement participatif de la communauté QGIS

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

Fonctionnalité: Rendu simple des lignes 3D

Ce mode de rendu de ligne 3D utilisera le rendu de ligne OpenGL au lieu de réaliser un tampon les lignes en polygones et de les rendre sous forme de maillages.

L’avantage est que les lignes 3D ne perdent pas leur coordonnée Z ce qui est le cas actuellement avec le rendu 3D «ordinaire» après mise en mémoire tampon.

L’inconvénient est que les lignes ne peuvent pas être larges (prises en charge dans Qt3D uniquement depuis 5.10, mais même dans ce cas, leur rendu n’aura pas de jolies jointures) et seule la couleur ambiante est utilisée depuis le matériau.

image39

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

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

Fonctionnalité: Outil de carte d’identification pour les vues 3D

Un nouvel outil d’identification a été introduit sur la carte 3D. À l’aide de cet outil, vous pouvez inspecter des entités de la scène 3D.

image40

Cette fonctionnalité a été financée par Department of Environment, Land and Infrastructure Engineering (DIATI)

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

Fonctionnalité : API Python expérimentale

Certaines classes de QGIS 3D ont été mises à la disposition des développeurs Python. Il est désormais possible d’interroger ou de modifier les rendus 3D des couches de carte et les propriétés de lecture / écriture des symboles 3D contenus tels que les couleurs des matériaux. Veuillez noter que pour l’instant l’API est considérée comme expérimentale, elle peut donc changer dans les futures versions 3.x.

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

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