Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Recently (as in, over the past few months) the WMATA BusPosition feed has been behaving anomalously.
There are three observed problems:
1. The feed doesn't include the entire fleet - during the weekday rush hour we'd expect to see close to 900 buses, but this morning the feed returned fewer than 250 vehicles.
2. Bus positions return the wrong trip, or are lagging badly. Look at this example:
<BusPosition>
<DateTime>2013-08-16T07:32:01</DateTime>
<Deviation>-1.65</Deviation>
<DirectionNum>0</DirectionNum>
<DirectionText>WEST</DirectionText>
<Lat>38.85038</Lat>
<Lon>-76.955803</Lon>
<RouteID>36</RouteID>
<TripEndTime>2013-08-16T05:59:00</TripEndTime>
<TripHeadsign>FRIENDSHIP HEIGHTS</TripHeadsign>
<TripID>21071_51</TripID>
<TripStartTime>2013-08-16T04:54:00</TripStartTime>
<VehicleID>7112</VehicleID>
</BusPosition>
Notice how the DateTime value (that is, the timestamp when the position was last updated) is nearly 1.5 hours _after_ the vehicle's current trip supposedly ended! Almost all of the BusPosition records returned are in this state.
3. Times for the G2 route are even stranger, with the TripStartTime being set to midnight of the day _after_ the trip!
<BusPosition>
<DateTime>2013-08-16T07:34:04</DateTime>
<Deviation>-7.55</Deviation>
<DirectionNum>0</DirectionNum>
<DirectionText>WEST</DirectionText>
<Lat>38.905819</Lat>
<Lon>-77.069832</Lon>
<RouteID>G2</RouteID>
<TripEndTime>2013-08-16T07:20:00</TripEndTime>
<TripHeadsign>GEORGETOWN UNIVERSITY</TripHeadsign>
<TripID>14885_51</TripID>
<TripStartTime>2013-08-17T00:00:00</TripStartTime>
<VehicleID>3769</VehicleID>
</BusPosition>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.