.

Éditer

QGIS dispose d’un support étendu de l’édition de données provenant de couches vectorielles et tables OGR, SpatiaLite, PostGIS, MSSQL Spatial et Oracle Spatial.

Note

La procédure pour éditer des couches GRASS est différente - voir section Numérisation et édition de couche vectorielle GRASS pour plus de détails.

Astuce

Éditions concurrentes

Cette version de QGIS ne vérifie pas si quelqu’un d’autre est en train d’éditer une entité en même temps que vous, la dernière personne qui enregistre sa modification gagne !

Définir le rayon de tolérance d’accrochage et de recherche

Avant de pouvoir éditer des sommets, il est très important de fixer la tolérance d’accrochage et le rayon de recherche à des valeurs qui nous permettent d’éditer les géométries vecteur de manière optimale.

Tolérance d’accrochage

La tolérance d’accrochage est la distance que QGIS utilise pour chercher le sommet et/ou le segment le plus près que vous souhaitez connecter lorsque vous créez un nouveau sommet ou en déplacez un existant. Si vous n’êtes pas dans la tolérance d’accrochage, QGIS va laisser le vertex à l’endroit où vous lâchez le bouton de la souris, au lieu de l’accrocher à un sommet ou un segment existant. Les paramètres de tolérance d’accrochage affectent tous les outils qui utilisent cette tolérance.

  1. Il peut être défini de façon globale une option d’accrochage pour tout le projet dans le menu Préférences‣ mActionOptions Options. Sur Mac, allez dans QGIS ‣ mActionOptions Préférences..., sur Linux: Editer ‣ mActionOptions Options. Dans l’onglet Numérisation, vous pouvez sélectionner entre ‘Sur un sommet’, ‘Sur un segment’ et ‘Sur un sommet et un segment’ comme valeur par défaut de mode d’accrochage. Vous pouvez également définir une tolérance d’accrochage par défaut et un rayon de recherche pour l’édition des sommets. Cette valeur peut être définie soit en unités de la carte, soit en pixels. L’avantage des pixels est que la valeur de la tolérance n’a pas à être modifiée lorsqu’on effectue des zooms. Dans notre petit projet de numérisation (avec le jeu de données Alaska), nous définissons le pied comme unité d’accrochage. Le résultat pourrait être différent chez vous mais quelque chose de l’ordre de 300 pieds devrait être raisonnable comme paramètre pour une échelle de 1:10000.

  2. Une tolérance d’accrochage liée à une couche peut être définie dans Préférences ‣ (ou Fichier ‣) Options d’accrochage... pour activer et ajuster le mode d’accrochage et la tolérance pour chaque couche (voir figure_edit_1).

Notez que l’accrochage défini pour chaque couche est prioritaire par rapport à celui défini dans les options générales. Si vous avez besoin d’éditer une couche en vous accrochant à une autre, il vous faut donc activer l’accrochage uniquement sur la couche à accrocher et réduire la tolérance générale d’accrochage à une valeur moindre. De plus, l’accrochage ne se produira jamais sur une couche dont l’accrochage n’a pas été activé, qu’importe l’option générale. Assurez-vous de cocher la case idoine sur les couches que vous voulez pouvoir utiliser.

Figure Edit 1:

../../../_images/editProjectSnapping.png

Modification des options d’accrochage sur une couche nix

Rayon de recherche

Le rayon de recherche est la distance que QGIS utilise pour chercher le sommet le plus proche que vous souhaitez déplacer quand vous cliquez sur la carte. Si vous n’êtes pas dans le rayon de recherche, QGIS ne trouvera ni ne sélectionnera de sommets à éditer et une fenêtre d’alerte désagréable apparaitra. La tolérance d’accrochage et le rayon de recherche sont définis en pixels ou dans les unités de la carte, vous allez peut-être avoir besoin d’expérimenter différentes valeurs avant de trouver la bonne. Si vous spécifiez une tolérance trop grande, QGIS risque d’accrocher le mauvais sommet, surtout si vous avez un grand nombre de sommets à proximité. Définissez un rayon de recherche trop petit et QGIS ne trouvera rien à déplacer.

Le rayon de recherche pour l’édition des sommets dans l’unité de la couche peut être défini dans l’onglet Numérisation du menu Préférences ‣ mActionOptions Options. Au même endroit que vous définissez la tolérance d’accrochage pour tout le projet.

Zoomer et se déplacer

Avant d’éditer une couche, vous devriez zoomer sur la zone qui vous intéresse. Cela évite de devoir attendre que tous les sommets soient affichés sur l’ensemble de la couche au moment du passage en mode édition.

En plus d’utiliser les boutons mActionPan Se déplacer dans la carte and mActionZoomIn zoom + / mActionZoomOut zoom - de la barre d’outils avec la souris, la navigation peut également se faire avec la roulette de la souris, la barre espace et les flèches du clavier.

Zoomer et bouger avec la roulette de la souris

Lorsque vous numérisez vous pouvez appuyer sur la roulette de la souris pour vous déplacer dans la fenêtre principale et la faire rouler pour zoomer la carte. Pour vous rapprocher, placez le curseur sur la carte et faites rouler la molette vers l’avant tandis que si vous voulez vous éloigner vous devrez la faire rouler vers vous. La position du curseur sera le centre la zone affichée. Vous pouvez personnaliser le zoom via l’onglet Outils cartographiques du menu Préférences ‣ mActionOptions Options.

Se déplacer avec les touches du clavier

Il est possible de se déplacer sur la carte en utilisant les flèches du clavier. Placez votre curseur sur la carte et appuyez sur la flèche de droite pour vous déplacer vers l’Est, la flèche de gauche pour aller à l’Ouest, la flèche du haut pour le Nord et celle du bas pour le Sud.

Vous pouvez utiliser la barre d’espace pour que les mouvements de la souris se traduisent par un déplacement sur la carte. Les touches PgUp et PgDown vous permettront de zoomer sans devoir interrompre votre numérisation.

Édition topologique

En plus des options d’accrochage pour chaque couche, la fenêtre des Options d’accrochage du menu Préférences (ou Fichier) propose des fonctionnalités topologiques. Vous pouvez checkbox Activer l’édition topologique et/ou cocher la case checkbox Éviter Intersections pour les couches de polygones.

Activer l’édition topologique

L’option checkbox Activer l’édition topologique permet d’éditer en gardant des limites communes entre les polygones. QGIS ‘détecte’ une limite commune entre les polygones, vous n’avez donc qu’à déplacer le sommet commun et QGIS s’occupera de mettre à jour toutes les limites.

Éviter les intersections de nouveaux polygones

La deuxième option topologique, checkbox Éviter Intersections, permet d’éviter des recouvrements entre les polygones. Cela permet de numériser des polygones adjacents plus rapidement. Si vous avez déjà un polygone, avec cette option, vous pouvez numériser le second de manière à ce qu’ils intersectent et QGIS coupera le second polygone aux limites communes. L’avantage est que vous n’avez pas à numériser tous les sommets des limites communes.

Activer l’accrochage sur les intersections

Une autre possibilité est de cocher checkbox Activer l’accrochage sur les intersections. Cela vous permet d’accrocher les nouveaux nœuds sur une intersection entre les autres couches, même s’il n’y a pas de nœud à cette intersection.

Numériser une couche existante

Par défaut, QGIS charge les couches en lecture seule : c’est une sécurité pour éviter d’éditer accidentellement une couche si la souris glisse. Cependant, vous pouvez choisir d’éditer une couche du moment que le fournisseur de données le gère et que la source de données est éditable (c.-à-d. fichiers qui ne sont pas en lecture seule).

L’édition des couches vectorielles est répartie dans les barres d’outils de numérisation et de numérisation avancée telles que décrites dans la section Numérisation avancée. Vous pouvez afficher les deux depuis le menu Vue‣ Barres d’Outils ‣. En utilisant les outils basiques de numérisation, vous pouvez accomplir les actions suivantes :

Bouton

Fonction

Bouton

Fonction

mActionAllEdits

Éditions en cours

mActionToggleEditing

Basculer en mode édition

mActionCapturePoint

Ajouter une entité : Créer un point

mActionCaptureLine

Ajouter une entité : Créer une Ligne

mActionCapturePolygon

Ajouter une entité: Créer un polygone

mActionMoveFeature

Déplacer une entité

mActionNodeTool

Outil de noeud

mActionDeleteSelected

Supprimer les entités sélectionnées

mActionEditCut

Couper les entités

mActionEditCopy

Copier les entités

mActionEditPaste

Coller les entités

mActionSaveEdits

Sauvegarder les modifications

Tableau Numérisation : barre d’outils basiques de numérisation pour les couches vectorielles

Toutes les sessions d’édition débutent par mActionToggleEditing Basculer en mode édition qui se trouve dans le menu contextuel après un clic droit sur le nom de la couche à éditer.

Alternativement, vous pouvez utiliser le bouton Basculer en mode édition mActionToggleEditing Basculer en mode édition dans la barre de numérisation pour débuter ou terminer une session d’édition. Une fois que la couche est éditable, des marqueurs vont apparaître sur les sommets et de nouveaux outils seront disponibles dans la barre d’outils de numérisation.

Astuce

Sauvegardez régulièrement

N’oubliez pas de mActionSaveEdits Sauvegarder les modifications de la couche régulièrement. Cette action vérifiera aussi que les modifications apportées peuvent être intégrées dans votre source de données.

Ajouter des entités

Vous pouvez utiliser le bouton mActionCapturePoint Ajouter un point, mActionCaptureLine Ajouter une ligne ou mActionCapturePolygon Ajouter un polygone de la barre d’outils pour mettre le curseur de QGIS en mode numérisation.

Pour chaque entité, vous numérisez d’abord la géométrie puis entrez les attributs. Pour numériser la géométrie, faites un clic gauche sur la zone de la carte pour créer le premier point de votre nouvelle entité.

Pour les lignes ou les polygones, continuez à faire des clics gauches pour chaque nouveau sommet que vous souhaitez créer. Lorsque vous avez fini d’ajouter les points, faites un clic droit n’importe où sur la carte pour confirmer que vous avez fini d’entrer la géométrie de cette entité.

La fenêtre des attributs apparaît, ce qui vous permet d’entrer les informations sur la nouvelle entité. La figure Figure_edit_2 montre les attributs d’édition pour une nouvelle rivière fictive en Alaska. Dans l’onglet Numérisation du menu Préférences ‣ Options, vous pouvez cocher les cases checkbox Supprimer la fenêtre de saisie des attributs lors de la création de chaque entité et checkbox Réutiliser la dernière valeur attributaire saisie.

Figure Edit 2:

../../../_images/editDigitizing.png

Fenêtre de saisie des attributs après avoir numérisé une nouvelle entité vecteur nix

Avec le bouton mActionMoveFeature Déplacer l’entité, vous pouvez déplacer des entités existantes.

Astuce

Types des valeurs d’attribut

Pour l’édition, les types des attributs sont validés au moment de la saisie. Il n’est donc pas possible d’entrer un nombre dans un champ de type texte depuis la fenêtre Entrez les valeurs d’attributs et vice-versa. Si vous avez besoin de le faire, vous devez éditer les attributs par la suite dans la Table d’attributs.

Éditions en cours

Cette fonctionnalité permet la numérisation simultanée de plusieurs couches. Choisissez mActionFileSaveAs Sauvegarder les couches sélectionnées pour enregistrer toutes les modifications apportées dans plusieurs couches en même temps. Vous avez aussi la possibilité de mActionRollbackEdits Retourner à l’étape précédente sur les couches sélectionnées afin d’annuler la numérisation effectuée sur toutes les couches sélectionnées. Si vous souhaitez arrêter la modification des couches sélectionnées, l’option mActionCancelEdits Annuler sur les couches sélectionnées est le moyen le plus facile.

Les mêmes fonctions sont disponibles pour l’édition de toutes les couches du projet.

Outil de noeud

