OpenTripPlanner (OTP) ist eine quelloffene Plattform in Java zur multimodalen Reiseplanung. Sie berechnet Routen über mehrere Verkehrsmittel hinweg, etwa ÖPNV, Fußwege, Fahrrad und Auto, und kombiniert dafür vor allem GTFS-Fahrplandaten mit OpenStreetMap-Kartendaten. OTP wird als Server-Komponente betrieben und stellt Schnittstellen für Web- und Mobile-Anwendungen bereit.
OTP erzeugt aus den Eingabedaten einen Graphen des Verkehrsnetzes. Dieser Graph basiert auf Straßen- und Wegenetzen aus OpenStreetMap sowie Fahrplandaten im GTFS-Format. Auf dieser Grundlage sucht die Software nach sinnvollen Reiseketten, zum Beispiel „zu Fuß zur Haltestelle, mit der Bahn weiter, dann per Fahrrad zum Ziel“.
Mit OTP 2 wurde der Bereich des ÖPNV-Routings grundlegend überarbeitet. Die offizielle Versionsdokumentation beschreibt, dass die Routing-Komponente für den öffentlichen Verkehr in OTP2 neu geschrieben wurde und gegenüber OTP1 bessere Leistung in großen Verkehrsnetzen sowie mehr alternative Reisevorschläge bietet.
Siehe auch GraphQL
Die Datei build-config.json teilt OTP mit, welche Optionen beim Erstellen des zugrunde liegenden Graphen festgelegt werden sollen.
{
"configVersion": "wien-v1",
"dataImportReport": true,
"osmDefaults": {
"timeZone": "Europe/Vienna"
}
}
Die Datei router-config.json enthält Standardkonfigurationen für Routing-Anfragen (z. B. Gehgeschwindigkeit). Befindet sie sich im Router-Verzeichnis, wird sie beim Erstellen des Routing-Graphen verwendet.
{
"configVersion": "wien-v1",
"routingDefaults": {
"walk": {
"boardCost": 900
},
"accessEgress": {
"maxDurationForMode": {
"WALK": "PT10M"
}
}
}
}
sudo apt update sudo apt install -y openjdk-25-jre-headless wget unzip java -version sudo mkdir -p /opt/otp sudo chown -R $USER:$USER /opt/otp cd /opt/otp wget https://github.com/opentripplanner/OpenTripPlanner/releases/download/v2.9.0/otp-shaded-2.9.0.jar -O otp.jar # Download PBF # Download gtfs.zip cat > /opt/otp/build-config.json <<'EOF' { "configVersion": "wien-v1", "dataImportReport": true, "osmDefaults": { "timeZone": "Europe/Vienna" } } EOF cat > /opt/otp/router-config.json <<'EOF' { "configVersion": "wien-v1", "routingDefaults": { "walkSpeed": 1.3 } } EOF java -Xmx6G -jar otp.jar --build --save . # Falsche Java Version... # sudo apt install -y openjdk-25-jre-headless # sudo update-alternatives --config java java -Xmx6G -jar otp.jar --build --save . # Dauert etwas java -Xmx6G -jar otp.jar --load .