Modifications apportées par QGIS 3.0

image1

Date de publication : 23/02/2018

La plus grande version de QGIS ! QGIS 3.0 est une révision en profondeur et un nettoyage de notre SIG Open Source bien-aimé. QGIS 3.0 apporte une liste massive de nouveaux changements - dont nous allons essayer de couvrir les points saillants ici. Comme toujours, nous vous rappelons que QGIS est un projet open source et si vous le pouvez, pensez à soutenir notre travail par le biais de dons, de sponsoring ou des contributions à la documentation du code, au site web et ainsi de suite.

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 sponsors. Une liste actuelle des donateurs qui ont apporté des contributions financières, grandes et petites, au projet peut être consultée sur notre «liste de donateurs <https://qgis.org/en/site/about/sponsorship.html#list-of-donors>». __. Si vous souhaitez devenir et sponsor officiel du projet, veuillez visiter notre page de parrainage <https://qgis.org/en/site/about/sponsorship.html#sponsorship> __ pour plus de détails. Le parrainage 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 sponsors actuels est fournie ci-dessous - merci à tous nos sponsors!

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é.

Sponsors de QGIS 3.0

Or

image2 Or : 9000 EUR

Land Vorarlberg

Land Vorarlberg

QGIS user group Switzerland

QGIS user group Switzerland

Argent

image5 Argent : 3000 EUR

AERO ASAHI Corporation

AERO ASAHI Corporation

QGIS user group Denmark

QGIS user group Denmark

ARTOGIS a/s

ARTOGIS a/s

QGIS user group Germany

QGIS user group Germany

OPENGIS.ch GmbH

OPENGIS.ch GmbH

Terraplan

Terraplan

Office of Public Works, Flood Risk Management and Data Management Section

Office of Public Works, Flood Risk Management and Data Management Section

WIGeoGIS

WIGeoGIS

Bronze

image14 Bronze : 500 EUR

2D3D.GIS

2D3D.GIS

Integrate Sustainability Pty Ltd

Integrate Sustainability Pty Ltd

Ager Technology

Ager Technology

LandPlan OS GmbH

LandPlan OS GmbH

Alta ehf

Alta ehf

Lutra Consulting

Lutra Consulting

Asociación Geoinnova

Asociación Geoinnova

MHTC Ltd

MHTC Ltd

Automatic Knowledge

Automatic Knowledge

MappingGIS

MappingGIS

BGEO Open GIS, SL

BGEO Open GIS, SL

Mapzen

Mapzen

Cawdor Forestry

Cawdor Forestry

Mierune LLC

Mierune LLC

Chartwell Consultants Ltd.

Chartwell Consultants Ltd.

OSGeo.JP

OSGeo.JP

City of Canning

City of Canning

Open Geo Groep

Open Geo Groep

City of Canning

City of Canning

Pixalytics

Pixalytics

Datenbankgesellschaft mbH

Datenbankgesellschaft mbH

QGIS user group Brazil

QGIS user group Brazil

Dr. Kerth + Lampe Geo-Infometric GmbH

Dr. Kerth + Lampe Geo-Infometric GmbH

QGIS user group Sweden

QGIS user group Sweden

FORNAT AG

FORNAT AG

QTibia Engineering

QTibia Engineering

Forest Design SRL

Forest Design SRL

Royal Borough of Windsor and Maidenhead

Royal Borough of Windsor and Maidenhead

GAIA mbH

GAIA mbH

SOLTIG (Soluciones en Tecnologías de Información Geográfica)

SOLTIG (Soluciones en Tecnologías de Información Geográfica)

GIS Support Sp. z o.o.

GIS Support Sp. z o.o.

Septima

Septima

GKG Kassel, (Dr.-Ing. Claas Leiner)

GKG Kassel, (Dr.-Ing. Claas Leiner)

Solargis s.r.o.

Solargis s.r.o.

Gaia3D, Inc.

Gaia3D, Inc.

Syddjurs Kommune

Syddjurs Kommune

Gemeente Gouda

Gemeente Gouda

TerreLogiche

TerreLogiche

GeoS Geodätische Software Andreas Hellinge

GeoS Geodätische Software Andreas Hellinge

Trage Wegen vzw

Trage Wegen vzw

Geographica

Geographica

Urbsol

Urbsol

Gis3W

Gis3W

WAGNER-IT

WAGNER-IT

Infraplan Engineering Services Pvt. Ltd.

Infraplan Engineering Services Pvt. Ltd.

WhereGroup GmbH & Co. KG

WhereGroup GmbH & Co. KG

Ingenieurbüro Kauppert

Ingenieurbüro Kauppert

tkt teleconsult Kommunikationstechnik GmbH

tkt teleconsult Kommunikationstechnik GmbH

Insurance Australia Group Limited (IAG)

Insurance Australia Group Limited (IAG)

Général

Fonctionnalité : Supprimer l’extension stats zonales

Elle est maintenant entièrement disponible via Processing qui est l’endroit logique où elle doit se trouver.

Fonctionnalité : Supprimer l’extension convertisseur dxf2shp

Cette fonction est disponible dans OGR et une extension QGIS dédiée n’a plus lieu d’être pour achever cette tâche

Fonctionnalité : Supprimer l’extension raster Oracle qui est orpheline

Fonctionnalité : Supprimer le fournisseur TauDEM de la base de Processing

TauDEM est un ensemble d’outils assez spécifiques et il demande l’installation d’autres outils supplémentaires. Nous avons donc décidé de l’offrir en tant que fournisseur séparé, réduisant ainsi la taille du code de base et les efforts de maintenance.

Fonctionnalité : De l’aide supplémentaire et la possibilité de configurer l’emplacement des fichiers d’aide de QGIS.

Des boutons supplémentaires d’aide pour les algorithmes et les dialogues sont ajoutés et pointent maintenant vers la documentation en ligne de QGIS.

La configuration permet d’accéder à l’aide contextuelle localisée en linge, soit sur le réseau de l’organisation, soit dans l’ordinateur local. Il est aussi possible de combiner des sources différentes d’aide.

image112

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

Fonctionnalité : Déplacer les gadgets Photo, WebView et FileName vers Pièce-jointe

image113

Fonctionnalité : Supprimer les fournisseurs OTB et lidartools de Processing

La nouvelle logique est de développer des fournisseurs d’extension qui soient capable de suivre le cycle d’évolution des logiciels externes.

Interface utilisateur

Fonctionnalité : Permet la tabulation dans les docks flottants

Pour les versions de qt > 5.6, il est possible de coller plusieurs docks flottants sur la même fenêtre flottante et ils seront distribués dans des onglets différents https://woboq.com/blog/qdockwidget-changes-in-56.html

image66

Fonctionnalité : Un contrôle plus fin du zoom avec la roue de la souris est fourni

Certains appareils de pointage / souris (particulièrement sur mac) ont des résolutions plus fines. Ils transmettent les événements de roue de souris à des fréquences plus élevées mais avec des valeurs delta plus petites. Les actions de zoom sur ces appareils n’étaient pas possible lors d’actions rapides de zoom. Cela est corrigé dans 3.0.

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

Fonctionnalité : Une barre de recherche a été ajoutée au dialogue de configuration des raccourcis

Supporte la recherche par nom de l’action ou du raccourci

image67

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

Fonctionnalité : Barre de localisation

La barre de localisation est une facilité de recherche rapide, toujours prête, générique et enfichable située dans le coin inférieur gauche de QGIS.

Elle permet, à présent, de rechercher le nom des algorithmes, actions et couches, mais aussi de sélectionner une entité dans la couche active courante en tapant une valeur d’attribut.

Elle peut être étendue « facilement », de sorte que tout le monde peut créer un QgsLocatorFilter pour son service de géocodage national ou sa facilité de recherche en-ligne ou dans une base de données.

image68

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

Fonctionnalité : Plus d’édition en ligne non-bloquante

  • dimensionnement des unités de carte

  • éditeurs de mélangeur de couleurs et de rampe aléatoire limitée

  • change les couleurs d’une liste directement dans le panneau de style

  • change directement les couleurs et les symboles dans Composeur

directement affiché dans le panneau de style

Fonctionnalité : Ajout d’une option pour montrer à l’utilisateur les menus de combinaisons de couleurs

Cela permet aux utilisateurs de décider si une combinaison de couleur crée par un utilisateur doit être affichée ou non dans les menus déroulants des boutons de couleur.

Elle est accessible par le dialogue de sélection des couleurs, dans l’onglet des listes. Ajoutez simplement une combinaison de couleurs, puis dans le menu de combinaison cochez la nouvelle option « Afficher dans boutons ».

Cela est utile si vous avez des jeux communs de palettes et voulez qu’ils soient disponibles immédiatement par le menu de couleur.

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

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

Fonctionnalité : Configuration de couleur pour la décoration flèche du Nord du canevas de carte

La configuration de la couleur de la décoration flèche du Nord a été ajoutée à tous les canevas de carte

image69

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

Fonctionnalité : Amélioration de « Sauver en tant qu’image » pour le canevas de carte

La fonction de « Sauver en tant qu’image » du canevas de carte a été étendue et offre maintenant aux utilisateurs la possibilité de modifier à la volée l’échelle, la résolution et l’emprise. L’emprise peut être fixée avec un rapport hauteur-largeur. Une fonction pour sauver en PDF a aussi été ajoutée pour exporter rapidement le canevas de carte dans un PDF indépendant de la résolution.

image70

Cette fonctionnalité a été financée par Andreas Neumann (financement partiel).

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

Fonctionnalité : Basculer la visibilité des panneaux ouverts dans la fenêtre principale

Accessible par : - Menu Voir > Basculer visibilité panneaux - raccourci clavier Ctrl+Tab

image71

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

Fonctionnalité : Amélioration dans l’harmonisation de l’interface utilisateur

