PÉTITION "POUR UN AIR PUR À VAL-DAVID"
Tout a commencé avec l'installation d'un capteur de la compagnie IQAir, acquis pour un coût de 500 $. Ce capteur, connecté par câble réseau et installé à l'extérieur selon les recommandations de l'entreprise, a été validé par celle-ci avant le début de la collecte des données. Initialement, l'objectif était de diffuser la mesure en ligne, mais nous avons rapidement rencontré des problèmes.
En effet, la validation des données était faite en fonction des capteurs environnants, notamment des capteurs gouvernementaux, le plus proche étant situé à Mont-Blanc (anciennement Saint-Faustin-Lac-Carré). Ce capteur, comme plusieurs autres au Québec, était positionné loin du périmètre urbain et ainsi des zones habitées, souvent en forêt ou sur une montagne. Cela faussait la mesure locale à Val-David, puisque notre capteur était ajusté en fonction d'une zone beaucoup moins exposée à la pollution urbaine. Ce système de validation, utile en milieu très urbain avec plusieurs capteurs, s'est donc avéré peu pertinent pour notre contexte.
Pour obtenir des données plus fidèles, nous avons décidé de passer à un capteur PurpleAir, qui affiche directement les données brutes sur sa plateforme. Ce système nous a permis un accès plus simple et transparent aux données, ainsi qu'à celles d'autres capteurs standardisés. L'utilisation d'une API pour le téléchargement et l'analyse des données a également facilité notre travail.
Au départ, nous avons comparé ces mesures avec celles des capteurs du Gouvernement du Québec et de la Ville de Montréal pour les années 2022-2024. Cependant, nous avons rapidement constaté que ces capteurs, étant souvent mal positionnés pour mesurer la pollution près des zones habitées, rendaient la comparaison peu pertinente. De plus, ces capteurs utilisent une technologie différente. Nous avons donc laissé tomber l'intégration des capteurs gouvernementaux dans cette analyse et nous nous fions désormais aux capteurs PurpleAir, dont les données sont standardisées, comparables à l'échelle du Québec et leur localisation est beaucoup plus représentative des milieux habités en région.
Pour ce qui est de l'échantillonnage à l'échelle du Québec, nous avons pris en compte environ 60 capteurs Purple Air communautaires (non gouvernementaux) répartis sur environ 45 localités, y compris des villages autochtones du Grand Nord. Bien que l'échantillonnage ne soit pas parfait (il manque plusieurs villes d'importance), il offre un bon début pour comparer Val-David aux différents milieux, des grandes villes aux petites communautés. Nous avons sélectionné les capteurs pour leur constance dans le temps et la qualité des données (écart minimal entre capteur A et B des modules de mesure) ainsi que par leur emplacement à l'intérieur de zone habitées. Le nombre réduit de capteurs dans les grandes villes peut être expliqué par la présence de capteurs gouvernementaux, comme à Montréal, où un suivi de la qualité de l'air est déjà assuré par la municipalité. Cela peut expliquer pourquoi il y a moins de capteurs communautaires dans ces zones. Nous continuons à surveiller la couverture pour refléter au mieux la diversité des environnements du Québec en comparaison à Val-David.
Sur le territoire du Québec, plus de 140 capteurs actifs de qualité de l'air PurpleAir ont été recensés. Grâce à des outils de géomatique, nous avons identifié et extrait ces données en utilisant l’outil de PurpleAir. Toutefois, un filtrage a été nécessaire pour assurer la fiabilité des informations.
En plus des capteurs gouvernementaux et de la Ville de Montréal (voir section précédente), certains capteurs PurpleAir ont été exclus, notamment ceux situés à l’intérieur des bâtiments, ceux dont les données étaient incomplètes ou ceux qui présentaient des écarts trop importants entre les deux capteurs d’une même station (A et B). Chaque station comporte en effet deux capteurs pour valider la précision des mesures.
Après cette analyse et ce filtrage, environ 60 capteurs ont été retenus pour l'analyse selon la periode (voir tableau plus bas).
Les capteurs PurpleAir sont des capteurs optiques, tout comme ceux installés à Saint-Sauveur par le Gouvernement du Québec. Contrairement aux stations officielles plus sophistiquées, les capteurs optiques peuvent être influencés par la présence de gouttelettes d'eau qui peuvent faussement être détectées comme des particules solides. Toutefois, cet effet demeure mineur et ne remet pas en question la validité globale des données recueillies.
Nous utilisons un outil de téléchargement des données PurpleAir, qui nous permet d'extraire une grande quantité de données à faible coût. Ces données, structurées de manière uniforme, facilitent l'analyse avec des scripts Python développés pour traiter et visualiser les résultats sous forme de graphiques et d'indicateurs clairs tout en facilitant la mise à jour.
Nous utilisons l'indice AQI US, qui est largement reconnu dans le domaine. Cet indice repose dans notre cas sur la concentration de particules dont le diamètre est inférieur à 2,5 micromètres (PM 2.5). Ces particules sont environ 30 fois plus petites que l’épaisseur d’un cheveu. L'indicateur PM 2.5 se mesure en microgrammes/mètre cube. Il est à noter que l'AQI US a été mis à jour en été 2024 pour refléter les nouvelles normes américaines. Par exemple, le seuil pour un niveau "bon" a été réduit de 13 à 9 microgrammes/m³. Ces ajustements ont été intégrés dans nos analyses afin de refléter les standards actuels.
Afin de mieux représenter les périodes d'utilisation des foyers au bois, nous avons choisi de diviser l'analyse en saisons froides et saisons chaudes. Cette approche nous permet de mieux visualiser les tendances de pollution en fonction des périodes lors desquelles l'usage du chauffage au bois est plus fréquent. En effet, les foyers sont une source majeure d'émissions de particules fines en hiver, alors que d'autres facteurs comme les feux de forêt ou les feux extérieurs peuvent influencer les niveaux de pollution en été. Cette distinction permet une analyse plus pertinente des données et une meilleure compréhension des sources de pollution.
Toutes les données utilisées pour ces analyses sont accessibles publiquement. Toute personne intéressée à vérifier, valider ou contribuer à l'analyse est invitée à les consulter directement sur cette page. Nous encourageons la collaboration et la transparence dans l'interprétation des données afin d'affiner nos analyses et d'améliorer la compréhension de la situation concernant la qualité de l'air à Val-David.
Carte des capteur Purple Air actifs au Québec. (En vert : capteurs en zone habité, en rouge : non habité et en gris : intérieur)
Classement des capteurs selon la qualité de leurs données.
Nous mettons à disposition les données brutes collectées ainsi que les données structurées et consolidées issues de nos analyses (sous forme de scripts Python et de fichiers CSV). Ces données sont accessibles pour quiconque souhaite les utiliser, que ce soit pour valider nos résultats, approfondir certains aspects ou explorer d'autres pistes d'analyse que nous n'avons pas encore abordées.
Pour accéder aux données, il vous suffit de cliquer sur les dossiers situés juste à côté. Vous pourrez télécharger les fichiers individuels ou l’ensemble du dossier si vous le souhaitez. Les données sont disponibles en lecture seule : vous pouvez les télécharger, mais vous ne pourrez pas les modifier directement sur la plateforme.
Nous avons structuré ces données du mieux que nous le pouvions, en fonction du temps et des ressources dont nous disposions. Toutefois, certains éléments d’automatisation et de mises à jour pourraient ne pas être parfaitement documentés. Si vous avez des questions particulières ou des difficultés à interpréter certains éléments, n’hésitez pas à nous écrire.
Cette série de scripts est utilisée pour traiter et analyser des fichiers CSV contenant des données sur la qualité de l'air. Chaque script exécute une étape spécifique du pipeline de traitement des données, en suivant un ordre logique basé sur la numérotation des fichiers.
Les scripts fournis sont conçus pour fonctionner en mode relatif, ce qui signifie qu'ils pointent vers les fichiers et dossiers en fonction de leur emplacement dans la structure définie. Peu importe l'endroit où ces scripts sont exécutés, ils retrouveront automatiquement les fichiers nécessaires tant que la structure des dossiers et les noms des fichiers restent inchangés.
⚠️ Il est donc crucial de ne pas modifier les noms des dossiers et fichiers, ni leur organisation, sous peine de provoquer des erreurs lors de l'exécution des scripts un coup téléchargés sur votre ordinateur.
1.0 - Ajout du champ ID
Fichier : 1.0-Ajout champs ID.py
Fonctionnalité
Ajoute un champ "ID" à chaque fichier CSV du dossier CSV Brute, basé sur l'identifiant numérique extrait du nom du fichier.
Entrée
Fichiers CSV dans le dossier CSV Brute
Sortie
Fichiers CSV modifiés avec une colonne "ID" dans le dossier CSV avec ID
2.0 - Fusion des fichiers CSV et liste de capteurs
Fichier : 2.0-Fusion CSV et liste capteurs pour download purple air tool.py
Fonctionnalité
Fusionne tous les fichiers CSV du dossier CSV avec ID en un seul fichier consolidé. Génère également un rapport d'importation et un fichier des lignes ignorées.
Entrée
Fichiers CSV du dossier CSV avec ID
Sortie
CSV consolides.csv dans CSV consolides
rapport_importation.csv
lignes_ignorées.csv
3.0 - Ajout des champs temporels
Fichier : 3.0-Ajout champs temporels.py
Fonctionnalité
Ajoute des colonnes temporelles (heure, jour_semaine, mois, annee) en extrayant ces informations du champ time_stamp.
Entrée
CSV consolides.csv
Sortie
CSV consolides temps.csv
4.0 - Correction de l'encodage des noms
Fichier : 4.0-Correction encodage noms.py
Fonctionnalité
Corrige les problèmes d'encodage dans la liste des capteurs pour assurer une lecture correcte des noms.
Entrée
Liste capteurs Purple Air.csv
Sortie
Liste capteurs Purple Air corrige.csv
5.0 - Fusion des noms de capteurs
Fichier : 5.0-Fusion nom.py
Fonctionnalité
Associe les identifiants des capteurs à leurs noms et ajoute cette information dans CSV consolides temps.csv.
Entrée
CSV consolides temps.csv
Liste capteurs Purple Air corrige.csv
Sortie
CSV consolides avec noms.csv
5.1 - Fusion des municipalités et régions
Fichier : 5.1-Fusion municipalite et regions.py
Fonctionnalité
Ajoute les informations sur les municipalités et régions associées aux capteurs.
Entrée
CSV consolides avec noms.csv
Capteur avec municipalites et regions.csv
Sortie
CSV consolides avec municipalite_region.csv
6.0 - Ajout de l'AQI US
Fichier : 6.0-Ajout AQI US.py
Fonctionnalité
Calcule l'indice de qualité de l'air (AQI US) à partir des concentrations de PM2.5 et ajoute cette information aux données consolidées.
Entrée
CSV consolides avec municipalite_region.csv
Sortie
CSV avec AQI_US.csv
6.1 - Moyenne horaire de l'AQI US par municipalité
Fichier : 6.1- Moyenne horaire AQI US par municipalite.py
Fonctionnalité
Calcule la moyenne horaire de l'AQI US pour chaque municipalité.
Entrée
CSV consolides avec municipalite_region.csv
Sortie
CSV avec AQI_US_par_municipalite.csv
7.0 - Moyenne de l'AQI par heure et par capteur
Fichier : 7.0-Moyenne par heure AQI.py
Fonctionnalité
Calcule la moyenne de l'AQI US par heure pour chaque capteur et sauvegarde les résultats par saison.
Entrée
CSV avec AQI_US.csv
Sortie
Fichiers CSV de moyennes AQI par capteur, classés par saison dans Synthese donnees
7.1 - Moyenne de l'AQI par heure et par municipalité
Fichier : 7.1-Moyenne par heure AQI - Municipalite.py
Fonctionnalité
Calcule la moyenne de l'AQI US par heure pour chaque municipalité et sauvegarde les résultats par saison.
Entrée
CSV avec AQI_US.csv
Sortie
Fichiers CSV de moyennes AQI par municipalité, classés par saison dans Synthese donnees
8.0 - Moyenne de l'AQI par jour de semaine
Fichier : 8.0-Moyenne par jour de semaine AQI.py
Fonctionnalité
Calcule la moyenne de l'AQI par jour de la semaine pour chaque capteur et génère un fichier contenant ces valeurs.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_par_jour_semaine_capteur_[saison].csv
8.1 - Moyenne de l'AQI par jour de semaine (Municipalité)
Fichier : 8.1-Moyenne par jour de semaine AQI Municipalite.py
Fonctionnalité
Calcule la moyenne de l'AQI par jour de la semaine pour chaque municipalité.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_par_jour_semaine_municipalite_[saison].csv
9.0 - Nombre d'heures dépassant les seuils AQI
Fichier : 9.0-Nb heures depasse seuils AQI.py
Fonctionnalité
Calcule le nombre d'heures où l'AQI dépasse les seuils de 50, 100 et 150 pour chaque capteur.
Entrée
CSV avec AQI_US.csv
Sortie
nombre_heures_seuil_AQI_[saison].csv
10.0 - Nombre d'heures dépassant les seuils AQI par mois (Val-David)
Fichier : 10.0-Nb heures depasse seuils AQI mois VD.py
Fonctionnalité
Filtre les données pour Val-David et calcule le nombre d'heures où l'AQI dépasse les seuils 50, 100 et 150 par mois.
Entrée
CSV avec AQI_US.csv
Sortie
nombre_heures_AQI_ValDavid_par_mois_[saison].csv
11.0 - Moyenne de l'AQI par mois par capteur
Fichier : 11.0-Moyenne AQI par mois par capteur.py
Fonctionnalité
Calcule la moyenne de l'AQI par mois pour chaque station de mesure.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_par_mois_par_capteur_[saison].csv
11.1 - Moyenne de l'AQI par mois par municipalité
Fichier : 11.1-Moyenne AQI par mois par capteur - Municipalite.py
Fonctionnalité
Calcule la moyenne de l'AQI par mois pour chaque municipalité.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_par_mois_municipalite_[saison].csv
11.2 - Moyenne de l'AQI par municipalité
Fichier : 11.2-Moyenne AQI - Municipalite.py
Fonctionnalité
Calcule la moyenne de l'AQI par municipalité, sans distinction de mois.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_[saison].csv
11.3 - Moyenne de l'AQI par capteurs
Fichier : 11.3-Moyenne AQI - Capteurs.py
Fonctionnalité
Calcule la moyenne de l'AQI par capteur, sans distinction de mois.
Entrée
CSV avec AQI_US.csv
Sortie
moyenne_AQI_[saison].csv
12.0 - Classification de la qualité de l'air par journée (Municipalité)
Fichier : 12.0-Classification journée - Municipalite.py
Fonctionnalité
Classe chaque journée en fonction de la moyenne des 4 pires heures d'AQI et attribue une catégorie (Bon, Modéré, Médiocre, etc.).
Entrée
CSV avec AQI_US.csv
Sortie
classification_jour_qualite_air_municipalite.csv
13.0 - Classement des municipalités selon le nombre d'heures dans chaque catégorie d'AQI (VD vs Québec)
Fichier : 13.0-Classement nb heures niveaux VD vs Quebec.py
Fonctionnalité
Classe les municipalités selon le pourcentage d'heures passées dans chaque catégorie AQI et génère un graphique de comparaison.
Entrée
CSV avec AQI_US_par_municipalite.csv
Sortie
AQI_repartition_municipalite_[saison].png
Documentation des scripts Python (Partie 3)
Introduction
13.1 - Classement du nombre d'heures dépassant les seuils AQI par capteur (VD vs Québec)
Fichier : 13.1-Classement nb heures niveaux VD vs Quebec - capteurs.py
Fonctionnalité
Classe les capteurs selon le nombre d'heures où l'AQI dépasse certains seuils et génère un graphique de comparaison.
Entrée
CSV avec AQI_US.csv
Sortie
AQI_moyenne_capteurs_[saison].png
14.0 - Classement de Val-David par rapport à la moyenne du Québec (Saison froide)
Fichier : 14.0-Classement VD moyenne saison froide Quebec.py
Fonctionnalité
Compare la moyenne de l'AQI de Val-David à celle des autres municipalités durant la saison froide et génère un graphique.
Entrée
CSV avec AQI_US_par_municipalite.csv
Sortie
AQI_moyenne_municipalite_[saison].png
15.0 - Création d'un calendrier en couleur
Fichier : 15.0-Creation calendrier couleur.py
Fonctionnalité
Crée un calendrier visuel représentant la qualité de l'air pour chaque jour, avec un code couleur basé sur la classification des pires heures.
Entrée
classification_jour_qualite_air_municipalite.csv
Sortie
Calendrier_AQI_classification_[municipalité]_[saison].png
16.0 - Création d'une courbe d'évolution de l'AQI à Val-David
Fichier : 16.0-Creation courbe evolution AQI Val-David.py
Fonctionnalité
Génère des graphiques montrant l'évolution de l'AQI à Val-David mois par mois pour chaque saison.
Entrée
CSV avec AQI_US.csv
Sortie
Qualité_de_l'air_à_Val-David_[saison].png
17.0 - Création d'un graphique AQI par heure
Fichier : 17.0-Creation graphique AQI heure.py
Fonctionnalité
Affiche la variation de l'AQI en fonction de l'heure de la journée pour plusieurs municipalités.
Entrée
CSV avec AQI_US.csv
Sortie
Variation_AQI_heure_[saison].png
17.1 - Comparaison AQI par heure en semaine vs fin de semaine (Val-David)
Fichier : 17.1-Creation graphique AQI heure - semaine vs fin de semaine.py
Fonctionnalité
Compare l'évolution de l'AQI en semaine et en fin de semaine pour Val-David.
Entrée
CSV avec AQI_US.csv
Sortie
graphique_AQI_[saison]_Val-David.png
18.0 - Création d'un graphique AQI par jour
Fichier : 18.0-Creation graphique AQI jour.py
Fonctionnalité
Analyse la variation de l'AQI en fonction du jour de la semaine pour plusieurs municipalités.
Entrée
CSV avec AQI_US.csv
Sortie
Variation_AQI_jour_[saison].png
19.0 - Résumé textuel pour le site web
Fichier : 19.0-Resume textuel VD site web.py
Fonctionnalité
Génère un résumé textuel des classifications de la qualité de l'air par saison pour Val-David, en format HTML.
Entrée
classification_jour_qualite_air_municipalite.csv
Sortie
resume_qualite_air_[saison]_Val-David.html