يعد مشروع مؤشر جودة الهواء العالمي مبادرة لرسم خريطة جودة الهواء الحالية والوقت الحقيقي في جميع أنحاء العالم. تعتمد فهارس جودة الهواء على قياسات PM2.5 و PM10 و Ozone و 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 ، قم بإنشاء مثيل لكائن 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() : إرجاع مستوى الجسيمات المادة 10 ميكرومتر أو أقل (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 للأخطاء والميزات الجديدة والتعليق على تلك التي تهتم بها.
إذا كنت تستمتع بما أقوم به ، فإن فنجانًا إضافيًا من القهوة موضع تقدير كبير :). يساعدني دعمك على وضع المزيد من الوقت في مشاريع برامج مفتوحة المصدر مثل هذا.
هذه الحزمة هي برنامج مفتوح المصادر مرخصة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. يرجى الاطلاع على الترخيص لمزيد من المعلومات.