Release date: 2018-02-23
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é.
Fonctionnalité : Supprimer l’extension convertisseur dxf2shp
Fonctionnalité : Supprimer l’extension raster Oracle qui est orpheline
Fonctionnalité : Supprimer le fournisseur TauDEM de la base de Processing
Fonctionnalité : Déplacer les gadgets Photo, WebView et FileName vers Pièce-jointe
Fonctionnalité : Supprimer les fournisseurs OTB et lidartools de Processing
Fonctionnalité : Permet la tabulation dans les docks flottants
Fonctionnalité : Un contrôle plus fin du zoom avec la roue de la souris est fourni
Fonctionnalité : Une barre de recherche a été ajoutée au dialogue de configuration des raccourcis
Fonctionnalité : Configuration de couleur pour la décoration flèche du Nord du canevas de carte
Fonctionnalité : Amélioration de « Sauver en tant qu’image » pour le canevas de carte
Fonctionnalité : Basculer la visibilité des panneaux ouverts dans la fenêtre principale
Fonctionnalité : Amélioration dans l’harmonisation de l’interface utilisateur
Fonctionnalité : Visibilité des symboles de couche définie par les données
Fonctionnalité : Ajout de Points et Pouces pour les unités disponibles de symbole
Fonctionnalité : Nouveau gadget de bouton de palette de couleurs
Fonctionnalité : Le Gestionnaire de styles a été retravaillé et mis à jour
Fonctionnalité : Affiche une jauge d’alpha dans le menu déroulant du bouton des couleurs
Fonctionnalité : Support pour la transparence dans le moteur de rendu en palettes de couleurs
Fonctionnalité : Ajustement automatique des couleurs d’un raster lorsque le canevas est mis à jour
Fonctionnalité : Contrôle des marges du contenu des annotations
Fonctionnalité : Les annotations peuvent être stylisées avec des styles de symboles pleins
Fonctionnalité : Nouveaux algorithmes pour la coloration de cartes dans QGIS 3.0
Fonctionnalité : Nouvelle option pour couleurs prédéfinies dans une palette de couleurs
Fonctionnalité : Permet de désactiver temporairement toutes les couches de symboles
Fonctionnalité : Mise en style facile des raster à valeurs discrètes
Fonctionnalité : Sélection d’un ensemble de sommets dans l’outil Nœud
Fonctionnalité : Ajout de l’option pour une valeur Z par défaut
Fonctionnalité : Déplacer une entité bénéficie maintenant de la Numérisation avancée
Fonctionnalité : Ajout de la fonctionnalité copier/déplacer une entité à l’outil de carte d’entité
Fonctionnalité : Outil de Sommet : ajout de sommets avec le marqueur du point du milieu
Fonctionnalité : Outil de Sommet : support pour le panneau de numérisation avancée
Fonctionnalité : Permet le contrôle des étiquettes pour les widgets individuels d’édition
Fonctionnalité : Visibilité conditionnelle des onglets et des boîtes de groupe
Fonctionnalité : Les contraintes de champ peuvent être imposées ou non
Fonctionnalité : Ajout de entre/pas entre aux champs numériques dans la sélection par forme
Fonctionnalité : Nouvel algorithme pour le décalage des lignes
Fonctionnalité : Nouvel algorithme pour créer des zones tampons unilatérales
Fonctionnalité : Ajout du choix de la méthode de simplification à simplification
Fonctionnalité : prise en charge des types de géométrie de sortie dans les modèles
Fonctionnalité : Meilleure prise en charge des dimensions Z/M et des géométries courbes
Fonctionnalité : Algorithmes d’analyse raster ajoutés au traitement
Fonctionnalité : Nouvel algorithme pour extraire des nœuds spécifiques
Fonctionnalité: Ajoute un algorithme de requête SQL sur une base de données spatialite.
Fonctionnalité : Nouvel algorithme pour prolonger des lignes
Fonctionnalité: Nouvel algorithme d’extraction à l’aide d’une expression
Fonctionnalité : Algorithme d’import dans une base de données SpatiaLite
Fonctionnalité : Nouvel algorithme pour calculer la géométrie par expression
Fonctionnalité : Aligner les géométries sur l’algorithme de calque
Fonctionnalité : Nouveau type de saisie pour les expressions
Fonctionnalité : l’extraction par attribut peut extraire des valeurs nulles/non nulles
Fonctionnalité : nouvel algorithme de « géométries de gouttes »
Fonctionnalité: Nouvel algorithme universel “Statistiques basiques pour les champs”
Fonctionnalité: Port du plugin carte de chaleur vers l’algorithme de géo-traitements
Fonctionnalité : Nouvel algorithme pour orthogonaliser les géométries
Fonctionnalité: Modèles d’exportation de géo-traitements aux formats PDF/SVG
Fonctionnalité : Ajout de l’option « gestion des fonctionnalités non valides »
Fonctionnalité : Ajouter une recherche à la boîte de dialogue Obtenir des scripts et des modèles
Fonctionnalité : nouvel algorithme de translation (déplacement) des points
Fonctionnalité : fenêtre de modélisation de traitement améliorée
Fonctionnalité : nouvel algorithme de rapport de valeurs uniques raster
Fonctionnalité : Suppression de TauDEM de la base du module de Traitements
Fonctionnalité : Télécharger un fichier à partir de Traitement
Fonctionnalité : points optimisés le long de l’algorithme de géométrie
Fonctionnalité : nouvelle boîte de dialogue « ajouter une couche » unifiée
Fonctionnalité : Gestion des contraintes uniques et non nulles
Fonctionnalité : Détecter les valeurs littérales par défaut pour le fournisseur spatialite
Fonctionnalité: Créer un support d’index d’attribut pour le fournisseur spatialite
Fonctionnalité : Prise en charge de HStore dans le fournisseur de données PostGIS
Fonctionnalité : exportation dxf : prise en charge de la reprojection
Fonctionnalité : Charger/enregistrer le style dans la base de données pour GPKG et Spatialite
Fonctionnalité : Amélioration de la gestion des valeurs par défaut
Fonctionnalité : Supprimer le statut de confiance du gestionnaire de plugins
Fonctionnalité : Intégration de GDALTools au module de Traitements
Fonctionnalité : permet d’installer des extensions à partir de fichiers ZIP locaux
Fonctionnalité : Les extensions peuvent fournir une aide personnalisée dans la fenêtre Expression
Land Vorarlberg |
QGIS user group Switzerland |
AERO ASAHI Corporation |
QGIS user group Denmark |
ARTOGIS a/s |
QGIS user group Germany |
OPENGIS.ch GmbH |
Terraplan |
Office of Public Works, Flood Risk Management and Data Management Section |
WIGeoGIS |
2D3D.GIS |
Integrate Sustainability Pty Ltd |
Ager Technology |
LandPlan OS GmbH |
Alta ehf |
Lutra Consulting |
Asociación Geoinnova |
MHTC Ltd |
Automatic Knowledge |
MappingGIS |
BGEO Open GIS, SL |
Mapzen |
Cawdor Forestry |
Mierune LLC |
Chartwell Consultants Ltd. |
OSGeo.JP |
City of Canning |
Open Geo Groep |
City of Canning |
Pixalytics |
Datenbankgesellschaft mbH |
QGIS user group Brazil |
Dr. Kerth + Lampe Geo-Infometric GmbH |
QGIS user group Sweden |
FORNAT AG |
QTibia Engineering |
Forest Design SRL |
Royal Borough of Windsor and Maidenhead |
GAIA mbH |
SOLTIG (Soluciones en Tecnologías de Información Geográfica) |
GIS Support Sp. z o.o. |
Septima |
GKG Kassel, (Dr.-Ing. Claas Leiner) |
Solargis s.r.o. |
Gaia3D, Inc. |
Syddjurs Kommune |
Gemeente Gouda |
TerreLogiche |
GeoS Geodätische Software Andreas Hellinge |
Trage Wegen vzw |
Geographica |
Urbsol |
Gis3W |
WAGNER-IT |
Infraplan Engineering Services Pvt. Ltd. |
WhereGroup GmbH & Co. KG |
Ingenieurbüro Kauppert |
tkt teleconsult Kommunikationstechnik GmbH |
Insurance Australia Group Limited (IAG) |
Elle est maintenant entièrement disponible via Processing qui est l’endroit logique où elle doit se trouver.
Cette fonction est disponible dans OGR et une extension QGIS dédiée n’a plus lieu d’être pour achever cette tâche
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.
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.
Cette fonctionnalité a été développée par Alexander Bruy
La nouvelle logique est de développer des fournisseurs d’extension qui soient capable de suivre le cycle d’évolution des logiciels externes.
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
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
Supporte la recherche par nom de l’action ou du raccourci
Cette fonctionnalité a été développée par Alexander Bruy
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.
Cette fonctionnalité a été développée par Nyall Dawson
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
La configuration de la couleur de la décoration flèche du Nord a été ajoutée à tous les canevas de carte
Cette fonctionnalité a été développée par Mathieu Pellerin
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.
Cette fonctionnalité a été financée par Andreas Neumann (financement partiel).
Cette fonctionnalité a été développée par Mathieu Pellerin
Accessible par : - Menu Voir > Basculer visibilité panneaux - raccourci clavier Ctrl+Tab
Cette fonctionnalité a été développée par Mathieu Pellerin
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
Si vous essayez de lire plusieurs sous-souches, vous pouvez maintenant toutes les ouvrir dans un même groupe, dans la légende.
Cette fonctionnalité a été financée par Kartoza
Cette fonctionnalité a été développée par Etienne Trimaille
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
Cette fonctionnalité a été financée par QGIS.ORG
Cette fonctionnalité a été développée par Martin Dobias (Lutra Consulting)
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.
Cette fonctionnalité a été financée par QGIS.ORG
Cette fonctionnalité a été développée par Martin Dobias, Peter Petrik (Lutra Consulting)
Ajout des variables @project_crs
et @project_crs_definition
pour retourner le SCR du projet courant
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.
Cette fonctionnalité a été développée par Alexander Bruy
- 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)
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
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) ) )
Cette fonctionnalité a été développée par Matthias Kuhn (OPENGIS.ch)
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)
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.
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
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)
Cette fonctionnalité a été développée par Alexander Bruy
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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
Cette fonctionnalité a été développée par Mathieu Pellerin
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.
Cette fonctionnalité a été développée par Mathieu Pellerin
Cette fonctionnalité a été développée par Mathieu Pellerin
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.
Cette fonctionnalité a été développée par Mathieu Pellerin
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
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)
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)
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.
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
voir http://nyalldawson.net/2017/02/new-map-coloring-algorithms-in-qgis-3-0/
Cette fonctionnalité a été développée par Nyall Dawson
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 !)
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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.
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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.
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)
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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 !
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
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)
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.
Cette fonctionnalité a été développée par Kartoza et North Road
À 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
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)
Moteur de rendu pour grille de déplacement de points
Cette fonctionnalité a été développée par Muhammad Yarjuna Rohmat (Kartoza)
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é.
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)
Création de Géopackages/Shapefiles: Maintenant avec l’option d’avoir des valeurs Z
Cette fonctionnalité a été développée par Alexander Lisovenko / Paul Blottiere
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
Cela permet de dupliquer et de déplacer une entité d’un seul coup à partir de l’entité sélectionnée
Cette fonctionnalité a été développée par Denis Rouzaud
Vous pouvez maintenant utiliser l’outil de numérisation par tracé avec un décalage comme montré dans l’image.
Cette fonctionnalité a été financée par d.b.g. Datenbankgesellschaft mbH
Cette fonctionnalité a été développée par Martin Dobias
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 :
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.
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.
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.
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 :
le placement des nœuds est plus précis (car il n’y a plus besoin d’appliquer une force permanente sur la souris)
on ne peut pas déplacer les nœuds par inadvertance
il est possible d’annuler l’opération
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.
Cette fonctionnalité a été financée par QWAT
Cette fonctionnalité a été développée par Martin Dobias (Lutra Consulting)
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.
Cette fonctionnalité a été financée par QWAT
Cette fonctionnalité a été développée par Martin Dobias (Lutra Consulting)
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.
Cette fonctionnalité a été financée par QWAT
Cette fonctionnalité a été développée par Martin Dobias (Lutra Consulting)
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.
Cette fonctionnalité a été financée par QWAT
Cette fonctionnalité a été développée par Martin Dobias (Lutra Consulting)
Cette fonctionnalité a été développée par Marco Hugentobler
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
Cette fonctionnalité a été développée par Paul Blottiere / Oslandia
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.
Cette fonctionnalité a été financée par Banque mondiale/GFDRR
Cette fonctionnalité a été développée par Kartoza et collaborateurs
Une boîte de dialogue unique et unifiée pour gérer les sources de données et charger les couches.
Cette fonctionnalité a été financée par Boundless
Cette fonctionnalité a été développée par Alessandro Pasotti
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.
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
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
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
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.
Cette fonctionnalité a été financée par OpenGIS.ch
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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
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)
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)
Cette fonctionnalité a été développée par Mathieu Pellerin
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
Cette fonctionnalité a été financée par SMEC (Surbana Jurong)
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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
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.
Cette fonctionnalité a été développée par Mathieu Pellerin
Cette fonctionnalité a été financée par SMEC (Surbana Jurong)
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
Cette fonctionnalité a été développée par Mathieu Pellerin
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)
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
É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)
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/
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)
http://imhere-asia.com/blog/post/qgis-raster-layer-unique-values-count
Cette fonctionnalité a été développée par Mathieu Pellerin
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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)
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
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
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.
Cette fonctionnalité a été développée par Alexander Bruy
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)
Cette fonctionnalité a été développée par Alexander Bruy
Cette fonctionnalité a été développée par Mathieu Pellerin
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)
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)
Cette fonctionnalité a été développée par Mathieu Pellerin
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
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)
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)
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)
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
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)
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)
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)
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)
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)
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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)
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
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.
Cette fonctionnalité a été développée par Mathieu Pellerin
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)
Cette fonctionnalité a été développée par Victor Olaya
Cette fonctionnalité a été développée par Alexander Bruy
Cette fonctionnalité a été développée par Alexander Bruy
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)
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)
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)
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
Cette fonctionnalité a été développée par Mathieu Pellerin
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.
Cette fonctionnalité a été développée par Mathieu Pellerin
Nous avons retiré le fournisseur d’algorithmes TauDEM du module de Traitements.
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
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.
Cette fonctionnalité a été financée par Andreas Neumann.
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
Cette fonctionnalité a été financée par DFAT/DMI
Cette fonctionnalité a été développée par Etienne Trimaille (Kartoza)
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…
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
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.
Cette fonctionnalité a été développée par Nathan Woodrow
Facilite par ex. stocker vos couches temporaires dans PostGIS
Cette fonctionnalité a été développée par Martin Dobias
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.
Vous pouvez maintenant utiliser une seule boîte de dialogue pour ajouter une grande variété de formats de données à QGIS.
Cette fonctionnalité a été développée par Alessandro Pasotti
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
Cette fonctionnalité a été développée par Nyall Dawson
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 »
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
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)
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.
Cette fonctionnalité a été financée par la Banque mondiale/GFDRR
Cette fonctionnalité a été développée par Kartoza
Cette fonctionnalité a été financée par North Road
Cette fonctionnalité a été développée par Nyall Dawson (North Road)
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)
Pris en charge par postgres, spatialite
Cette fonctionnalité a été développée par Patrick Valsecchi
Cette fonctionnalité a été développée par Patrick Valsecchi
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
Cette fonctionnalité a été développée par Juergen E. Fischer
Cette fonctionnalité a été développée par Even Rouault
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)
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
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.
Cette fonctionnalité a été financée par le Canton de Zug, Suisse
Cette fonctionnalité a été développée par Marco Hugentobler
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
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.
Cette fonctionnalité a été développée par Alexander Bruy
Il est maintenant plus facile d’installer des extensions manuellement sans avoir à les dézipper soi-même dans le répertoire utilisateur.
Cette fonctionnalité a été développée par Alexander Bruy
Les extensions qui fournissent des expressions peuvent ajouter une aide personnalisée avec des chaînes HTML.
Cette fonctionnalité a été financée par DFAT/DMI
Cette fonctionnalité a été développée par Etienne Trimaille (Kartoza)
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
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
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)
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