This repository provides an open MATSim transport model for Berlin, provided by the Transport Systems Planning and Transport Telematics group of Technische Universität Berlin. Please reference/cite the scenario based on this paper.
Currently, there are two versions of the MATSim Open Berlin model:
This scenario contains a 10pct sample of the Greater Berlin population; road capacities are accordingly reduced. The scenario is calibrated taking into consideration the traffic counts, modal split and mode-specific trip distance distributions.
This scenario contains a 1pct sample of the Greater Berlin population; road capacities are accordingly reduced. This scenario was not (!) calibrated and should only be used for testing purposes or pre-studies.
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 .
MATSim input files are those that are used as input to run MATSim. They often, but not always, have a header pointing to matsim.org. 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.
Handling of large files within git is not without problems (git lfs files are not included in the zip download; we have to pay; ...). In consequence, large files, both on the input and on the output side, reside at https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin . Please check out the latest release / the latest numbered branch since those are stable. The master branch is an potentially unstable development head.
- Go to https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/
- Decide for a scenario that you find interesting (e.g.
berlin-v5.x-10pct
) and go into that directory. - Inside there, look for an
output-*
directory that you find interesting and go into that directory. - Inside there, look for
movie-*
files. You can't watch them directly, but there are various ways to download them. You can watch them then. Try that.
- Get VIA from https://www.simunto.com/via/. (There is a free license for a small number of agents; that will probably work but only display a small number of vehicles/agents.)
- Go to https://svn.vsp.tu-berlin.de/repos/public-svn/matsim/scenarios/countries/de/berlin/ .
- Decide for a scenario that you find interesting (e.g.
berlin-v5.x-1pct
) and go into that directory. - Inside there, look for an
output-*
directory that you find interesting and go into that directory. - Download
*.output_network.xml.gz
and*.output_events.xml.gz
. Best make sure that they do not uncompress, e.g. by "Download linked file as ...". - Get these files into VIA. This can be achieved in various ways; one is to open VIA and then drag the files from a file browser into VIA.
- Run VIA and enjoy.
- Click on
Clone or download
and then onDownload ZIP
. - Unzip the repository.
- Go to "Run the MATSim Berlin scenario" below.
- Install git for the command line.
- Type
git clone https://github.com/matsim-scenarios/matsim-berlin.git
in the command line.
(Or use your IDE, e.g. Eclipse, IntelliJ, to clone the repository.)
This will result in a new matsim-berlin
directory. Memorize where you have put it. You can move it, as a whole, to some other place.
- Go into the
matsim-berlin
directory. - Type
git pull
(Or use your IDE, e.g. Eclipse, IntelliJ, to update the repository.)
This will update your repository to the newest version.
(Requires either cloning or downloading the repository.)
-
Depending on the version of matsim-berlin you have selected, you might have to create the jar file yourself.
- For version v5.4 or earlier:
There should be a file directly in thematsim-berlin
directory with name approximately asmatsim-berlin-5.x-jar-with-dependencies.jar
. - For version v5.5 or later:
You can build an executable jar-file by executing one of the following commands in the top directory. This will download all necessary dependencies (it might take a while the first time it is run) and dump the jar into the top directory../mvnw clean package -DskipTests=true
- or on Windows:
mvnw.cmd clean package -DskipTests=true
- For version v5.4 or earlier:
-
Double-click on that .jar file (in a file system browser). Alternatively, try opening it with the following command:
java -jar [FILENAME].jar
-
A simple GUI should open.
-
In the GUI, click on the "Choose" button for configuration file. Navigate to one of the
scenario
directories and load one of the configuration files. -
Increase memory in the GUI.
-
Press the "Start MATSim" button. This should run MATSim. Note that MATSim accepts URLs as filenames in its config, so while the config files are part of the git repo, running them will pull additional material from our server.
-
"Open" the output directory. You can drag files into VIA as was already done above.
-
"Edit..." (in the GUI) the config file. Re-run MATSim.
(Requires either cloning or downloading the repository.)
- Set up the project in your IDE.
- Make sure the project is configured as maven project.
- Run the JAVA class
src/main/java/org/matsim/run/RunBerlinScenario.java
orsrc/main/java/org/matsim/gui/RunBerlinScenarioGUI.java
. - "Open" the output directory. You can drag files into VIA as was already done above.
- Edit the config file or adjust the run class. Re-run MATSim.
- Clone the matsim-example-project: https://github.com/matsim-org/matsim-example-project
- Add a maven dependency to the open berlin project by writing the following to the pom file:
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.matsim-scenarios</groupId>
<artifactId>matsim-berlin</artifactId>
<version>5.5.3</version>
</dependency>
- Write your own run class and make sure to execute the required public methods in RunBerlinScenario:
Config config = RunBerlinScenario.prepareConfig( args ) ;
// possibly modify config here
Scenario scenario = RunBerlinScenario.prepareScenario( config ) ;
// possibly modify scenario here
Controler controler = RunBerlinScenario.prepareControler( scenario ) ;
// possibly modify controler here, e.g. add your own module
controler.run
For more information about the scenario generation, see VSP working paper # 19-01 under https://www.vsp.tu-berlin.de/publications/vspwp .
For more information about MATSim, see here: https://www.matsim.org/.