Code Monkey home page Code Monkey logo

qgis-csv-color-map's Introduction

qgis-csv-color-map

###Colorer une carte avec des données CSV (LibreOffice et QGIS).

Lier des données tabulaires avec des données géographiques c'est une demande récurrente dès lors qu'une organisation gère un térritoire que ce soit au niveau local ou national.

Les exemples sont innombrables cela peut aller de la réprésentation de la délinquance, de phénomènes climatiques, des résultats d'élections ou encore de l'implantation d'unités. En fait tout phénomène qui peut être rattaché à un échelon territorial existant (commune, département, région...)

Ce tutoriel vous explique comment, à partir d'un fichier CSV comprenant une colonne département et une colonne compte, on peut facilement colorer une carte dans QGIS.

Pour le tester il suffit de télécharger le projet et d'ouvrir le fichier color_zones.qgs.

Préparatifs

La première étape est de disposer d'un fichier CSV comprenant les données que l'on souhaite représenter, soit une colonne de référence (j'ai pris les départements pour cette démo) et une colonne qui représente une somme (pour chaque département).

La seconde étape est de trouver un fichier géographique, un fichier shapefile (.shp) par exemple, qui contient la donnée de référence, dans notre exemple : les numéros de département.

Cela peut être décliné à l'infini à condition de pouvoir faire correspondre la données CSV et la donnée géographique, c'est à dire de pouvoir faire une jointure entre les deux fichiers.

Ouvrir le fichier de forme

Le fichier de forme (shapefile) est dans le répertoire datas (en fait plusieurs fichiers). Pour l'ouvrir soit vous déposez le fichier .shp dans l'application QGIS (glissé déposé), soit vous utiliser le bouton "ajouter une couche vecteur".

Le rendu est la carte des déparements sans couleur, sans étiquette.

Ouvrir le CSV

Pour ouvrir le csv, passez par le bouton "ajouter une couche de texte délimité" Renseigner les bon paramètres et cliquer sur le bouton radio "pas de géométrie" Vous pouvez également cocher "surveiller le fichier" si vous souhaitez pouvoir rafraîchir dynamiquement la carte quand le contenu du CSV change.

Le csv apparaît dans la liste des couches. Pour le moment les données ne sont pas visibles.

Ensuite il faut créer la jointure entre ce fichier et le fichier géographique.

Créer une jointure dans le fichier de forme

Cliquer sur propriétés du fichier de formes et aller dans jointures. Cliquer sur "+" en bas à droite et sélectionner le fichier csv et les deux colonnes de jointure (département).

Vérifier que la jointure est bien faite en ouvrant la table d'attibuts.

Enfin, créer un champ virtuel pour gérer les null dont la valeur n'est pas interprêtée au moment de la définition des styles et de l'étiquetage.

Toujours dans les propriétés de la couche DEPARTEMENT, aller dans Champs puis on clique sur éditer et enfin du calculatrice de champ.

Cliquer sur créer un champ virtuel, nom du champ : "total", type entier et fonction :

CASE WHEN  "ctr_dpt_Sum - COMPTE"   IS NULL 
THEN  0
ELSE  "ctr_dpt_Sum - COMPTE" 
END

Soit :

Cliquer sur ok et vérifier la présence de la nouvelle colonne "total" et des valeurs récupérées (plus de null en l'occurrence).

Ajouter le style

Nous souhaitons colorer des zones en fonction des valeur de la colonne total.

Pour cela, propriété du fichier de forme et cliquer sur style. Dans la liste déroulante du haut choisir gradué (cela implique d'utilier une colonne de type entier). Choisir la colonne total puis la palette souhaitée et enfin le mode de distribution (quantile par exemple) puis cliquer sur classer.

Ce qui donne :

Il ne reste plus qu'à étiqueter.

Etiqueter

Toujours dans les propriétés de la couche, aller dans "Etiquettes" puis lister les champs disponibles et choisir celuis que l'on souhaite afficher, le champ "total" dans notre exemple.

Et voilà...

Ressources

Discussions, S.A.V.

Pour discuter de ce tutoriel vous pouvez nous retrouver sur le forum de la CIMI (accessible sur le réseau du MININT).

qgis-csv-color-map's People

Contributors

eric-pommereau avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.