Мировой проект индекса качества воздуха является инициативой для картирования текущего и качества воздуха в режиме реального времени по всему миру. Индексы качества воздуха основаны на PM2,5, PM10, озоне, NO2, SO2 и CO почасовые измерения, предоставленные различными станциями мониторинга в мире.
Эти пакеты позволяют легко извлечь индекс качества воздуха для вашей области и основаны на подаче данных качества воздуха в реальном времени (API) проекта WAQI.
Примечание. Чтобы использовать этот пакет (и базовый AQI API), требуется токен доступа. Вы можете приобрести свой токен здесь: https://aqicn.org/data-platform/token ..
Вам нужно PHP> = 8.2, чтобы использовать azuyalabs/waqi .
Вы можете втянуть в этот пакет через композитор:
composer require azuyalabs/waqi Начните с включения файла autoload композитора в свой проект:
<?php
require ' vendor/autoload.php ' ;Используя токен AQI Access, создайте экземпляр объекта WAQI:
use Azuyalabs WAQI WAQI ;
$ waqi = new WAQI (<your access token>); Затем используйте метод getObservationByStation с желаемым названием города или станции мониторинга (например, «Нью -Йорк»). Это получит последние наблюдения за качеством воздуха:
$ waqi -> getObservationByStation ( ' new york ' );Если все идет хорошо, используйте различные методы API, чтобы получить подробную информацию о полученном индексе качества воздуха избранного города или станции мониторинга.
Чтобы получить AQI (индекс качества воздуха), используйте метод getAQI :
$ waqi -> getAQI ();Это возвращает структуру массива, содержащую индекс качества воздуха, измеренный на этой станции мониторинга во время измерения. Он содержит 4 элемента:
Пример вывода (для «Нью -Йорка»):
- ' aqi ' : 15
- ' pollution_level ' : Good
- ' health_implications ' : Air quality is considered satisfactory, and air pollution poses little or no risk.
- ' cautionary_statement ' : NoneВ дополнение к общей информации о качестве воздуха, доступна конкретная информация о уровне загрязняющих веществ. Имейте в виду, что не каждая станция мониторинга фиксирует все типы загрязняющих веществ, поэтому некоторые из этих функций API могут вернуть «нуль».
Доступны следующие функции API, чтобы получить конкретную информацию об уровне загрязняющих веществ:
getCO() : возвращает уровень окиси углерода (CO), измеренный на станции мониторинга во время измерения.getNO2() : возвращает уровень диоксида азота (NO2), измеренный на станции мониторинга во время измерения.getO3() : возвращает уровень озона (O3), измеренный на станции мониторинга во время измерения.getSO2() : возвращает уровень диоксида серы (SO2), измеренный на станции мониторинга во время измерения.getPM10() : возвращает уровень частиц в 1 микрометрах или ниже (PM10), измеренный на этой станции мониторинга во время измерения.getPM25() : возвращает уровень частиц, содержащий 2,5 микрометры или ниже (PM2,5), измеренный на этой станции мониторинга во время измерения.Информацию о станции мониторинга можно получить с помощью двух методов API.
Во -первых, используя метод API getMonitoringStation() , вернет информацию о данной станции мониторинга:
Во -вторых, метод API getAttributions() вернет список атрибутов EPA для этой станции мониторинга.
Другие методы API, которые предоставляют дополнительную информацию, являются:
getMeasurementTime() : возвращает дату/время. Последнее измерение было сделано. (как объект DateTime ).getHumidity() : возвращает влажность (в %), измеренную на этой станции мониторинга во время измерения.getTemperature() : возвращает температуру (в градусах по Цельсию), измеренную на этой станции мониторинга во время измерения.getPressure() : возвращает барометрическое давление (в миллибарах), измеренное на этой станции мониторинга во время измерения.getPrimaryPollutant() : возвращает название первичного загрязняющего вещества на этой станции мониторинга во время измерения (например, PM25 '). Пожалуйста, смотрите ChangeLog для получения дополнительной информации, что изменилось.
Этот пакет поставляется с набором тестирования Phpunit. Чтобы запустить тесты, запустите следующую команду из каталога проекта:
composer test, или альтернативно бежать с:
vendor/bin/phpunitВклад воодушевляется и приветствуется; Я всегда рад получить отзывы или запросы на Github :) Создайте проблемы GitHub для ошибок и новых функций и комментируйте те, которые вас интересуют.
Если вам нравится то, что я делаю, очень ценится дополнительная чашка кофе :). Ваша поддержка помогает мне потратить больше времени в такие программные проекты с открытым исходным кодом.
Этот пакет является программным обеспечением с открытым исходным кодом, лицензированным по лицензии MIT. Пожалуйста, смотрите лицензию для получения дополнительной информации.