weather

package module
v1.0.24 Latest Latest
Warning

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

Go to latest
Published: May 28, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API interface {
	coordinates.GeoLocator

	Realtime(string) (Current, error)
	Forecast(string, int) ([]Day, error)
	History(string, time.Time) (Day, error)

	RealtimeByCoordinates(coordinates.Coordinates) (Current, error)
	ForecastByCoordinates(coordinates.Coordinates, int) ([]Day, error)
	HistoryByCoordinates(coordinates.Coordinates, time.Time) (Day, error)
}

type Condition

type Condition string

func (Condition) Img

func (s Condition) Img(icon string) html.HTML

func (Condition) Short

func (s Condition) Short() string

type Current

type Current struct {
	Datetime      string           `json:"datetime,omitempty"`
	DatetimeEpoch unit.UnixTime    `json:"datetimeEpoch,omitempty"`
	Temp          unit.Temperature `json:"temp"`
	FeelsLike     unit.Temperature `json:"feelslike"`
	Humidity      unit.Percent     `json:"humidity,omitempty"`
	Dew           unit.Temperature `json:"dew"`
	Precip        float64          `json:"precip,omitempty"`
	PrecipType    []string         `json:"preciptype,omitempty"`
	WindGust      wind.Speed       `json:"windgust,omitempty"`
	WindSpeed     wind.Speed       `json:"windspeed,omitempty"`
	WindDegree    wind.Degree      `json:"winddegree,omitempty"`
	Pressure      float64          `json:"pressure,omitempty"`
	Visibility    float64          `json:"visibility,omitempty"`
	CloudCover    unit.Percent     `json:"cloudcover"`
	UVIndex       unit.UVIndex     `json:"uvindex,omitempty"`
	Condition     Condition        `json:"condition,omitempty"`
	Icon          string           `json:"icon,omitempty"`
}

func (Current) HTML

func (current Current) HTML() html.HTML

func (Current) TimeInfoHTML

func (current Current) TimeInfoHTML() html.HTML

type Day

type Day struct {
	Date         string           `json:"date,omitempty"`
	DateEpoch    unit.UnixTime    `json:"dateEpoch,omitempty"`
	TempMax      unit.Temperature `json:"tempmax"`
	TempMin      unit.Temperature `json:"tempmin"`
	Temp         unit.Temperature `json:"temp"`
	FeelsLikeMax unit.Temperature `json:"feelslikemax"`
	FeelsLikeMin unit.Temperature `json:"feelslikemin"`
	FeelsLike    unit.Temperature `json:"feelslike"`
	Humidity     unit.Percent     `json:"humidity,omitempty"`
	Dew          unit.Temperature `json:"dew"`
	Precip       float64          `json:"precip,omitempty"`
	PrecipProb   unit.Percent     `json:"precipprob,omitempty"`
	PrecipCover  unit.Percent     `json:"precipcover,omitempty"`
	Snow         float64          `json:"snow,omitempty"`
	SnowDepth    float64          `json:"snowdepth,omitempty"`
	PrecipType   []string         `json:"preciptype,omitempty"`
	WindGust     wind.Speed       `json:"windgust,omitempty"`
	WindSpeed    wind.Speed       `json:"windspeed,omitempty"`
	WindDir      wind.Degree      `json:"winddir,omitempty"`
	Pressure     float64          `json:"pressure,omitempty"`
	CloudCover   unit.Percent     `json:"cloudcover"`
	Visibility   float64          `json:"visibility,omitempty"`
	UVIndex      unit.UVIndex     `json:"uvindex,omitempty"`
	SevereRisk   float64          `json:"severerisk,omitempty"`
	Condition    Condition        `json:"condition,omitempty"`
	Description  string           `json:"description,omitempty"`
	Icon         string           `json:"icon,omitempty"`
	Hours        []Hour           `json:"hours,omitempty"`
}

func (Day) DateInfo

func (day Day) DateInfo(condition bool) string

func (Day) DateInfoHTML

func (day Day) DateInfoHTML() html.HTML

func (Day) HTML

func (day Day) HTML() html.HTML

func (Day) PrecipHours

func (day Day) PrecipHours() (hours []int, output []string)

func (Day) Precipitation

func (day Day) Precipitation() string

func (Day) PrecipitationHTML

func (day Day) PrecipitationHTML(highlight ...int) html.HTML

func (Day) String

func (day Day) String() string

func (Day) Temperature

func (day Day) Temperature() string

func (Day) TemperatureHTML

func (day Day) TemperatureHTML() html.HTML

