The miniTraff Icon

Welcome to miniTraff

Version 5.9 is available for testing

Now with language import and export function for panel text, error messages and help files.
(Spanish available - Espanol050900.zip)

Asymptotically approaching usability since 2003!
See the Requirements section for the Java3D requirements.

SourceForge.net Logo
miniTraff animates 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 efficacy.


miniTraff has the following System Requirements:

The (required) unzipped Jar files require about 1 MB of disk space.
The (recommended) unzipped Map files require about 2.5 MB of disk space.
The (optional) unzipped Source files require about 2.2 MB of disk space.
The (optional) unzipped Javadoc requires about 4 MB of disk space.
The (optional) unzipped Espanol files require about 500 KB of disk space.

These programs require the Java Runtime Environment (JRE) version 1.5 (or higher). You can download the JRE free from Sun or Apple (OS X requires Java 1.6). You don't need the JDK (Java Development Kit) or anything else to run miniTraff with the 2D display.

The miniTraff 2D display runs a bit slow on a Pentium at 233MHz, but it still works fine if you have less than a dozen intersections on your map. The (optional) 3D display needs at least a 1GHz processor with 256MB of RAM and a fairly beefy video card and still may not display smoothly if run faster than real time.

Importing LandXML files (which is optional) requires 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.

The (optional) 3D display requires drivers for JAVA 3D, VERSION 1.5.1, which can be downloaded free through: java.sun.com
The 3D display may also require drivers for OpenGL version 1.2 or higher. These can be downloaded free through: www.opengl.org

See the "3D Display Trouble-shooting" section of the "3D proJection panel" help in the "help / index" panel for more installation troubleshooting details.

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


