Installation

This section describes how to setup a server similar to the demo server but without real-time updates.

Data Download

To run your own MOTIS instance, you need an OpenStreetMap dataset and a timetable in either the GTFS or the HAFAS Rohdaten format. Note that currently, MOTIS supports only certain HAFAS Rohdaten versions (notably a version in use at Deutsche Bahn, the AVV version as well the one provided at opentransportdata.swiss) and not all GTFS features.

  • Download the latest OpenStreetMap dataset for Switzerland in the “.osm.pbf” format from geofabrik.de and put it into your data folder.
  • Download the latest dataset HAFAS Rohdaten (version 5.20.39 - “Timetable 202x (HRDF)” not version 5.40) dataset from opentransportdata.swiss and extract it into your data/hrd folder.

Linux Installation Guide

Tested on Ubuntu 18.04.

  • Step 1: Install a new C++ standard library required by MOTIS.
apt install -y --no-install-recommends apt-utils software-properties-common
add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt update
apt upgrade -y
  • Step 2: Download the MOTIS distribution from here and extract it. The directory structure must look exactly like the one shown on the right.
  • Start MOTIS: ./motis/motis and visit http://localhost:8080.

Windows Installation Guide

Tested on Windows 10.

  • Step 1: Download the MOTIS distribution from here and extract it. The directory structure must look exactly like the one shown on the right.
  • Start MOTIS: motis\motis.exe and visit http://localhost:8080.
Install Directory
.
├── config.ini
├── data
│   ├── hrd
│   └── switzerland-latest.osm.pbf
└── motis
    ├── motis[.exe]
    ├── osrm-profiles
    ├── ppr-profiles
    └── web
config.ini
server.static_path=motis/web

[import]
paths=data/hrd
paths=data/switzerland-latest.osm.pbf
data_dir=data

[osrm]
profiles=motis/osrm-profiles/car.lua
profiles=motis/osrm-profiles/bike.lua
profiles=motis/osrm-profiles/bus.lua

[ppr]
profile=motis/ppr-profiles/default.json

[tiles]
profile=motis/tiles-profiles/background.lua