aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'pollutometer-php/src/AppBundle/Utils')
-rw-r--r--pollutometer-php/src/AppBundle/Utils/Aqi.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/pollutometer-php/src/AppBundle/Utils/Aqi.php b/pollutometer-php/src/AppBundle/Utils/Aqi.php
new file mode 100644
index 0000000..1b324a8
--- /dev/null
+++ b/pollutometer-php/src/AppBundle/Utils/Aqi.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: andy
+ * Date: 11/30/17
+ * Time: 11:27 AM
+ *
+ *
+ */
+
+Namespace AppBundle\Utils;
+
+class Aqi {
+ public function calculateAQI($gasName, $concentration, $table) {
+ $bpLow = 1;
+ $bpHi = 2;
+ $bpLowIndex = 1;
+ $bpHiIndex = 1;
+
+ $arr = $table ->{$gasName} ->{'breakpoints'};
+ foreach ($arr as $index => $value) {
+ if ($value <= $concentration && $table->{$gasName}->{'breakpoints'}[$index + 1] >= $concentration) {
+ $bpLow = $value;
+ $bpLowIndex = $index;
+ }
+
+ if ($value >= $concentration && $table->{$gasName}->{'breakpoints'}[$index - 1] <= $concentration) {
+ $bpHi = $value;
+ $bpHiIndex = $index;
+ }
+
+ };
+
+
+
+ $airQualityIndex = (($table->{$gasName}->{'aq'}[$bpHiIndex] - $table->{$gasName}->{'aq'}[$bpLowIndex]) / ($bpHi - $bpLow)) * ($concentration - $bpLow) + $table->{$gasName}->{'aq'}[$bpLowIndex];
+
+ return $airQualityIndex;
+
+ }
+}
+
+?> \ No newline at end of file