QGIS : Créer, modifier et supprimer les géométries et les attributs des objets géographiques d’un vecteur

Dans un précédent post, on a dressé un panorama non exhaustif des différents types de données spatiales gérées par QGIS. Ici, on se donne l’objectif de manipuler une donnée vectorielle afin de « balayer » les fonctionnalités de base du logiciel SIG. Ce tutoriel s’adresse plus particulièrement aux personnes qui découvrent QGIS. En aparté, ce post ne sera pas garni d’innombrables print screen car d’une part, un logiciel évolue rapidement et donc son interface change et d’autre part, le plus important est de comprendre les processus déclenchés par le logiciel et non de se dire… « ah mais c’est sur quel bouton qu’on appuie pour faire ça?! ». En considérant ces processus, un logiciel sera alors d’autant plus intuitif et facile à utiliser.

De manière générale, en informatique – et je dirai même dans la vie de tous les jours -, un objet peut être créé, modifié, supprimé et on peut aussi lui ajouter certains éléments et certaines fonctionnalités. Pour une donnée spatiale, c’est le même principe : on peut ajouter, modifier ou supprimer le ou les objets géographiques, composés de structure(s) géométrique(s) et d’attribut(s), d’un vecteur ou d’un raster. Le traitement d’un raster étant plus complexe que celui d’un vecteur, on commence à travailler avec ce dernier format de donnée. Avant de commencer ce tutoriel, je me suis inspiré de la lecture de ce très bon livre sur l’utilisation de QGIS Comment je suis devenu Géomaticien : Un métier entre géographie et informatique écrit par Gérard Allali. Même, s’il date de 2015, les principales fonctionnalités de QGIS sont présentées et surtout elles sont liées à de nombreux exemples concrets.

Pour la démonstration dans QGIS (v 2.18), considérons deux vecteurs A et B quelconques pour lesquels on affecte respectivement des champs A1 et B1.

1. Création des vecteurs en format shape

Dans un premier temps, on créé les deux vecteurs en leur ajoutant un objet géographique qui est définie par une géométrie spatiale que l’on dessine et une valeur attributaire d’un champ. En remarque, si tu as déjà un vecteur, tu peux passer au deuxième paragraphe après avoir ajouté la couche à l’espace de travail (Couche > Ajouter une couche > Ajouter une couche vecteur).

Dans QGIS, plusieurs types de couche vectorielle peuvent être créés : shapefile, SpatiaLite, GeoPackage, GPS et une couche temporaire. Ici, on créé une couche shapefile qui est le format de donnée le plus couramment utilisé, format de stockage des données vectorielles utilisé par ArcGIS. La couche temporaire évite la création des fichiers sur l’ordinateur.

Pour créer un vecteur de type shapefile  : Couche > Créer un couche > Nouvelle couche shapefile ou en raccourci clavier Ctrl+Maj+N, la fenêtre (figure 1) ci-dessous s’ouvre.

  Figure 1 : Création d’une couche shapefile.

On définit :

  • la géométrie des objets géographiques du vecteur : des points, des lignes ou des polygones;
  • le codage du fichier : cela correspond à la configuration des caractères qui seront saisis dans la table attributaire. Pour éviter les problèmes avec les caractères spéciaux (les accents par exemple), je conseille d’utiliser l’UTF-8;
  • le système de projection;
  • la création d’un nouveau champ : par défaut, le champ « id » pour identifier de manière unique chaque objet géographique du vecteur. Ici, on insert le champs A1 de type texte avec un nombre de caractères limités à 255.

On valide, on enregistre la couche que l’on appelle « a » dans un répertoire de l’ordinateur. La couche est alors directement chargée dans l’espace des couches de QGIS mais bien entendu aucune géométrie n’a été dessinée. Dans le répertoire de sauvegarde, cinq fichiers aux extensions différentes ont été créés pour une même couche:

  • shp (shapefile) : stocke les objets géographiques.
  • dbf (DataBaseFile) : fichier des données attributaires qui peut s’ouvrir avec openoffice par exemple.
  • prj  : projection associée au vecteur.
  • qrj  : projection associée.
  • shx : fichier des index des enregistrements du shapefile.

Créons la couche B avec un champ B1 selon le même procédé que pour la couche A. Maintenant, on peut dessiner une géométrie pour un objet géographique dans chaque couche.

2. Ajout et suppression d’un objet géographique

Pour ajouter un objet géographique dans un vecteur, il faut pouvoir modifier le vecteur, on passe  en mode édition dans QGIS. Pour cela, on sélectionne le vecteur dans l’espace des couches puis on clique sur la crayon qui représente le mode édition ou clic droit sur la couche puis basculer en mode édition. Dès lors, dans le menu Éditer, de nombreuses fonctionnalités apparaissent pour créer ou modifier des objets géographiques liés au vecteur sélectionné.

Pour ajouter l’objet géographique : Éditer > Ajouter une entité, on peux désormais dessiner la géométrie de l’objet que l’on souhaite représenter dans le vecteur A. Pour être précis en suivant le contour d’un vecteur pré-existant affiché dans QGIS, on peut s’aider du mode accrochage dans Préférences > Options d’accrochage. Après la finalisation de la forme par le clic droit, QGIS demande d’attribuer des valeurs aux champs du vecteur pour l’objet géographique dessiné. On saisit par exemple « 1 » pour l' »id » et « test » pour le champ texte A1. On enregistre les modifications de la couche et on ouvre la table attributaire liée au vecteur A (sélectionné) en cliquant sur F6 ou Couche > Ouvrir la Table d’Attributs. La figure 2 montre le résultat de la création de l’objet géographique pour le vecteur A :

Figure 2 : Création d’une géométrie et de données attributaires d’un objet géographique.

On réalise le même travail pour le vecteur B avec les champs id et B1.

Pour supprimer un objet géographique, on sélectionne l’entité géographique soit directement sur l’interface cartographique ou par la table attributaire, on passe en mode édition puis Éditer > Supprimer les entités sélectionnés ou cliquer sur l’icône représentant une poubelle rouge. On enregistre les modifications de la couche.

3. Ajout et modification de champs et de données attributaires d’un objet géographique

Afin de compléter la donnée spatiale, on décides d’ajouter des informations pour tous les objets géographiques. On créé donc un nouveau champ dans la table attributaire du vecteur sélectionné. Pour cela, deux options sont possibles : la plus directe est de cliquer sur l’icône mis à disposition dans l’en-tête de la table attributaire Ajouter un champ ou Ctrl+w et l’autre solution est d’ouvrir la calculatrice de champ Ctrl+i (ou en cliquant sur l’icône). Comme lors de la création du vecteur, on définit un nom de champ, un commentaire (facultatif), un type de donnée (texte, entier, décimal, date).

Pour ajouter ou modifier des données attributaires dans les champs pour chaque objet géographique, on bascule en mode édition. Puis, si la saisie est rapide, on écrit directement la donnée dans la table attributaire. Par contre, si la saisie est complexe (formule, statistiques) et qu’elle porte sur de nombreuses données, on utilise la calculatrice de champ.

Dans cette dernière, on traite soit toues les données liées à un champ ou les données des objets sélectionnés, puis on met à jour les valeurs du champ par une expression ou une fonction. Le choix des composants de l’expression afin de mettre à jour les valeurs attributaires est important. On peut tester cette calculatrice pour mettre à jour un champ, il faut faire attention à ce que le résultat de ton expression corresponde au type de donnée. Par exemple, il est impossible de saisir un texte dans un champ de type date.

4. Modification de la géométrie d’un objet géographique

Considérons que l’objet géographique a évolué dans l’espace depuis sa création. Par exemple, les zonages du Plan Local d’Urbanisme d’une commune doivent être modifiés après révision. Basculons en mode édition pour le vecteur concerné. Dans le menu Éditer, il existe de nombreuses fonctionnalités pour modifier la géométrie d’un objet ou de plusieurs objets géographiques. Je te laisse tester les différentes fonctionnalités. Ici, j’utilise Outil de nœud qui permet de mettre en évidence tous les sommets de l’objet géographique. Ainsi, en sélectionnant un sommet, on peut le déplacer à la main ou même modifier directement les cordonnées x, y du nœud dans l’éditeur de sommet (figure 3).

Figure 3 : Utilisation de l’outil de nœud pour modifier la géométrie d’un objet géographique.

5. Copie et fusion des objets géographiques et de leurs attributs

Entre nous, on s’accorde à penser que les objets géographiques des vecteurs A et B sont magnifiques… mais il serait préférable que l’objet du vecteur B soit intégré dans le vecteur A. A titre d’exemple, une zone humide contient un ensemble de sections cadastrales qui définissent les entités géographiques de la couche. La zone, après étude, est agrandie et on décide alors d’y ajouter deux sections supplémentaires en copiant les entités issues du vecteur de la base cadastrale.

Dans QGIS, on bascule en mode édition pour les deux vecteurs, on sélectionne l’objet à copier puis Éditer > Copier les entités ou Ctrl+c. On sélectionne le vecteur où l’on veut coller l’objet et on colle l’objet avec Éditer > Coller les entités ou Ctrl+v. Cette fonctionnalité colle seulement l’entité géographique et non les valeurs attributaires.

