TP4 DataViz: Données spatiales avec D3.js

Université Lyon 1, Master 2, 2016

Objectif du TP

1. Réaliser une carte de la grippe en France en novembre 2014 similaire à celle ci-dessous.

1. Chargement du fond de carte

Charger le fond de carte des anciennes régions françaises avec D3.js. Voir l'exemple vu en cours.

L'exemple du cours utilise une projection Américaine. Changer sur une projection plus générique comme d3.geo.conicConformal. Nous utilisons la v3 de D3.js la page de référence sur les projections est ici.

Positioner la carte sur la France, en utilisant la projection suivante : d3.geo.conicConformal().center([2.454071, 46.279229]).scale(3000);

2. Chargement des données

Charger les données de grippe de 2014. En vous inspirant du code vu en cours les afficher sur la carte (voir la structure ci-dessous). Utiliser fill pour colorer chaque région selon l'intensité de la grippe.

Utiliser la dernière colonne du tableau CSV, somme2014, pour avoir l'intensité totale de la grippe sur 2014.
var dataValue = parseFloat(data[i].somme2014);


d3.csv("GrippeFrance2014.csv", function(data) {
    color.domain([0, 2000]);

    d3.json("regionsFrance.json", function(json) {
      //On fusionne les donnees avec le GeoJSON
      for (var i = 0; i < data.length; i++) {
      ...
      }

      svg.selectAll("path")
      ...
        .style("fill", function(d) {
              var value = d.properties.value;
              ...
      });
    });
});
					

3. Calcul sur les données à afficher

data[i]["01/06/14"] permet d'accéder à l'intensité de la grippe pour la région i au 1er juin 2014. Au lieu d'utiliser data[i].somme2014, faites la somme des colonnes de novembre 2014, et afficher cette valeur sur la carte.

Ajuste les couleurs au besoin.

4. Tooltip

En vous inspirant du block suivant ajouter un tooltip avec le nom et la valeur de la région.

À suivre...

La semaine prochaine nous ajouterons un slider nous naviguer entre les différents mois.

Rendu pour ce TP

Vous pouvez discuter entre vous, mais le travail se fait et se rend individuellement. Soumettre en fin de séance l'URL de votre blockbuilder qui contient le code en utilisant le formulaire suivant.