Pour les couches shapefile, SpatiaLite, PostgreSQL/PostGIS, MSSQL Spatial et les tables Oracle Spatial, l’mActionNodeTool Outil de nœud offre des capacités de manipulation des sommets des entités semblables à celles des logiciels de CAO. Il est possible de sélectionner plusieurs sommets ensemble et de les déplacer, ajouter ou supprimer en une fois. Cet outil fonctionne sur les couches reprojetées ‘à la volée’ et supporte des fonctionnalités d’éditions topologiques. Contrairement aux autres outils de QGIS, la sélection persiste même lorsque une autre opération est effectuée. Si l’outil de nœud ne trouve pas d’entités, un avertissement sera affiché.

Il est important de fixer le paramètre Préférences ‣ mActionOptions Options ‣ Numérisation ‣ Rayon de recherche : selectnumber à un nombre supérieur à zéro (par exemple 10). Sinon QGIS ne sera pas en mesure de dire quelle entité est éditée.

Astuce

Marqueurs de sommets

La version actuelle de QGIS présente 3 types de marqueurs - un ‘Cercle semi-transparent’, une ‘Croix’ ou ‘Aucun’. Pour changer de style de marqueurs, allez dans mActionOptions Options depuis le menu Préférences et cliquez sur l’onget Numérisation et sélectionnez le symbole voulu dans la liste déroulante.

Opérations basiques

Commencez par cliquer sur le bouton mActionNodeTool Outil de nœud puis sélectionnez une entité. Des petits carrés rouges aparraissent sur chaque sommet de cette entité, cela indique qu’elle est bien sélectionnée.

  • Sélectionner des sommets : La sélection se fait en cliquant directement sur un sommet, sur un segment pour en sélectionner les deux extrémités ou en dessinant un rectangle autour de quelques sommets. Quand un sommet est sélectionné, sa couleur devient bleu. Pour ajouter des sommet à une sélection, maintenez appuyée la touche Ctrl et continuez la sélection. Maintenez Ctrl ou Shift appuyé en cliquant pour inverser l’état sélectionné ou désélectionné des sommets (les sommets non sélectionnés le deviendront et ceux qui l’étaient seront désélectionnés).

  • Ajouter des sommets : Pour ajouter un sommet, double-cliquez simplement sur un segment, un nouveau sommet apparaîtra sur le segment proche du curseur. Notez que le sommet est créé sur le segment et pas forcément exactement à l’emplacement du curseur, il est donc peut-être nécessaire de le déplacer.

  • Supprimer des sommets : Après avoir sélectionné les sommets à supprimer, appuyez sur la touche Suppr de votre clavier. Notez que vous ne pouvez pas utiliser l’ mActionNodeTool Outil de noeud pour supprimer complètement une entité : QGIS s’assure qu’il reste le nombre minimal de sommets selon le tye d’entité. Pour supprimer une entité, utilisez l’outil mActionDeleteSelected Supprimer les entités sélectionnées.

  • Déplacer des sommets : Sélectionnez tous les sommets que vous voulez déplacer (encliquant sur un sommet ou un segment), puis bougez votre souris en gardant le bouton appuyé. Tous les sommets bougeront dans la même direction que le curseur. Si l’accrochage est activé, la sélection complète peut sauter sur la ligne ou le sommet le plus proche du curseur.

Chaque changement effectué avec l’outil de nœud correspond à une entrée séparée du bouton Annuler. Rappelez-vous que toutes les manipulations supportent l’édition topologique, si elle est activée. La projection à la volée est également supportée. Enfin, l’outil de nœud affiche une info-bulle au passage de la souris sur un somme tafin de l’identifier.

Couper, Copier et Coller des entités

Les entités sélectionnées peuvent être coupées, copiées et collées entre des couches d’un même projet QGIS, du moment que les couches de destination sont mActionToggleEditing Basculées en mode édition au préalable.

Les entités peuvent également être collées dans des applications externes au format texte. Les entités sont alors représentées au format CSV et leur géométrie apparaît dans le format OGC Well-Known Text (WKT).

Cependant, dans cette version de QGIS, les entités au format texte venant d’applications externes ne peuvent pas être collées à une couche dans QGIS. En quoi les fonctions copier et coller sont-elles utiles ? Et bien il se trouve que vous pouvez éditer plus d’une couche à la fois et que vous pouvez alors utiliser les fonctions copier/coller entre les couches. Pourquoi voudrions-nous faire cela ? Imaginons que nous devions travailler sur une nouvelle couche, mais que nous avions besoin que d’un ou deux lacs, pas les 5 000 de notre couche big_lakes. Nous pouvons créer une nouvelle couche puis utiliser copier/coller pour y insérer les quelques lacs.

Comme exemple, nous allons copier quelques lacs dans une nouvelle couche :

  1. Chargez la couche dont vous voulez copier des entités (couche source)

  2. Chargez ou créez la couche sur laquelle vous voulez coller des entités (couche cible)

  3. Lancez l’édition pour la couche cible

  4. Assurez-vous que la couche source est active en cliquant dessus dans la légende

  5. Utilisez l’outil mActionSelect Sélection pour sélectionner les entités dans la couche source

  6. Cliquez sur l’outil mActionEditCopy Copier les entités

  7. Assurez-vous que la couche cible est active en cliquant dessus dans la légende

  8. Cliquez sur l’outil mActionEditPaste Coller Entités

  9. Stoppez l’édition et sauvegardez les changements

Qu’arrive-t-il si les couches sources et cibles ont différents schémas de données (noms et type des champs différents) ? QGIS remplit ceux qui correspondent et ignore les autres. Si la copie des attributs ne vous intéresse pas, la façon dont vous définissez les champs et les types de données n’a pas d’importance. Si vous voulez être sûr que tout - entité et ses attributs - est copié, assurez-vous que les schémas de données correspondent.

Astuce

Conformité des entités copiées

Si vos couches source et cible utilisent la même projection, les entités collées auront la même géométrie que dans la couche source. Cependant, si la couche cible n’a pas la même projection, QGIS ne peut garantir que les géométries seront identiques. Cela est simplement dû aux erreurs d’arrondissement faites lors de la conversion de projection.

