wx

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompassPoint

func CompassPoint(bearing float64) (string, error)

CompassPoint converts a wind bearing to the text compass point name

func WindBearing

func WindBearing(bearing string) (float64, error)

WindBearing returns the compass direction for the wind bearing name

Types

type Alert

type Alert struct {
	Title       string   `json:"title,omitempty"`
	Regions     []string `json:"regions,omitempty"`
	Severity    string   `json:"severity,omitempty"`
	Description string   `json:"description,omitempty"`
	Time        int64    `json:"time,omitempty"`
	Expires     float64  `json:"expires,omitempty"`
	URI         string   `json:"uri,omitempty"`
}

Alert .

type Conditions

type Conditions struct {
	ValidFrom                  *time.Time `json:"validFrom,omitempty"`
	ValidTo                    *time.Time `json:"validTo,omitempty"`
	Summary                    string     `json:"summary,omitempty"`
	Icon                       string     `json:"icon,omitempty"`
	Sunrise                    *time.Time `json:"sunriseTime,omitempty"`
	Sunset                     *time.Time `json:"sunsetTime,omitempty"`
	Precip                     float64    `json:"precip,omitempty"`
	PrecipIntensity            float64    `json:"precipIntensity,omitempty"`
	PrecipIntensityMax         float64    `json:"precipIntensityMax,omitempty"`
	PrecipIntensityMaxTime     *time.Time `json:"precipIntensityMaxTime,omitempty"`
	PrecipProbability          float64    `json:"precipProbability,omitempty"`
	PrecipType                 string     `json:"precipType,omitempty"`
	PrecipAccumulation         float64    `json:"precipAccumulation,omitempty"`
	Temperature                float64    `json:"temperature,omitempty"`
	TemperatureMin             float64    `json:"temperatureMin,omitempty"`
	TemperatureMinTime         *time.Time `json:"temperatureMinTime,omitempty"`
	TemperatureMax             float64    `json:"temperatureMax,omitempty"`
	TemperatureMaxTime         *time.Time `json:"temperatureMaxTime,omitempty"`
	ApparentTemperature        float64    `json:"apparentTemperature,omitempty"`
	ApparentTemperatureMin     float64    `json:"apparentTemperatureMin,omitempty"`
	ApparentTemperatureMinTime *time.Time `json:"apparentTemperatureMinTime,omitempty"`
	ApparentTemperatureMax     float64    `json:"apparentTemperatureMax,omitempty"`
	ApparentTemperatureMaxTime *time.Time `json:"apparentTemperatureMaxTime,omitempty"`
	SnowFall                   float64    `json:"snowFall,omitempty"`
	SnowDepth                  float64    `json:"snowDepth,omitempty"`
	NearestStormBearing        float64    `json:"nearestStormBearing,omitempty"`
	NearestStormDistance       float64    `json:"nearestStormDistance,omitempty"`
	DewPoint                   float64    `json:"dewPoint,omitempty"`
	WindBearing                float64    `json:"windBearing,omitempty"`
	WindChill                  float64    `json:"windChill,omitempty"`
	WindGust                   float64    `json:"windGust,omitempty"`
	WindSpeed                  float64    `json:"windSpeed,omitempty"`
	CloudCover                 float64    `json:"cloudCover,omitempty"`
	Humidity                   float64    `json:"humidity,omitempty"`
	Pressure                   float64    `json:"pressure,omitempty"`
	Visibility                 float64    `json:"visibility,omitempty"`
	Ozone                      float64    `json:"ozone,omitempty"`
	MoonPhase                  float64    `json:"moonPhase,omitempty"`
	MoonRise                   *time.Time `json:"moonRise,omitempty"`
	MoonSet                    *time.Time `json:"moonSet,omitempty"`
	UVIndex                    int64      `json:"uvIndex,omitempty"`
	UVIndexTime                *time.Time `json:"uvIndexTime,omitempty"`
}

Conditions of a forecast

type Forecast

type Forecast struct {
	ID        string      `json:"id,omitempty"`
	Latitude  float64     `json:"latitude,omitempty"`
	Longitude float64     `json:"longitude,omitempty"`
	Elevation float64     `json:"elevation,omitempty"`
	Timezone  string      `json:"timezone,omitempty"`
	Offset    float64     `json:"offset,omitempty"`
	Current   *Conditions `json:"current,omitempty"`
	Period    *Period     `json:"period,omitempty"`
	Alerts    []*Alert    `json:"alerts,omitempty"`
}

Forecast .

func (*Forecast) MarshalJSON

func (f *Forecast) MarshalJSON() ([]byte, error)

MarshalJSON produces GeoJSON

type ForecastOptions

type ForecastOptions struct {
	AggregateHours int
	Location       string
	Point          *geom.Point
	Units          Units
}

ForecastOptions

type Forecaster

type Forecaster interface {
	// Forecast returns an instance of a Forecast
	Forecast() (*Forecast, error)
}

Forecaster instances can return a Forecast

type Period

type Period struct {
	Summary    string        `json:"summary,omitempty"`
	Icon       string        `json:"icon,omitempty"`
	Conditions []*Conditions `json:"data,omitempty"`
}

Period .

type Units

type Units int

Units of measure

const (
	// Metric measurements
	Metric Units = iota
	// Imperial measurements
	Imperial
)

func (Units) String

func (i Units) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL