Skip to content

A simple laravel library for fetching and decoding METARs

License

Notifications You must be signed in to change notification settings

atoff/aviation-weather

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aviation Weather

A simple (Laravel compatible) library for fetching and decoding METARs. (Soon to be more than this, however)

Prerequisites

  • Laravel is now required for this library to work properly (due to use of Laravel's Cache and Log system)

Installation

Using Composer:

$ composer require cobaltgrid/aviation-weather

This will ensure that all required dependencies will be installed automatically.

Usage

At the moment, Aviation Weather only support ICAO codes. You can load a METAR by passing the ICAO code when you construct the class.

use Cobaltgrid\Aviation\Weather;
...
$weather = new Weather("EGKK");
$metar = $weather->latest_metar(); // Returns a Cobaltgrid\Aviation\Weather\Metar object

Metar Object Methods

Method Description
raw_response() This gets you the raw JSON from the data source (SimpleXMLElement)
raw() This gets you the raw JSON METAR data from the data source (SimpleXMLElement)
raw_string() The raw METAR string (String)
icao() The ICAO code of the station (String)
time() A carbon object for the METAR's observation time (Carbon)
latitude() A float of the latitude of the observation (Float)
longitude() A float of the longitude of the observation (Float)
temperature() The temperature, in degrees celsius (Float)
dewpoint() The dew point, in degrees celsius (Float)
wind_direction() The wind direction, in whole degrees. If 0, this indicates a variable wind. (Int)
wind_speed() The wind speed, in knots. If both speed and direction are 0, wind is 'calm' (Int)
wind_gust() The wind gust, in knots (Int)
visibility($unit="m") Options: "km", "m", "nm", "mi". Gives the visibility in the chosen units. (Float/Int)
qnh($unit="hpa") Options: "hpa", "hg". Gives the QNH pressure setting in the chosen units. (Float/Int)
weather_array() An array of raw weather codes (i.e "-HZ +SH" etc) (Array)
weather() An array of decoded weather codes of the format: ['code' => '-RA', 'human' => 'Light Rain'] (Array)
sky_cover() An array of decoded cloud cover. Each array item is an array with the following format: ['type' => 'SCT', 'type_human' => 'Scattered', 'height' => 2000] . Height is in feet.
flight_cat() An indication of the type of flying permitted by the weather. Example values: MVFR, IFR, LVFR, etc.
toArray() Converts the above into an array format