Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm looking for open source tools for travel demand modelling (eg The four-step UTMS). Preferably in a GIS environment. That works well with Qgis, Grass and Postgis.

My question is not related to particular use case more research related.
My initial search had come up blank so I wanted confirmation.

share|improve this question
Well newbieGIS, did you succeed in developping demand model? As I am trying to build ao code, I think we could help each other. I found some tools: SUMO MATSim I am going to try them and compare or find others: ITSUMO for example –  Clément Sep 28 at 19:11

2 Answers 2

up vote 8 down vote accepted

The short answer is that there isn't one especially if you're looking for a TransCAD or Emme/2 alternative as there is no open source package that comes close to those.

The closest you can get are some micro modelling solutions like Transims or matsim that I find lacking of a lot of needed data, methodologies, tools, or network handling that are available in commercial software.

UrbanSim is an open source agent based modelling solution but as far as I recall it doesn't handle transportation networks.

On the other hand, I have developed 3 or 4 travel demand models based on QGIS. Although, I can't share the code with you, I can tell you what I did:

  1. Build a QGIS routing plugin, or you can use osm2po, or postgis/pgrouting directly. This plugin should also be able to create your centroids and connect them to your existing links via your Traffic Analysis Zone (TAZ) ids. IT also should be able to create and output origin/destination tables. It is better if you can have those as event based data on top of your existing GIS layer
  2. Build a QGIS Highway Capacity Manual plugin that analyzes levels of services on highway to determine Capacity -or- use best practices that are acceptable for the jurisdiction you're modeling.
  3. Build a QGIS ITE plugin to determine highway trip generation and production rates - or - build your own trip generation data. The goal here is to be able to develop a table of the following sort: TAZ_001_HBW, HBNW, HBS, NHB, etc, for both attractions and productions for each zones
  4. Build an R or MS Excel model that handles all your socio economic forecasting. this is just on top of step 3 to handle all your statistical needs forecasts and backcasts
  5. With steps 1 to 4, you can generate, trip production, attraction, their balancing, and Trip Distribution.
  6. For Mode Choice, it depends on the algorithm you're using. IF you're using logit modelling or Bayes, then you can do something with R or WinBugs.
  7. Build a QGIS plugin for trip assignment, that is based on at least Stochastic, all or nothing, and equilibrium
  8. For turning restrictions and travel behaviour on specific links and nodes, make sure to incorporate those as fields in your GIS layer, here's what you'll need per link row:
    1. link ID, link name, speed, length, number of lanes, capacity per lane, total capacity, and directionality
    2. for nodes, you'll need U_turns allowed?, left_penalty, right penalty, average_Delay, accepted delay, green_cycle_time_per_leg
  9. Use the calibration and validation every step of the way

I compared my Hodgepodge model to TransCAD and it was pretty close; however, mine was 10 times as slow due to me doing it all in python and not in an organized way.

Let me know if you have more questions as I spend a lot of time working in this topic.

Also, it would help to know where you are and what's the scale you're looking for, municipal, versus state, versus national.

share|improve this answer

you can use Tranus, it's opensource And it provide the four-step travel demand modules with a combination of trip distribution and mode choice. It has both land use model and travel demand model. But the travel model cna be run independently. It is written in fortran, so the performance is good.

share|improve this answer
Link only answeres are discouraged. Please add some basic information about why the answer is a good solution. –  Brad Nesom Jul 31 at 15:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.