22#include <simgear/constants.h>
37 return _metar->getBoolValue(
"valid",
false );
42 return _metar->getStringValue(
"station-id",
"xxxx" );
48 _metar->getIntValue(
"hour" ) % 24,
49 _metar->getIntValue(
"minute" ) % 60 );
54 return _metar->getIntValue(
"base-wind-dir-deg" );
59 return _metar->getIntValue(
"base-wind-range-from" );
63 return _metar->getIntValue(
"base-wind-range-to" );
67 return _metar->getIntValue(
"base-wind-speed-kt" );
72 return _metar->getIntValue(
"gust-wind-speed-kt" );
77 return _metar->getDoubleValue(
"pressure-inhg") * SG_INHG_TO_PA / 100.0;
82 return _metar->getDoubleValue(
"pressure-inhg");
87 return _metar->getBoolValue(
"cavok" );
92 return _metar->getIntValue(
"min-visibility-m" );
97 return _metar->getStringValue(
"decoded" );
104 using simgear::PropertyList;
106 PropertyList layers = _metar->getNode(
"clouds",
true )->getChildren(
"layer");
107 for( PropertyList::iterator it = layers.begin(); it != layers.end(); ++it ) {
108 std::string coverage = (*it)->getStringValue(
"coverage",
"clear");
109 double elevation = (*it)->getDoubleValue(
"elevation-ft", -9999 );
110 if( elevation > 0 ) {
111 reply[elevation] = coverage;
120 return _metar->getIntValue(
"temperature-degc" );
125 return _metar->getIntValue(
"dewpoint-degc" );