atoff / aviation-weather by atoff

A simple (Laravel compatible) library for fetching and decoding METARs
46
4
1
Package Data
Maintainer Username: atoff
Maintainer Contact: alex@cobaltgrid.com (Alex Toff)
Package Create Date: 2017-05-30
Package Last Update: 2018-01-03
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-24 03:01:58
Package Statistics
Total Downloads: 46
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 4
Total Watchers: 1
Total Forks: 1
Total Open Issues: 0

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