O Projeto Mundial do Índice de Qualidade do Ar é uma iniciativa para mapear a qualidade do ar atual e em tempo real em todo o mundo. Os índices de qualidade do ar são baseados em medidas horárias PM2.5, PM10, ozônio, NO2, SO2 e Co fornecidas por várias estações de monitoramento no mundo.
Esses pacotes facilitam a recuperação do índice de qualidade do ar para sua área e é baseado no feed de dados de qualidade do ar em tempo real (API) do projeto Waqi.
Nota: Para fazer uso deste pacote (e a API AQI subjacente), é necessário um token de acesso. Você pode adquirir seu token aqui: https://aqicn.org/data-platform/token ..
Você precisa de php> = 8.2 para usar azuyalabs/waqi .
Você pode puxar este pacote via compositor:
composer require azuyalabs/waqi Comece com a inclusão do arquivo compositor autoload em seu projeto:
<?php
require ' vendor/autoload.php ' ;Usando seu token de acesso aqi, crie uma instância do objeto waqi:
use Azuyalabs WAQI WAQI ;
$ waqi = new WAQI (<your access token>); Em seguida, use o método getObservationByStation com a cidade desejada ou o nome da estação de monitoramento (por exemplo, 'Nova York'). Isso obterá as mais recentes observações de qualidade do ar:
$ waqi -> getObservationByStation ( ' new york ' );Se tudo correr bem, use os vários métodos da API para obter detalhes sobre o índice de qualidade do ar recuperado da cidade escolhida ou a estação de monitoramento.
Para obter o AQI (índice de qualidade do ar), use o método getAQI :
$ waqi -> getAQI ();Isso retorna uma estrutura de matriz que contém o índice de qualidade do ar medido nesta estação de monitoramento no momento da medição. Ele contém 4 elementos:
Exemplo de saída (para 'Nova York'):
- ' aqi ' : 15
- ' pollution_level ' : Good
- ' health_implications ' : Air quality is considered satisfactory, and air pollution poses little or no risk.
- ' cautionary_statement ' : NoneAlém das informações gerais de qualidade do ar, informações específicas de nível de poluente também estão disponíveis. Esteja ciente de que nem toda estação de monitoramento captura todos os tipos de poluentes; portanto, algumas dessas funções da API podem retornar 'nulas'.
As funções da API a seguir estão disponíveis para obter informações específicas sobre o nível de poluentes:
getCO() : retorna o nível de monóxido de carbono (CO) medido na estação de monitoramento no momento da medição.getNO2() : retorna o nível de dióxido de nitrogênio (NO2) medido na estação de monitoramento no momento da medição.getO3() : retorna o nível de ozônio (O3) medido na estação de monitoramento no momento da medição.getSO2() : retorna o nível de dióxido de enxofre (SO2) medido na estação de monitoramento no momento da medição.getPM10() : retorna o nível de partículas 10 micrômetros ou inferior (PM10), medido nesta estação de monitoramento no momento da medição.getPM25() : retorna o nível de partículas 2,5 micrômetros ou inferior (PM2.5), medido nesta estação de monitoramento no momento da medição.As informações sobre a estação de monitoramento podem ser obtidas através de dois métodos de API.
Primeiro, usando o método da API getMonitoringStation() , retornará informações sobre a estação de monitoramento fornecida:
Em segundo lugar, o método da API getAttributions() retornará uma lista de atribuições da EPA para esta estação de monitoramento.
Outros métodos de API que fornecem informações adicionais são:
getMeasurementTime() : Retorna a data/hora em que a última medição foi realizada. (como um objeto DateTime ).getHumidity() : retorna a umidade (em %) medida nesta estação de monitoramento no momento da medição.getTemperature() : retorna a temperatura (em graus Celsius) medida nesta estação de monitoramento no momento da medição.getPressure() : retorna a pressão barométrica (em milibars) medida nesta estação de monitoramento no momento da medição.getPrimaryPollutant() : retorna o nome do poluente primário nesta estação de monitoramento no momento da medição (por exemplo, 'PM25'). Por favor, consulte Changelog para obter mais informações o que mudou.
Este pacote vem com uma suíte de teste phpunit. Para executar os testes, execute o seguinte comando do diretório do projeto:
composer test, ou alternativamente, execute com:
vendor/bin/phpunitAs contribuições são incentivadas e bem -vindas; Fico sempre feliz em receber feedback ou fazer solicitações no Github :) Crie problemas do Github para bugs e novos recursos e comentar os que você está interessado.
Se você gosta do que estou fazendo, uma xícara de café extra é muito apreciada :). Seu suporte me ajuda a dedicar mais tempo a projetos de software de código aberto como esse.
Este pacote é um software de código aberto licenciado sob a licença do MIT. Consulte a licença para obter mais informações.