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" )