Supprimer les entités sélectionnées

Si nous voulons supprimer un polygone entier, nous pouvons le faire en sélectionnant d’abord le polygone en utilisant l’outil mActionSelect Sélectionner une entité. Vous pouvez sélectionner plusieurs objets pour la suppression. Une fois le ou les objets sélectionnés, utilisez l’outil mActionDeleteSelected Supprimer les entités sélectionnées pour supprimer les entités.

L’outil mActionEditCut Couper les entités de la barre d’outils numérisation peut également être utilisé pour supprimer des entités. Ceci supprime effectivement les entités et les place également dans un “presse-papier spatial”. Donc nous coupons les entités pour les supprimer et nous pouvons ensuite utiliser l’outil mActionEditPaste Coller les entités pour les récupérer, nous donnant alors la capacité d’annuler une fois les changements. Couper, copier et coller fonctionnent sur les entités sélectionnées ce qui signifie que nous pouvons travailler sur plus d’un objet à la fois.

Sauvegarder les couches éditées

Quand une couche est en mode édition, tous les changements sont stockés en mémoire par QGIS. Ils ne sont pas sauvegardés immédiatement dans la source de données ou sur le disque. Si vous voulez enregistrer les modifications sans quitter le mode d’édition, il faut cliquer sur le bouton mActionSaveEdits Sauvegarder les modifications. Lorsque vous déactivez le mode édition en cliquant sur mActionToggleEditing Basculer en mode édition (ou en fermant QGIS), il vous est demandé si vous souhaitez sauvegarder les changements ou les annuler.

Si les changements ne peuvent pas être sauvés (par exemple à cause d’un disque plein ou des valeurs d’attributs dépassant la plage prévue), l’état de la mémoire de QGIS est préservé. Cela vous permet d’ajuster vos éditions et réessayer.

Astuce

Intégrité des données

Il est toujours bon de sauvegarder vos données sources avant de les éditer. Bien que les auteurs de QGIS s’efforcent de préserver l’intégrité de vos données, il n’y pas de garantie à cet égard.

Numérisation avancée

Bouton

Fonction

Bouton

Fonction

mActionUndo

Annuler

mActionRedo

Refaire

mActionRotateFeature

Pivoter les entités

mActionSimplify

Simplifier Entité

mActionAddRing

Ajouter un anneau

mActionAddPart

Ajouter une partie

mActionFillRing

Remplir un anneau

mActionDeleteRing

Effacer un anneau

mActionDeletePart

Effacer une partie

mActionReshape

Remodeler les entités

mActionOffsetCurve

Décalage X,Y

mActionSplitFeatures

Séparer les entités

mActionSplitParts

Séparer les parties

mActionMergeFeatures

Fusionner les entités sélectionnées

mActionMergeFeatureAttributes

Fusionner les attributs des entités sélectionnées

mActionRotatePointSymbols

Rotation des symboles de point

Tableau Numérisation avancée : barre d’outils de numérisation avancée pour les couches vectorielles

Annuler et refaire

Les outils mActionUndo Annuler et mActionRedo Refaire vous permettent d’annuler ou revenir sur un certain nombre d’opérations sur les données vectorielles. La vue de base est une fenêtre où toutes les opérations sont répertoriées (voir Figure_edit_3). Cette fenêtre n’est pas affichée par défaut, mais peut être affichée par un clic droit sur une barre d’outils puis en cochant Annuler/Refaire. L’outil est actif même quand la fenêtre n’est pas visible.

Figure Edit 3:

../../../_images/redo_undo.png

Outils Annuler et Refaire nix

Quand vous cliquez sur Annuler, l’état de toutes les entités et de leurs attributs retourne à l’état connu avant que l’opération annulée ait été appliquée. Les changements autres que les modifications classiques des vecteurs (par exemple des modifications effectuées par une extension) peuvent être ou ne pas être annulés, selon la manière dont ils ont été effectués.

Pour utiliser l’historique Annuler/Refaire, cliquez simplement sur une opération dans la liste de l’historique. Toutes les entités retrouveront leur état antérieur à cette opération.

Pivoter les entités

Utilisez mActionRotateFeaturePivoter l’entité pour pivoter une ou plusieurs entités sélectionnées dans la carte. Vous devez préalablement sélectionner l’entité puis appuyer sur l’icône mActionRotateFeaturePivoter l’entité. Apparaît alors le centroïde de l’entité sélectionnée, point qui servira de point d’ancrage pour la rotation. Si vous avez sélectionné plusieurs entités, le point d’ancrage sera placé au centre de toutes les entités. Cliquez sur le bouton gauche de la souris et faites glisser dans la direction voulue pour faire pivoter les entités sélectionnées.

Il est également possible de définir un point d’ancrage pour la rotation de la ou les entités sélectionnée(s). Sélectionnez les entités à pivoter et activer l’outil mActionRotateFeature:sup: ‘Pivoter l’entité’. Appuyez et maintenez le bouton Ctrl puis déplacez le pointeur de la souris (sans appuyer sur le bouton de la souris) à l’endroit où vous souhaitez placer le point d’ancrage. Relâchez le bouton Ctrl lorsque le point d’ancrage de rotation souhaité est atteint. Maintenant, appuyez sur le bouton gauche de la souris et faites glisser la souris dans la direction voulue pour faire pivoter la ou les entités sélectionnée(s).

Simplifier Entité

L’outil mActionSimplify Simplifier une entité vous permet de réduire le nombre de sommets qui composent une entité tant que cela ne change pas le type de géométrie et qu’il ne s’agisse pas d’une géométrie de type multiple. Premièrement, sélectionnez une ou plusieurs entités. Elles seront alors surlignées par un contour rouge et une barre coulissante est affichée pour choisir le degré de simplification que vous désirez appliquer (le contour rouge reflète la forme que vous obtiendrez). Cliquez sur [OK] pour valider la nouvelle forme. Si une entité ne peut être simplifiée (p. ex. un polygone multiple), un message vous le signalera.

Ajouter un anneau

