El proyecto World Air Quality Index es una iniciativa para mapear la calidad del aire actual y en tiempo real en todo el mundo. Los índices de calidad del aire se basan en las mediciones de PM2.5, PM10, Ozone, NO2, SO2 y CO proporcionadas por varias estaciones de monitoreo en el mundo.
Estos paquetes facilitan la recuperación del índice de calidad del aire para su área y se basa en la alimentación de datos (API) de calidad del aire en tiempo real del proyecto Waqi.
Nota: Para hacer uso de este paquete (y la AQI AQI subyacente) se requiere un token de acceso. Puede adquirir su token aquí: https://aqicn.org/data-platform/token ..
Necesita php> = 8.2 para usar azuyalabs/waqi .
Puede extraer este paquete a través del compositor:
composer require azuyalabs/waqi Comience con la inclusión del archivo autoload del compositor en su proyecto:
<?php
require ' vendor/autoload.php ' ;Usando su token de acceso AQI, cree una instancia del objeto waqi:
use Azuyalabs WAQI WAQI ;
$ waqi = new WAQI (<your access token>); A continuación, use el método getObservationByStation con el nombre deseado de la ciudad o la estación de monitoreo (por ejemplo, 'Nueva York'). Esto obtendrá las últimas observaciones de calidad del aire:
$ waqi -> getObservationByStation ( ' new york ' );Si todo va bien, use los diversos métodos API para obtener detalles sobre el índice de calidad del aire recuperado de la ciudad o la estación de monitoreo elegida.
Para obtener el AQI (índice de calidad del aire), use el método getAQI :
$ waqi -> getAQI ();Esto devuelve una estructura de matriz que contiene el índice de calidad del aire medido en esta estación de monitoreo en el momento de la medición. Contiene 4 elementos:
Salida de ejemplo (para 'Nueva York'):
- ' aqi ' : 15
- ' pollution_level ' : Good
- ' health_implications ' : Air quality is considered satisfactory, and air pollution poses little or no risk.
- ' cautionary_statement ' : NoneAdemás de la información general de calidad del aire, también está disponible información específica de nivel de contaminantes. Tenga en cuenta que no todas las estaciones de monitoreo capturan todos los tipos de contaminantes, por lo que algunas de estas funciones de API pueden devolver 'nulo'.
Las siguientes funciones de API están disponibles para obtener información específica de nivel de contaminantes:
getCO() : Devuelve el nivel de monóxido de carbono (CO) medido en la estación de monitoreo en el momento de la medición.getNO2() : devuelve el nivel de dióxido de nitrógeno (NO2) medido en la estación de monitoreo en el momento de la medición.getO3() : Devuelve el nivel de ozono (O3) medido en la estación de monitoreo en el momento de la medición.getSO2() : Devuelve el nivel de dióxido de azufre (SO2) medido en la estación de monitoreo en el momento de la medición.getPM10() : Devuelve el nivel de partículas 10 micrómetros o más bajos (PM10), medidos en esta estación de monitoreo en el momento de la medición.getPM25() : devuelve el nivel de partículas 2.5 micrómetros o más bajos (PM2.5), medido en esta estación de monitoreo en el momento de la medición.La información sobre la estación de monitoreo se puede obtener a través de dos métodos API.
Primero, utilizando el método API getMonitoringStation() , devolverá información sobre la estación de monitoreo dada:
En segundo lugar, el método API getAttributions() devolverá una lista de atribuciones de la EPA para esta estación de monitoreo.
Otros métodos API que proporcionan información adicional son:
getMeasurementTime() : Devuelve la fecha/hora en que se tomó la última medición. (como un objeto DateTime ).getHumidity() : Devuelve la humedad (en %) medida en esta estación de monitoreo en el momento de la medición.getTemperature() : devuelve la temperatura (en grados centígrados) medida en esta estación de monitoreo en el momento de la medición.getPressure() : Devuelve la presión barométrica (en Millibars) medida en esta estación de monitoreo en el momento de la medición.getPrimaryPollutant() : devuelve el nombre del contaminante primario en esta estación de monitoreo en el momento de la medición (por ejemplo, 'PM25'). Consulte ChangeLog para obtener más información lo que ha cambiado.
Este paquete viene con una suite de prueba PhPunit. Para ejecutar las pruebas, ejecute el siguiente comando desde el directorio del proyecto:
composer test, o alternativamente ejecutar con:
vendor/bin/phpunitLas contribuciones se alientan y bienvenidas; Siempre me complace recibir comentarios o extraer solicitudes en GitHub :) Cree problemas de GitHub para errores y nuevas funciones y comente sobre las que le interesan.
Si disfrutas de lo que estoy haciendo, se aprecia mucho una taza de café adicional :). Su soporte me ayuda a dedicar más tiempo a proyectos de software de código abierto como este.
Este paquete es un software de origen abierto con licencia bajo la licencia MIT. Consulte la licencia para obtener más información.