Notes

Class to handle weather forecasts.  Feeds so far are from weather.com but it should be possilbe to add them from wunderground.com and the US national weather service.

Weather Feed sources

http://www.weather.com/

http://www.nws.noaa.gov/forecasts/xml/

http://www.wunderground.com/

Weather.com API Details

To get your account go here

http://www.w3.weather.com/services/xmloap.html

To find your location use

http://xoap.weather.com- /search- /search?where=$TOWN- ,$COUNTRY- /COUNTY

URL examples,

http://xoap.weather.com- /weather- /local- /UKXX0085?cc=*- &prod=xoap- &par=1006744249- &key=0877a6db47785c7f

http://xoap.weather.com- /weather- /local- /UKXX0286?cc=*- &prod=xoap- &par=1006744249- &key=0877a6db47785c7f

Server Params

Required

  • par = Application developers Id assigned to you
  • prod = The XML Server product code = xoap
  • key = The license key assigned to you = license key

Optional

  • cc = Current Conditions (value ignored) = *
  • dayf = Multi-day forecast information for some or all forecast elements = [ 1..10 ]
  • link = Links for weather.com pages = xoap
  • unit = Set of units.  Standard or Metric = [ s | m ] defaults to = s when no specified

Error Codes

  • 0 An Unknown Error has occurred
  • 1 No Location Provided
  • 2 Invalid Location Provided
  • 100 Invalid Partner Id
  • 101 Invalid Product Code
  • 102 Invalid License Key

Time limit’s on server calls

  • .../weather/local/[loc_id] Head, Loc 15 minutes
  • .../weather/local/[loc_id]?cc=*Head, Loc, CC 30 minutes
  • .../weather/local/[loc_id]?cc=*&dayf=2 Head, Loc, CC, Forecast 2 hours
  • .../weather/local/[loc_id]?cc=*&dayf=2&link=xoap Head, Loc, CC, Forecast, Links 12 hours

Variables

testLocal

private var testLocal: Boolean

dirPath

private var dirPath: String

proxyURL

private var proxyURL: String

feedURL

private var feedURL: String

myXML

private var myXML: XML

metricUnits

public var metricUnits: Boolean

metricDistance

public var metricDistance: Boolean

forecast_loc

public var forecast_loc: Object

state

public var state: Object

error_desc

public var error_desc: String

cc_o

public var cc_o: Object

dayForcast

public var dayForcast: Array

Functions

Forecast

function Forecast(forLocation: Object,
metricU: Boolean,
metricD: Boolean)

loadWeatherData

public function loadWeatherData():Void

xmlLoadSuccess

private function xmlLoadSuccess():Void

xmlLoadFail

private function xmlLoadFail():Void

changeLocation

public function changeLocation(newLocation: Object):Void
private var testLocal: Boolean
private var dirPath: String
private var proxyURL: String
private var feedURL: String
private var myXML: XML
public var metricUnits: Boolean
public var metricDistance: Boolean
public var forecast_loc: Object
public var state: Object
public var error_desc: String
public var cc_o: Object
public var dayForcast: Array
function Forecast(forLocation: Object,
metricU: Boolean,
metricD: Boolean)
public function loadWeatherData():Void
private function xmlLoadSuccess():Void
private function xmlLoadFail():Void
public function changeLocation(newLocation: Object):Void