
The letters show the "turn preference" for each vehicle at the next intersection (L - left, R - Right, S - Straight, N - Not Applicable). The numbers show the lane that the vehicle is currently using. A trailing 'T' means that the vehicle is in a turnout or turn lane.
The colors are selectable. The red vehicles are stopped. The cyan vehicles are moving. The yellow vehicle has just run the red light at intersection #1 and is fleeing the scene while looking in the rear view mirror. The green vehicles have been 'flagged' ('left turn' selected on the color dialog). This flag color overrides all other colors.
The short street names (bbbbw, ccccs, bbbbe, ccccn) are just what I used for testing. The street name field is free form, but you'll probably want to abbreviate for space considerations on the map.
These panels are from Fluxbox (Linux) with the font set to "Easy Reading".
       L0M0 <= K2 AND L0M1 OR L0M2 print L0M3
For this example L0 (location 0) is either street ccccn and fragment 2, or intersection 1 and phase 8 (which are two ways of specifying the same location) M0 (method 0) is qiIPGreenTime, K2 is 30 (which is 3.0 seconds), M1 is qbIPGreen, M2 is qbIPYellow and M3 is qiSFVehCount.
(qbIP stands for query, Boolean, Intersection, Phase)
qbIPGreen needs intersection and phase location data and returns
the Boolean true when the light is green and false the rest of the time.
(qiSF stands for query, integer, Street, Fragment)
qiSFVehCount needs street and fragment data and returns the
integer vehicle count.
The actual report consists of lines which look something like this:
      
Time 294 ; Vehicle Speed 4.961621 ; Vehicle 0 ; Veh ID 0ccccn60 ; Street ccccn ; Frag 0 ;
      
Time 294 ; Vehicle Speed 5.2101116 ; Vehicle 1 ; Veh ID 0ccccn160 ; Street ccccn ; Frag 0 ;
      
Time 294 ; Vehicle Speed 6.0911074 ; Vehicle 2 ; Veh ID 0ccccn40 ; Street ccccn ; Frag 0 ;
I used the following filter (under Linux) to create tabular data:
      
grep 'Vehicle 1' report.txt | cut -d " " -f 2,6 > Vehicle1.txt
And then used "ygraph" (also under Linux) to create the diagram below. You can see that Vehicle 4 passes Vehicle 3 (and therefore becomes Vehicle 3) just before time 1920. It then does the same thing to Vehicles 2 and 1 and goes on to win the race. The discontinuities at the end happen as vehicles leave the street fragment.
miniTraff can support a total of twenty lanes in each direction. These lanes are split between exclusive left turn, exclusive right turn and through lanes. For example one leg of an intersection might have five exclusive left turn lanes, nine through lanes and six exclusive right turn lanes. You must have at least one through lane. You can only have one shared left turn lane and/or one shared right turn lane. (a single lane can be shared for both left and right turns)
Every turn lane (shared or exclusive) has a percent associated with it. This is the percent of total vehicles (left + through + right) that will use this lane to turn. Through lanes get any remaining vehicles randomly (through vehicles will change lanes as needed).
The left mouse button invokes a 'selection' menu if the mouse is close enough to a selectable component. To select a street or street fragment, position the mouse on the side of the street where the vehicles would drive. Thus if a street is going up (North) you would click to the right of the street (assuming Left-hand Drive). To select the opposite direction (down/South) for the same street you would click to the left of the street. For Right-hand Drive the selection areas are reversed.
Copyright (C) 2003-2008 by Ralph L. DeCarli. All rights reserved.
miniTraff and mapTraff are licensed under the Open Software License version 1.1. This software is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Return to the miniTraff home page.