OpenTripPlanner (OTP) ist eine quelloffene Plattform in [[coding:java|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.
{{:opentripplanner.png|}}
=====Konfiguration=====
Siehe auch [[GraphQL]]
====build-config====
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"
}
}
====router-config====
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"
}
}
}
}
=====Test=====
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 .
=====Links=====
* [[https://www.opentripplanner.org/|Homepage]]
* [[https://github.com/opentripplanner/OpenTripPlanner/|Github Repo]]
* [[https://docs.opentripplanner.org/|Docs]]