The miniTraff Icon

Welcome to miniTraff

Version 4.5.0 is available for testing

Now with invisible map colors (no, really) and selectable flashing yellow turn arrows!

Asymptotically approaching usability since 2003!

SourceForge.net Logo
miniTraff simulates a user created map of streets and intersections. Vehicles move along the streets controlled by the signals within the intersections.

miniTraff allows traffic engineers and students to model designs for traffic layouts and test timing schemes (including semi-actuation and density) for efficiency.

These programs require the Java Runtime Environment (JRE) version 1.5 (or higher). You can download the JRE free from Sun. You don't need the JDK (Java Development Kit) or anything else.

Importing LandXML files will require a SAX parser. If you do not already have a parser installed you can download one free via www.saxproject.org. See "LandXML Trouble-shooting" in the (im/Ex)port /panel help for all the dirt.

I've attempted to test it as well as possible, but my test platforms are Linux (Debian w/ a 2.6.21 kernel and Fluxbox) and Windows ME, so other platforms may have problems. (and more testing is always needed)

04.03.00 was the last version of miniTraff or mapTraff that could import the "Old_miniTraff" format. I'll make it available for a while, but you should make sure any old '*.mtf' files are exported into the current 'miniTraff' format.


miniTraff has the following features:

  1. Fully expandable intersection and signal logic:
    1. attempts to follow MUTCD 2003 (near as I can understand it);
    2. any number of legs and phases with overlaps;
    3. leading phases set using Barrier, Ring and Sequence numbers;
    4. selectable multi-digit phase designation (i.e. 1,6,3,8,5,2,7,4,11,16,13,18, etc.);
    5. Phases can be 'mirrored' (forerunner of coordination);
    6. adjustable green and yellow intervals by phase;
    7. stop or yield signs (two way, four way or more);
    8. adjustable 'minimum stop time' by leg (for stop or yield);
    9. adjustable red clearance and initial offset (for synchronization) by intersection;
    10. selectable permissive left (or right for right hand drive);
    11. selectable right on red (or left, ditto for rest of this page).

  2. Worldly map design features:
    1. supports either Right or Left-hand drive;
    2. density and semi-actuation, with
    3. loops any distance from the stop bar (up to the length of the street);
    4. adjustable intersection size (stop bar to center);
    5. selectable intersection node numbers;
    6. billions of streets and intersections (if you have enough memory);
    7. streets of any length (up to 32,700 meters or yards) and direction with multiple lanes;
    8. street lengths can be entered in yards (meters) or seconds (seconds are used internally);
    9. speed limit, direction, or number of lanes can change at any point within a street
      (streets are composed of multiple street fragments);
    10. selectable number of right or left turn lanes (left + through + right <= 20 lanes total);
    11. multiple selectable right, left or 'U' turn destinations;
    12. right and left shared or exclusive turn lanes;
    13. multiple adjustable right and left vehicle turn percentages and
    14. multiple adjustable right and left exclusive turn lane lengths.

  3. Convenient map assembly and maintenance features:
    1. "Add Turns" and "Toggle Lights" for an entire intersection automatically;
    2. turn percents update automatically when a street, fragment or intersection leg is deleted;
    3. thru and turn phases automatically disabled when the associated destinations are not available;
    4. copy fragments from one street to another;
    5. find unmapped streets or intersections with the 'verify mapping' feature;
    6. find a specific street with a sub-string (case dependent);
    7. find all intersections that use a street;
    8. save and restore data for multiple 'Cities';
    9. save and restore multiple Default value sets
      (default values are flagged with a selectable color) and
    10. export and import data using miniTraff (*.mtf) formats, LandXML (*.xml) formats or UTDF (Version 6, *.csv) formats.

  4. Cunning micro-simulation features:
    1. 1/10th second time resolution;
    2. adjustable vehicle "spacing" (front bumper separation);
    3. adjustable vehicle length standard deviation;
    4. adjustable vehicle speed standard deviation;
    5. adjustable vehicle acceleration and deceleration;
    6. adjustable 'slowing point' when approaching a yellow or red light, or a stop sign;
    7. adjustable traffic volume at each entry/exit point;
    8. save and recall multiple timing plans or traffic volumes (using UTDF or miniTraff import/export);
    9. save and recall queries into different Cities (using miniTraff import/export);
    10. vehicles can enter the map at the start of any fragment (but not within an intersection);
    11. vehicles can exit the map at the end of any fragment (but not within an intersection);
    12. vehicles change lanes to pass slower vehicles and to move into turning lanes;
    13. adjustable lane change delay (for multiple lane changes);
    14. vehicles wait for oncoming traffic at stop signs, right on red and permissive lefts (conflict avoidance);
    15. vehicles change color when moving, stopped or running red lights;
    16. vehicles display their desire to turn (R,L,S,N) and
    17. vehicles display 'T' when in an exclusive turn lane.

  5. Affective traffic control features:
    1. run traffic continuously (with or without the map being visible);
    2. freeze and restart traffic;
    3. "nudge" traffic forward 1/10 second;
    4. run traffic simulation slower or (slightly) faster and
    5. reset time, traffic and lights to zero.

  6. Thoughtful usability features:
    1. help dialogs for every panel;
    2. help text can be searched locally or globally;
    3. selectable 'pop-up error message' level (guru, regular or newbe);
    4. a query system for creating dynamic ad hoc queries against internal program variables;
    5. reporting for queries and selected program data;
    6. selectable beep when a loop is crossed, or a light changes color;
    7. selectable font style and size;
    8. adjustable map colors (including invisible); (New)
    9. adjustable informational and error message colors;
    10. flag all vehicles with a specific lane and/or turn preference and display them in a different color;
    11. 'recenter' the map and zoom it in or out;
    12. scroll the map in two speeds (it is 18.6 miles square);
    13. view any intersection full screen or as an insert in any corner of the display;
    14. full screen signals are color labeled (RYG) for accessibility; (New)
    15. signal display matches the intersection layout on the map;
    16. signal heads rotate to either 'vertical' or 'relative' orientation;
    17. selectable "directional arrows" or "classic dots" at the street fragment ends;
    18. the map displays the actual (UTM) coordinates of the central 'yellow' circle;
    19. selectable flashing yellow or red permissive turn arrows; (New)
    20. 'always green' signals blink (to emphasize their state);
    21. Regenerate (and auto-load) 'xtest.tfc' test data from File menu and
    22. Hot swap to mapTraff from File menu.

  7. Plus, it is 100% Java so it can be run on multiple OSes (theoretically).
    1. Windows icon for miniTraff included (miniTraff.ico);
    2. Windows icon for mapTraff included (mapTraff.ico);
    3. Linux (X11) icon for miniTraff included (lights.xpm) and
    4. Linux (X11) icon for mapTraff included (mapTraff.xpm).
      (you have to hook the icons up)


