Skip to content
Go to file


A small example of how to use MATSim as a library.

By default, this project uses the latest (pre-)release. In order to use a different version, edit pom.xml.

A recommended directory structure is as follows:

  • src for sources
  • original-input-data for original input data (typically not in MATSim format)
  • scenarios for MATSim scenarios, i.e. MATSim input and output data. A good way is the following:
    • One subdirectory for each scenario, e.g. scenarios/mySpecialScenario01.
    • This minimally contains a config file, a network file, and a population file.
    • Output goes one level down, e.g. scenarios/mySpecialScenario01/output-from-a-good-run/....

Import into eclipse

  1. download a modern version of eclipse. This should have maven and git included by default.
  2. file->import->git->projects from git->clone URI and clone as specified above. It will go through a sequence of windows; it is important that you import as 'general project'.
  3. file->import->maven->existing maven projects

Sometimes, step 3 does not work, in particular after previously failed attempts. Sometimes, it is possible to right-click to configure->convert to maven project. If that fails, the best thing seems to remove all pieces of the failed attempt in the directory and start over.

Import into IntelliJ

File -> New -> Project from Version Control paste the repository url and hit 'clone'. IntelliJ usually figures out that the project is a maven project. If not: Right click on pom.xml -> import as maven project.

Java Version

The project uses Java 11. Usually a suitable SDK is packaged within IntelliJ or Eclipse. Otherwise, one must install a suitable sdk manually, which is available here

Building and Running it locally

You can build an executable jar-file by executing the following command:

./mvnw clean package

or on Windows:

mvnw.cmd clean package

This will download all necessary dependencies (it might take a while the first time it is run) and create a file matsim-example-project-0.0.1-SNAPSHOT.jar in the top directory. This jar-file can either be double-clicked to start the MATSim GUI, or executed with Java on the command line:

java -jar matsim-example-project-0.0.1-SNAPSHOT.jar


(The following paragraphs need to be adjusted according to the specifications of your project.)

The MATSim program code in this repository is distributed under the terms of the GNU General Public License as published by the Free Software Foundation (version 2). The MATSim program code are files that reside in the src directory hierarchy and typically end with *.java.

The MATSim input files, output files, analysis data and visualizations are licensed under a Creative Commons Attribution 4.0 International License. Creative Commons License
MATSim input files are those that are used as input to run MATSim. They often, but not always, have a header pointing to They typically reside in the scenarios directory hierarchy. MATSim output files, analysis data, and visualizations are files generated by MATSim runs, or by postprocessing. They typically reside in a directory hierarchy starting with output.

Other data files, in particular in original-input-data, have their own individual licenses that need to be individually clarified with the copyright holders.


A small example of how to use MATSim as a library.




No releases published


No packages published


You can’t perform that action at this time.