miniTraff has the following features:

  1. Fully expandable intersection and signal logic:
    1. attempts to follow the MUTCD 2009 (near as I can understand it);
    2. any number of legs with two phases and multiple right overlaps;
    3. phase order set using Barrier, Ring and Sequence numbers;
    4. modifiable intersection and phase numbers;
    5. virtual streets and legs (for coordination);
    6. phases can be 'mirrored' (for coordination);
    7. adjustable initial offset (for synchronization) by intersection;
    8. adjustable green and yellow intervals by phase;
    9. adjustable red clearance by Barrier;
    10. stop or yield signs (two way, four way or more);
    11. adjustable 'minimum stop time' by leg (for stop or yield);
    12. selectable permissive left (or right for Right-hand drive);
    13. 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. recall, resting and demand actuation, with
    3. loops any distance from the stop bar (up to the length of the street);
    4. adjustable intersection radius (stop bar to center);
    5. billions of streets and intersections (if you have enough memory);
    6. streets of any length (up to 32,700 meters or yards) and direction with multiple lanes;
    7. street lengths can be entered in yards (meters) or seconds (seconds are used internally);
    8. speed limit, direction, grade or number of lanes can change at any point within a street
      (streets are composed of multiple contiguous street fragments);
    9. multiple selectable right, left or 'U' turn destination streets with adjustable turning counts or turn percentages;
    10. any number of thru, right and left (shared or exclusive turn) lanes; (any number is Almost New)
    11. multiple adjustable right and left turn lane lengths and
    12. adjustable lane usage percentages for all lanes with multiple percentages for shared turn lanes.

  3. Convenient map assembly and maintenance features:
    1. Signals can be 'timed' automatically for both capacity and tolerable synchronization;
    2. "Add Turns" and "Toggle Lights" for an entire intersection automatically;
    3. select automatic creation of shared or exclusive turns;
    4. turn percents update automatically when a street, fragment or intersection leg is deleted;
    5. thru and turn phases automatically disabled when the associated destination street is not available;
    6. turning counts automatically generate turn percentages;
    7. copy fragments from one street to another;
    8. find unmapped streets or intersections with the 'verify mapping' feature;
    9. find a street or find an intersection that uses that street;
    10. save and restore data for multiple 'Cities' as *.tfc files;
    11. save and restore multiple Default value sets as *.cfg files
    12. export and import data using miniTraff (*.mtf) formats, LandXML (*.xml) formats or UTDF (Version 6, *.csv) formats.
    13. auto-backup all *.cfg, *.tfc and *.mtf files;

  4. Cunning micro-simulation features:
    1. 2D and 3D traffic simulation displays;
    2. 1/10th second time resolution;
    3. create a normal distribution for vehicle length generation using vehicle (FHWA) classes, or
    4. use static vehicle length classes (with no std deviation);
    5. adjustable vehicle "spacing" (front bumper separation) relative to speed;
    6. adjustable local and global vehicle speed (absolute or standard deviation);
    7. adjustable vehicle acceleration and deceleration;
    8. adjustable 'slowing point' when approaching a yellow or red light, or a stop sign (by intersection leg);
    9. vehicles can enter the map on any street fragment that doesn't start at an intersection;
    10. vehicles can exit the map from any street fragment that doesn't end at an intersection;
    11. adjustable traffic volume (Poisson distribution or constant) at each entry/exit point;
    12. adjustable "Tourist Probability" (confused drivers);
    13. vehicles change lanes to pass slower vehicles and to move into turning lanes;
    14. adjustable lane change delay (for multiple lane changes);
    15. separate gap times for crossing and merging traffic,
      (used at stop signs, for right on red and at permissive lefts);
    16. vehicles change color when moving, stopped or running red lights;
    17. vehicles display their desire to turn (R,L,S,N) and
    18. vehicles display 'T' when in an exclusive turn lane.
    19. save and recall multiple timing plans or traffic volumes (using UTDF or miniTraff import/export);
    20. save, recall and extract queries from different Cities (using miniTraff import/export);

  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. 'halt' traffic using an ad hoc query;
    5. select vehicles from the 2D display using the mouse and change their location, speed, turn preference, etc.;
    6. run traffic simulation logarithmically slower or faster, or
    7. run traffic simulation in 'real time' and
    8. reset time, traffic and lights to zero.

  6. Thoughtful usability features:
    1. import and export all error messages, panel text and help files for translation to various languages.
      (example Spanish language module available - Espanol##@@%%.zip) (New)
    2. help dialogs for every panel;
    3. help text can be searched locally or globally;
    4. a help 'index' panel providing direct access to every help panel;
    5. selectable font style and size;
    6. selectable 'pop-up Message level' (Guru, Regular or Newbe);
    7. save image of any map or screen; (Almost New)
    8. adjustable informational and error message colors;
    9. default values are flagged with an adjustable color;
    10. adjustable map colors (2D includes invisible);
    11. flag all vehicles with a specific lane and/or turn preference (or tourists) and display them in a different color;
    12. a query system for creating ad hoc queries for dynamic traffic data
      (like vehicle speed or queue counts);
    13. reporting for queries and selected program data;
    14. selectable beep when a loop is crossed, or a light changes color;
    15. 'recenter' the map and zoom it in or out;
    16. scroll the 2D map in two speeds (it is 18.6 miles square);
    17. tilt the 2D map in (pseudo) 3D vertically or horizontally;
    18. view any intersection full screen or as an adjustable size insert in any corner of the 2D display;
    19. full screen signals are color labeled (RYG) for accessibility;
    20. the 2D signal display rotates to match the intersection orientation;
    21. 2D signal heads rotate to either 'vertical' or 'relative' orientation;
    22. selectable "directional arrows" or "classic dots" at the street fragment ends;
    23. the 3D display rotates to any given orientation;
    24. the 2D map displays its current (UTM) coordinates;
    25. selectable flashing yellow permissive turn arrows;
    26. 'always green' 2D signals blink (to emphasize their state);
    27. Regenerate (and auto-load) 'xtest.tfc' test data from File menu and
    28. Hot swap to mapTraff (using CTRL-Home).

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


mapTraff has the following features:

  1. Create maps from UTM (Universal Transverse Mercator) coordinates, and elevation
    (UTM coordinates are available on any decent GPM);
  2. coordinates range between negative and positive 9999999;
  3. Import and export data to a miniTraff (*.mtf) format, a LandXML (*.xml) format or a UTDF (*.csf) format;
  4. Adjustable Gridline spacing for free-hand location estimation.
  5. Create Streets and Intersections at the mouse location;
  6. Edit and delete Intersections;
  7. Edit, complement and delete Streets;
  8. Add, edit, split and delete street Fragments; (edit 'lane offset' is New)
  9. Select Intersections, Streets and Fragments with the mouse, (street selection comprehends Right or Left-hand Drive);
  10. Create a Street at right angles to an existing Fragment (using the mouse);
  11. Split a Fragment at a given length (using the mouse and a dialog);
  12. Split a Fragment where it crosses another Fragment (using the mouse and a dialog);
  13. Create an Intersection attached to a street Fragment (using the mouse);
  14. Create streets that start and/or end at Intersections (using the mouse and a dialog);
  15. Attach more street Fragments to an existing Intersection (using a dialog);
  16. Re-order all legs at an existing Intersection (using the mouse and a dialog);
  17. Add turns and signals to all Intersections at once;
  18. Align lanes in successive fragments for all streets at once;
  19. Convert all metric units to imperial or vice versa;
  20. Translate, Rotate, sKale, Zoom, Mirror, inVert and Join maps (AKA templates);
  21. select 'reference' intersection (center for Rotate, inVert, etc.);
  22. Adjust 2D map colors (including invisible) with a dialog;
  23. Change Default values with a dialog;
  24. Search help screens locally or globally and
  25. Hot swap to miniTraff (using CTRL-Home).


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 Version naming convention 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 'Jar##@@%%.zip'. (where ##@@%% is the current Version number) You probably also want 'Maps##@@%%.zip', which contains exported [*.mtf and *.xml format] example maps. They may not be the same version level, this is OK. The 'Espanol##@@%%.zip' file is only useful if you speak Spanish. You don't need "Source##@@%%.zip" or "Javadoc##@@%%.zip" to run the programs (and you really don't want them unless you are a programmer). I strongly recommend reading (and downloading) the 'Release Notes' file for 'Jar##@@%%.zip'. Any other files are (older) copies of these four.

Quick start Instructions for the Jar download (more in the Release Notes)

  1. If this is not your first download, use the Export "Backup Cities" button to create *.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 Jar##@@%%.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. Unzip the Maps##@@%%.zip file. (if you have it)
  4. The zip files can be deleted now - optional.
  5. mapTraff only
    1. Run the 2cjrun.bat file to start mapTraff.
    2. Change and save the citY-wide (CTRL-Y) Default Values.
    3. Select the Help menu and read the "Mapping Tutorial".
    4. Create a map and save it.
  6. miniTraff only
    1. Run the 1jarun.bat file to start miniTraff
    2. Display the 2D map and signals (CTRL-H)
    3. or Display the 3D map and signals (CTRL-J)
    4. Run traffic (make the lights change and the vehicles move CTRL-R)
    5. Gaze in wonder for a while...
    6. Kill traffic (stop it from running CTRL-K) - optional
    7. Hide the map and signals (CTRL-H) - optional
  7. Quit the program entirely (CTRL-Q) - works at any time

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

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


If you want more, check out the Screenshots page.

You have Javascript disabled ... Fight the power!

Copyright (C) 2003-2012 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!