Module: IqairAirvisual::Constants

Included in:
Client
Defined in:
lib/iqair_airvisual/constants.rb

Constant Summary collapse

BASE_PATH =
'https://api.airvisual.com/v2'
IMAGES_PATH =
'https://airvisual.com/images/'
AQI_INDEX =
{
  good: { lowest_level: 0, highest_level: 50, colour: 'green', description: 'Air quality is satisfactory, and air pollution poses little or no risk.' },
  moderate: { lowest_level: 51, highest_level: 100, colour: 'yellow', description: 'Air quality is acceptable. However, there may be a risk for some people, particularly those who are unusually sensitive to air pollution.' },
  unhealthy_for_sensitive_groups: { lowest_level: 101, highest_level: 150, colour: 'orange', description: 'Members of sensitive groups may experience health effects. The general public is less likely to be affected.' },
  unhealthy: { lowest_level: 151, highest_level: 200, colour: 'red', description: 'Some members of the general public may experience health effects; members of sensitive groups may experience more serious health effects.' },
  very_unhealthy: { lowest_level: 201, highest_level: 300, colour: 'purple', description: 'Health alert: The risk of health effects is increased for everyone.' },
  hazardous: { lowest_level: 301, highest_level: 1000, colour: 'maroon', description: 'Health warning of emergency conditions: everyone is more likely to be affected.' }
}
WEATHER_ICON_INDEX =
{
  "01d": { filename: '01d.png', url: 'https://airvisual.com/images/01d.png', description: 'clear sky (day)' },
  "01n": { filename: '01n.png', url: 'https://airvisual.com/images/01n.png', description: 'clear sky (night)' },
  "02d": { filename: '02d.png', url: 'https://airvisual.com/images/02d.png', description: 'few clouds (day)' },
  "02n": { filename: '02n.png', url: 'https://airvisual.com/images/02n.png', description: 'few clouds (night)' },
  "03d": { filename: '03d.png', url: 'https://airvisual.com/images/03d.png', description: 'scattered clouds' },
  "04d": { filename: '04d.png', url: 'https://airvisual.com/images/04d.png', description: 'broken clouds' },
  "09d": { filename: '09d.png', url: 'https://airvisual.com/images/09d.png', description: 'shower rain' },
  "10d": { filename: '10d.png', url: 'https://airvisual.com/images/10d.png', description: 'rain (day time)' },
  "10n": { filename: '10n.png', url: 'https://airvisual.com/images/10n.png', description: 'rain (night time)' },
  "11d": { filename: '11d.png', url: 'https://airvisual.com/images/11d.png', description: 'thunderstorm' },
  "13d": { filename: '13d.png', url: 'https://airvisual.com/images/13d.png', description: 'snow' },
  "50d": { filename: '50d.png', url: 'https://airvisual.com/images/50d.png', description: 'mist' }
}
WEATHER_CODES =
{
  ts:     "timestamp",
  aqius:  "AQI value based on US EPA standard",
  aqicn:  "AQI value based on China MEP standard",
  tp:     "temperature in Celsius",
  tp_min: "minimum temperature in Celsius",
  pr:     "atmospheric pressure in hPa",
  hu:     "humidity %",
  ws:     "wind speed (m/s)",
  wd:     "wind direction, as an angle of 360° (N=0, E=90, S=180, W=270)",
  ic:     "weather icon code, see below for icon index",
  p:      "pollutant details",
  pn:     "pollutant details",
  p1:     "pollutant details",
  p2:     "pollutant details",
  p3:     "pollutant details",
  p4:     "pollutant details",
  conc:   "concentration",
  o3:     "Ozone O3",
  n2:     "Nitrogen dioxide NO2",
  s2:     "Sulfur dioxide SO2",
  co:     "Carbon monoxide CO"
}
UNITS =

object containing units information

{
  ugm3: "ug/m, Micrograms per Cubic Meter of Air",
  ppb:  "Parts per billion",
  ppm:  "Parts per million"
}

Instance Method Summary collapse

Instance Method Details

#calculate_aqi_range(key) ⇒ Object



64
65
66
67
# File 'lib/iqair_airvisual/constants.rb', line 64

def calculate_aqi_range(key)
  value = AQI_INDEX[:key]
  (value.lowest_level..value.highest_level).to_a
end