/usr/share/php/Horde/Service/Weather/Forecast/Taf.php is in php-horde-service-weather 2.5.4-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | <?php
/**
* This file contains the Horde_Service_Weather_Forecast class for abstracting
* access to forecast data from TAF encoded weather sources.
*
* Copyright 2011-2017 Horde LLC (http://www.horde.org/)
*
* @author Michael J Rubinsky <mrubinsk@horde.org>
* @license http://www.horde.org/licenses/bsd BSD
* @category Horde
* @package Service_Weather
*/
/**
* Horde_Service_Weather_Forecast_Taf
*
* @author Michael J Rubinsky <mrubinsk@horde.org>
* @category Horde
* @package Service_Weather
*/
class Horde_Service_Weather_Forecast_Taf extends Horde_Service_Weather_Forecast_Base
{
/**
* Const'r
*
* @param array $properties Forecast properties.
* @param Horde_Service_Weather_base $weather The base driver.
* @param integer $type The forecast type.
*/
public function __construct(
$properties,
Horde_Service_Weather_Base $weather,
$type = Horde_Service_Weather::FORECAST_TYPE_STANDARD)
{
parent::__construct($properties, $weather, $type);
$this->_parsePeriods();
}
/**
* Compatibility layer for old PEAR/Services_Weather data.
*
* @return array The raw parsed data array - keyed by descriptors that are
* compatible with PEAR/Services_Weather. Structure of data:
* Data is converted into the appropriate units based on
* the Horde_Service_Weather_Base::units setting at the time
* or parsing.
*
* - station: The station identifier.
* - dataRaw: The raw TAF data.
* - update: The update timestamp.
* - updateRaw: The raw TAF encoded update time.
* - validRaw: The raw TAF encoded valid forecast times.
* - validFrom: The valid forecast FROM time.
* - validTo: The valid forecast TO time.
* - time: Array containing an entry for each weather section.
* Basically each entry contains forcasted changes
* beginning at the time of the key to the entry.
* - wind: The wind speed.
* - windDegrees: The wind direction in degrees.
* - windDirection: The wind direction in a cardinal compass direction.
* - windGust: The wind gust speed.
* - windProb: Probability of forecast wind.
* - visibility: Visibility distance.
* - visQualifier: Qualifier of visibility. I.e., "AT", "BEYOND", "BELOW"
* - visProb: Probability of forecast visibility.
* - clouds: Array containing cloud layer information:
* - amount: Amount of sky cover. I.e., "BROKEN", "OVERCAST"
* - height: The height of the base of the cloud layer.
* - type: The type of clouds if available.
* - condition: The weather condition. I.e., "RAIN", "MIST"
* - windshear: Windshear delta.
* - windshearHeight: The height of windshear.
* - windshearDegrees: The degrees of windshear.
* - windshearDirection:The compass direction of windshear.
* - temperatureLow: The forecast low temperature.
* - temperatureHigh: The forecast high temperature.
* - fmc: Array containing any FMC changes. I.e, "TEMPO", or
* "BECMG" lines.
* - from: Horde_Date representing the starting time of the
* FMC change.
* - to: Horde_Date representing the ending time of the FMC
* period.
*/
public function getRawData()
{
return $this->_properties;
}
/**
* Return the time of the forecast, in local (to station) time.
*
* @return Horde_Date The time of the forecast.
*/
public function getForecastTime()
{
return new Horde_Date($this->_properties['update'], 'GMT');
}
protected function _parsePeriods()
{
foreach ($this->_properties['time'] as $time => $data) {
$data['period'] = $time;
$this->_periods[] = new Horde_Service_Weather_Period_Taf($data, $this);
}
}
}
|