โครงการดัชนีคุณภาพอากาศโลกเป็นความคิดริเริ่มในการแมปคุณภาพอากาศในปัจจุบันและแบบเรียลไทม์ทั่วโลก ดัชนีคุณภาพอากาศขึ้นอยู่กับ 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 ของคุณสร้างอินสแตนซ์ของวัตถุ 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 เหล่านี้บางอย่างอาจกลับมา 'null'
ฟังก์ชั่น 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() : ส่งคืนความดันบารอม (เป็น millibars) ที่วัดได้ที่สถานีตรวจสอบนี้ในเวลาที่วัดgetPrimaryPollutant() : ส่งคืนชื่อของมลพิษหลักที่สถานีตรวจสอบนี้ในเวลาที่วัด (เช่น 'PM25') โปรดดู Changelog สำหรับข้อมูลเพิ่มเติมว่ามีอะไรเปลี่ยนแปลง
แพ็คเกจนี้มาพร้อมกับชุดทดสอบ phpunit ในการเรียกใช้การทดสอบให้เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีโครงการ:
composer testหรือทำงานด้วย:
vendor/bin/phpunitการสนับสนุนได้รับการสนับสนุนและยินดีต้อนรับ; ฉันมีความสุขเสมอที่ได้รับคำติชมหรือดึงคำขอบน GitHub :) สร้างปัญหา GitHub สำหรับข้อบกพร่องและคุณสมบัติใหม่และแสดงความคิดเห็นเกี่ยวกับสิ่งที่คุณสนใจ
หากคุณสนุกกับสิ่งที่ฉันกำลังทำกาแฟพิเศษหนึ่งถ้วยชื่นชมมาก :) การสนับสนุนของคุณช่วยให้ฉันมีเวลามากขึ้นในโครงการซอฟต์แวร์โอเพนซอร์ซเช่นนี้
แพ็คเกจนี้เป็นซอฟต์แวร์ที่ได้รับอนุญาตแบบเปิดภายใต้ใบอนุญาต MIT โปรดดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม