You are here

function _weather_parse_temperature in Weather 5

Same name and namespace in other branches
  1. 5.6 weather_parser.inc \_weather_parse_temperature()
  2. 6.5 weather_parser.inc \_weather_parse_temperature()
  3. 7 weather_parser.inc \_weather_parse_temperature()

Extract the temperature information

Parameters

string Raw METAR data to parse:

array Parsed METAR data, will be altered:

1 call to _weather_parse_temperature()
weather_parse_metar in ./weather_parser.inc
Parses a raw METAR data string

File

./weather_parser.inc, line 315

Code

function _weather_parse_temperature($metar_raw, &$metar) {
  if (preg_match('/^' . '(M?[0-9]{2})' . '\\/' . '(M?[0-9]{2})?' . '$/', $metar_raw, $matches)) {
    $metar['temperature']['celsius'] = (int) strtr($matches[1], 'M', '-');
    $metar['temperature']['fahrenheit'] = round($metar['temperature']['celsius'] * 9 / 5 + 32, 1);
    if (isset($matches[2])) {
      $metar['dewpoint']['celsius'] = (int) strtr($matches[2], 'M', '-');
      $metar['dewpoint']['fahrenheit'] = round($metar['dewpoint']['celsius'] * 9 / 5 + 32, 1);
    }
  }
}