Joindre des données

La réalisation de traitements géomatiques sur des couches différentes, dont l'une d'elle n'est pas géoréférencée, implique de pouvoir indiquer au système comment les couches peuvent être reliées entre elles, l'information qu'elles partagent.

Par exemple, on peut chercher à joindre des données statistiques à une couche administrative (quartiers, communes, dépatements...) ou rechercher les éléments communs à deux couches spatiales (les communes à la fois en zone de risque d'inondation et de risque industriel). Dans le jargon des bases de données, on appelle ces relations des jointures.

Dans les SIG, on peut donc réaliser deux types de jointures :

  • les jointures attributaires, un attribut est commun entre les couches à relier (généralement des identifiants comme les géocodes)
  • les jointures spatiales, où une caractéristique géographique va servir de relation : contiguité, superposition, proximité ou distance...

Jointure attributaire : ajouter des attributs à une couche spatiale

Très souvent, les couches de données spatiales ne sont fournies qu'avec des attributs simples, des identifiants. Pour effectuer des traitements, par exemple avec des données statistiques, puis les représenter sous forme de carte, il faut donc relier ces données géographiques avec des données statistiques, qui sont, elles fournies sous la forme de tableaux alphanumériques simples (XLS, CSV...).

La jointure attributaire va permettre de demander à QGIS de recopier les données d'une table alphanumérique dans la table attributaire d'une couche spatiale, en utilisant une colonne d'identifiant commune aux deux couches de données.

Attention : Cette opération ne peut donner de bons résultats que si les conditions suivantes sont réunies :

  • Les champs contenant les identifiants sont de même type dans les deux sources de données (numérique / texte notamment).
  • Les données tabulaires correspondent à tout ou partie des entités de la couche géographique (il peut y avoir des manques ou des surplus, d'un côté ou de l'autre).

Pratique avec QGIS : ajout d'informations sur les emplois à la couche des EPCI

  • Charger la couche (si elle ne l'était pas déjà) vectorielle des EPCI de Midi-Pyrénées : ecoles_mp.shp

    • Menu Couche / Ajouter une couche / Vectorielle
  • Ouvrir le fichier CSV (texte délimité, comme précédemment dans le chapitre sur l'acquisition, mais sans colonnes de coordonnées lat/long, cette fois) : EPCI_nb_emplois_evo_2007-2012.csv (Notez la page de code du fichier source : macintosh et d'un fichier .CSVT qui définit les types des champs de ce fichier CSV).

    • Menu Couche / Ajouter une couche / Texte délimité Ouvrir texte délimité simple
  • Dans les propriétés de la couche EPCI_mp (clic droit sur la légende), réaliser la jointure avec ce fichier, en utilisant les géocodes : EPCI = ID, comme sur l'image ci-dessous. Notez le paramètre qui permet de définir le préfixe ajouté aux nouveaux champs (ici, aucun, les noms des champs de la source tabulaire sont assez explicites sans préfixe).

Propriétés table EPCI, jointure emplois CSV

On peut vérifier la présence des nouvelles données attributaires en affichant la table :

Table attributs des EPCI après la jointure des emplois

Attention : ces nouvelles données attributaires, ajoutées à la table des EPCI, ne le sont qu'en mémoire dans le projet QGIS en cours. Si vous voulez retrouver ces données sans avoir à réétablir la jointure, il faut enregistrer le projet ou, plus définitivement, enregistrer la couche EPCI sous un autre nom pour écrire les données sous la forme de fichiers.

Nous verrons les jointures spatiales dans le cadre des requêtes, un peu plus loin dans la formation.