type Hour

type Hour struct {
	Time           string           `json:"time,omitempty"`
	TimeEpoch      unit.UnixTime    `json:"timeEpoch,omitempty"`
	Temp           unit.Temperature `json:"temp"`
	FeelsLike      unit.Temperature `json:"feelslike"`
	Humidity       unit.Percent     `json:"humidity"`
	Dew            unit.Temperature `json:"dew"`
	Precip         float64          `json:"precip,omitempty"`
	PrecipProb     unit.Percent     `json:"precipprob,omitempty"`
	Snow           float64          `json:"snow,omitempty"`
	SnowDepth      float64          `json:"snowdepth,omitempty"`
	PrecipType     []string         `json:"preciptype,omitempty"`
	WindGust       wind.Speed       `json:"windgust,omitempty"`
	WindSpeed      wind.Speed       `json:"windspeed,omitempty"`
	WindDir        wind.Degree      `json:"winddir,omitempty"`
	Pressure       float64          `json:"pressure,omitempty"`
	Visibility     float64          `json:"visibility,omitempty"`
	CloudCover     unit.Percent     `json:"cloudcover"`
	SolarRadiation float64          `json:"solarradiation,omitempty"`
	SolarEnergy    float64          `json:"solarenergy,omitempty"`
	UVIndex        unit.UVIndex     `json:"uvindex,omitempty"`
	SevereRisk     float64          `json:"severerisk,omitempty"`
	Condition      Condition        `json:"condition,omitempty"`
	Icon           string           `json:"icon,omitempty"`
}

func (Hour) String

func (hour Hour) String() string

type MapAPI added in v1.0.16

type MapAPI interface {
	URL(mt MapType, t time.Time, coords coordinates.Coordinates, opt any) string
	Map(mt MapType, t time.Time, coords coordinates.Coordinates, opt any) (time.Time, image.Image, error)
	Realtime(mt MapType, coords coordinates.Coordinates, opt any) (time.Time, image.Image, error)
}

type MapType added in v1.0.16

type MapType int
const (
	Satellite MapType = iota + 1
	Radar
	Precipitation
	Wind
	Temperature
	Humidity
	DewPoint
	Pressure
)

type RainSnow

type RainSnow struct {
	// contains filtered or unexported fields
}

func NewRainSnow

func NewRainSnow(days []Day, isEnd bool) RainSnow

func WillRainSnow

func WillRainSnow(days []Day) (res []RainSnow)

func (RainSnow) DateInfo

func (rainsnow RainSnow) DateInfo() string

func (*RainSnow) Days

func (rainsnow *RainSnow) Days() []Day

func (RainSnow) Duration

func (rainsnow RainSnow) Duration() int

func (*RainSnow) End

func (rainsnow *RainSnow) End() Day

func (RainSnow) HTML

func (rainsnow RainSnow) HTML(t time.Time, highlight ...int) html.HTML

func (RainSnow) IsEnd

func (rainsnow RainSnow) IsEnd() bool

func (*RainSnow) IsExpired

func (rainsnow *RainSnow) IsExpired() bool

func (*RainSnow) Start

func (rainsnow *RainSnow) Start() Day

func (RainSnow) String

func (rainsnow RainSnow) String() string

type TempRiseFall

type TempRiseFall struct {
	// contains filtered or unexported fields
}

func NewTempRiseFall

func NewTempRiseFall(day, previous Day, standard float64) TempRiseFall

func WillTempRiseFall

func WillTempRiseFall(days []Day, standard float64) (res []TempRiseFall)

func (TempRiseFall) DateInfo

func (t TempRiseFall) DateInfo() string

func (TempRiseFall) Day

func (t TempRiseFall) Day() Day

func (TempRiseFall) DiffInfo

func (t TempRiseFall) DiffInfo() string

func (TempRiseFall) DiffInfoHTML

func (t TempRiseFall) DiffInfoHTML() html.HTML

func (TempRiseFall) Difference

func (t TempRiseFall) Difference() [2][3]unit.Temperature

func (TempRiseFall) HTML

func (t TempRiseFall) HTML() html.HTML

func (TempRiseFall) IsExpired

func (t TempRiseFall) IsExpired() bool

func (TempRiseFall) IsRise

func (t TempRiseFall) IsRise() bool

func (TempRiseFall) Previous

func (t TempRiseFall) Previous() Day

func (TempRiseFall) String

func (t TempRiseFall) String() string

Directories

Path Synopsis
api

Jump to

Keyboard shortcuts

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