matsim-example-project
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 sourcesoriginal-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/...
.
- One subdirectory for each scenario, e.g.
Import into eclipse
- download a modern version of eclipse. This should have maven and git included by default.
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'.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
Licenses
(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.
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.