You can bring up comments or questions about this in Traffic Data forum topic. |
This page is under construction.
What Waze Map Editors Need to know about how traffic data is stored
The Waze map editor's motto is "usability, simplicity, retention". What we want to retain is the traffic data the Waze servers use for determining the best routes. When we understand what traffic data is stored and what happens to it when we change the map, we can understand the how to make the map work for all wazers. This page is for collecting all the publicly-available information about traffic data and how map editing affects it.
Glossary
- Time slice
- A specific day of week and portion of a day. A time slice might cover an hour or half hour of the day, or it might cover a different length of time.
- Segment cross speed
- The average speed at which wazers traverse the segment from A to B or from B to A during a time slice, not counting the additional time it takes to transition from one segment to the next. In the past, Waze has referred to these as Forward Cross Speed and Backwards Cross Speed.
- Segment cross time
- The average time it takes for a wazer to traverse the segment from A to B or from B to A during each time slice. Calculated from segment cross speed and segment length.
- Transition time
- The average additional time it takes to transition from one segment to another, in addition to the segment cross time. If, during a certain time slice, the average segment cross time for segment 1 is 30s and the transition time from segment 1 to segment 2 is 30s, then the average total time it takes to enter segment 1 until entering segment 2 is 60s during that time slice. Wait times at intersections with or without traffic signals, whether to turn or go straight.
What information is stored
- Forward (A to B) and Reverse (B to A) segment cross speeds by timeslice for every segment.
- Transition time by timeslice for every pair of segments which are connected to each other at a junction node.
What information is calculated
- Segment cross time - calculated from segment cross speed times length.
- The total time to cross segment 1 in the A-B direction and get to segment 2 is the segment 1 Forward Cross Speed + transition time to segment 2.
- We do not know exactly how these numbers are calculated, what happens when wazers leave a segment before they get to the end, turn off their phone, or lose cell service. We don't know whether waze stores a lot of historical speeds and times or just keeps a running average, and whether it keeps data for more times of day then the 48 half-hour periods it shares with us.
What information we can see
Scripts like route speeds can get the total time/speed to cross from one segment to the next for every half hour for every day of the week. They cannot get the cross speeds and transitions separately, but we can see the different times it takes if a route goes left, right, or straight when leaving the segment.
When is traffic data lost?
- When a segment is deleted, all traffic data involving that segment is lost.
- When a segment is permanently disconnected from another segment at a junction, all transition time between those two segments will be lost.
- If no traffic is assigned toa direction on a segment a street then the old traffic data for that direction will be retained for a week or two. After that, it will be lost.
What happens to traffic data when you make changes to the roads
- When you delete a segment (let's call it segment 100)
- its cross times and transition times to other segments is deleted.
- all transition times from other segments to that segment are lost; waze does not remember "turning left from segment 101 is a long wait" it remembers "the transition time from segment 101 to segment 100 is 3 minutes at 5:30 PM on Monday". If you delete segment 100, Waze can no longer use that information.
- When you delete a segment and draw a new one, waze has to start from scratch collecting data on segment cross speeds and transition speeds.
- When you shift the position of a junction without disconnecting anything, changing the lengths of several segments
- The cross speeds are not changed.
- Cross times calculations will change because the lengths of the segments has changed
- Transition times are not affected.
- Over time, the stored traffic data will change to bring segment cross times back into line with reality.
- When you cut a segment (let's call it segment 100) into 2 shorter segments without changing anything else at the 2 original junctions
- Two new segments are created with brand-new segment IDs (let's call them 201 and 202)
- The segment and the segment ID (100) from the segment you cut is gone.
- The cross speed of the original segment is used for both of the new segments
- Transition times at the 2 original junctions are copied from segment 100 to segments 201 and 202, and transition times into 100 are copied to segments 201 and 202.
- A junction node is created where the two new segments are joined.
- Transition times between the two new segments (201 and 202) are created; some default value is used.
- Over time, the stored traffic data will change to adjust the new transition times in line with reality.
- When you disconnect all segments from a junction node and save:
- The junction node is deleted.
- The transition times passing through that junction node are lost.
- When you move segments from one junction node to another junction node
- All transition times which passed through the first junction node are lost, because they were associated with the two connected segment IDs.
- New transition times connecting the same segments through the new junction node are created.
- If you begin with two segments, 101 and 102 disconnected them, and reconnected them through a new junction node, the transition times between 101 and 102 will be lost. They will be replaced by new default values.
- Over time, transition times between the two segments will be adjusted to reflect the new traffic data.
- Traffic data corresponding to a restricted (red) transition arrow between segment 200 and 201 will still be collected as long as traffic can be assigned to segments 200 and 201 (see below)
- Traffic data corresponding to the "wrong direction" on a one-way segment will not be collected if the traffic data is assigned to other nearby segments. If no traffic is asigned to a segment direction, the old traffic data will be retained for a week or two.
- If a 2-way segment is improperly divided by drawing a new one-way segment parallel to the old segment, and the old segment is made one-way, then the stored "wrong way" traffic data on the old segment will be retained for a period of a week or two. New traffic data in that direction will be collected on the new one-way segment.
Unanswered Questions
What happens when
- Drag one junction node with two segments on top of another junction node with another 2 segments. Are the s1->s2 and s3->s4 transition times retained at the new junction node?
- Create 1 segment from 2 by deleting the junction joining them.
- Cross speed?
- Transition times at the nodes on either end of the new segment?
- Transition time between the 2 segments that have been joined to create the new segment?
- disconnect a segment from a junction
- and reconnect it before saving.
- and save it disconnected, but reconnect it and save again before the next tile update
- and save it disconnected through the next tile update, then reconnect directly after tile update.
- for a few days, weeks, or months -- as a way to close a road during construction.
- and then reconnect it to the same junction (nothing else having changed at that junction in the meantime)
- Connect a segment to a junction
- a former "dead-end" node of an existing segment
- convert a bow tie junction to a "H" junction by the following method
- disconnect segment 1 from the bow tie junction
- connect segment 1 to the cross segment to create a new junction
- disconnect segment 2 from the bow tie junction
- connect segment 2 to the new junction.
- convert a bow tie junction to a "H" junction by the following method
- bridge segment 1 to segment 2
- move the joined segment to the new junction location on the cross segment
- reduce the elevation to ground and use the "junction" icon to create the new junction.