Où se promener
  • Visualisation des données
  • Rapport

Désolé, il n'y a pas de données disponibles pour cette période

Polluant(s) :

    Qualité de l'air :

    Emoji corresponding to grade

    Interprétation :

    Introduction

    Ce projet a été réalisé dans le cadre de l'enseignement du Challenge Open Data codirigé par Renaud BLANCH et Sylvain BOUVERET. Notre équipe de cinq étudiants est constituée d'Arthur SARRY, Aurélien VILMINOT, Damien CLAUZON, Laure CERUTTI et Maxime NEMO.
    Vivant dans l'agglomération grenobloise, souvent décrite comme trop polluée, nous avons choisi pour ce projet de représenter la pollution atmosphérique de différentes villes françaises. Cette démarche s'inscrit dans une problématique de développement durable et sociétal.

    Jeux de données

    L'ensemble des jeux de données utilisés sont sous la licence open. Nous avons récupéré ceux-ci auprès d'institutions gouvernementales et allons utiliser les données suivantes pour construire notre application :

    1. Concentrations des polluants - Lien
      La surveillance de la qualité de l'air est gérée par les associations agréées de la surveillance de la qualité de l'air (AASQA) effectuant des relevés réguliers des différents composants dans l'air. Les données disponibles par ces processus sont des données horaires issues d'analyseurs automatiques. Les concentrations des polluants atmosphériques suivants sont mesurées :
      • Ozone (O3)
      • Monoxyde d'azote (NO)
      • Dioxyde d'azote (NO2)
      • Dioxyde de soufre (SO2)
      • Particules de diamètre inférieur à 10 µm (PM10)
      • Particules de diamètre inférieur à 2,5 µm (PM2.5)
      • Monoxyde de carbone (CO)
      Pour certaines stations, il est possible que certains polluants ne soient pas mesurés. Comme indiqué précédemment, les données sont actualisées en temps réel toutes les heures. Néanmoins, pour les besoins de ce projet, nous avons fait le choix de ne télécharger qu'une partie de ces données, à savoir sur le mois de janvier 2022. Sur cette même base de données, nous avons également récupéré un fichier permettant de faire le lien entre une station et ses coordonnées GPS afin de pouvoir la positionner sur la carte.
    2. Aéroports français - Lien
      Ce jeu de données nous permet de connaître les coordonnées géographiques des aéroports français recevant un trafic commercial significatif, c'est-à-dire supérieur à 2000 passagers. Il permet également de connaître la région et la ville desservies pour chacun des aéroports.
    3. Découpage administratif - Lien
      Ce jeu de données est exploitable sous la forme d'API. Il permet de faire le lien entre des coordonnées GPS et le nom de la ville, du département ainsi que de la région concernée. Ainsi, pour chaque station de mesure, nous avons utilisé un script Python récupérant les données associées via cette API. Cela nous permet de pouvoir faire un menu déroulant pour sélectionner la station souhaiter ainsi que de faire une recherche par ville et/ou par département.

    Traitements effectués

    Ces étapes sont toutes réalisées en Python.

    1. Nettoyage des données
      Nous opérons en premier lieu un prétraitement des données. En effet, les fichiers fournis sont assez volumineux (10 Mo) et dépassent individuellement la limite imposée pour le projet. Ils présentent également des informations redondantes et une granularité dont nous n'avons pas l'utilité. Par exemple, une prise de mesure est effectuée chaque heure pour chaque station et pour chacun des polluants qu'elle est capable de capter. N'ayant besoin que d'une mesure par jour, nous en tirons une moyenne, une médiane, un écart-type ainsi qu'une valeur minimale et maximale. Nous gardons avec cela l'identifiant de la station, son nom et les unités utilisées. Ces opérations nous permettent de réduire la taille des fichiers à 135 Ko environ.
      Nous établissons également une liste des stations rencontrées avec leur identifiant et leurs coordonnées que nous utilisons lors de l'étape suivante.
    2. Mise en relation avec d'autres jeux de données et association d'un ou plusieurs aéroports aux stations.
      Certaines informations intéressantes ne sont pas présentes dans le premier jeu de données telles que les coordonnées GPS des stations ainsi que la ville et le département dans lesquels elles se trouvent. Grâce à l'identifiant de la station, nous retrouvons, via un autre fichier de la même base de données, les coordonnées de chaque station. Cela nous permet par la suite de mettre celles-ci en relation avec l'API de découpage administratif afin d'obtenir une ville et un département correspondant.
      Nous avons également pensé qu'il serait intéressant de mettre en relation les stations avec des aéroports dont elles seraient proches puisque ceux-ci sont sources de forte pollution locale. Nous avons pour cela utilisé une autre base de données et avons donc lié chaque station à tous les aéroports situés à moins de 18 km (valeur étant tirée de nos recherches).
    3. Calcul de la note
      Afin de mesurer l'évolution de la qualité de l'air des différentes villes, il était nécessaire d'utiliser un indicateur. Nous avons choisi d'utiliser l'indicateur "ATMO" qui est un indicateur journalier mis en place et utilisé par les associations agréées de la surveillance de la qualité de l'air. Il permet de mesurer la qualité de l'air à l'échelle d'une ville et sur l'ensemble du territoire français : en métropole et en outre-mer. De plus, il fournit des résultats facilement interprétables visuellement pour les utilisateurs puisqu'une note allant de 1 à 6, illustrée à l'aide d'émojis de couleur, peut être calculée chaque jour.
      Afin de calculer cette note, l'indicateur prend en compte la concentration de cinq principaux polluants atmosphériques que sont l'ozone (O3), le dioxyde d'azote (NO2), le dioxyde de soufre (SO2) ainsi que les particules de diamètre inférieur à 10 µm (PM10) et à 2,5 µm (PM2.5). Plus précisément, les maximums horaires d'ozone, dioxyde d'azote et de soufre sont pris en compte tandis que c'est la moyenne journalière qui est prise en compte pour les particules fines.
      Pour chaque polluant, une note allant de "bon" à "extrêmement mauvais" est attribuée puis la note finale est définie comme étant la plus mauvaise note des cinq polluants. Le choix de prendre la note maximale comme finale et non une moyenne des notes peut être justifié par certaines études qui ont montré que ce sont les très fortes concentrations de polluants qui sont les plus dangereuses pour la santé dans la plupart des situations.
      Le tableau utilisé pour le calcul de cette note est décrit ci-dessous. tableau descriptif note
      De plus, nous avons choisi d'ajouter le monoxyde d'azote (NO) dans nos calculs de note, car nous trouvions intéressant de coupler différentes méthodes de calcul de pollution afin d'obtenir des résultats plus précis.
      L'indice ATMO a cependant certaines limites puisqu'il ne prend pas en compte les polluants individuellement et ne tient pas compte des effets dits « cocktails » et l'ensemble des polluants non réglementés, mais présents dans l'air ambiant comme les particules ultra-fines, les pesticides, les pollens… Il s'agit d'une représentation quotidienne simplifiée de la qualité de l'air en situation « de fond », c'est-à-dire éloigné des sources spécifiques de pollution comme les axes de trafic, raison pour laquelle nous avons choisi de représenter des sources de pollutions environnantes comme les aéroports.

    Architecture et technologies

    Le style de la page web a été réalisé avec Bootstrap.

    La carte interactive est faite à l'aide de Leaflet. Elle utilise les données cartographiques sous licence libre provenant de OpenStreetMap. Au vu du grand nombre de stations à afficher, nous avons choisi de regrouper les stations proches, grâce au plugin MarkerCluster, pour faciliter la visualisation des stations et avoir une meilleure vue d'ensemble depuis une vue éloignée de la France.

    La librairie heatmap.js nous a permis d'ajouter une couche interactive permettant de visualiser le niveau de pollution du territoire selon la note journalière calculée précédemment. Elle permet de faire l'interpolation des notes de points relativement proches afin d'obtenir un rendu lissé sur l'ensemble des zones observées.

    Les graphiques en lignes et en barre ont été réalisés à l'aide de Chart.js. Nous avons choisi cette bibliothèque, car elle est très simple d'utilisation et parce qu'elle permet de réaliser la plupart des graphiques envisageables. Afin de ne pas rendre la page trop lourde au chargement, l'objet contenant la charte n'est pas détruit lors d'un changement de données, mais est juste actualisé. Cela permet une meilleure fluidité et ainsi une meilleure expérience utilisateur.

    Les couleurs ont été choisies dans la mesure du possible de façon à être "agréables" pour tous, notamment pour les personnes ayant des troubles de perception des couleurs. Nous avons alors joué sur le choix des palettes de couleurs pour que le site soit encore utilisable en image en nuances de gris pour des besoins d'accessibilité visuelle.

    Comme indiqué précédemment, avons choisi d'utiliser la notation de l'indice ATMO avec des émojis de couleur. Cependant, cet indice ne permet pas d'illustrer l'impact de chaque composant, et nous souhaitions montrer la "responsabilité" de chaque polluant dans la note attribuée à une ville. Nous avons donc choisi de représenter ceci à l'aide d'un PieChart. De nombreux articles font état de la difficulté visuelle à analyser les proportions d'un PieChart pour les utilisateurs néanmoins les valeurs représentées n'ont nul besoin d'être lues précisément pour être comprises. Ce qui nous intéresse à travers ce graphique est de donner à l'utilisateur un ordre de grandeur des concentrations des différents polluants, comme pour permettre de comparer chaque polluant sans avoir à tenir compte des unités respectives.

    Conclusion

    Nous avons analysé notre page web à l'aide du calculateur d'impact GreenIT Analysis. À l'issue de cette analyse, nous avons obtenu la note C. Lorsque nous avons analysé le détail des bonnes pratiques non respectées, nous avons remarqué que certaines n'étaient pas de notre ressort, mais dépendaient, par exemple, de la carte Leaflet.

    Pour aller plus loin dans ce projet, il faudrait avoir accès aux données en temps réel, via une API. Cela permettrait d'avoir des données actualisées, mais aussi accès à une échelle de temps potentiellement bien plus grande. Un second point sur lequel nous pourrions travailler est l'interaction homme-machine. En effet, afin de l'améliorer, il serait possible de proposer une première version à de nombreux utilisateurs et leur demander d'expliquer ce qu'ils ont apprécié, et ce qui ne leur a pas plu. Nous pourrions alors proposer une seconde version actualisée répondant mieux aux besoins réels de ces personnes.

    © Copyright Challenge Open Data 2022
    Arthur SARRY Aurélien VILMINOT Damien CLAUZON Laure CERUTTI Maxime NEMO