Documentation ¶
Index ¶
- Constants
- type ActivityType
- type CountryCode
- type CountyNumber
- type Filter
- func And(f1, f2 Filter, rest ...Filter) Filter
- func ElementMatch(f1, f2 Filter, rest ...Filter) Filter
- func Equal(name, value string) Filter
- func Exists(name string, exists bool) Filter
- func GreaterThan(name, value string) Filter
- func GreaterThanOrEqual(name, value string) Filter
- func In(name, value string) Filter
- func Intersects(name, value string) Filter
- func LessThan(name, value string) Filter
- func LessThanOrEqual(name, value string) Filter
- func Like(name, value string) Filter
- func Near(name, value string, minDistance, maxDistance int) Filter
- func Not(f1, f2 Filter, rest ...Filter) Filter
- func NotEqual(name, value string) Filter
- func NotIn(name, value string) Filter
- func NotLike(name, value string) Filter
- func Or(f1, f2 Filter, rest ...Filter) Filter
- func Within(name, value, shape string, radius float64) Filter
- type Geometry
- type Info
- type LastModified
- type MediaType
- type MessageStatus
- type ObjectType
- type PrecipitationAmountName
- type PrecipitationType
- type Query
- func (q *Query) ChangeID(opt string) *Query
- func (q *Query) Distinct(field string) *Query
- func (q *Query) Exclude(fields ...string) *Query
- func (q *Query) Filter(filters ...Filter) *Query
- func (q *Query) ID(opt string) *Query
- func (q *Query) Include(fields ...string) *Query
- func (q *Query) IncludeDeletedObjects(opt bool) *Query
- func (q *Query) LastModified(opt bool) *Query
- func (q *Query) Limit(opt int) *Query
- func (q *Query) MarshalXML(e *xml.Encoder, start xml.StartElement) error
- func (q *Query) OrderBy(opt string) *Query
- func (q *Query) Skip(opt int) *Query
- type RailCrossing1Dot4
- type RailCrossing1Dot5
- type ReasonCode1Dot0
- type Request
- type Road
- type TrainAnnouncement1Dot0
- type TrainAnnouncement1Dot3
- type TrainAnnouncement1Dot4
- type TrainAnnouncement1Dot5
- type TrainAnnouncement1Dot6
- type TrainAnnouncementLocation
- type TrainCodeDescr
- type TrainMessage1Dot0
- type TrainMessage1Dot3
- type TrainMessage1Dot4
- type TrainMessage1Dot5
- type TrainMessage1Dot6
- type TrainMessage1Dot7
- type TrainMessageCommon
- type TrainStation1Dot0
- type TrainStation1Dot4
- type TrainStationMessage1Dot0
- type WeatherMeasurement
- type WeatherStation1Dot0
- type WindDirection
Constants ¶
const Endpoint = "https://api.trafikinfo.trafikverket.se/v2/data.json"
Endpoint is the current recommended endpoint for the Trafikinfo API
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivityType ¶ added in v0.2.0
type ActivityType string
const ( ActivityTypeArrival ActivityType = "Ankomst" ActivityTypeDeparture ActivityType = "Avgang" )
type CountryCode ¶ added in v0.2.0
type CountryCode string
const ( CountryCodeGermany CountryCode = "DE" CountryCodeDenmark CountryCode = "DK" CountryCodeNorway CountryCode = "NO" CountryCodeSweden CountryCode = "SE" )
type CountyNumber ¶ added in v0.2.0
type CountyNumber uint
CountyNumber is a numerical ID assigned to a county in Sweden
const ( CountyStockholm CountyNumber = iota + 1 CountyStockholmDeprecated CountyUppsala CountySodermanland CountyOstergotland CountyJonkoping CountyKronobergs CountyKalmar CountyGotland CountyBlekinge CountySkane CountyHallands CountyVastraGotaland CountyVarmland CountyOrebro CountyVastmanland CountyDalarna CountyGavleborg CountyVasternorrland CountyJamtland CountyVasterbotten CountyNorrbotten )
func (CountyNumber) String ¶ added in v0.2.0
func (c CountyNumber) String() string
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
Filter represents a filter element in the query.
func ElementMatch ¶
ElementMatch builds an ELEMENTMATCH filter
func GreaterThan ¶
GreaterThan filters by whether the field specified by name is greater than the specified value
func GreaterThanOrEqual ¶
GreaterThanOrEqual filters by whether the field specified by name is greater than or equal to the specified value
func Intersects ¶
Intersects filters by if te field specified in name intersects with the coordinates provided in value
func LessThan ¶
LessThan filters by whether the field specified by name is less than the specified value
func LessThanOrEqual ¶
LessThanOrEqual filters by whether the field specified by name is less than or equal to the specified value
func Near ¶
Near filters by if the field specified in name is within the specified min/max dinstance from the point coordinates sepcified in value
func Within ¶
Within filters by if the field specified in name falls within the specified shape, radius and the coordinates in value
func (*Filter) MarshalXML ¶
type Info ¶ added in v0.2.0
type Info struct { LastModified *LastModified `json:"LASTMODIFIED,omitempty"` LastChangeID *string `json:"LASTCHANGEID,omitempty"` EvalResult []any `json:"EVALRESULT,omitempty"` SSEURL *string `json:"SSEURL,omitempty"` }
type LastModified ¶ added in v0.2.0
type MessageStatus ¶ added in v0.2.0
type MessageStatus string
const ( MessageStatusLow MessageStatus = "Lag" MessageStatusNormal MessageStatus = "Normal" MessageStatusHigh MessageStatus = "Hog" MessageStatusDisruption MessageStatus = "StortLage" )
type ObjectType ¶
type ObjectType string
ObjectType is a type of object you can retrieve from the API
const ( RailCrossing ObjectType = "RailCrossing" ReasonCode ObjectType = "ReasonCode" TrainAnnouncement ObjectType = "TrainAnnouncement" TrainMessage ObjectType = "TrainMessage" TrainStation ObjectType = "TrainStation" TrainStationMessage ObjectType = "TrainStationMessage" TrainPosition ObjectType = "TrainPosition" Camera ObjectType = "Camera" FerryAnnouncement ObjectType = "FerryAnnouncement" FerryRoute ObjectType = "FerryRoute" Icon ObjectType = "Icon" Parking ObjectType = "Parking" RoadCondition ObjectType = "RoadCondition" RoadConditionOverview ObjectType = "RoadConditionOverview" Situation ObjectType = "Situation" TrafficFlow ObjectType = "TrafficFlow" TrafficSafetyCamera ObjectType = "TrafficSafetyCamera" TravelTimeRoute ObjectType = "TravelTimeRoute" WeatherMeasurePoint ObjectType = "WeatherMeasurePoint" WeatherObservation ObjectType = "WeatherObservation" WeatherStation ObjectType = "WeatherStation" MeasurementData100 ObjectType = "MeasurementData100" MeasurementData20 ObjectType = "MeasurementData20" PavementData ObjectType = "PavementData" RoadData ObjectType = "RoadData" RoadGeometry ObjectType = "RoadGeometry" )
type PrecipitationAmountName ¶ added in v0.2.0
type PrecipitationAmountName string
const ( PrecipitationDataMissing PrecipitationAmountName = "Givare saknas/Fel på givare" PrecipitationLightRain PrecipitationAmountName = "Lätt regn" PrecipitationMildRain PrecipitationAmountName = "Måttligt regn" PrecipitationHeavyRain PrecipitationAmountName = "Kraftigt regn" PrecipitationLightSleet PrecipitationAmountName = "Lätt snöblandat regn" PrecipitationMildSleet PrecipitationAmountName = "Måttligt snöblandat regn" PrecipitationHeavySleet PrecipitationAmountName = "Kraftigt snöblandat regn" PrecipitationLightSnow PrecipitationAmountName = "Lätt snöfall" PrecipitationMindSnow PrecipitationAmountName = "Måttligt snöfall" PrecipitationHeavySnow PrecipitationAmountName = "Kraftigt snöfall" PrecipitationOther PrecipitationAmountName = "Annan nederbördstyp" PrecipitationUnknown PrecipitationAmountName = "Okänd nederbördstyp" PrecipitationNone PrecipitationAmountName = "Ingen nederbörd" )
type PrecipitationType ¶ added in v0.2.0
type PrecipitationType string
const ( PrecipitationTypeDrizzle PrecipitationType = "Duggregn" PrecipitationTypeHail PrecipitationType = "Hagel" PrecipitationTypeRain PrecipitationType = "Regn" PrecipitationTypeSnow PrecipitationType = "Snö" PrecipitationTypeSleet PrecipitationType = "Snöblandat regn" PrecipitationTypeFreezingRain PrecipitationType = "Underkylt regn" PrecipitationTypeNone PrecipitationType = "Ingen nederbörd" )
type Query ¶
type Query struct {
// contains filtered or unexported fields
}
Query is used to request information from the Trafikinfo API
func NewQuery ¶
func NewQuery(objectType ObjectType, schemaVersion float64) *Query
NewQuery returns a query that other methods can be chained on to further customise the request.
func (*Query) ChangeID ¶ added in v0.1.1
ChangeID sets the change ID for the request. This should initially be 0 to request all data, and then be set to the value of the change ID in the response to only get updated/deleted objects since the previous change ID.
func (*Query) ID ¶ added in v0.1.1
ID is an arbitrary value which will be echoed in the response. It can be used to associate queries with responses, especially when a request includes multiple queries.
func (*Query) IncludeDeletedObjects ¶ added in v0.1.1
IncludeDeletedObjects requests that deleted objects also be returned. This defaults to false.
func (*Query) LastModified ¶ added in v0.1.1
LastModified results in a lastmodified timestamp being included in the response.
func (*Query) Limit ¶ added in v0.1.1
Limit sets the limit for the amount of items to be returned. This can be used together with Skip to implement pagination. A Limit of 0 means no limit at all, i.e return everything.
func (*Query) MarshalXML ¶
type RailCrossing1Dot4 ¶ added in v0.2.0
type RailCrossing1Dot4 struct { ObjectID *int `json:"ObjectId,omitempty"` RailCrossing1Dot5 }
type RailCrossing1Dot5 ¶ added in v0.2.0
type RailCrossing1Dot5 struct { DataLastUpdated *time.Time `json:"DataLastUpdated,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Geometry *Geometry `json:"Geometry,omitempty"` Kilometer *int `json:"Kilometer,omitempty"` LevelCrossingID *int `json:"LevelCrossingId,omitempty"` Meter *int `json:"Meter,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` NumberOfTracks *int `json:"NumberOfTracks,omitempty"` OperatingMode *string `json:"OperatingMode,omitempty"` PortalHeightLeft *float64 `json:"PortalHeightLeft,omitempty"` PortalHeightRight *float64 `json:"PortalHeightRight,omitempty"` RailwayRouteID *string `json:"RailwayRouteId,omitempty"` RoadNameAlternative *string `json:"RoadNameAlternative,omitempty"` RoadNameOfficial *string `json:"RoadNameOfficial,omitempty"` RoadProfileCrest *int `json:"RoadProfileCrest,omitempty"` RoadProfileCrossCurve *int `json:"RoadProfileCrossCurve,omitempty"` RoadProfileSteepSlope *int `json:"RoadProfileSteepSlope,omitempty"` RoadProtectionAddition []TrainCodeDescr `json:"RoadProtectionAddition,omitempty"` RoadProtectionBase []TrainCodeDescr `json:"RoadProtectionBase,omitempty"` RoadRouteID *string `json:"RoadRouteId,omitempty"` TrackPortion *int `json:"TrackPortion,omitempty"` TrainFlow *int `json:"TrainFlow,omitempty"` }
type ReasonCode1Dot0 ¶ added in v0.2.0
type ReasonCode1Dot0 struct { Code *string `json:"Code,omitempty"` Deleted *bool `json:"Deleted,omitempty"` GroupDescription *string `json:"GroupDescription,omitempty"` Level1Description *string `json:"Level1Description,omitempty"` Level2Description *string `json:"Level2Description,omitempty"` Level3Description *string `json:"Level3Description,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` }
ReasonCode1Dot0 represents a reason for a train related issue.
The "Code" and "Level3Description" fields correspond to the "Code" and "Description" fields for the TrainAnnouncement and TrainMessage object types.
type Request ¶
type Request struct { XMLName string `xml:"REQUEST"` Login *login `xml:"LOGIN"` Queries []*Query `xml:"QUERY"` }
Request tells the API what we're interested in
It must include the Login information and at least one Query.
func NewRequest ¶
func NewRequest() *Request
NewRequest returns a Request using the specified API authentication key and the data to be retrieved and filtered by the specified queries. At least 1 query needs to be provided.
func (*Request) Build ¶
Build returns the XML encoded request as an array of bytes. It can be passed as http.NewRequest's body by wrapping it in a call to bytes.NewBuffer().
The Build() method is final when used in a fluent API style, you can't chain additional methods on it that continue to modify the request.
type TrainAnnouncement1Dot0 ¶ added in v0.2.0
type TrainAnnouncement1Dot0 struct { ActivityID *string `json:"ActivityId,omitempty"` ActivityType *ActivityType `json:"ActivityType,omitempty"` Advertised *bool `json:"Advertised,omitempty"` AdvertisedTimeAtLocation *time.Time `json:"AdvertisedTimeAtLocation,omitempty"` AdvertisedTrainIdent *string `json:"AdvertisedTrainIdent,omitempty"` Booking []string `json:"Booking,omitempty"` Canceled *bool `json:"Canceled,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Deviation []string `json:"Deviation,omitempty"` EstimatedTimeAtLocation *time.Time `json:"EstimatedTimeAtLocation,omitempty"` EstimatedTimeIsPreliminary *bool `json:"EstimatedTimeIsPreliminary,omitempty"` FromLocation []string `json:"FromLocation,omitempty"` InformationOwner *string `json:"InformationOwner,omitempty"` LocationSignature *string `json:"LocationSignature,omitempty"` MobileWebLink *string `json:"MobileWebLink,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` OtherInformation []string `json:"OtherInformation,omitempty"` ProductInformation []string `json:"ProductInformation,omitempty"` ScheduledDepartureDateTime *time.Time `json:"ScheduledDepartureDateTime,omitempty"` Service []string `json:"Service,omitempty"` TimeAtLocation *time.Time `json:"TimeAtLocation,omitempty"` ToLocation []string `json:"ToLocation,omitempty"` TrackAtLocation *string `json:"TrackAtLocation,omitempty"` TrainComposition []string `json:"TrainComposition,omitempty"` TypeOfTraffic *string `json:"TypeOfTraffic,omitempty"` WebLink *string `json:"WebLink,omitempty"` }
type TrainAnnouncement1Dot3 ¶ added in v0.2.0
type TrainAnnouncement1Dot3 struct { ActivityID *string `json:"ActivityId,omitempty"` ActivityType *ActivityType `json:"ActivityType,omitempty"` Advertised *bool `json:"Advertised,omitempty"` AdvertisedTimeAtLocation *time.Time `json:"AdvertisedTimeAtLocation,omitempty"` AdvertisedTrainIdent *string `json:"AdvertisedTrainIdent,omitempty"` Booking []string `json:"Booking,omitempty"` Canceled *bool `json:"Canceled,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Deviation []string `json:"Deviation,omitempty"` EstimatedTimeAtLocation *time.Time `json:"EstimatedTimeAtLocation,omitempty"` EstimatedTimeIsPreliminary *bool `json:"EstimatedTimeIsPreliminary,omitempty"` FromLocation []TrainAnnouncementLocation `json:"FromLocation,omitempty"` InformationOwner *string `json:"InformationOwner,omitempty"` LocationSignature *string `json:"LocationSignature,omitempty"` MobileWebLink *string `json:"MobileWebLink,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` NewEquipment *int `json:"NewEquipment,omitempty"` OtherInformation []string `json:"OtherInformation,omitempty"` PlannedEstimatedTimeAtLocation *time.Time `json:"PlannedEstimatedTimeAtLocation,omitempty"` PlannedEstimatedTimeAtLocationIsValid *bool `json:"PlannedEstimatedTimeAtLocationIsValid,omitempty"` ProductInformation []string `json:"ProductInformation,omitempty"` ScheduledDepartureDateTime *time.Time `json:"ScheduledDepartureDateTime,omitempty"` Service []string `json:"Service,omitempty"` TechnicalTrainIdent *string `json:"TechnicalTrainIdent,omitempty"` TimeAtLocation *time.Time `json:"TimeAtLocation,omitempty"` ToLocation []TrainAnnouncementLocation `json:"ToLocation,omitempty"` TrackAtLocation *string `json:"TrackAtLocation,omitempty"` TrainComposition []string `json:"TrainComposition,omitempty"` TypeOfTraffic *string `json:"TypeOfTraffic,omitempty"` ViaFromLocation []TrainAnnouncementLocation `json:"ViaFromLocation,omitempty"` ViaToLocation []TrainAnnouncementLocation `json:"ViaToLocation,omitempty"` WebLink *string `json:"WebLink,omitempty"` WebLinkName *string `json:"WebLinkName,omitempty"` }
type TrainAnnouncement1Dot4 ¶ added in v0.2.0
type TrainAnnouncement1Dot4 struct { TrainAnnouncement1Dot3 Operator *string `json:"Operator,omitempty"` TechnicalDateTime *time.Time `json:"TechnicalDateTime,omitempty"` TimeAtLocationWithSeconds *time.Time `json:"TimeAtLocationWithSeconds,omitempty"` TrainOwner *string `json:"TrainOwner,omitempty"` }
type TrainAnnouncement1Dot5 ¶ added in v0.2.0
type TrainAnnouncement1Dot5 struct { ActivityID *string `json:"ActivityId,omitempty"` ActivityType *ActivityType `json:"ActivityType,omitempty"` Advertised *bool `json:"Advertised,omitempty"` AdvertisedTimeAtLocation *time.Time `json:"AdvertisedTimeAtLocation,omitempty"` AdvertisedTrainIdent *string `json:"AdvertisedTrainIdent,omitempty"` Booking []TrainCodeDescr `json:"Booking,omitempty"` Canceled *bool `json:"Canceled,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Deviation []TrainCodeDescr `json:"Deviation,omitempty"` EstimatedTimeAtLocation *time.Time `json:"EstimatedTimeAtLocation,omitempty"` EstimatedTimeIsPreliminary *bool `json:"EstimatedTimeIsPreliminary,omitempty"` FromLocation []TrainAnnouncementLocation `json:"FromLocation,omitempty"` InformationOwner *string `json:"InformationOwner,omitempty"` LocationSignature *string `json:"LocationSignature,omitempty"` MobileWebLink *string `json:"MobileWebLink,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` NewEquipment *int `json:"NewEquipment,omitempty"` Operator *string `json:"Operator,omitempty"` OtherInformation []TrainCodeDescr `json:"OtherInformation,omitempty"` PlannedEstimatedTimeAtLocation *time.Time `json:"PlannedEstimatedTimeAtLocation,omitempty"` PlannedEstimatedTimeAtLocationIsValid *bool `json:"PlannedEstimatedTimeAtLocationIsValid,omitempty"` ProductInformation []TrainCodeDescr `json:"ProductInformation,omitempty"` ScheduledDepartureDateTime *time.Time `json:"ScheduledDepartureDateTime,omitempty"` Service []TrainCodeDescr `json:"Service,omitempty"` TechnicalDateTime *time.Time `json:"TechnicalDateTime,omitempty"` TechnicalTrainIdent *string `json:"TechnicalTrainIdent,omitempty"` TimeAtLocation *time.Time `json:"TimeAtLocation,omitempty"` TimeAtLocationWithSeconds *time.Time `json:"TimeAtLocationWithSeconds,omitempty"` ToLocation []TrainAnnouncementLocation `json:"ToLocation,omitempty"` TrackAtLocation *string `json:"TrackAtLocation,omitempty"` TrainComposition []TrainCodeDescr `json:"TrainComposition,omitempty"` TrainOwner *string `json:"TrainOwner,omitempty"` TypeOfTraffic *string `json:"TypeOfTraffic,omitempty"` ViaFromLocation []TrainAnnouncementLocation `json:"ViaFromLocation,omitempty"` ViaToLocation []TrainAnnouncementLocation `json:"ViaToLocation,omitempty"` WebLink *string `json:"WebLink,omitempty"` WebLinkName *string `json:"WebLinkName,omitempty"` }
type TrainAnnouncement1Dot6 ¶ added in v0.2.0
type TrainAnnouncement1Dot6 struct { ActivityID *string `json:"ActivityId,omitempty"` ActivityType *ActivityType `json:"ActivityType,omitempty"` Advertised *bool `json:"Advertised,omitempty"` AdvertisedTimeAtLocation *time.Time `json:"AdvertisedTimeAtLocation,omitempty"` AdvertisedTrainIdent *string `json:"AdvertisedTrainIdent,omitempty"` Booking []TrainCodeDescr `json:"Booking,omitempty"` Canceled *bool `json:"Canceled,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Deviation []TrainCodeDescr `json:"Deviation,omitempty"` EstimatedTimeAtLocation *time.Time `json:"EstimatedTimeAtLocation,omitempty"` EstimatedTimeIsPreliminary *bool `json:"EstimatedTimeIsPreliminary,omitempty"` FromLocation []TrainAnnouncementLocation `json:"FromLocation,omitempty"` InformationOwner *string `json:"InformationOwner,omitempty"` LocationSignature *string `json:"LocationSignature,omitempty"` MobileWebLink *string `json:"MobileWebLink,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` NewEquipment *int `json:"NewEquipment,omitempty"` Operator *string `json:"Operator,omitempty"` OtherInformation []TrainCodeDescr `json:"OtherInformation,omitempty"` PlannedEstimatedTimeAtLocation *time.Time `json:"PlannedEstimatedTimeAtLocation,omitempty"` PlannedEstimatedTimeAtLocationIsValid *bool `json:"PlannedEstimatedTimeAtLocationIsValid,omitempty"` ProductInformation []TrainCodeDescr `json:"ProductInformation,omitempty"` ScheduledDepartureDateTime *time.Time `json:"ScheduledDepartureDateTime,omitempty"` Service []TrainCodeDescr `json:"Service,omitempty"` TechnicalDateTime *time.Time `json:"TechnicalDateTime,omitempty"` TechnicalTrainIdent *string `json:"TechnicalTrainIdent,omitempty"` TimeAtLocation *time.Time `json:"TimeAtLocation,omitempty"` TimeAtLocationWithSeconds *time.Time `json:"TimeAtLocationWithSeconds,omitempty"` ToLocation []TrainAnnouncementLocation `json:"ToLocation,omitempty"` TrackAtLocation *string `json:"TrackAtLocation,omitempty"` TrainComposition []TrainCodeDescr `json:"TrainComposition,omitempty"` TrainOwner *string `json:"TrainOwner,omitempty"` TypeOfTraffic []TrainCodeDescr `json:"TypeOfTraffic,omitempty"` ViaFromLocation []TrainAnnouncementLocation `json:"ViaFromLocation,omitempty"` ViaToLocation []TrainAnnouncementLocation `json:"ViaToLocation,omitempty"` WebLink *string `json:"WebLink,omitempty"` WebLinkName *string `json:"WebLinkName,omitempty"` }
type TrainAnnouncementLocation ¶ added in v0.2.0
type TrainCodeDescr ¶ added in v0.2.0
type TrainMessage1Dot0 ¶ added in v0.2.0
type TrainMessage1Dot0 struct { TrainMessageCommon AffectedLocation []string `json:"AffectedLocation,omitempty"` ReasonCodeText *string `json:"ReasonCodeText,omitempty"` }
type TrainMessage1Dot3 ¶ added in v0.2.0
type TrainMessage1Dot3 struct { TrainMessage1Dot0 Header *string `json:"Header,omitempty"` TrafficImpact *struct { AffectedLocation []string `json:"AffectedLocation,omitempty"` FromLocation []string `json:"FromLocation,omitempty"` ToLocation []string `json:"ToLocation,omitempty"` } `json:"TrafficImpact,omitempty"` EndDateTime *time.Time `json:"EndDateTime,omitempty"` }
type TrainMessage1Dot4 ¶ added in v0.2.0
type TrainMessage1Dot4 struct { TrainMessage1Dot3 PrognosticatedEndDateTimeTrafficImpact *time.Time `json:"PrognosticatedEndDateTimeTrafficImpact,omitempty"` ExpectTrafficImpact *bool `jsno:"ExpectTrafficImpact,omitempty"` }
type TrainMessage1Dot5 ¶ added in v0.2.0
type TrainMessage1Dot5 struct { TrainMessageCommon AffectedLocation []string `json:"AffectedLocation,omitempty"` EndDateTime *time.Time `json:"EndDateTime,omitempty"` ExpectTrafficImpact *bool `jsno:"ExpectTrafficImpact,omitempty"` Header *string `json:"Header,omitempty"` PrognosticatedEndDateTimeTrafficImpact *time.Time `json:"PrognosticatedEndDateTimeTrafficImpact,omitempty"` ReasonCode *TrainCodeDescr `json:"ReasonCodeText,omitempty"` TrafficImpact *struct { AffectedLocation []string `json:"AffectedLocation,omitempty"` FromLocation []string `json:"FromLocation,omitempty"` ToLocation []string `json:"ToLocation,omitempty"` } `json:"TrafficImpact,omitempty"` }
type TrainMessage1Dot6 ¶ added in v0.2.0
type TrainMessage1Dot6 struct { TrainMessageCommon EndDateTime *time.Time `json:"EndDateTime,omitempty"` Header *string `json:"Header,omitempty"` PrognosticatedEndDateTimeTrafficImpact *time.Time `json:"PrognosticatedEndDateTimeTrafficImpact,omitempty"` ReasonCode *TrainCodeDescr `json:"ReasonCodeText,omitempty"` TrafficImpact *struct { AffectedLocation []string `json:"AffectedLocation,omitempty"` FromLocation []string `json:"FromLocation,omitempty"` IsConfirmed *bool `json:"IsConfirmed,omitempty"` ToLocation []string `json:"ToLocation,omitempty"` } `json:"TrafficImpact,omitempty"` }
type TrainMessage1Dot7 ¶ added in v0.2.0
type TrainMessage1Dot7 struct { TrainMessageCommon EndDateTime *time.Time `json:"EndDateTime,omitempty"` Header *string `json:"Header,omitempty"` PrognosticatedEndDateTimeTrafficImpact *time.Time `json:"PrognosticatedEndDateTimeTrafficImpact,omitempty"` ReasonCode *TrainCodeDescr `json:"ReasonCodeText,omitempty"` TrafficImpact *struct { AffectedLocation []struct { LocationSignature *string `json:"LocationSignature,omitempty"` ShouldBeTrafficInformed *bool `json:"ShouldBeTrafficInformed,omitempty"` } `json:"AffectedLocation,omitempty"` FromLocation []string `json:"FromLocation,omitempty"` IsConfirmed *bool `json:"IsConfirmed,omitempty"` ToLocation []string `json:"ToLocation,omitempty"` } `json:"TrafficImpact,omitempty"` }
type TrainMessageCommon ¶ added in v0.2.0
type TrainMessageCommon struct { CountyNo []CountyNumber `json:"CountyNo,omitempty"` Deleted *bool `json:"Deleted,omitempty"` EventID *string `json:"EventId,omitempty"` ExternalDescription *string `json:"ExternalDescription,omitempty"` Geometry *Geometry `json:"Geometry,omitempty"` LastUpdateDateTime *time.Time `json:"LastUpdateDateTime,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` StartDateTime *time.Time `json:"StartDateTime,omitempty"` }
type TrainStation1Dot0 ¶ added in v0.2.0
type TrainStation1Dot0 struct { Advertised *bool `json:"Advertised,omitempty"` AdvertisedLocationName *string `json:"AdvertisedLocationName,omitempty"` AdvertisedShortLocationName *string `json:"AdvertisedShortLocationName,omitempty"` CountryCode *CountryCode `json:"CountryCode,omitempty"` CountyNo []CountyNumber `json:"CountyNo,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Geometry *Geometry `json:"Geometry,omitempty"` LocationInformationText *string `json:"LocationInformationText,omitempty"` LocationSignature *string `json:"LocationSignature,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` PlatformLine []string `json:"PlatformLine,omitempty"` Prognosticated *bool `json:"Prognosticated,omitempty"` }
type TrainStation1Dot4 ¶ added in v0.2.0
type TrainStation1Dot4 struct { TrainStation1Dot0 OfficialLocationName *string `json:"OfficialLocationName,omitempty"` }
type TrainStationMessage1Dot0 ¶ added in v0.2.0
type TrainStationMessage1Dot0 struct { ActiveDays *string `json:"ActiveDays,omitempty"` Deleted *bool `json:"Deleted,omitempty"` EndDateTime *time.Time `json:"EndDateTime,omitempty"` EventID *string `json:"EventId,omitempty" yaml:"EventId,omitempty"` FreeText *string `json:"FreeText,omitempty"` ID *string `json:"Id,omitempty"` LocationCode *string `json:"LocationCode,omitempty"` MediaType *MediaType `json:"MediaType,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` MonitorAttributes *struct { BigScreenMonitorActivated *bool `json:"BigScreenMonitorActivated,omitempty"` CommuterMonitor *bool `json:"CommuterMonitor,omitempty"` } `json:"MonitorAttributes,omitempty"` PlatformSignAttributes *struct { CommuterPlatformSign *bool `json:"CommuterPlatformSign,omitempty"` TrackList *struct { Track []string `json:"Track,omitempty"` } `json:"TrackList,omitempty"` } `json:"PlatformSignAttributes,omitempty"` PublicAnnouncementAttributes *struct { EnglishPublicAnnouncementActivated *bool `json:"EnglishPublicAnnouncementActivated,omitempty"` EnglishText *string `json:"EnglishText,omitempty"` PublicAnnouncementPlanList *struct { PublicAnnouncementPlan []struct { ActiveDays *string `json:"ActiveDays,omitempty"` PublicAnnouncementOccasionList *struct { PublicAnnouncementOccasion []int `json:"PublicAnnouncementOccasion,omitempty"` } `json:"PublicAnnouncementOccasionList,omitempty"` ValidFrom *time.Time `json:"ValidFrom,omitempty"` ValidTo *time.Time `json:"ValidTo,omitempty"` } `json:"PublicAnnouncementPlan,omitempty"` } `json:"PublicAnnouncementPlanList,omitempty"` PublicAnnouncementZoneList *struct { PublicAnnouncementZone []string `json:"PublicAnnouncementZone,omitempty"` } `json:"PublicAnnouncementZoneList,omitempty"` } `json:"PublicAnnouncementAttributes,omitempty"` SplitActivationTime *bool `json:"SplitActivationTime,omitempty"` StartDateTime *time.Time `json:"StartDateTime,omitempty"` Status *MessageStatus `json:"Status,omitempty"` VersionNumber *int `json:"VersionNumber,omitempty"` }
type WeatherMeasurement ¶ added in v0.2.0
type WeatherMeasurement struct { Air *struct { RelativeHumidity *float64 `json:"RelativeHumidity,omitempty"` Temperature *float64 `json:"Temp,omitempty"` TemperatureIconID *string `json:"TempIconId,omitempty"` } `json:"Air,omitempty"` MeasureTime *time.Time `json:"MeasureTime,omitempty"` Precipitation *struct { Amount *float64 `json:"Amount,omitempty"` AmountName *PrecipitationAmountName `json:"AmountName,omitempty"` Type *PrecipitationType `json:"Type,omitempty"` TypeIconID *string `json:"TypeIconId,omitempty"` } `json:"Precipitation,omitempty"` Road *Road `json:"Road,omitempty"` Wind *struct { Direction *float64 `json:"Direction,omitempty"` DirectionIconID *string `json:"DirectionIconId,omitempty"` DirectionText *WindDirection `json:"DirectionText,omitempty"` Force *float64 `json:"Force,omitempty"` ForceMax *float64 `json:"ForceMax,omitempty"` } `json:"Wind,omitempty"` }
type WeatherStation1Dot0 ¶ added in v0.2.0
type WeatherStation1Dot0 struct { Active *bool `json:"Active,omitempty"` CountyNumber []CountyNumber `json:"CountyNo,omitempty"` Deleted *bool `json:"Deleted,omitempty"` Geometry *Geometry `json:"Geometry,omitempty"` IconID *string `json:"IconId,omitempty"` ID *string `json:"Id,omitempty"` Measurement *WeatherMeasurement `json:"Measurement,omitempty"` MeasurementHistory []WeatherMeasurement `json:"MeasurementHistory,omitempty"` ModifiedTime *time.Time `json:"ModifiedTime,omitempty"` Name *string `json:"Name,omitempty"` RoadNumber *int `json:"RoadNumberNumeric,omitempty"` }
type WindDirection ¶ added in v0.2.0
type WindDirection string
const ( WindDirectionN WindDirection = "Norr" WindDirectionNE WindDirection = "Nordöst" WindDirectionNNE WindDirection = "Nordnordöst" WindDirectionNNW WindDirection = "Nordnordväst" WindDirectionNW WindDirection = "Nordväst" WindDirectionE WindDirection = "Öst" WindDirectionESE WindDirection = "Östsydöst" WindDirectionS WindDirection = "Söder" WindDirectionSE WindDirection = "Sydöst" WindDirectionSSW WindDirection = "Sydsydväst" WindDirectionSW WindDirection = "Sydväst" WindDirectionW WindDirection = "Väst" )