cartes et path

Départements de France

Ce fichier donne le code SVG d'une représentation des départements de la France.

Un département survolé à la souris est coloré en rouge.

  1. Cherchez d'abord à comprendre quelle partie du code de cette page permet de colorer en rouge chaque département lors de son survol par la souris.
  2. Apportez des modifications à ce fichier pour que le Département de l'Ain soit coloré en vert lors de son survol.
  3. Ajoutez l'affichage du nom du département de l'Ain (le texte s'affichera dans le dessin du département).

Code permettant la coloration en rouge

C'est la règle CSS :

path:hover {
      fill: red;
      stroke: red;
    }

qui permet cette coloration en rouge du contenu d'un chemin lors de son survol par la souris.

Code pour colorer en vert le Département de l'Ain

On a ajouté un identifiant au path définissant les frontières de l'Ain (id="Ain"). On trouve facilement ce path en faisant une recherche sur data-num="01" dans le fichier. Puis on a ajouté une règle CSS qui s'applique au survol (:hover) de l'élément d'identifiant "Ain".

Le code CSS :

 #Ain:hover {
      fill: green;
      stroke: green;
    }

Le fichier modifié.

Ajout du nom du département

On peut ajouter dans l' élément svg :
code svg

Le fichier modifié (le code svg ajouté se trouve en fin d'élément svg).

On peut également utiliser snap.svg (si l'on veut éviter de modifier le code de la figure) en ajoutant par exemple en bas de page :
code snap

Le fichier modifié.

Régions de France

Ce fichier donne le code SVG d'une représentation des départements de la France.

Au survol d'un département, son numéro (et son nom lorsqu'il s'agit d'un département de la région Auvergne Rhône Alpes) est affiché.

Compléter le code pour que le nom de la région Auvergne Rhône Alpes s'affiche également pour les départements concernés.

Le script qui permet l'affichage est en fin de fichier.

L'événement DOMContentLoaded est déclenché lorsque le document HTML initial a été complètement chargé et analysé. La fonction, second paramètre de document.addEventListener, est alors exécutée.

Cette fonction déclenche des événements sur les éléments path : lors du survol de la souris (événement mouseover), les contenus html des éléments span sont redéfinis.

Ce fichier présente un script modifié, ainsi que l'ajout d'une balise span dans la partie html et l'ajout d'un attribut class de valeur AuvergneRhoneAlpes pour les départements concernés. Ces modifications (vos choix peuvent être différents bien entendu) permettent l'affichage du nom de la région pour les départements d'Auvergne-Rhône-Alpes.

Carte choroplèthe

Quelques données sur la population de la région Auvergne-Rhône-Alpes (données INSEE 2013 ) :

  1. Ain : 619 497
  2. Ardèche: 320 379
  3. Allier : 343 431
  4. Cantal : 147 035
  5. Drôme : 494 712
  6. Haute-Savoie : 769 677
  7. Haute-Loire : 226 203
  8. Isère : 1 235 387
  9. Loire : 756 715
  10. Puy-de-Dôme : 640 999
  11. Rhône : 1 779 845
  12. Savoie : 423 715

Ce fichier donne le code SVG d'une représentation des départements de la France.

Écrire un script qui permettra de griser les départements de la région, l'intensité de gris étant proportionnelle à la population.

On s'inspirera des données data-num inscrites dans les balises pour créer des data-population qui serviront à inscrire dans le code du path concerné l'effectif de population indiqué ci-dessus.
Lisez cette page pour mieux saisir de quoi il retourne.

Intensité du gris en hsl

Pour régler l'intensité de gris, on peut utiliser le codage HSL des couleurs.

Ceci nous amène à tenter de définir le pourcentage de la composante l à l'aide du pourcentage de la population du département par rapport à celle de la région.

On utilisera donc le rapport \( \frac{\text{population du département}}{\text{population de la région}} \) et plus précisément (pourcentage) la valeur \(100 \times \frac{\text{population du département}}{\text{population de la région}} \) pour la composante l.

Mais comme on le voit sur les exemples ci-dessus, cela nous amènerait à foncer les départements les moins peuplés, ce qui est contraire aux habitudes.

On utilisera donc plutôt \(100 - 100 \times \frac{\text{population du département}}{\text{population de la région}} \).

Intensité du gris en rgb

Vous pourrez aussi tester avec du code rgb.

Premier essai pour griser les départements

Ce fichier vous propose une première solution (script en fin de fichier).

Second essai pour griser les départements

On peut reprocher à la tentative précédente d'afficher des niveaux de gris trop proches.

Pour éviter cela, on force la plage [niveau min de gris, niveau max de gris] à s'étendre sur toute la plage [0;100]. On marque ainsi plus nettement les variations.

Ce fichier vous propose une solution (script en fin de fichier).

Remarques :

  • les différences sont mieux marquées, mais on pourrait aussi penser qu'elles sont "trop" marquées. C'est là un thème important en représentation de données : choisir l'échelle ne doit pas se faire aux dépends de l'information, cela ne doit pas fausser l'impression visuelle. L'équilibre entre un choix assez net visuellement et un choix donnant une impression fidèle à la réalité est assez difficile à réaliser (d'autant plus qu'il est subjectif).
  • On peut facilement remplacer les niveaux de gris par des niveaux de bleu (ou autre). Un fichier avec niveaux de bleu : la seule modification est dans le code de la dernière ligne hsl(....