Ce travail qui est financé par le programme de subvention QGIS « harmoniser les contrôles de l’IU », est maintenant fini et fusionné dans le maître. Les tâches suivantes ont été réalisées pour ce travail :

  • Toutes les API transparence/opacité/alpha ont été standardisées en setOpacity() et opacity(). Les méthodes acceptent une valeur double précision entre 0 (transparent) et 1 (opaque), en cohérence avec l’API de Qt.

  • Un nouveau gadget QgsOpacityWidget a été créé, et est maintenant utilisé partout dans l’IU pour fixer l’opacité. Cela encourage un comportement et un aspect uniformes pour les contrôles d’opacité dans l’ensemble de l’application.

  • Rotation a été standardisée dans l’API et l’IU, de manière a toujours être appliquée dans le sens des aiguilles d’une montre. Tous les gadgets de rotation ont été mis à jour pour accepter une valeur entre -360 et +360.

  • Les projets 2.x qui utilisent des rotations pour les labels et des rotations définies par l’utilisateur sont automatiquement mis à jour quand ils sont ouverts par 3.0

  • Les API d’échelle ont été rendues cohérentes entre elles dans toute l’API QGIS. Le mélange confus des dénominateurs d’échelle et des échelles vraies a été retiré, maintenant, tout est fait avec des dénominateurs d’échelle. Le comportement de tous les appels de gamme d’échelle est standardisé avec un sens commun pour les échelles min/max (et la documentation explicite de l’API à cet effet)

  • Tous les contrôles d’échelle utilisent maintenant les gadgets d’échelle pour la cohérence de toute l’IU.

  • L’étiquetage utilise maintenant la même définition pour l’échelle min/max que le reste de l’IU, et les projets existants sont automatiquement mis à jour quand ils sont ouverts par 3.0.

  • Corrections de la plupart des bogues restants liés à l’utilisation des échelles, y compris les bogues plantant les limites d’échelle basées sur des règles.

Merci aux donateurs du projet et du PSC de QGIS pour avoir sponsorisé ce travail et lui permettre de continuer !

Cette fonctionnalité a été financée par les donateurs et sponsors de QGIS

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

Fonctionnalité : Ouverture de couches dans un seul groupe

Si vous essayez de lire plusieurs sous-souches, vous pouvez maintenant toutes les ouvrir dans un même groupe, dans la légende.

image72

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

Cette fonctionnalité a été développée par Etienne Trimaille

Fonctionnalités 3D

Fonctionnalité : Visualiseur de carte et génération de terrain en 3D

Nous avons un tout nouveau visualiseur interne de carte 3D dans QGIS ! Le visualiseur de carte 3D affiche les cartes 2D (rendues à partir des couches de projet) au-dessus du terrain. Par défaut le terrain est une surface plate, mais il est possible d’utiliser des couches raster avec un modèle numérique de terrain comme source pour les données de hauteur.

Utilisez le menu Voir > Nouveau visualiseur de carte 3D pour ajouter un visualiseur 3D au projet. Ceci créera un nouveau gadget dock comprenant le canevas de carte 3D. Le visualiseur 3D utilise les mêmes contrôles que le visualiseur de carte 2D pour parcourir la carte en utilisant la souris (glisser la carte pour la déplacer, roue de la souris pour le zoom) ou les touches de flèches du clavier. De plus, il y a des contrôles spécifiques pour la caméra dans les vues 3D : il est possible de tourner et d’incliner la caméra par un des moyens suivants :

  • en glissant la souris avec le bouton du milieu pressé

  • en pressant sur Shift et en glissant la souris avec le bouton gauche pressé

  • en pressant sur Shift et en utilisant les touches haut/bas/gauche/droit

image121

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

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

Fonctionnalité : Moteur de rendu 3D pour les couches

Dans la configuration par défaut, les couches sont rendues en images 2D drapées sur le terrain. Il est cependant possible d’avoir une meilleure utilisation de l’univers 3D en configurant des moteurs de rendu 3D pour certaines couches. Avec les moteurs de rendu 3D, les données peuvent être représentées en tant qu’objets 3D dans les visionneuses 3D - c’est actuellement possible avec les couches vecteurs (tout type de géométrie - point, ligne ou polygone). Une visualisation bien meilleure est ainsi possible, par exemple :

  • des polygones représentant l’empreinte des bâtiments peuvent être extrudés (ayant même leur hauteur définie par des données) pour achever une impression de 3D

  • des points représentant l’emplacement d’arbres peuvent être rendus avec des symboles 3D d’arbres (formes géométriques simples ou modèles 3D existants lus à partir de format de fichiers supportés)

Pour configurer les moteurs de rendu 3D, utilisez le dock de gadget de style de couche ou le dialogue de propriétés des couches vecteurs - il y a un nouvel onglet pour la configuration des moteurs de rendu 3D.

image122

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

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

Expressions

Fonctionnalité : Nouvelles variables pour les expressions

Ajout des variables @project_crs et @project_crs_definition pour retourner le SCR du projet courant

Fonctionnalité : nouvelle variable globale pour les expressions @qgis_locale

Renvoie la localisation courante utilisée par QGIS. Par défaut c’est la localisation du système courant. Si l’utilisateur active une autre localisation dans les paramètres de QGIS alors cette dernière sera renvoyée.

image63

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

Fonctionnalité : Nouvelles variables pour les expressions de paramétrage de carte

- map_crs, map_crs_definition: retrieves crs details for map
- map_units: retrieves units for map (eg 'meters','degrees')

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

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

Fonctionnalité : Nouvelles fonctions pour les expressions

Expressions pour Atlas

  • atlas_layerid et atlas_layername : renvoient l’identifiant de couche et le nom de couche de la couche courant dans l’atlas.

Expressions pour agrégat

  • array_agg(expression, grouper_par, filtre) : Renvoie un tableau de valeurs regroupées à partir d’un champ ou d’une expression.

Expressions pour tableau

Nouveau groupe contenant des fonctions d’expression pour la création et la manipulation de tableaux (également appelés structures de liste de données). L’ordre des valeurs dans le tableau est importante, contrairement à la structure de données en « dictionnaire », où l’ordre des paires de clé-valeur n’est pas pertinent et les valeurs sont identifiées par leurs clés.

  • array(valeur1, valeur2, …) : Renvoie un tableau contenant toutes les valeurs passées comme paramètre.

  • array_append(tableau, valeur) : Renvoie un tableau avec la valeur donnée ajoutée à la fin.

  • array_cat(tableau1, tableau2, …) : Renvoie un tableau contenant tous les tableaux donnés concaténés.

  • array_contains(tableau, valeur) : Renvoie vrai si un tableau contient la valeur donnée.

  • array_distinct(tableau) : Renvoie un tableau contenant les valeurs distinctes du tableau donné.

  • array_find(tableau, valeur) : Renvoie l’index (0 pour le premier) d’une valeur dans un tableau. Renvoie -1 si la valeur n’est pas trouvée.

  • array_first(tableau) : Renvoie la première valeur d’un tableau

  • array_get(tableau, index): Renvoie la Nième (0 correspondant à la première) valeur d’un tableau.

  • array_insert(tableau, pos, valeur) : Renvoie un tableau avec la valeur donnée insérée à la position donnée.

  • array_intersect(tableau1, tableau2) : Renvoie vrai si l’un des éléments du tableau1 est présent dans tableau2

  • array_last(tableau) : Renvoie la dernière valeur d’un tableau.

  • array_length(tableau) : Renvoie le nombre d’éléments dans un tableau.

  • array_prepend(tableau, valeur) : Renvoie un tableau avec la valeur donnée insérée au début du tableau.

  • array_remove_all(tableau, valeur) : Renvoie un tableau dont les entrées correspondantes à la valeur donnée ont été supprimées.

  • array_remove_at(tableau, pos) : Renvoie un tableau dont l’index donné a été supprimé.

  • array_reverse(tableau) : Renvoie le tableau donné avec les valeurs dans l’ordre inverse.

  • array_slice(tableau, pos_début, pos_fin) : Renvoie une partie du tableau. La tranche est définie par les arguments pos_début et pos_fin.

  • array_to_string(tableau, délimiteur, valeur_vide) : Concatène les éléments du tableau en une chaîne de caractères séparée par un délimiteur et en utilisant en option une chaîne de caractères pour les valeurs vides.

  • regexp_matches(chaîne, regex, valeur_vide) : Renvoie un tableau de toutes les chaînes capturées par les groupes de capture, dans l’ordre dans lequel les groupes eux-mêmes apparaissent dans l’expression régulière fournie agissant sur la chaîne.

  • string_to_array(chaîne, délimiteur, valeur_vide) : Découpe une chaîne de caractères en un tableau en utilisant le délimiteur et l’éventuelle chaîne de remplacement pour les valeurs vides.

Expressions pour les couleurs

  • create_ramp(carte, discrète) : Renvoie une rampe de dégradé à partir d’une carte de valeurs de couleurs dans une chaîne et d’étapes.

Expressions pour date et heure

  • epoch(date) : Renvoie l’intervalle en millisecondes entre l’époque UNIX et une date donnée.

Expressions générales

  • env(nom) : Retourne le contenu d’une variable d’environnement en tant que chaîne de caractères. Si la variable n’est pas trouvée, NULL sera renvoyé.

  • raster_statistic(couche, bande, propriété) : Renvoie les statistiques d’une couche raster. Propriété : min/max/avg/range/stdev/sum

  • with_variable(nom, valeur, nœud) : Cette fonction définit une variable pour tout code d’expression qui sera fourni comme troisième argument. Ceci n’est utile que pour des expressions compliquées, où la même valeur calculée doit être utilisée dans différents endroits.