Vous pouvez créer des polygones à trou en utilisant l’icône mActionAddRing Ajouter un anneau. Cela signifie qu’il est possible de dessiner des polygones à l’intérieur d’une zone existante et d’en faire des trous, seule la zone entre les limites externes des polygones sera conservée.

Ajouter une partie

Vous pouvez mActionAddPart ajouter une partie à un multipolygone sélectionné multipolygone. La nouvelle partie doit être dessinée en dehors de celui-ci.

Remplir un anneau

Vous pouvez utiliser l’outil mActionFillRing Remplir l’anneau pour combler un trou dans un polygone et créer une nouvelle entité. Vous n’avez donc plus besoin d’utiliser l’outil mActionAddRing Ajouter un anneau puis mActionCapturePolygon Ajouter une entité.

Effacer un anneau

L’outil mActionDeleteRing Effacer un anneau vous permet de supprimer un anneau existant dans un polygone. Il ne change rien lorsque il est utilisé sur la bordure extérieure du polygone. Cet outil peut être utilisé sur un polygone ou un polygone multiple. Avant de sélectionner un sommet d’un anneau, ajustez la tolérance d’édition du sommet.

Effacer une partie

L’outil mActionDeletePart Effacer une partie vous permet de supprimer des parties d’une entité multiparties (par exemple, un polygone composé de multiples polygones distincts). Cela n’effacera pas la dernière partie restante. Cet outil marche avec toutes les géométries multiparties. Avant de sélectionner un sommet d’un anneau, ajustez la tolérance d’édition du sommet.

Remodeler les entités

Il est possible de retoucher des lignes ou des polygones grâce à l’outil mActionReshape Remodeler une entité. Vous pouvez changer la forme d’une ligne ou d’un polygone en traçant une nouvelle forme entre deux sommets, la modification viendra s’ajouter à l’existant ou le remplacer selon la taille de l’intervalle entre le premier sommet et celui clôturant le remodelage. Cette méthode convient pour remplacer de petites portions d’une entité, la ligne de remodelage n’est pas autorisée à croiser plusieurs anneaux de polygones, car cela générerait un polygone invalide.

Par exemple, vous pouvez modifier les limites d’un polygone avec cet outil. Tout d’abord, cliquez à l’intérieur du polygone près de la zone où vous souhaitez ajouter un nœud. Franchissez ensuite la limite et positionnez les nœuds à extérieur du polygone. Pour terminer cliquez à nouveau à l’intérieur du polygone. L’outil ajoute automatiquement un nœud à l’endroit où la ligne intersecte la limite du polygone. Il est possible également de supprimer des morceaux de polygones en commençant à l’extérieur du polygone puis en ajoutant des nœuds à l’intérieur et en terminant à l’extérieur par un clic-droit.

Note

L’outil de remodelage peut altérer la position de départ d’un anneau polygonal ou d’une ligne close, le point “double” ne sera plus le même. Ce n’est pas un problème pour la plupart des applications, mais c’est quelque chose à considérer.

Décalage X,Y

L’outil mActionOffsetCurve Décalage X,Y créé des décalages parallèles de couches linéaires. L’outil peut être appliqué à la couche éditée (les géométries sont modifiées) ainsi qu’aux couches d’arrière plan (dans ce cas, une copie des lignes / anneaux est créée et est ajoutée à la couche éditée). Cet outil est donc idéal pour créer des couches linéaires de distance. Le déplacement est affiché en bas à gauche de la barre d’outil.

Pour créer une couche de lignes décalées, vous devez d’abord vous mettre en mode édition et sélectionner une entité. Vous pouvez ensuite rendre l’outil mActionOffsetCurve Courbe décalée actif et déplacer la croix au décalage désiré. Vos changements peuvent alors être enregistrés avec l’outil mActionSaveEditsEnregistrer les changements de couches .

La boîte de dialogue des options de QGIS (onglet Numérisation puis section Outils de décalage de courbe) vous permet de configurer quelques paramètres tels que Style de jointure, Segments de quadrant, Limite d’angle droit.

Séparer les entités

Vous pouvez diviser une entité en utilisant le bouton mActionSplitFeatures Couper Entités. Pour couper, dessinez une ligne en travers de l’entité avec cet outil et terminez avec un clic droit.

Séparer les parties

Depuis la version 2.0 de QGIS, il est possible de découper des parties d’une entités composée de plusieurs et donc d’en ajouter. Tracez simplement une ligne à travers de des parties que vous souhaitez découper en utilisant l’outil mActionSplitParts Séparer les parties.

Fusionner les entités sélectionnées

L’outil mActionMergeFeatures Fusionner les entités sélectionnées vous permet de combiner des entités ayant une bordure commune et des attributs similaires. Une nouvelle boîte de dialogue vous permettra de choisir une valeur parmi chaque entité sélectionnée ou de sélectionner une fonction (Minimum, Maximum, Median, Sum, Skip Attributes) à employer pour chaque colonne.

Fusionner les attributs des entités sélectionnées

L’outil mActionMergeFeatures Fusionner les attributs des entités sélectionnées vous permet de combiner les attributs des entités ayant une bordure commune et des attributs similaires sans fusionner leur géométrie. Sélectionnez tout d’abord plusieurs entités puis cliquez sur le bouton mActionMergeFeatureAttributes Fusionner les attributs des entités sélectionnées. QGIS demande alors quels attributs appliquer à toutes les entités sélectionnées. Au final, toutes les entités sélectionnées auront les mêmes attributs.

Rotation des symboles de point

L’outil mActionRotatePointSymbols Rotation des symboles de points vous permet de changer l’orientation des symboles de point dans la carte. Vous devez définir une colonne de la table d’attributs comme champ de rotation dans le menu Avancé de l’onglet Style des Propriétés de la couche de points. De même vous devez aller dans ‘Symbole SVG’ et choisir Source de définition des propriétés. Cochez la case Angle et choisissez le champ de rotation. Sans ces paramètres, l’outil est inactif.

Figure Edit 4:

../../../_images/rotatepointsymbol.png

Rotation des symboles de point nix