mapTraff has the following features:

  1. Create maps from UTM (Universal Transverse Mercator) coordinates
    (UTM coordinates are available on any decent GPM);
  2. Export and import data to a miniTraff (*.mtf) format, a LandXML (*.xml) format or a UTDF (*.csf) format;
  3. Adjust Gridline spacing for freehand location estimation. (New)
  4. Create Streets and Intersections at the mouse location; (Almost New)
  5. Create, edit and delete Intersections;
  6. Create, edit, complement and delete Streets;
  7. Create, split, edit and delete street Fragments;
  8. Select Intersections, Streets and Fragments with the mouse, (street selection comprehends Right or Left-hand Drive);
  9. Create a Fragment at right angles to existing Fragment (using the mouse);
  10. Split a Fragment where it crosses another Fragment (using the mouse);
  11. Create an Intersection attached to a street Fragment (using the mouse);
  12. Create a street attached to an Intersection (using the mouse); (Almost New)
  13. Attach more street Fragments to an existing Intersection (using a dialog);
  14. Convert all metric units to imperial or vice versa;
  15. Translate, rotate, scale and join maps (AKA templates);
  16. Adjust map colors (including invisible) with a dialog; (New)
  17. Change Default values with a dialog;
  18. Search help screens locally or globally and
  19. Hot swap to miniTraff from File menu.


I also have plans for future upgrades to miniTraff.

I believe that a healthy user community can help me to improve the existing code and plan new extensions.


miniTraff uses several advanced features in Java and can serve as an example for others who are learning Java.


The naming convention for releases is as follows:

I use a six digit Version/Release/Modification number,
so ##@@%% translates into Version ## Release @@ Modification %%


To download the program, read the paragraph below, then go here.

You want the 'jar' file. You probably also want the 'Maps' file, which contains exported [*.mtf and *.xml format] example maps. They may not be the same version level, this is OK. You don't need the Source or the Javadoc to run the programs (and you really don't want them unless you are a programmer). I strongly recommend reading (and downloading) the 'Notes' file that accompanies the 'jar' file (the icon looks like a tiny clipboard).

Quick start Instructions for the JAR download

  1. If you have created any Cities, export them to *.mtf format files. Put these files somewhere safe. You can import these files when you can not read *.tfc files that were created in previous versions.
  2. Unzip the miniTraff##@@%%.zip file.
    This will create a 'miniTraff' directory which will make cleanup easier if you decide this was a waste of time. You can also run miniTraff or mapTraff from a floppy disk.
  3. The zip file can be deleted now - optional.
  4. mapTraff only
    1. Run the 2cjrun.bat file to start mapTraff.
    2. Change and save the citYwide (CTRL-Y) Default Values.
    3. Bring up the help panel (CTRL-/) and read the "Mapping Tutorial".
    4. Create a map and save it.
  5. miniTraff only
    1. Run the 1jarun.bat file to start miniTraff
    2. Display the map and signals (CTRL-V)
    3. Run traffic (make the lights change and the vehicles move CTRL-R)
    4. Gaze in wonder for a while...
    5. Kill traffic (stop it from running CTRL-K) - optional
    6. Hide the map and signals (CTRL-H) - optional
  6. Quit the program entirely (CTRL-Q) - works at any time

miniTraff mouse use:
When the map display has covered the main menu, a left click will close the display and a right click will open a pop-up menu. CTRL-/ will bring up a panel specific help screen for the current display.

mapTraff mouse use:
A left click may open a pop-up selection menu (or an error message if nothing is selected). A right click will open a pop-up creation menu. CTRL-/ will bring up the mapTraff general help screen.


If you want more, check out the Screenshots page.

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.

Valid HTML 4.01!