Le World Air Quality Index Project est une initiative visant à cartographier la qualité de l'air actuelle et en temps réel dans le monde entier. Les indices de qualité de l'air sont basés sur les mesures horaires PM2.5, PM10, Ozone, NO2, SO2 et CO fournies par diverses stations de surveillance dans le monde.
Ces packages facilitent la récupération de l'indice de qualité de l'air pour votre région et est basé sur le flux de données de qualité de l'air en temps réel (API) du projet WAQI.
Remarque: Pour utiliser ce package (et l'API AQI sous-jacente) un jeton d'accès est requis. Vous pouvez acquérir votre jeton ici: https://aqicn.org/data-platform/token ..
Vous avez besoin de php> = 8,2 pour utiliser azuyalabs/waqi .
Vous pouvez tirer ce package via le compositeur:
composer require azuyalabs/waqi Commencez par inclure le fichier de composer autoload dans votre projet:
<?php
require ' vendor/autoload.php ' ;À l'aide de votre jeton d'accès AQI, créez une instance de l'objet waqi:
use Azuyalabs WAQI WAQI ;
$ waqi = new WAQI (<your access token>); Ensuite, utilisez la méthode getObservationByStation avec la ville ou le nom de station de surveillance souhaité (par exemple, «New York»). Cela obtiendra les dernières observations de la qualité de l'air:
$ waqi -> getObservationByStation ( ' new york ' );Si tout se passe bien, utilisez les différentes méthodes d'API pour obtenir des détails sur l'indice de qualité de l'air récupéré de la ville ou de la station de surveillance choisie.
Pour obtenir l'AQI (index de la qualité de l'air), utilisez la méthode getAQI :
$ waqi -> getAQI ();Cela renvoie une structure de réseau contenant l'indice de qualité de l'air mesuré dans cette station de surveillance au moment de la mesure. Il contient 4 éléments:
Exemple de sortie (pour «New York»):
- ' aqi ' : 15
- ' pollution_level ' : Good
- ' health_implications ' : Air quality is considered satisfactory, and air pollution poses little or no risk.
- ' cautionary_statement ' : NoneEn plus des informations générales sur la qualité de l'air, des informations spécifiques au niveau des polluants sont également disponibles. Sachez que toutes les station de surveillance ne capturent pas tous les types de polluants, de sorte que certaines de ces fonctions API peuvent retourner «null».
Les fonctions API suivantes sont disponibles pour obtenir des informations spécifiques au niveau des polluants:
getCO() : Renvoie le niveau de monoxyde de carbone (CO) mesuré à la station de surveillance au moment de la mesure.getNO2() : Renvoie le niveau de dioxyde d'azote (NO2) mesuré à la station de surveillance au moment de la mesure.getO3() : Renvoie le niveau d'ozone (O3) mesuré à la station de surveillance au moment de la mesure.getSO2() : Renvoie le niveau de dioxyde de soufre (SO2) mesuré à la station de surveillance au moment de la mesure.getPM10() : Renvoie le niveau de particules de 10 micromètres ou inférieur (PM10), mesuré dans cette station de surveillance au moment de la mesure.getPM25() : Renvoie le niveau de particules de 2,5 micromètres ou inférieur (PM2,5), mesuré à cette station de surveillance au moment de la mesure.Des informations sur la station de surveillance peuvent être obtenues via deux méthodes d'API.
Tout d'abord, l'utilisation de la méthode API getMonitoringStation() , renverra des informations sur la station de surveillance donnée:
Deuxièmement, la méthode API getAttributions() renverra une liste d'attributions EPA pour cette station de surveillance.
Les autres méthodes d'API qui fournissent des informations supplémentaires sont:
getMeasurementTime() : Renvoie la date / heure de la dernière mesure. (comme objet DateTime ).getHumidity() : Renvoie l'humidité (en%) mesurée à cette station de surveillance au moment de la mesure.getTemperature() : renvoie la température (en degrés Celsius) mesurée à cette station de surveillance au moment de la mesure.getPressure() : renvoie la pression barométrique (en millibars) mesurée à cette station de surveillance au moment de la mesure.getPrimaryPollutant() : renvoie le nom du polluant principal de cette station de surveillance au moment de la mesure (par exemple PM25 '). Veuillez consulter Changelog pour plus d'informations ce qui a changé.
Ce package est livré avec une suite de test PHPUnit. Pour exécuter les tests, exécutez la commande suivante à partir du répertoire du projet:
composer testou courir alternativement avec:
vendor/bin/phpunitLes contributions sont encouragées et bienvenues; Je suis toujours heureux d'obtenir des commentaires ou d'extraire des demandes sur GitHub :) Créez des problèmes de github pour les bogues et les nouvelles fonctionnalités et commentez ceux qui vous intéressent.
Si vous aimez ce que je fais, une tasse de café supplémentaire est très appréciée :). Votre support m'aide à consacrer plus de temps à des projets logiciels open source comme celui-ci.
Ce package est un logiciel open d'open sous licence MIT. Veuillez consulter la licence pour plus d'informations.