Expressions pour la géométrie

  • extend(géométrie, distance_début, distance_fin) : Allonge une ligne par des valeurs spécifiques en début et fin de ligne

  • hausdorff_distance(géométrie a, géométrie b, fraction_densification) : Renvoie la distance de Hausdorff entre les deux géométries. C’est essentiellement une mesure de la dissimilarité entre les deux géométries, une petite distance indiquant que les géométries sont assez similaires.

  • inclination(inclination(point_a, point_b) : Renvoie l’inclinaison mesurée du zénith (0) au nadir (180) du point_a au point_b.

  • make_circle(centre, rayon, segment) : Crée un polygone en forme de cercle segmenté.

  • make_ellipse(centre, axe_semi_majeur, axe_semi_mineur, azimut, segment) : Crée un polygone en forme d’ellipse segmentée.

  • make_regular_polygon(centre, rayon, nombre_cotés, cercle) : Crée un polygone régulier.

  • make_triangle() : pas d’aide disponible

  • minimal_circle(géométrie, segment) : Renvoie le cercle de minimal entourant une géométrie. Il représente le cercle minimum qui renferme toutes les géométries dans l’ensemble.

  • offset_curve(géométrie, distance, segments, joint, limite_pointe) : Renvoie une géométrie formée en décalant sur un côté une géométrie de type ligne. Les distances sont exprimées dans le Système Spatial de Référence de cette géométrie.

  • oriented_bbox(géom) : Renvoie une géométrie qui représente l’emprise minimale orientée d’une géométrie en entrée.

  • pole_of_inaccessibility(géométrie, tolérance) : Calcules le pôle d’inaccessibilité approximatif pour une surface, qui est le point de la surface le plus éloigné de ses bords. Cette fonction utilise l’algorithme “polylabel” (Vladimir Agafonkin, 2016) qui est une approche itérative garantissant de trouver le véritable pôle d’inaccessibilité moyennant une certaine tolérance.

  • simplify(géométrie, tolérance) : Simplifie une géométrie en supprimant des nœuds basé sur un seuil de distance (c’est-à-dire l’algorithme de Douglas Peucker). L’algorithme conserve les grands écarts dans les géométries et réduit le nombre de nœuds dans les segments presque droits.

  • simplify_vw(géométrie, tolérance) : Simplifie une géométrie par suppression de nœuds basé sur un seuil de surface (algorithme de Visvalingam-Whyatt). L’algorithme supprime les arêtes qui créent de petites surfaces dans les géométries, par ex. les pics très étroits ou les segments quasi alignés.

  • smooth(géométrie, itérations, décalage, longueur_min, angle_max) : Lisse une géométrie en ajoutant des nœuds supplémentaires qui arrondissent les coins de la géométrie.

  • single_sided_buffer(géométrie, distance, segments, joint, limite_pointe) : Renvoie une géométrie formée par un tampon appliqué sur un seul côté d’une géométrie de type ligne. Les distances sont exprimées dans le Système Spatial de Référence de cette géométrie.

Propriété des couches

  • crs_description : Renvoie la description du SCR de la couche.

Expressions pour dictionnaire

Ce groupe contient des fonctions d’expression pour la création et la manipulation de structures de données en dictionnaire (également appelées objets de dictionnaire, paires de valeurs-clés ou tableaux associatifs). On peut assigner des valeurs à des clés données. L’ordre des paires clé-valeur dans l’objet cartographique n’est pas pertinent.

  • map(clé1, valeur1, clé2, valeur2, , …) : Renvoie un dictionnaire contenant toutes les clés et valeurs passées en tant que paires de paramètres.

  • map_akeys(dico) : Renvoie toutes les clés d’un dictionnaire dans un tableau.

  • map_avals(dico) : Renvoie toutes les valeurs d’un dictionnaire dans un tableau.

  • map_concat(dico1, dico2, …) : Renvoie un dictionnaire contenant toutes les paires des dictionnaires donnés. Si deux dictionnaires contiennent la même clé, la valeur du second sera renvoyée.

  • map_delete(dico, clé) : Renvoie un dictionnaire dont la clé donnée et sa valeur correspondante ont été supprimées.

  • map_exist(dico, clé) : Renvoie vrai si la clé donnée est présente dans le dictionnaire.

  • map_get(dico, clé) : Renvoie la valeur d’un dictionnaire associée à la clé donnée.

  • map_insert(dico, clé, valeur) : Renvoie un dictionnaire avec la paire clé/valeur insérée.

Couches de carte

Nouveau groupe contenant la liste des couches qui sont disponibles dans le projet courant. Renvoie l’identifiant interne des couches. Ils sont utilisés dans beaucoup de fonctions pour expressions qui se réfèrent aux couches.

Expressions mathématiques

  • inclination(point_a, point_b) : Renvoie l’inclinaison mesurée du zénith (0) au nadir (180) du point_a au point_b.

Opérateurs

  • ~: Effectue une correspondance d’expression régulière sur une valeur de chaîne.

Expressions pour enregistrements et attributs

Renommé à partir de « Enregistrement »

  • get_feature_by_id(couche, ident_entité) : Renvoie l’entité avec un identifiant sur une couche.

  • is_selected(entité, couche) : Permets de savoir si une entité est sélectionnée. Si aucun paramètre n’est donné, l’entité courante sera testée.

  • num_selected(couche) : Renvoie le nombre d’entités sélectionnées d’une couche donnée. Par défaut la fonction agit sur la couche sur laquelle l’expression est évaluée.

  • represent_value(valeur, nomChamp) : Renvoie la valeur de représentation configurée pour une valeur de champ. Cela dépend du type de gadget configuré. Souvent, cela est utile pour les gadgets “Valeur de la carte”.

  • uuid() : Génère un Identifiant universel unique (UUID) pour chaque rangée en utilisant la méthode QUuid::createUuid de Qt. Chaque UUID occupe 38 caractères.

Relations

Nouveau groupe donnant la liste de toutes les relations tabulaires disponibles dans le projet. Utile pour les fonctions relation_aggregate.

Obsolète

  • $scale : vieille variable pour renvoyer l’échelle de la carte. Remplacée par maps_scale

Modifications

  • Modification de la fonction substr()

    • supporte une valeur négative pour début (par ex. substr(“bonjour”,-2) renvoie “ur”)

    • supporte une valeur négative pour la longueur (par ex. substr(“bonjour”,3,-3) renvoie “nj”)

    • le paramètre longueur est maintenant optionnel et est par défaut la fin de la chaîne (par ex. substr(“bonjour le monde”,12) renvoie “monde”)

  • strpos() dépend maintenant d’une chaîne simple dans la chaîne de recherche

  • regexp_match() renvoie maintenant la position d’une expression régulière qui correspond

Cette fonctionnalité a été développée par de nombreux développeurs

Fonctionnalité : Expose la variable @parent dans les fonctions pour agrégat

Cela rend possible l’accès aux attributs et à la géométrie à partir de l’entité parent lorsqu’elle fait partie du filtre de la fonction d’agrégat. Grâce à ce dispositif les agrégats peuvent être calculés par entité.

E.g. max "measurement" for each point_station per polygon_research_area.

Ou une valeur par défaut pour l’attribut lors de la numérisation des entités :

aggregate(layer:='countries', aggregate:='max', expression:=\"code\", filter:=intersects( $geometry, geometry(@parent) ) )

image64

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

Fonctionnalité : fonction Item_variables dans les compositions

Ajoute une nouvelle fonction item_variables quand les expressions sont utilisées dans un contexte de composition.

La fonction accepte un seul argument, l’identifiant pour l’élément dans la composition, et renvoie un dictionnaire de nom de variable par valeur de cet élément. Cela vous permet de faire des choses telles qu’insérer du texte dans une étiquette à partir des propriétés d’un autre élément dans la composition, par ex.

Insérer l’échelle d’une carte dans une étiquette :

map_get( item_variables( 'map'),'map_scale')

Insérer la coordonnée x du centre d’une carte dans une étiquette :

x(map_get( item_variables( 'map'),'map_extent_center'))

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

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

Documentation

Fonctionnalité : amélioration des algorithmes de Processing

Les algorithmes de Processing ont été révisés et documentés. Un clic sur le bouton d’aide ouvrira le site web de QGIS et affichera la description de l’algorithme avec une documentation améliorée et des images.

image65

Cette fonctionnalité a été financée par la Proposition de subvention de QGIS

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

Symbologie

Fonctionnalité : Visibilité des symboles de couche définie par les données

Ajoute la possibilité de contrôler la visibilité des symboles de couche par les données. Permet aux utilisateurs de supprimer l’affichage de certains symboles de couche pour des entités correspondantes.

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

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

Fonctionnalité : enregistrer et restaurer les palettes de couleurs utilisées pour les rendus en bande simple de pseudo-couleur.

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

Fonctionnalité : Ajout de Points et Pouces pour les unités disponibles de symbole

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

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

Fonctionnalité : Nouveau gadget de bouton de palette de couleurs

Dans QGIS 3.0, la manipulation des palettes de couleurs est maintenant bien meilleure grâce à l’utilisation du nouveau gadget de bouton de palette de couleurs. Les améliorations comprennent : - les paramètres personnalisés de palette de couleurs sont rappelés lorsque les projets sont ré-ouverts - l’inversion des palettes de couleurs est implémentée dans le gadget, permettant cette action dans tout QGIS - accès rapide aux palettes de couleurs « préférées » par le menu déroulant du gadget - le lien avec les catalogues (cpt-city et ColorBrewer) est maintenant bien plus plaisant

image73

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

Fonctionnalité : Le Gestionnaire de styles a été retravaillé et mis à jour

La gestion des styles a reçu une amélioration importante. Les améliorations comprennent :

  • Un nouveau groupe « Marque-Pages » (favoris) a été ajouté, il est sélectionné par défaut dans la liste déroulante des symboles

  • Maintenant, le mot-clé / « groupe intelligent » sélectionné dans la liste des symboles se maintient lorsque l’on change de couche (ainsi que d’une session à l’autre)

  • La liste de symboles met à jour la liste déroulante des balises / « groupe intelligent » lorsque les utilisateurs ajoutent / renomment / suppriment des catégories.

  • Les utilisateurs peuvent directement mettre des balises, ainsi qu’ajouter aux favoris, les symboles tout en les enregistrant dans la base de données des styles.

  • Pour simplifier la gestion des styles, les groupes ont été supprimés et entièrement remplacés par des balises

  • Les balises ont été intégrées dans l’interface importation/exportation de l’utilisateur

image74

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

Fonctionnalité : Support pour la configuration des couleurs et de la transparence sur éléments multiples pour les rendus raster

Il est maintenant possible de changer en une seule fois la couleur et la transparence pour des valeurs multiples dans les moteurs de rendu en bande simple de pseudo-couleur et en palettes de couleurs. Sélectionnez simplement les valeurs dans la liste des valeurs et cliquez le bouton droit pour afficher un menu déroulant.

image75

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

Fonctionnalité : Affiche une jauge d’alpha dans le menu déroulant du bouton des couleurs

Permet de rapidement modifier l’alpha des couleurs

image76

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

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

Fonctionnalité : Prise en charge des actions de la barre d’outils d’étirement raster pour le rendu pseudocolor

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

Fonctionnalité : Support pour la transparence dans le moteur de rendu en palettes de couleurs

Dans QGIS 3.0, il est maintenant possible de changer la valeur de transparence pour des valeurs uniques pour le moteur de rendu en palettes de couleurs.

image77

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

Fonctionnalité : Ajustement automatique des couleurs d’un raster lorsque le canevas est mis à jour

voir https://lists.osgeo.org/pipermail/qgis-developer/2016-September/044393.html suivi de la classification automatique de l’étendue mise à jour de pseudocolor raster.

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

Fonctionnalité : Contrôle des marges du contenu des annotations

Permet de fixer les marges gauche/supérieure/inférieure/droite du contenu dans une annotation.

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

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

Fonctionnalité : Les annotations peuvent être stylisées avec des styles de symboles pleins

Cela change le rendu des cadres d’annotation pour utiliser le moteur de symbologie de QGIS, ce qui veut dire que tous les styles pleins existants peuvent être utilisés pour styliser les cadres d’annotation.

Aussi, les effets de peinture et les paramètres de symboles définis 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é : Moteur de rendu pour groupe de points

Nouveau moteur de rendu de symboles qui groupe et affiche les points proches les uns des autres en un symbole de marqueur unique. En option, une étiquette affiche le nombre d’entités qui ont été agglomérées dans le symbole.

De plus, quelques améliorations ont été faites sur le moteur de rendu de déplacement points, spécifiquement :

  • les points sont maintenant assignés au groupe qui est le « plus proche » d’eux, au lieu de simplement les assigner au premier groupe dans la distance de recherche. Dans certains cas des points étaient assignés à des groupes plus distants, produisant des configurations de groupe moins prévisibles.

  • Les points individuels sont maintenant correctement affichés dans leur état de sélection propre

  • Beaucoup de nettoyage de code et même de la documentation.

Pour les développeurs : QgsPointDisplacementRenderer a été séparé en une nouvelle classe de base virtuelle pure QgsPointDistanceRenderer qui s’occupe de la détection des groupes et du groupement des points. Le nouveau moteur de rendu pour groupe utilise cette classe de base pour éviter la duplication de code.

Voir le programme de crowdfunding pour de plus amples informations.

image78

Cette fonctionnalité a été financée par Andreas Neumann, Qtibia Engineering (Tudor Barascu), Karl-Magnus Jönsson, Geonesia (Nicolas Ponzo) et de nombreux supporteurs anonymes dont les contributions généreuses sont aussi très estimées !

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

Fonctionnalité : Nouveaux algorithmes pour la coloration de cartes dans QGIS 3.0

voir http://nyalldawson.net/2017/02/new-map-coloring-algorithms-in-qgis-3-0/

image79

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

Fonctionnalité : Nouvelle option pour couleurs prédéfinies dans une palette de couleurs

Permet d’utiliser une palette de couleur qui est constituée d’une liste de couleurs choisies. Il n’y a en ce moment aucun moyen dans QGIS de faire qu’un moteur de rendu classe suivant une liste de couleurs que vous auriez préalablement choisies. Vous pouvez néanmoins changer manuellement les couleurs une fois la classification effectuée, mais c’est fastidieux si vous utilisez régulièrement le même modèle de couleurs. Fondamentalement, c’est comme les options de palette de couleurs de ColorBrewer mais en permettant aux utilisateurs de choisir leur propre liste prédéfinie de couleurs à utiliser (parce que Cynthia Brewer n’est pas la seule experte en couleur pour cartographie !)

image80

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

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

Fonctionnalité : Permet de désactiver temporairement toutes les couches de symboles

Ajout d’une case à cocher en bas des propriétés de chaque couche de symboles qui vous permet de contrôler si la couche est activée ou non. Les couches déactivées ne sont pas affichées, mais sont sauvées et peuvent être activées plus tard. Cela rend l’affinage de l’apparence des symboles plus facile sans avoir à supprimer totalement une couche de symboles.

image81

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

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

Fonctionnalité : Mise en style facile des raster à valeurs discrètes

Dans QGIS 3.0, le moteur de rendu de raster existant pour les raster a été adapté pour permettre une mise en style facile des couches de raster à valeurs discrètes, tels que les raster de couverture-du-sol ou booléens. Maintenant, les utilisateurs peuvent choisir de renommer le moteur de rendu « En palette/Valeurs uniques » et cliquer le bouton « Ajout de valeurs uniques » pour lire toutes les valeurs uniques à partir de la couche. Une couleur leurs est assignée automatiquement en utilisant la palette de couleurs sélectionnée.

Le calcul de la valeur unique est effectué dans un thread d’arrière-plan pour que l’interface utilisateur reste réactive pour les couches raster volumineuses (ou distantes). De plus, les utilisateurs peuvent ajouter manuellement de nouvelles classes individuelles selon leurs besoins et modifier la valeur de pixel associée pour toute classe existante. La suppression de plusieurs classes à la fois est également prise en charge, ainsi que la modification de la couleur, de la transparence et des étiquettes pour plusieurs classes à la fois.

Les palettes de couleurs peuvent être lues à partir d’un fichier. Les formats de table de couleurs ESRI clr/GDAL/GRASS sont supportés. Les palettes de couleurs peuvent être sauvées dans un fichier texte clr pour être partagées.

image82

Cette fonctionnalité à été financée par Stéphane Henriod, Satelligence (http://satelligence.com/), Bird’s Eye View (https://www.birdseyeviewgis.com/), d’autres commanditaires anonymes

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

Étiquetage

Fonctionnalité : La taille des polices de caractères des étiquettes peut être spécifiée en mm/pixels

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

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

Fonctionnalité : La barre d’outils de l’étiquetage personnalisé est maintenant toujours activée

Grâce au génial stockage auxiliaire des données et de table jointe éditable, la personnalisation manuelle de l’étiquetage est maintenant toujours activée. Vous n’avez plus besoin d’ajouter des champs dédiés dans votre source de données pour changer la position, la rotation ou tout autre paramètre possible pour que l’étiquetage active la barre d’outils. Plus la peine de copier des sources de données en lecture simple et un étiquetage tellement plus rapide ! Mais attention, les étiquettes ne sont sauvées que dans le fichier du projet,** dans un fichier .qgd au format base de données sqlite , ou dans le fichier .qgz d’un projet compressé si vous choisissez ce format. N’oubliez pas de partager ce fichier .qgd si vous voulez distribuer les fichiers de votre projet.

Et, pour les utilisateurs experts, la vieille méthode des champs définis par les données dans vos sources de données est toujours présente. Définissez les simplement dans les propriétés de la couche, comme auparavant !

image83

Cette fonctionnalité a été financée par le Ministère français de l’Écologie et du Développement Durable

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

Diagrammes

Fonctionnalité : Propriétés définies par les données

Ajoute un support pour des propriétés définies par les données plus étoffées pour les diagrammes :

  • Distance

  • Priorité

  • IndexZ

  • EstObstacle

  • Affiche

  • AfficheToujours

  • Angle départ diagramme

Cette fonctionnalité a été financée par le Programme de subvention de QGIS

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

Rendu

Fonctionnalité : Support pour couche en direct

QGIS 3.0 supporte maintenant les couches en direct. Ces couches sont automatiquement rendues toutes les x secondes de façon claire et sans scintillement ; x étant une valeur que vous spécifiez. Les couches en direct sont utiles pour traquer des données qui changent continuellement, comme les flottes de véhicules, une volée d’oiseaux dont vous avez les données télémétriques et ainsi de suite.

image84

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

Fonctionnalité : Déclenchement de la mise à jour d’une couche ou des actions de la couche à partir du signal NOTIFY de PostgreSQL

À la suite des effets de couches en direct, elle permet de déclencher des actions ou une mise à jour de la couche dans QGIS seulement lorsque la base de données demande à QGIS de faire quelque chose. Elle demande moins de ressources que la mise à jour à intervalle régulier, et vous pouvez même l’utiliser pour programmer une application chat avec QGIS :)

Voir https://vimeo.com/236604742

http://oslandia.com/en/2017/10/07/refresh-your-maps-from-postgresql/

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

Cette fonctionnalité a été développée par OSLANDIA - Vincent Mora

Fonctionnalité : Le résultat du cache de l’étiquetage évite les retracés inutiles lors du rafraîchissement du canevas

Ce changement permet de créer une image cache des résultats de l’étiquetage après un rendu de carte. Si l’image cache peut être réutilisée pour le rendu suivant, elle le sera, évitant ainsi de retracer toutes les couches participant au problème de l’étiquetage en en donnant la solution. Essentiellement, cela veut dire que les rafraîchissements du canevas entraînés par des modifications de couches NON-ÉTIQUETÉES sont bien plus rapides. (Modifier une couche qui fait partie de la solution de l’étiquetage demande toujours le retracé complet de toutes les couches étiquetées)

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

Fonctionnalité : Moteur de rendu pour grille de déplacement de points

Moteur de rendu pour grille de déplacement de points

image85

Cette fonctionnalité a été développée par Muhammad Yarjuna Rohmat (Kartoza)

Numérisation

Fonctionnalité : Sélection d’un ensemble de sommets dans l’outil Nœud

Cette fonctionnalité permet de sélectionner un ensemble de sommets à partir d’une entité.

Elle peut être activée par Shift+R - puis il suffit de cliquer le point de départ et le point final dans l’entité - cela sélectionnera tous les sommets entre ces deux points.

La sélection d’ensemble peut être annulée à tout moment avec un clic droit ou avec la touche Esc.

Pour des courbes closes (polygones), il est possible de commuter au « plus long » chemin autour de la boucle en pressant Ctrl lorsque le point final est cliqué.

image86

Cette fonctionnalité a été financée par le Ministère français de l’Écologie

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

Fonctionnalité : Ajout de l’option pour une valeur Z par défaut

Création de Géopackages/Shapefiles: Maintenant avec l’option d’avoir des valeurs Z

image87

Cette fonctionnalité a été développée par Alexander Lisovenko / Paul Blottiere

Fonctionnalité : Déplacer une entité bénéficie maintenant de la Numérisation avancée

Déplacez une entité en utilisant simplement le nouveau « clic - clic » ergonomique et utilisez le panneau et le raccourci de numérisation avancée pour contraindre les angles, les distances et donner un XY exact.

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

Fonctionnalité : Ajout de la fonctionnalité copier/déplacer une entité à l’outil de carte d’entité

Cela permet de dupliquer et de déplacer une entité d’un seul coup à partir de l’entité sélectionnée

image88

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

Fonctionnalité : Tracé avec décalage

Vous pouvez maintenant utiliser l’outil de numérisation par tracé avec un décalage comme montré dans l’image.

image89

Cette fonctionnalité a été financée par d.b.g. Datenbankgesellschaft mbH

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

Fonctionnalité : Réorganisation de l’outil de Sommet

L’outil de Nœud (maintenant appelé l’outil de Sommet) a été totalement réorganisé pour le rendre plus flexible. Quelques unes des modifications les plus importantes sont :

  1. Au lieu de forcer l’utilisateur à sélectionner dans un premier temps une entité puis, dans un second temps, à éditer ses sommets, l’outil est maintenant capable de travailler avec plusieurs entités en même temps. Il est donc facile de sélectionner des sommets à partir d’entités différentes et de les déplacer ou de les effacer en même temps. Si on a besoin de contraindre la sélection des sommets à une ou plusieurs entités spécifiques, il est possible de d’abord les sélectionner avec l’outil de sélection - dans ce cas, l’outil de sommet ne fonctionnera que sur les entités sélectionnées.

  2. Au lieu de ne travailler que sur la couche couramment sélectionnée l’outil est maintenant capable de travailler en même temps sur toutes les couches en édition. Déplacer des entités qui font parties d’un ensemble logique mais qui sont réparties sur différentes couches est maintenant bien plus facile. Cependant, la couche courante est respectée s’il y a plusieurs choix lorsque les sommets sont sélectionnés.

  3. Les entités et leurs sommets sont mis en valeur lorsque l’utilisateur déplace la souris au-dessus d’eux, fournissant un meilleur retour visuel.

  4. Dans QGIS 2.x les sommets sont déplacés avec un clic sur l’un d’eux, puis en le faisant glisser avec le bouton gauche toujours appuyé et finalement en les déposant par relâche du bouton de la souris. Ce comportement est maintenant l’approche « clic-clic » où l’utilisateur clique en premier sur un sommet pour le sélectionner, puis dans un deuxième temps le fait glisser sans appuyer sur un bouton de la souris et finalement le dépose par un clic de la souris sur la destination finale. Les arguments pour cette modification sont les suivants :

  5. le placement des nœuds est plus précis (car il n’y a plus besoin d’appliquer une force permanente sur la souris)

  6. on ne peut pas déplacer les nœuds par inadvertance

  7. il est possible d’annuler l’opération

  8. elle permet de se déplacer sur la carte en pressant la barre d’espace tout en déplaçant le nœud

Voir https://github.com/qgis/QGIS-Enhancement-Proposals/issues/69 pour plus de détails.

image90

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

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

Fonctionnalité : Outil de Sommet : ajout de sommets avec le marqueur du point du milieu

L’outil de sommet amélioré affiche maintenant des marqueurs supplémentaires au niveau du point au milieu des segments de ligne des entités. Un clic sur un tel marqueur ajoute un nouveau sommet. La méthode existante d’ajouter un sommet par clic-double a été conservée.

image91

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

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

Fonctionnalité : Outil de Sommet : prolongement de ligne

Le déplacement de la souris vers le premier ou le dernier sommet, lors de l’édition des géométries de type ligne avec l’outil de sommet, entraîne l’affichage d’un marqueur supplémentaire tout prés du sommet terminal. Un clic sur le marqueur ajoute un sommet à la géométrie à sa place.

image92

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

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

Fonctionnalité : Outil de Sommet : support pour le panneau de numérisation avancée

Le panneau de numérisation avancée fonctionne maintenant avec l’outil de sommet - il est possible de taper les coordonnées de nouveaux sommets ou de sommets existants dans le panneau comme cela est possible dans tout autre outil de numérisation de carte.

image93

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

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

Gestion des Données

Fonctionnalité : Recentrage sur l’entité courante, dans la table d’attributs

image94

Cette fonctionnalité a été développée par Marco Hugentobler

Fonctionnalité : Carte de l’emprise du SCR dans les propriétés du projet

image95

Fonctionnalité : Support pour stockage auxiliaire

Un nouvel onglet est disponible dans les propriétés des couches de vecteurs pour gérer le stockage auxiliaire :

Une nouvelle action Enregistre les données dans le projet est disponible dans le menu des données définies fournissant une manière facile de gérer les données auxiliaires pour une propriété :

Les données auxiliaires sont enregistrées dans une base de données sqlite et gérées avec le fournisseur de données OGR (au lieu du fournisseur spatialite) pour que le ficher de base de données soit aussi compact que possible. Ce fichier de base de données (avec l’extension .qgd) est soit sauvé à coté du fichier de projet soit intégré dans le nouveau format .qgz.

Voir la demande originale de déchargement et cet article qui donne de plus amples explications

image96

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

Fonctionnalité : Réorganisation des métadonnées

Le système de métadonnées dans QGIS a été réorganisé. Pour QGIS 3.0 nous introduisons notre schéma personnel et formalisé de métadonnées qui est séparé du format de fichier du projet QGIS. Nous introduisons de nouvelles fonctionnalités dans l’API pour lire et écrire les métadonnées des couches. Nous avons séparé l’affichage des métadonnées de leur édition et avons ajouté un nouvel outil pour l’édition des métadonnées. Les métadonnées sont actuellement sauvées dans le fichier du projet. Elles peuvent aussi être sauvées dans un fichier XML accompagnant les couches basées sur des fichiers ou dans une base de données sqlite locale pour les couches non-locales (par ex. PostGIS).

Vous pouvez avoir plus d’informations sur les considérations adoptées pour le design en vous référant à la Proposition d’amélioration de QGIS (QEP) - QEP-92

Veuillez noter que c’est la première phase dans le développement d’une infrastructure de métadonnées complète et aux normes pour QGIS. Nous recherchons des financements supplémentaires pour développer une implémentation plus complète pour ce système de métadonnées - voir ce document pour plus de détails sur les différents travaux prévus qui demandent financement.

Les spécifications pour le schéma des métadonnées QGIS est ici.

Le commanditaire principal pour ce travail est la Banque mondiale/GFDRR avec financement additionnel par NINA.

image97

Cette fonctionnalité a été financée par Banque mondiale/GFDRR

Cette fonctionnalité a été développée par Kartoza et collaborateurs

Fonctionnalité : Boîte de dialogue unifiée pour la gestion des sources de données

Une boîte de dialogue unique et unifiée pour gérer les sources de données et charger les couches.

image98

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

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

Fonctionnalité : Suppression de l’outil de chargement OSM

Nous avons supprimé l’outil de chargement OSM fournit avec les versions 2.x de QGIS. Nous vous encourageons plutôt à utiliser l’extension QuickOSM qui a été portée sur QGIS 3.0.

Formulaires et widgets

Fonctionnalité : Permet le contrôle des étiquettes pour les widgets individuels d’édition

Dans le mode de conception par glisser-déposer, un clic-double sur un élément permettra de contrôler si l’étiquette doit être affichée individuellement pour chaque élément.

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

Fonctionnalité : Visibilité conditionnelle des onglets et des boîtes de groupe

Elle ajoute une nouvelle option de configuration pour afficher ou masquer conditionnellement des onglets et des boîtes de groupe dans les formes du mode de conception par glisser-déposer. La configuration se fait par un clic-double dans l’arbre de conception de l’interface de configuration des champs. Une expression peut être saisie pour contrôler la visibilité. L’expression sera ré-évaluée chaque fois que les valeurs du formulaire sont modifiées et l’onglet ou la boîte de groupe sera affiché/masqué de manière appropriée.

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

Fonctionnalité : Les gadgets par défaut pour l’édition sont plus intelligents et peuvent être sélectionnés par les extensions

Les gadgets peuvent maintenant fournir un score sur leur capacité de traiter le type d’un champ. Cela conduit à des gadgets par défaut bien meilleurs.

De plus, des extensions peuvent être ajoutées pour choisir le type d’un gadget en fonction d’informations externes. L’un d’eux utilisent une table dans PostgreSQL qui permet de spécifier le type de gadget et la configuration à utiliser pour chaque champ.

Sélection automatique du gadget RelationReference pour les clés étrangères.

Cette fonctionnalité a été développée par Patrick Valsecchi

Fonctionnalité : Les contraintes de champ peuvent être imposées ou non

Les contraintes non-imposées affichent simplement un avertissement à l’utilisateur, mais ne permettent pas d’empêcher la modification de l’entité. Les contraintes imposées n’autorisent pas l’utilisateur à faire des modifications non conforme de l’entité. Nous avons donc maintenant des avertissements ! Toute contrainte détectée par un fournisseur est toujours imposée.

image99

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

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

Fonctionnalité : Ajout d’actions portant sur la couche

Dans la table d’attributs, il y a un nouveau bouton pour déclencher des actions qui ne sont pas basées sur les entités individuelles mais sur la couche en entier. Elles effectueront normalement des actions basées sur toutes les entités ou la sélection.

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

Fonctionnalité : Affiche les valeurs du champ dans la complétion automatique dans le mode de filtre de forme

La complétion automatique est gentiment mise à jour en arrière-plan de façon à rendre l’IGU douce et réactive, même s’il y a des millions d’enregistrements dans la table associée.

Elle est maintenant utilisée comme gadget de recherche pour les champs de texte, elle peut donc être vue dans la fenêtre du navigateur si vous spécifiez le filtre sur un champ texte, ou si vous lancez le formulaire sélection/filtre par la sélection d’une couche puis en appuyant sur F3.

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

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

Fonctionnalité : Ajout de raccourcis pour zoom sur entités et entités éclairs dans le dialogue de sélection par formulaire

Permet une navigation et une identification très rapides des entités qui correspondent au critère du formulaire

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

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

Fonctionnalité : Ajout de entre/pas entre aux champs numériques dans la sélection par forme

image100

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

Légende des couches

Fonctionnalité : Action pour masquer les couches désélectionnées

Vous permet de masquer rapidement les couches désélectionnées. Cela est particulièrement utile pour de gros projets lorsque l’on veut rapidement masquer toutes les couches à l’exception de quelques unes

image101

Cette fonctionnalité a été financée par SMEC (Surbana Jurong)

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

Fonctionnalité : Modification de l’ergonomie de la visibilité des couches dans des groupes

  • Sélectionner/désélectionner un groupe ne change pas l’état de sélection de ses enfants. Un nœud n’est visible que lorsqu’il est sélectionné et que tous ses parents sont aussi sélectionnés.

  • L’état de semi-sélection d’un groupe n’existe plus

  • Ctrl-clic sur un groupe désélectionné le sélectionnera ainsi que tous ses descendants.

  • Ctrl-Clic sur une couche désélectionnée la sélectionnera ainsi que tous ses parents.

  • Ctrl-clic sur un groupe sélectionné le désélectionnera et désélectionnera tous ses descendants.

  • Ctrl-clic sur une couche sélectionnée la désélectionnera et désélectionnera tous ses parents.

  • Ces actions sont disponibles dans les éléments du menu contextuel du panneau de couches

  • Les couches masquées soit parce qu’elles sont désélectionnées ou qu’un de leurs parent est désélectionnée sont affichées en gris.

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

Composeur de cartes

Fonctionnalité : Contrôle de l’affichage des lignes horizontales et verticales de la grille des tables de Composeur

Il est maintenant possible de contrôler indépendamment le rendu des lignes horizontales et verticales des éléments des tables de Composeur. Cette nouvelle flexibilité augmente les possibilités de mise en style de cet élément directement dans QGIS.

image102

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

Fonctionnalité : Dépose un qpt dans QGIS pour créer un nouveau Composeur à partir d’un gabarit

Cette fonctionnalité a été financée par SMEC (Surbana Jurong)

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

Fonctionnalité : Permet la personnalisation de l’espacement des lignes pour les étiquettes dans la légende de Composeur

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

Fonctionnalité : Permet le choix du SCR pour les éléments de la carte

Ceci permet au SCR des éléments d’une carte d’être différent de celui du canevas/projet. Cela permet aussi d’avoir des éléments de carte avec des SCR différents, par ex. une carte d’aperçu peut avoir un SCR différent de la carte principale.

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

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

Fonctionnalité : Maintenir la touche Shift lors du tracé d’une ligne/polygone contraint les angles de ligne.

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

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

Fonctionnalité : Plus de propriétés définies par les données

Élément cadre et couleurs arrière-plan, couleurs et épaisseur de la bordure d’un svg pour les éléments image de Composeur (très utile lorsque l’image représente une flèche d’orientation), titres et nombre de colonnes de la légende, couleurs et épaisseur des lignes de la barre d’échelle peuvent être définis par les données

Cette fonctionnalité a été financée par le Programme de subvention de QGIS

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

Fonctionnalité : Réorganisation du Composeur de cartes

C’est une réorganisation majeure de la manière dont les compositions sont gérées dans le code de QGIS.

Les points saillants sont :

  • Une nouvelle classe QgsLayoutManager qui est utilisée pour le stockage et la sérialisation/dé-sérialisation des compositions. Un QgsLayoutManager est attaché à QgsProject. Cela permet au cœur du code d’accéder aux compositions attachées au projet. Toutes les manipulations des compositions ont été transférées de l’app au cœur, permettant au serveur (et aux autres projets qui ne sont pas basés sur app. QField/roam?) d’accéder plus facilement aux compositions du projet sans se fier sur l’analyse fragile du xml.

  • Les fenêtres de Composeur sont créées à la demande et détruites à la fermeture. Cela évite la demande lourde de créer toutes les fenêtres et tous les gadgets de tous les éléments du Composeur lors le l’ouverture de projets. C’est la raison pour laquelle les projets ayant des compositions s’ouvraient très lentement par le passé. Maintenant, les fenêtres de Composeur ne sont créées qu’à l’ouverture de la fenêtre et sont détruites dès que la fenêtre est fermée. Les gadgets de configuration des éléments de Composeur ne sont aussi créés qu’à la demande (lorsque l’élément est sélectionné) au lieu de pré-créé tous les gadgets.

  • Un avantage secondaire de détruite les fenêtres de Composeur à leur fermeture est que nous ne souffrons plus d’un bogue de Qt qui bloquait l’utilisation des docks flottants dans les fenêtres de Composeur. Vous pouvez maintenant flotter les panneaux élément/composition/etc ! Bien mieux pour travailler plein écran avec les compositions dans des configurations multi-écrans.

  • Travail sur l’API pour travailler avec Composeur à travers iface. Du fait que les fenêtres de Composeur n’existent pas tant qu’elles n’ont pas été ouvertes, toutes les méthodes iface pour l’interaction avec Composeur ont été refaites pour marquer clairement qu’elles ne s’appliquent que sur des fenêtres ouvertes. De plus, une interface Composeur simple a été ajoutée pour fournir une API stable pour les extensions et les scripts qui travaillent avec les fenêtres de Composeur. Très élémentaire pour le moment, mais dans le futur nous pouvons l’étendre avec plus de pointeurs pour permettre aux extensions d’interagir avec les fenêtres de Composeur.

  • Beaucoup de nettoyage de code et de suppressions.

Plus d’informations à https://north-road.com/qgis-layout-and-reporting-engine-campaign/

image103

Cette fonctionnalité a été financée par le groupe Suisse des utilisateurs de QGIS et beaucoup d’autres personnes.

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

Outils d’Analyse

Fonctionnalité : Compte des valeurs uniques d’un raster pour traitement

http://imhere-asia.com/blog/post/qgis-raster-layer-unique-values-count

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

Traitement

Fonctionnalité : Nouvel algorithme pour le décalage des lignes

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

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

Fonctionnalité : Nouvel algorithme pour créer des zones tampons unilatérales

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

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

Fonctionnalité : Ajout du choix de la méthode de simplification à simplification

Ce changement permet aux utilisateurs de choisir la méthode à utiliser lors de l’usage de l’algorithme de simplification des géométries, avec le choix entre l’algorithme existant basé sur la distance (Douglas Peucker), l’algorithme basé sur la surface (Visvalingam) et aligner sur la grille.

Visvaligam, en particulier, génère des simplifications qui sont cartographiquement plus plaisantes comparées à celles des méthodes standards basées sur la distance.

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

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

Fonctionnalité : prise en charge des types de géométrie de sortie dans les modèles

Les entrées de l’algorithme enfant du modèle sont désormais filtrées uniquement sur celles qui génèrent des types de géométrie applicables pour l’entrée d’un autre algorithme enfant

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

Fonctionnalité : Seuil d’angle pour un algorithme fluide

Ajouter une option à QgsGeometry::lisser pour ne pas lisser les segments plus courts qu’un certain seuil ou les angles vifs avec un angle dépassant un seuil

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

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

Fonctionnalité : Meilleure prise en charge des dimensions Z/M et des géométries courbes

Fonctionnalité : Meilleure prise en charge des dimensions Z/M et des géométries courbes

Fonctionnalité : Algorithmes d’analyse raster ajoutés au traitement

Les algorithmes suivants ont été ajoutés au traitement à partir du plug-in Raster Analysis :

  • Exposition

  • Pente

  • Rugosité

  • Ombrage

  • Relief

Ces algorithmes peuvent maintenant être utilisés dans des scripts, des modèles et pour le traitement par lot.

image104

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

Fonctionnalité : Nouvel algorithme pour extraire des nœuds spécifiques

Cet algorithme vous permet d’extraire des nœuds spécifiques des géométries. Par exemple vous pouvez extraire le premier ou le dernier nœud d’une géométrie.

Cet algorithme requiert la liste des indices des nœuds à extraire séparés par des virgules, par ex. 0 = premier nœud, 1 = deuxième nœud, etc. Des indices négatifs peuvent être utilisés pour extraire les nœuds depuis la fin de la géométrie. Par ex. -1 = dernier nœud, -2 = avant-dernier nœud, etc.

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

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

Fonctionnalité : Exposez les statistiques zonales à partir du plug-in de statistiques zonales dans la boîte à outils

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

Fonctionnalité: Ajoute un algorithme de requête SQL sur une base de données spatialite.

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

Fonctionnalité : Nouvel algorithme pour prolonger des lignes

Permet d’étendre des géométries de lignes d’une distance déterminée en début et et fin de ligne

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

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

Fonctionnalité: Nouvel algorithme d’extraction à l’aide d’une expression

Filtre une couche en entrée à l’aide d’une expression

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

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

Fonctionnalité : Algorithme d’import dans une base de données SpatiaLite

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

Fonctionnalité: Algorithmes d’interpolation

Intègre les algorithmes d’interpolation IDW et TIN de l’extension Interpolation dans la Boîte à outils de Traitements.

L’extension Interpolation a par conséquent été supprimée.

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

Fonctionnalité : Nouvel algorithme pour calculer la géométrie par expression

Cet algorithme met à jour les géométries existantes (ou crée de nouvelles géométries) pour les entités en entrée à l’aide d’une expression QGIS. Cela permet des modifications géométriques complexes qui peuvent utiliser toute la flexibilité du moteur d’expression QGIS pour manipuler et créer des géométries pour les entités de sortie.

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

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

Fonctionnalité : Aligner les géométries sur l’algorithme de calque

Porter le plug-in Geometry Snapper vers le traitement

L’algorithme de géométries d’accrochage permet l’accrochage à d’autres types de calques, prend en charge les calques de points/lignes

L’algorithme d’accrochage au calque accepte un paramètre de mode. Avec une nouvelle option pour préférer s’accrocher au point le plus proche sur la géométrie. L’ancien comportement consistait à préférer s’accrocher aux nœuds, même si un nœud était plus éloigné de la géométrie d’entrée qu’un segment. La nouvelle option vous permet d’aligner les géométries sur le point le plus proche, qu’il s’agisse d’un nœud ou d’un segment.

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

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

Fonctionnalité : Nouveau type de saisie pour les expressions

Cela ajoute un nouveau type d’entrée pour les entrées d’expression. Les entrées d’expression peuvent être liées à une couche parente afin que le générateur affiche les champs et les variables de couche appropriés.

Il est conçu pour être utilisé lorsqu’un algorithme requiert spécifiquement une expression, comme Sélection par Expression et Extraire par Expression.

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

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

Fonctionnalité : SplitWithLines

Renommer l’algorithme SplitLinesWithLines en SplitWithLines Accepter également le polygone en entrée Utiliser uniquement les lignes sélectionnées avec lesquelles fractionner (si le traitement est défini pour utiliser uniquement la sélection) Émettre un message de journal si vous essayez de fractionner plusieurs géométries Mettre à jour l’aide

Cette fonctionnalité a été développée par Bernhard Ströbl

Fonctionnalité : Algorithme du pôle d’inaccessibilité

Implémente un algorithme de traitement pour calculer le pôle d’inaccessibilité d’une surface, qui est le point interne le plus éloigné de la limite de la surface. Cette fonction utilise l’algorithme « polylabel » (Vladimir Agafonkin, 2016), qui est une approche itérative garantissant de trouver le véritable pôle d’inaccessibilité dans une tolérance spécifiée. Des tolérances plus précises nécessitent plus d’itérations et prendront plus de temps à calculer.

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

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

Fonctionnalité : l’extraction par attribut peut extraire des valeurs nulles/non nulles

Ajoute la prise en charge du filtrage lorsqu’une valeur d’attribut est nulle ou non nulle

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

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

Fonctionnalité : Créer un algorithme d’index d’attributs

Permet la création d’un index sur un attribut dans une couche pour un filtrage plus rapide basé sur les attributs

La prise en charge dépend du fournisseur de données sous-jacent pour la couche

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

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

Fonctionnalité : nouvel algorithme de « géométries de gouttes »

Supprime simplement toutes les géométries d’une couche d’entrée et renvoie les entités avec des attributs uniquement

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

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

Fonctionnalité: Nouvel algorithme universel “Statistiques basiques pour les champs”

Remplace les algorithmes “Statistiques basiques pour les champs numériques” et “Statistiques basiques pour les chaînes de caractères” existants et ajoute la prise en charge des champs date/heure/date.

Le fait d’avoir un seul algorithme unifié permet des modèles plus flexibles où un type de champ peut ne pas être connu à l’avance.

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

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

Fonctionnalité: Port du plugin carte de chaleur vers l’algorithme de géo-traitements

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

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

Fonctionnalité : Nouvel algorithme pour orthogonaliser les géométries

Ajoute un nouvel algorithme qui essaie de faire des angles dans les géométries soit des angles droits ou des lignes droites

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

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

Fonctionnalité : Algorithmes d’analyse de réseau

ajouter des algorithmes du chemin le plus court et de la zone de service aux géo-traitements

permettent également de calculer le chemin le plus court d’un point à tous les points d’un calque, ou de tous les points d’un calque à un point final. Et créer des zones de desserte pour tous les points d’une couche.

Le plugin Roadgraph a donc été supprimé.

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

Fonctionnalité: Modèles d’exportation de géo-traitements aux formats PDF/SVG

Outre l’exportation de modèles de traitement sous forme d’images bitmap, il est désormais possible d’exporter des modèles de traitement sous forme de fichiers PDF et SVG indépendants de la résolution. Cela permet une exportation haute résolution de modèles qui peuvent être intégrés dans des articles et des livres en cours de publication.

image105

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

Fonctionnalité : Nouvel algorithme pour tronquer les tables

Supprime irrémédiablement toutes les fonctionnalités d’un tableau… à utiliser avec prudence !

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

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

Fonctionnalité : Ajout de l’option « gestion des fonctionnalités non valides »

Cette fonctionnalité a été développée par Victor Olaya

Fonctionnalité : Algorithme pour corriger les géométries invalides à l’aide de l’implémentation native de makeValid()

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

Fonctionnalité : Ajouter une recherche à la boîte de dialogue Obtenir des scripts et des modèles

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

Fonctionnalité : Algorithme centroïde générique

Algorithme de centroïde retravaillé qui gère les couches non polygonales

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

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

Fonctionnalité : Algorithme de nœuds d’extraction amélioré

L’algorithme d’extraction de nœuds enregistre désormais l’index de nœud, la distance le long de la ligne et l’angle au nœud

Cette fonctionnalité a été financée par Andreas Neumann.

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

Fonctionnalité : nouvel algorithme de translation (déplacement) des points

Permet de décaler les géométries d’un déplacement x/y

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

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

Fonctionnalité : fenêtre de modélisation de traitement améliorée

La fenêtre du modélisateur de traitement a reçu beaucoup d’attention pour cette version. Les améliorations incluent : - commandes de zoom dans la barre d’outils de la fenêtre - personnalisation de l’emplacement des panneaux d’entrées et d’algorithmes - les panneaux peuvent désormais flotter au-dessus de la fenêtre de traitement

image106

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

Fonctionnalité : nouvel algorithme de rapport de valeurs uniques raster

Un nouvel algorithme a été ajouté au traitement qui renvoie le nombre et la surface de chaque valeur unique dans une couche raster donnée.

image107

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

Fonctionnalité : Suppression de TauDEM de la base du module de Traitements

Nous avons retiré le fournisseur d’algorithmes TauDEM du module de Traitements.

image108

Fonctionnalité : Télécharger un fichier à partir de Traitement

Téléchargez un fichier à partir de Processing. Interroger une API distante pour obtenir un geojson

Cette fonctionnalité a été développée par Etienne Trimaille

Fonctionnalité : points optimisés le long de l’algorithme de géométrie

Prend également en charge les géométries de polygones, gère les géométries nulles et enregistre l’angle de ligne d’origine avec la distance pour chaque point.

image109

Cette fonctionnalité a été financée par Andreas Neumann.

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

Fonctionnalité : Trier par algorithme d’expression

Cette fonctionnalité a été financée par DFAT/DMI

Cette fonctionnalité a été développée par Etienne Trimaille (Kartoza)

Options de l’application et du projet

Fonctionnalité : Nouveau format de fichier de projet zippé

Il y a longtemps sur la liste de diffusion du développeur, nous avons parlé d’un conteneur stockant le fichier xml et d’autres ressources. C’est désormais possible, même si cela reste facultatif. La fonction de stockage auxiliaire en tire parti en stockant la base de données .qgd sqlite associée. Nous espérons que les prochaines versions prendront en charge l’intégration d’autres ressources telles que SVG, les rampes de couleurs, les sources de données, les images, etc…

image110

Cette fonctionnalité a été financée par le Ministère français de l’Écologie et du Développement Durable

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

Fonctionnalité: Gestion de profils utilisateurs

Tous les paramètres/plugins utilisateur, etc. sont désormais chargés à partir de l’emplacement des données de l’application pour chaque plate-forme et non plus .qgis3/2. Les paramètres et les plugins de chaque profil sont désormais isolés les uns des autres.

Cela permet différentes configurations d’exécution en fonction des besoins de l’utilisateur, par exemple test, prod, démo, etc.

Le menu Profil permet de basculer entre les profils ou d’en créer de nouveaux.

image111

Cette fonctionnalité a été développée par Nathan Woodrow

Explorateur

Fonctionnalité : faites glisser et déposez des calques de l’arborescence des calques vers le dock du navigateur

Facilite par ex. stocker vos couches temporaires dans PostGIS

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

Fonctionnalité : Suppression de l’application autonome du navigateur QGIS

Nous avons supprimé l’application autonome QGIS Browser fournie avec QGIS 2.x. Cette application était peu utilisée par les utilisateurs et représentait une surcharge de maintenance que nous ne souhaitons pas continuer dans la base de code 3.0.

Pilotes de données

Fonctionnalité : nouvelle boîte de dialogue « ajouter une couche » unifiée

Vous pouvez maintenant utiliser une seule boîte de dialogue pour ajouter une grande variété de formats de données à QGIS.

image114

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

Fonctionnalité: GeoPackage

  • enregistrer sous use pkg par défaut

  • enregistrer sous utilise pkg par défaut

  • créer une nouvelle couche en utilisant pkg par défaut

  • navigateur glisser-déposer importer des couches

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

Fonctionnalité : Prend en charge tous les formats raster inscriptibles de GDAL pour la boîte de dialogue « Enregistrer sous » sur les couches raster

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

Fonctionnalité : Prise en charge des géométries Z/M dans gpkg, spatialite et fournisseur de couche de mémoire

La prise en charge de la dimension Z et des valeurs M a été ajoutée au fournisseur de couches gpkg, spatialite et memory de QGIS. l’option d’ajouter des dimensions Z et M a également été ajoutée aux boîtes de dialogue « créer un nouveau calque »

image115

Cette fonctionnalité a été financée par le ` groupe QWAT, http://www.imhere-asia.com/ <http://qwat.org/>`__

Cette fonctionnalité a été développée par Matthieu Pellerin, Alexander Bury, Paul Blottiere

Fonctionnalité : Gestion des contraintes uniques et non nulles

Détection automatique des contraintes uniques et non nulles côté fournisseur implémentées pour le fournisseur postgres, spatialite, ogr

Les contraintes uniques sont appliquées sous forme d’attribut

Les contraintes uniques sont appliquées sous forme d’attribut

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

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

Fonctionnalité : Intégration de GeoNode

GeoNode is an open source geospatial content management system that makes it easy to publish geospatial data on the web. QGIS 3.0 includes new functionality that will allow you to very easily add a GeoNode instance to the browser tree and add any layers from that site to your project as WMS, WFS or XYZ. There is no need to dig around trying to figure out WMS/WFS end points, QGIS will do everything for you. When using WMS and XYZ Tiled layers, the style of the published GeoNode layer will be used.

Si l’instance GeoNode utilise le backend de QGIS Server plutôt qu’un GeoServer, vous pouvez copier et coller des styles depuis le serveur et les appliquer à votre couche locale afin que votre couche WFS s’affiche exactement comme sur le serveur (comme indiqué dans l’animation GIF ici).

Il existe également des liaisons python pour que vous puissiez ajouter des couches GeoServer à QGIS à partir de vos plugins. Si vous souhaitez exécuter votre propre GeoNode avec le backend de QGIS Server, veuillez consulter ce site pour plus de détails sur la façon dont vous peut le faire en utilisant docker et rancher.

image116

Cette fonctionnalité a été financée par la Banque mondiale/GFDRR

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

Fonctionnalité : Détecter les valeurs littérales par défaut pour le fournisseur spatialite

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

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

Fonctionnalité: Créer un support d’index d’attribut pour le fournisseur spatialite

Permet la création d’index d’attributs pour les couches spatialites

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

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

Fonctionnalité: Gestion des tableaux

Pris en charge par postgres, spatialite

Cette fonctionnalité a été développée par Patrick Valsecchi

Fonctionnalité : Prise en charge de HStore dans le fournisseur de données PostGIS

Fonctionnalité: Détection des relations pour PostgresQL

Cette fonctionnalité a été développée par Patrick Valsecchi

Fonctionnalité : dépendances de données entre les couches

Cela permet de déclarer des dépendances de données entre les couches. Une dépendance de données se produit lorsqu’une modification de données dans une couche, non par une manipulation directe de l’utilisateur, peut modifier les données d’autres couches. C’est le cas par exemple lorsque la géométrie d’une couche est mise à jour par un déclencheur de base de données après modification de la géométrie d’une autre couche.

Cette fonctionnalité a été développée par Hugo Mercier

Fonctionnalité : exportation dxf : prise en charge de la reprojection

Cette fonctionnalité a été développée par Juergen E. Fischer

Fonctionnalité : Charger/enregistrer le style dans la base de données pour GPKG et Spatialite

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

Fonctionnalité : Amélioration de la gestion des valeurs par défaut

Améliorez la gestion des valeurs par défaut (incluant les clauses par défaut du fournisseur, les valeurs littérales par défaut et les valeurs par défaut des expressions QGIS) et gérez automatiquement les contraintes de valeur unique sur les couches

Tous les champs avec des contraintes de valeur unique auront la garantie d’avoir une valeur qui est unique au champ.

Cela signifie également qu’après certaines opérations d’édition (par exemple, copier-coller, fractionner des entités, etc.), les attributs seront désormais définis sur leur valeur par défaut, le cas échéant.

Cette fonctionnalité a été financée par le Canton de Zug et le projet QGEP

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

QGIS Server

Fonctionnalité : Refonte de QGIS Server

As you may know, QGIS is jumping to a new major version (yes!). Doing so was made necessary because of the need to switch to python 3, QT5, but also because we needed to break the QGIS API in several places. (http://blog.qgis.org/2016/02/10/qgis-3-0-plans/)

Il y a un an, un petit troll de Suisse a sonné une cloche sur le fort besoin de base de code de serveur d’amour requise. En effet, l’API était verrouillée par certaines anciennes méthodes du serveur QGIS. En bref, le serveur QGIS réparait le fichier de projet qgs à sa manière et créait des dépendances à une partie de QGIS que nous devions supprimer.

Comme l’externalisation de la base de code du serveur n’était pas une option, nous avons donc dû la refactoriser. Les parties impliquées ont décidé de s’engager dans un sprint de code dans la ville de Lyon, en France, dédié au partage de leur vision, à la planification du travail et enfin à la réalisation de tout ce qui suit :

Refactoring de niveau supérieur

Tous les services (WMS GetMap, WFS GetFeature, GetLegendGraphics, WCS, GetPrint etc.) ont été réécrits. Certains comme WMS ont été entièrement réécrits. Bravo aux devs !

Nouvelles fonctionnalités

  • Rendu multi-thread comme dans le bureau

  • Rendu multi-thread comme dans le bureau

  • Support du WFS 1.1 https://github.com/qgis/QGIS/pull/5297

  • Liaisons Python complètes pour l’API du serveur

  • Services de serveur en tant que plugins comme les fournisseurs

Tâches profondes, complexes et peu gratifiantes

  • Supprimer tous les appels singleton

  • Coupez toutes les dépendances à l’ancien analyseur de fichiers de projet QGIS

  • Coupez toutes les dépendances à l’ancien analyseur de fichiers de projet QGIS

Tâches d’infrastructure

  • Créez une plate-forme de conformité OGC et intégrez-la à une plate-forme d’intégration continue. Les rapports de conformité sont maintenant poussés vers tests.qgis.org

  • Ajouter des tests unitaires … et encore plus de tests unitaires

  • Stresser le serveur QGIS contre les failles de sécurité (injections SQL et autres attaques malveillantes)

  • Commencez à profiler et à comparer les performances. Ce travail a encore besoin d’amour - et de financement - pour être réalisé

Une présentation a été donnée sur le sujet en juillet au FOSS4G-EU.

Cette fonctionnalité a été financée par les donateurs de QGIS.ORG

Fonctionnalité : Possibilité de segmenter les informations de géométrie d’une entité sur le serveur

De nombreux clients Web ne peuvent pas afficher les arcs de cercle dans les géométries. Pour permettre à ces clients de toujours afficher la géométrie d’une entité (par exemple pour mettre en évidence l’entité), une nouvelle option de serveur QGIS par projet a été introduite (Menu « Projet » -> « Propriétés du projet » -> « QGIS Server ») pour segmenter la géométrie avant en l’envoyant au client dans une réponse GetFeatureInfo.

image117

Cette fonctionnalité a été financée par le Canton de Zug, Suisse

Cette fonctionnalité a été développée par Marco Hugentobler

Extensions

Fonctionnalité : Supprimer le statut de confiance du gestionnaire de plugins

https://github.com/qgis/QGIS/pull/5272

Fonctionnalité : édition hors ligne : ajouter un indicateur pour copier uniquement les entités sélectionnées

Cela étend les possibilités d’édition hors ligne pour ne travailler que sur un sous-ensemble de grandes couches

Cette fonctionnalité a été financée par DB Fahrwegdienste GmbH

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

Fonctionnalité : Intégration de GDALTools au module de Traitements

L’extension GDALTools a été supprimée.

Toutes les fonctions précédemment disponibles via le plugin GDALTools ont été déplacées vers le framework de traitement QGIS, permettant d’utiliser ces outils dans des scripts, des modèles et de les exécuter dans des processus par lots. De plus, nous avons mis à jour les algorithmes avec de nouveaux paramètres, introduits dans les dernières versions de GDAL et amélioré l’interface utilisateur/UX globale en exposant certains paramètres avancés tels que les options de création, les paramètres de valeur NODATA, etc.

image118

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

Fonctionnalité : permet d’installer des extensions à partir de fichiers ZIP locaux

Il est maintenant plus facile d’installer des extensions manuellement sans avoir à les dézipper soi-même dans le répertoire utilisateur.

image119

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

Fonctionnalité : Les extensions peuvent fournir une aide personnalisée dans la fenêtre Expression

Les extensions qui fournissent des expressions peuvent ajouter une aide personnalisée avec des chaînes HTML.

image120

Cette fonctionnalité a été financée par DFAT/DMI

Cette fonctionnalité a été développée par Etienne Trimaille (Kartoza)

Programmation

Fonctionnalité : Mises à jour de la classe géométrie

Il y a eu une mise à jour majeure des classes géométrie dans QGIS. Les vieilles classes ont été renommées (voir table ci-dessous). Les nouvelles classes géométrie préserveront correctement les attributs Z et M si présents.

Référence https://github.com/qgis/qgis3.0_api/issues/11

Cela fournit finalement un état consistant de la nomination dans l’API géométrie

Changement de nom

QGIS 2

QGIS 3

QgsPolygon

QgsPolygonXY

QgsMultiPoint

QgsMultiPointXY

QgsMultiPolyline

QgsMultiPolylineXY

QgsMultiPolygon

QgsMultiPolygonXY

QgsPolygonV2

QgsPolygon

QgsMultiPointV2

QgsMultiPoint

QgsMultiPolylineV2

QgsMultiPolyline

QgsMultiPolygonV2

QgsMultiPolygon

Voir aussi https://github.com/qgis/QGIS/pull/5491

Cette fonctionnalité a été développée par Matthias, Nyall et d’autres

Fonctionnalité : Gestionnaire des tâches

Introduit un cadre pour la création de tâches en arrière-plan, avec lesquelles interagissent via un gestionnaire centralisé

Ajoute de nouvelles classes : - QgsTask. Une interface pour les tâches d’arrière-plan de longue durée - QgsTaskManager. Gère des groupes de tâches - également disponible en tant que membre QgsApplication pour le suivi des tâches à l’échelle de l’application

Ajouter une méthode python simple QgsTask.fromFunction pour la création de tâches à partir d’une fonction sans avoir à créer une sous-classe QgsTask

Support pour des tâches dépendantes

L’annulation d’une tâche dont d’autres en dépendent entraîne l’annulation de toutes ces autres tâches.

Ajouter la gestion des couches dépendantes au gestionnaire de tâches

Si une tâche a des canapés dépendants qui sont sur le point d’être supprimées, la tâche sera automatiquement annulée

QgsTasks peut avoir des sous-tâches

Désormais, une QgsTask peut avoir une sous-tâche QgsTasks définie en appelant QgsTask::addSubTask. Les sous-tâches peuvent avoir leur propre ensemble de tâches dépendantes.

Les sous-tâches ne sont pas visibles pour les utilisateurs, et les utilisateurs ne voient que la progression globale et l’état de la tâche parente.

Cela permet la création de tâches qui sont elles-mêmes construites à partir de nombreuses tâches de composants plus petites. Le gestionnaire de tâches gérera toujours le lancement et la planification des sous-tâches, par exemple, les sous-tâches peuvent s’exécuter en parallèle (si leurs dépendances le permettent).

Les sous-tâches peuvent elles-mêmes avoir des sous-tâches.

Cette modification est faite pour permettre aux concepts d’algorithmes et d’algorithmes de modélisation de Processing d’être traduits directement dans l’architecture du gérant des tâches.

Cette fonctionnalité a été financée par le Programme de subvention de QGIS

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

Fonctionnalité : l’API permettra le glisser-déposer d’éléments personnalisés du navigateur

Les implémentations de QgsDataItem peuvent fournir hasDragEnabled(), mimeUri() et l’implémentation QgsCustomDropHandler pour gérer la dépose d’éléments personnalisés.

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