Ensuite, il est possible de fusionner la géométrie de plusieurs objets d’un même vecteur en gardant les valeurs attributaires d’un seul objet. On sélectionne les objets à fusionner puis Éditer > fusionner les entités sélectionnées. De la même manière, il est aussi possible de fusionner les attributs des entités sélectionnés.

Enfin, la fusion de plusieurs vecteurs avec la même projection est relativement simple : Vecteur > Outil de gestion des données > Fusionner des couches vecteur. On choisit les couches à fusionner puis on les charge et/ou on les enregistre dans un nouveau vecteur. Cette fusion aura pour conséquence d’agréger l’ensemble des objets géographiques et tous les champs de chaque vecteur.

6. Cartographie de l’espace de travail

Il est temps à présent de s’intéresser à la production cartographique. Le travail d’édition des données spatiales est terminé et il faut donc présenter une cartographie cohérente avec un maximum d’éléments. On n’oublie pas le fameux acronyme TOLE : Titre, Orientation, Légende et Échelle pour agrémenter la carte. D’ailleurs, ces quatre éléments nous permettront de considérer les principaux composants de l’impression cartographique de QGIS.

Dans le logiciel, on créé un composeur d’impression : Projet > Nouveau composeur d’impression ou Ctrl+p si le composeur n’est pas créé et on le nomme. Dans la nouvelle fenêtre, tous les éléments à ajouter sont dans le menu de la Mise en page ou correspondent à des icônes. Après leur ajout, ils sont paramétrables dans les propriétés de l’objet à condition que ce dernier soit sélectionné.

  • la carte : Ajouter une nouvelle carte. L’échelle d’affichage des éléments de la carte est réglable avec les différents zoom ou directement dans les propriétés.
  • le titre : Ajouter une nouvelle étiquette. il est possible de modifier la police du texte, les couleurs du cadre, du fond, de réaliser des effets de transparence, etc.
  • l’orientation : Ajouter une image. QGIS possède de nombreuses images en format svg et notamment des flèches indiquant les points cardinaux. Le chemin ressemble à cela : C:/Program Files/QGIS 2.18/apps/qgis/svg/arrows/ .
  • la légende : Ajouter une nouvelle légende. Les objets de la légende sont modifiables en décochant la mise à jour auto. Comme pour l’étiquette, il est possible de choisir la police du texte, les couleurs, etc.
  • l’échelle : Ajouter une nouvelle échelle graphique. La barre de l’échelle est configurable en saisissant le nombre de segments à apparaitre à gauche et à droite. Surtout, le choix de l’unité de la barre d’échelle est primordiale.

Aussi, il est possible d’ajouter des éléments de la table attributaire, des flèches, des formes, de grouper des éléments, etc.

Pour finaliser, dans le menu Composeur, après avoir défini la mise en page (A4, A5, etc), on peut directement imprimer la cartographie ou l’exporter en différents formats comme le format pdf, jpeg et autres. Pour réutiliser cette mise en page ou concevoir une charte graphique par exemple, on enregistre l’état du composeur avec ses éléments comme modèle (extension *.qpt). Ce dernier peut être chargé dans un autre composeur d’impression.

Par extension, une automatisation de la production cartographique de plusieurs vecteurs est aussi programmable grâce à la fonctionnalité Atlas. Cette dernière fera l’objet d’un prochain billet. Ainsi, on peut dire que le composeur d’impression de QGIS est relativement puissant et offre un large panel de paramétrages de ses composants pour obtenir une carte magnifique (figure 4)!

Figure 4 : Exemple de cartographie créé avec le composeur d’impression de QGIS.

En conclusion, le logiciel open source QGIS offre de nombreuses fonctionnalités pour le traitement des géométries et des valeurs attributaires des objets géographiques d’un vecteur. Ce tutoriel nous a montré les bases pour créer, modifier et supprimer des données vectorielles à l’aide du logiciel SIG.

De nombreux géo-traitements existent afin d’obtenir les données souhaitées répondant à des applications spécifiques. La manipulation de grande quantité de données nécessite d’aller plus loin dans l’exploitation de QGIS afin notamment d’automatiser certains traitements.

Taggé , , , , , .Mettre en favori le Permaliens.

A propos Florian Delahaye

Fondateur et Administrateur de Geomatick. Consultant en Géomatique. Docteur en Géographie, Spécialités en SIG et Télédétection.

Une réponse à QGIS : Créer, modifier et supprimer les géométries et les attributs des objets géographiques d’un vecteur

  1. Robin dit :

    Bonjour,
    Merci pour vos explications ! J’ai besoin d’une petite précision : quand je déplace un objet ou que je veux le remodeler, mes noeuds se calent directement sur ceux de l’objet voisin, et je ne peux donc pas les remodeler à ma façon. Pouvez vous m’aidez ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *