Problématique du jour
On dispose d’une couche de données géographique présentant les bâtiments remarquables d’un territoire. Les données attributaires décrivant ces bâtiments ne contiennent pas d’information concernant leur commune d’implantation. Or c’est une information qu’on aimerait pouvoir exploiter au sein de la couche des bâtiments remarquables.
On dispose également d’une deuxième couche de données géographique listant les communes du territoire au sein desquelles sont implantés ces bâtiments, leur nom et leur code INSEE.
Nous allons joindre à chaque objet de la couche des bâtiments remarquables les informations de la couche des communes qui leur sont relatifs grâce à un recoupement selon leur implantation géographique.
→ c’est ce qu’on appelle en SIG, une jointure spatiale !
Les pré-requis
Ce tutoriel admet donc comme pré-requis :
l’installation préalable du logiciel SIG QGIS,
Pour consulter la page (en français) du projet QGIS → Bienvenue sur le projet QGIS !
Pour télécharger le logiciel QGIS, pour Windows, Linux, Mac… → Télécharger QGIS
Pour consulter toute la documentation QGIS, utilisateurs et développeurs → DocumentationQGIS
la détention de deux jeux de données disposant d’une relation géographique.
Le format de données n’a pas d’importance, cela peut être des fichiers shape, MapInfo, des données issues de SGBD tel que PostgreSQL/PostGIS… toute donnée gérée par QGIS.
Suivre le tutoriel pas à pas…
Étape 2 : Afficher les couches de données
Ajouter les 2 couches de données spatiales au format vectoriel.
Pour ce tutoriel, nous ajoutons deux couches au format shape : « BatiRemarquable.shp » et « CadastreCommune.shp ».
Mais cela fonctionnera de manière identique avec des données issues de fichiers MapInfo, ou de bases de données spatiales gérées par QGIS telles que PostGIS, Spatialite, Sql Server, Oracle.
Dans la barre d’outils permettant d’ajouter de nouvelles couches de données, cliquer sur le bouton « Ajouter une couche vecteur »
Étape 3 : Sélection des couches de données
Dans la fenêtre « Ouvrir une couche de vecteur gérée par OGR » :
- Parcourir vos dossiers et fichiers et sélectionner les deux couches de données à afficher dans QGIS (pour cet exemple « BatiRemarquable.shp » et « CadastreCommune.shp »),
- « Nom du fichier » : le ou les fichiers choisis doivent être listés,
- Utiliser l’option « Type de fichier » permet de réduire l’affichage des fichiers à ceux qui correspondent à ce type. C’est pourquoi, nous avons sélectionné ici « ESRI Shapefiles (*.shp *.SHP) »,
- Puis cliquer sur « Ouvrir »
Étape 5 : Affichage des couches de données
Les couches de données « BatiRemarquable.shp » et « CadastreCommune.shp » s’affichent dans la fenêtre de visualisation cartographique de QGIS.
Paramétrer éventuellement leur affichage pour une meilleure visualisation : ordre des couches, symbologie…
Consulter les données attributaires :
1. Dans le volet « Couches » → sélectionner la couche de données dont on souhaite afficher les données → cliquer sur le bouton de menu « Ouvrir la table d’attributs »
2. Dans le volet « Couches » → effectuer un clic-droit sur la couche de données dont on souhaite afficher les données → cliquer sur « Ouvrir la table d’attributs »
La consultation des données attributaires de la couche de données « BatiRemarquable.shp » nous montre qu’elle ne dispose que de deux champs : « Id » et « Nature ». Elle ne contient pas d’informations attributaires relatives à la commune d’implantation de ces bâtiments, informations présentes au sein des données attributaires de la couche « CadastreCommune.shp ».
Étape 6 : Paramétrer la jointure des données
Dans le menu principal, aller dans « Vecteur » → « Outils de gestion de données » → « Joindre les attributs par localisation »
Dans la fenêtre « Joindre les attributs par localisation »…
« Indiquer une couche vecteur » : choisir la couche de données en entrée qui va servir de base à la jointure, celle à laquelle on souhaite joindre des données et dont les objets géographiques seront conservés.
Pour ce tutoriel, ce sera la couche de données « BatiRemarquable.shp »
« Joindre la couche vecteur » : sélectionner la couche dont on souhaite joindre les champs à la couche de données en entrée.
Pour ce tutoriel, ce sera la couche de données « CadastreCommune.shp »
« Résumé de l’attribut » : ce paramètre décrit la manière dont les données de la couche jointe sont ajoutées à celles de l’objet qui est en entrée.
Il peut exister plusieurs relations entre ces deux couches de données :
- « 1 → 1 » : pour un objet de la couche en entrée, il ne peut exister qu’un seul objet ayant une correspondance géographique au sein de la couche jointe.On choisira alors la valeur « Prendre les attributs de la première valeur localisée » car effectuer un résumé statistique à partir d’une seule valeur produira les mêmes valeurs.
- « 1 → : 1..n » : pour un objet de la couche de données en entrée, il peut exister 1 ou plusieurs objets ayant une correspondance géographique au sein de la couche jointe. On a alors deux possibilités :
- « Prendre les attributs de la première entités localisées » : pour chaque objet de la table en entrée, les attributs de la première entité ayant une correspondance géographique au sein de la table à joindre seront joints,
- « Prendre un résumé des entités intersectées » : pour chaque entité de la couche en entrée, un résumé statistique correspondant à la formule sélectionnée (moyenne, médiane, somme, valeur mini ou maxi) des valeurs des champs rencontrées pour tous les objets ayant une correspondance géographique au sein de la couche jointe est créé.
- « 1 → 0 » : pour un objet de la couche en entrée, il n’existe pas d’objet au sein de la couche jointe qui a une relation spatiale. Aucune donnée ne sera jointe à la couche de données entrée.
« Fichier de sortie » : parcourir vos dossiers et enregistrer le chemin et le nom d’un nouveau fichier shape qui contiendra les données – objets géographiques + données attributaires liées – complètes de la jointure.
Quelle que soit la source des données (fichier SIG, base de données spatiale), le fichier de sortie sera un shapefile.
Dans le tutoriel, le nouveau fichier shape créé est appelé « BatiRemarquableComplet.shp »
« Table en sortie » : s’il est possible qu’un objet de la couche en entrée ne trouve pas d’objet lui étant lié géographiquement au sein de la couche jointe, on peut :
- ne pas conserver cet objet au sein du fichier de sortie contenant la jointure → choisir l’option « ne conserver que les enregistrements correspondants »,
- conserver malgré tout cet objet. Les nouveaux champs joints auront des valeurs NULL → choisir l’option « conserver tous les enregistrements (même ceux sans correspondance) ».
Lorsque la jointure est paramétrée → cliquer sur « OK »
Étape 7 : Afficher les données issues de la jointure de données
Normalement, lors de la validation de la jointure spatiale, QGIS propose d’afficher immédiatement la nouvelle couche de données issue de la jointure de données dans l’interface cartographique.
S’ouvre donc une fenêtre « Jointure spatiale » qui propose d’ajouter la nouvelle couche dans la session actuelle.
Il est donc possible d’afficher immédiatement la nouvelle couche en cliquant sur « Oui ».
Si QGIS ne propose pas automatiquement l’affichage de la nouvelle couche issue de la jointure, suivre la procédure classique d’affichage d’un shapefile, décrite à l’étape 2 de ce tutoriel.
Étape 8 : Vérification de la jointure
Vérifier visuellement par navigation au sein de la fenêtre cartographique que les objets géographiques sont bien présents au sein de la nouvelle couche de jointure.
Ouvrir les données attributaires de la couche créée par la jointure – ici « BatiRemarquableComplet.shp » – et vérifier que les données attributaires de la couche jointe – ici, celles relatives aux communes d’implantation des bâtiments – sont bien présentes.
On constate que les champs « Identifiant », « Libelle », « CodeInsee », « Statut » et « Population » de la couche de données « CadastreCommune.shp » ont été joints aux objets de la couche « BatiRemarquable.shp » par correspondance géographique.
Ce tutoriel est terminé !!
La couche SIG « BatiRemarquable » dispose désormais d’informations attributaires concernant leur commune d’implantation grâce à une jointure spatiale effectuée avec la couche « CadastreCommune ».
Cette manipulation a été effectuée grâce aux outils de gestion de données et à la fonctionnalité de jointure spatiale du logiciel SIG QGIS.
Vous avez aimé ?
Alors dites-le avec des , des likes, des tweets, des shares et des commentaires … !
On vous gâte…
Toujours + de tutoriels Impuls’Map !!
Tutoriel video by Impuls’Map pour apprendre à créer une carte web interactive, à partir de la librairie javascript Leaflet et exploitant des données geojson stockées dans des fichiers externes
Grâce à ce tutoriel, vous allez apprendre à créer un trigger pour pouvoir enregistrer et suivre les mises à jour effectuées au sein d’une base de données PostgreSQL. Et comme Impuls’Map est dédié aux SIG, nous effectuerons ce tutoriel au sein d’une base de données détenant l’extension spatiale PostGIS et à partir de données à dimension géographique, exploitables dans un SIG.