Pour changer l’orientation, sélectionnez une entité ponctuelle sur le canevas et faite là tourner en gardant le bouton gauche de votre souris appuyé. Une flèche rouge avec la valeur de rotation est visible (voir Figure_edit_4). Lorsque vous relâchez le bouton, la valeur sera mise à jour dans la table attributaire.

Note

Si vous gardez la touche Ctrl enfoncée, la rotation se fera par palier de 15 degrés.

Créer de nouvelles couches vecteur

QGIS vous permet de créer de nouveaux shapefile, couches SpatiaLite et couches GPX. La création de couches GRASS est gérée par l’extension GRASS. Référez-vous à la section Création d’une nouvelle couche vectorielle GRASS pour plus d’informations sur ce sujet.

Créer une nouvelle couche Shapefile

Pour créer une nouvelle couche shapefile à éditer, allez dans le menu Nouveau ‣ mActionNewVectorLayer Nouvelle couche Shapefile... du menu Couche. La fenêtre Nouvelle couche vecteur apparaitra telle que montrée dans Figure_edit_5. Choisissez le type de géométrie de la couche (point, ligne ou polygone) et le SCR (système de coordonnées de référence).

Notez que QGIS ne gère pas encore la création d’entité 2.5D (c.-à-d. des entités avec des coordonnées X, Y, Z).

Figure Edit 5:

../../../_images/editNewVector.png

Fenêtre de création d’une nouvelle couche Shapefile nix

Pour terminer la création de la nouvelle couche, ajouter les attributs désirés en cliquant sur le bouton [Ajouter à la liste d’attributs] après avoir spécifié le nom et le type de chaque attribut. Un attribut ‘id’ est proposé par défaut et peut être supprimé. Seuls les attributs de type Nombre décimal selectstring, Nombre entier selectstring, Données texte selectstring et Date selectstring sont gérés. De plus, selon le type d’attribut vous pouvez définir la largeur et la précision de la nouvelle colonne. Une fois satisfait de vos attributs, cliquez sur [OK] et donnez un nom pour le shapefile. QGIS va automatiquement ajouter l’extension .shp au nom que vous lui avez spécifié. Une fois la couche créée, elle sera ajoutée à la carte et vous pouvez l’éditer de la manière décrite dans la section ref:sec_edit_existing_layer ci-dessus.

Créer une nouvelle couche SpatiaLite

Pour créer une nouvelle couche SpatiaLite à éditer, allez dans le menu Nouveau ‣ mActionNewSpatiaLiteLayer Nouvelle couche SpatiaLite... du menu Couche. La fenêtre Nouvelle couche SpatiaLite apparaitra telle que montrée dans Figure_edit_6.

Figure Edit 6:

../../../_images/editNewSpatialite.png

Fenêtre de création d’une nouvelle couche SpatiaLite nix

La première étape est sélectionner une base SpatiaLite existante ou d’en créer une nouvelle en utilisant le bouton browsebutton à droite de la liste des bases de données. Donnez un nom à la nouvelle couche, choisissez un type puis un SCR avec [Spécifier le SCR]. Si besoin, vous pouvez cocher checkbox Créer une clé primaire autoincrémentée.

Pour défnir une table attributaire, ajoutez les noms des colonnes avec leur type de données et cliquez sur le bouton [Ajouter à la liste d’attribut]. Lorsque la liste d’attributs est terminée, cliquez sur [OK]. QGIS ajoutera automatiquement cette nouvelle couche à la légende où vous pourrez l’éditer comme indiquée dans la section Numériser une couche existante ci-dessus.

D’autres opérations de gestion des couches SpatiaLite peuvent être effectuées via DB Manager. Voir Extension DB Manager.

Créer une nouvelle couche GPX

Pour créer un nouveau fichier GPX, vous devez d’abord charger l’extension GPS. Extension‣ mActionShowPluginManager Installer/Gérer les extensions ouvre la fenêtre Gestionnaire d’extensions. Activez la case checkbox Outils GPS.

Lorsque cette extension est chargée, choisissez Nouveau ‣ icon_newgpx Créer une nouvelle couche GPS du menu Couche. Dans la fenêtre Sauvegarder le fichier GPS sous ..., vous pouvez choisir où enregistrer la nouvelle couche GPS.

Travailler avec la table d’attributs

La table d’attributs affiche les entités de la couche sélectionnée. Chaque ligne représente une entité avec ses attributs répartis dans plusieurs colonnes. Chaque entité de la table peut être recherchée, sélectionnée, déplacée et éditée.

Pour ouvrir la table attributaire d’une couche vecteur, activez la couche en cliquant dessus depuis la zone de légende de la carte. Puis dans le menu Couche, cliquez sur mActionOpenTable Ouvrir la table d’attributs. Vous pouvez aussi y accéder avec un clic droit sur la couche puis en sélectionnant mActionOpenTable Ouvrir la table d’attributs ou en cliquant sur le bouton mActionOpenTable Ouvrir la table d’attributs dans la barre d’outils Attributs.

Cela ouvrira une nouvelle fenêtre qui affiche les attributs de toutes les entités de la couche (voir figure_attributes_1). Le nombre des entités et le nombre d’entités sélectionnées sont affichés dans la barre de titre de la table d’attributs.

Figure Attributes 1:

../../../_images/vectorAttributeTable.png

Table d’attributs de la couche ‘regions’ nix

Sélectionner une entité depuis la table

Chaque ligne sélectionnée dans la table d’attributs correspond aux attributs d’une entité sélectionnée de la couche. Si la sélection est modifiée sur la carte, elle est également mise à jour dans la table d’attributs. De la même manière, une modification de la sélection dans la table est automatiquement répercutée sur la carte.

Les lignes peuvent être sélectionnées en cliquant sur le numéro de ligne placé tout à gauche. Plusieurs lignes peuvent être sélectionnées en maintenant la touche Ctrl.Une sélection continue s’effectue en gardant appuyée la touche Shift et en cliquant sur une nouvelle ligne, toutes les lignes entre la première sélection et la dernière seront prises. Déplacer la position du curseur dans la table d’attributs en cliquant sur une cellule ne modifie pas la sélection des lignes. Modifier les entités sélectionnées depuis la carte ne modifie pas la position du curseur dans la table.

Vous pouvez faire un tri sur les colonnes en cliquant sur l’en-tête. Une petite flèche indique l’ordre de tri (une flèche pointant vers le bas indiquera un tri décroissant, une flèche vers le haut, un tri croissant).

Pour une simple recherche par attributs sur une seule colonne, choisissez Filtre de colonne ‣ du menu dans le coin inférieur gauche. Sélectionnez le champ (colonne) à partir duquel la recherche doit être effectuée dans le menu déroulant et appuyez sur le bouton [Appliquer]. Seules les entités correspondantes sont affichées dans la table attributaire.

Pour effectuer une sélection, vous devez utiliser l’icône mIconExpressionSelect Sélectionner les entités en utilisant une expression en haut de la table d’attributs. Cet outil vous permet de définir un sous-ensemble de votre table en utilisant une Liste de fonctions identiques à celles de la mActionCalculateField Calculatrice de champ (voir Calculatrice de champ). Le résultat de la requête peut ensuite être sauvegardée comme une nouvelle couche vecteur. Par exemple, si vous souhaitez trouver les régions qui sont des ‘borough’ dans la couche regions.shp des fichiers test de QGIS, vous devez déplier le menu Champs et Valeurs et choisir le champ que vous souhaitez interroger. Double-cliquez donc sur le champ ‘TYPE_2’ puis sur ‘=’ et cliquez sur [Charger toutes les valeurs uniques]. Dans la liste qui apparaît, choisissez et double-cliquez sur ‘Borough’. Dans le champ Expression apparaît alors la requête suivante :

"TYPE_2"  =  'Borough'

Vous pouvez également utiliser l’entrée Liste des fonctions‣ Récent (Sélection) pour réutiliser une sélection faire précédemment. Les 20 dernières expressions sont proposées.

Les lignes correspondantes seront sélectionnées et le nombre total de ces lignes apparaît dans la barre de titre de la table d’attributs, et dans la barre d’état de la fenêtre principale. Pour des recherches qui s’appliquent seulement aux entités sélectionnées dans la carte, utilisez le constructeur de requête décrit dans la section Constructeur de requêtes.

Pour n’afficher que les lignes sélectionnées, utilisez Ne montrer que les entités sélectionnées du menu situé dans le coin inférieur gauche.

Les autres boutons situés au-dessus de la table d’attributs apportent les fonctionnalités suivantes :

  • mActionToggleEditing Activer le mode édition pour éditer les valeurs une à une et activer les fonctionnalités décrites ci-dessous (ou Ctrl+E)

  • mActionSaveEdits Sauvegarder les modifications (ou Ctrl+S)

  • mActionUnselectAttributes Tout désélectionner (ou Ctrl+U)

  • mActionSelectedToTop Déplacer la sélection au sommet (ou Ctrl+T)

  • mActionInvertSelection Inverser la sélection (ou Ctrl+R)

  • mActionCopySelected Copier les lignes sélectionnées dans le presse papier (ou Ctrl+C)

  • mActionZoomToSelected Zoomer sur les lignes sélectionnées (ou Ctrl+J)

  • PanToSelected Déplacer la carte sur les lignes sélectionnées (ou Ctrl+P)

  • mActionDeleteSelected Supprimer les entités sélectionnées (ou Ctrl+D)

  • mActionNewAttribute Nouvelle colonne pour les couches PostGIS et les couches gérées par OGR GDAL version >= 1.6 (ou Ctrl+W)

  • mActionDeleteAttribute Supprimer une colonne pour les couches PostGIS et les couches gérées par OGR GDAL version >= 1.9 (ou Ctrl+L)

  • mActionCalculateField Ouvrir la calculatrice de champs (ou Ctrl+I)

Sous ces boutons se trouve la barre de Champs Calculés qui permet d’effectuer des calculs qui s’appliquent rapidement aux attributs visibles dans la table. Cette barre utilise les mêmes expressions que dans la mActionCalculateField Calculatrice de Champ (consultez Calculatrice de champ).

Astuce

Éviter d’exporter la géométrie WKT

Si vous souhaitez utiliser les données attributaires dans un programme externe (comme Excel), utilisez le bouton mActionCopySelected Copier les lignes sélectionnées dans le presse papier. Vous pouvez copier les données sans la géométrie si vous désactivez l’option Préférences ‣ Options ‣ onglet Général checkbox Copier la représentation WKT de la géométrie depuis la table attributaire.

Enregistrer les entités sélectionnées dans une nouvelle couche

Les entités sélectionnées peuvent être sauvegardées dans n’importe quel format géré par OGR et également transformées dans n’importe quel système de projection (SCR). Ouvrez simplement le menu clic-droit de la souris sur la couche et cliquez sur Enregistrer sous pour définir un nom de fichier de sortie, son format et son SCR (consultez la section Légende de la carte). Pour enregistrer la sélection, assurez-vous que la checkbox Enregistrer uniquement les entités sélectionnées est cochée. Il est également possible de définir des options de création à OGR dans la boîte de dialogue.

Coller dans une nouvelle couche

Les entités qui ont été copiées peuvent être collées dans une nouvelle couche. Pour faire cela, passer la couche en mode édition. Sélectionnez quelques entités, copiez-les puis collez-les dans une nouvelle couche via Éditer ‣ Coller les entités comme puis Nouvelle couche vecteur ou Nouvelle couche vecteur en mémoire.

Ceci fonctionne avec les entités sélectionnées et copiées depuis QGIS mais également avec les entités au format well-known text (WKT) provenant d’un autre logiciel.

Travailler avec tables non-spatialisées

QGIS vous permet de charger des tables n’ayant pas d’information spatiale, cela comprend les tables supportées par OGR, les fichiers de texte délimité et les tables PostgreSQL, MSSQL et Oracle. Les tables peuvent être utilisées pour regarder les champs, pour des requêtes ou pour de l’édition. Lorsque vous chargez une table de ce type, elle apparaîtra dans la liste des couches, elle peut être ouverte avec l’outil mActionOpenTable Ouvrir la table d’attributs. Elle est ensuite éditable comme n’importe qu’elle autre table attributaire.

Par exemple vous pouvez utiliser ces colonnes pour définir des valeurs d’attributs ou un intervalle de valeurs qui sont autorisées à être ajoutées à une couche vectorielle spécifique durant une numérisation. Jetez un œil du côté de l’outil d’édition pour en savoir plus, section Onglet Champs.

Créer des relations un à plusieurs

Utiliser des relations est courant dans les bases de données. L’idée est que des entités (lignes) de différentes couches (tables) peuvent être liées les unes aux autres.

Comme exemple, nous prendrons une couche contenant toutes les régions de l’Alaska (des polygones) qui fournit quelques attributs sur le nom, le type de région et un identifiant unique (qui jouera le rôle de clé primaire).

Clés étrangères

Nous prenons ensuite une autre couche de point ou une table contenant des informations sur les aéroports localisés dans les régions. Si vous souhaitez accéder, depuis la couche des régions, vous devez créer une relation ‘un à plusieurs’, en utilisant des clés étrangères, car il y a plusieurs aéroports dans la plupart des régions.

Figure Relations 1:

../../../_images/relations1.png

Les régions d’Alaska contenant des aéroports nix

En plus des attributs existants dans la table des aéroports, un autre champ, fk_region, va jouer le rôle de clé étrangère (si la table est stockée dans une base de données, vous allez sans doute définir une contrainte sur ce champ).

Ce champ fk_region contiendra toujours un identifiant de région. Il peut être vu comme un pointeur vers la région à laquelle l’aéroport appartient. Et vous pouvez créer un formulaire personnalisé d’édition pour la saisie. Cela fonctionne avec différents fournisseurs (vous pouvez vous en servir également avec des shapefiles ou des fichiers csv) et la seule chose que vous avez à faire est de dire à QGIS qu’il y a une relation entre les tables.

Couches

QGIS ne fait pas la différence entre une table et une couche vectorielle. Une couche vectorielle correspond simplement à une table associée à une géométrie. Vous pouvez donc ajouter une table comme s’il s’agissait d’une couche vectorielle. Vous pouvez tester en chargeant le shapefile ‘region’ (avec géométrie), la table csv ‘airports’ (sans géométrie mais avec la clé étrangère (fk_region)). Chaque aéroport appartient à une région et chaque région peut contenir plusieurs aéroports (une relation un à plusieurs typique).

Définir (Gestionnaire de Relations)

La première chose que nous allons faire est de dire à QGIS qu’il y a une relation entre nos couches et tables. Cela se fait dans le menu Projet ‣ Propriétés du projet. Allez dans l’onglet Relations et cliquez sur Ajouter une relation.

  • Nom sera utilisé comme titre. Il s’agit d’un texte lisible décrivant la relation. Ici, nous allons simplement mettre “Aéroports”.

  • Couche référençante (enfant) est la couche contenant la clé étrangère. Dans notre cas il s’agit de la couche des aéroports.

  • Champ référençant correspond au champ qui pointe vers l’autre couche, le champ fk_region dans notre cas.

  • Couche de référence (parent) est la couche contenant la clé primaire. Ici il s’agit de la couche des régions.

  • Champ de référence est le champ contenant la clé primaire dans la couche de référence, le champ ID dans notre cas.

  • Id est utilisé pour des besoins internes et doit être unique. Ce sera utilisé lors de la création de formulaires d’édition personnalisés. Si vous laissez ce champ vide, un numéro sera généré automatiquement mais vous pouvez en assigner un si vous le souhaitez.

Figure Relations 2:

../../../_images/relations2.png

Gestionnaire de Relations nix

Formulaires

Maintenant que QGIS a bien généré la relation, le formulaire d’édition va être amélioré. Nous n’avons pas modifié le formulaire d’édition par défaut (généré automatiquement), une nouvelle zone va simplement être ajoutée au formulaire. Sélectionnez la couche de régions dans la légende et utilisez l’outil d’identification. Selon vos préférences, le formulaire s’ouvre directement ou vous devez le faire via la zone d’identification qui s’affiche.

Figure Relations 3:

../../../_images/relations3.png

Formulaire de la couche des régions affichant la relations avec les aéroports nix

Comme vous pouvez le voir, les aéroports présents dans la région sont tous affichés dans la table. Quelques boutons sont également disponibles, voyons ce qu’il font.

  • Le bouton mActionToggleEditing permet de passer en mode édition. Soyez conscients qu’il active le mode édition de la couche des aéroports bien qu’il soit situé dans le formulaire de la couche des régions. La table affiche bien les entités de la couche des aéroports.

  • Le bouton mActionSignPlus permet d’ajouter une nouvelle entité à la couche des aéroports. Par défaut, il attribut la région identifiée à ce nouvel aéroport.

  • Le bouton mActionRemove supprime un aéroport sélectionné de manière permanente.

  • Le bouton mActionLink ouvre une nouvelle fenêtre où vous pouvez sélectionner des aéroports existants et qui seront ensuite attribués à la région identifiée. Ceci est pratique lorsque vous assignez par erreur la mauvaise région à un aéroport.

  • Le bouton mActionUnlink permet de supprimer le lien entre l’aéroport sélectionné et la région identifiée, le laissant non assigné (la clé étrangère devient alors NULL).

  • Les deux boutons à droite basculent entre la vue table et la vue formulaire, ce dernier permettant d’afficher tous les aéroports dans leur formulaire respectif.

Si vous travaillez sur la table des aéroports, un nouvel élément apparaît qui vous permet d’inclure le formulaire de la région laquelle un aéroport est lié. Il s’active via les propriétés de la couche aéroports dans l’onglet Champs en changeant l’outil d’édition du champ contenant la clé étrangère, ‘fk_region’, et en le définissant à ‘Valeur relationnelle’.

Vous devriez ainsi voir que le formulaire de la région est inclus dans celui d’un aéroport et il vous permet de modifier la région assignée à l’aéroport.

Figure Relations 4:

../../../_images/relations4.png

Formulaire d’identification d’un aéroport et de sa région associée nix