Zum Inhalt springen

Erreichbarkeit (`/one-to-all`)

Beantwortet „was erreiche ich von hier aus in n Minuten mit Bus und Bahn?” — als Liste erreichbarer Orte, nicht als Fläche.

GET https://valhalla.pixelmap.at/opnv/api/v1/one-to-all

Alles, was von Klagenfurt Hauptbahnhof in 30 Minuten erreichbar ist:

Terminal-Fenster
curl -H "Authorization: Bearer <IHR-TOKEN>" -G "https://valhalla.pixelmap.at/opnv/api/v1/one-to-all" \
--data-urlencode "one=46.6165,14.3179" \
--data-urlencode "maxTravelTime=30" \
--data-urlencode "arriveBy=false"
{
"one": {
"lat": 46.6165, "lon": 14.3179,
"departure": "2026-09-14T14:45:00Z", // „jetzt", vom Dienst auf 15 min gerundet
"vertexType": "NORMAL"
},
"all": [
{ "place": { "name": "Klagenfurt Ostbahnhof", "stopId": "at55v27822_at:42:3641:…" }, … }
]
}

all ist die Liste der erreichbaren Haltestellen samt Reisezeit. one wiederholt den Ausgangspunkt und — wichtig — den tatsächlich verwendeten Abfahrtszeitpunkt.

  • false — „ich fahre um X los, wo bin ich in 30 Minuten?”
  • true — „ich will um X da sein, von wo komme ich in 30 Minuten hin?”

Die beiden Richtungen liefern nicht dieselbe Menge. Fahrpläne sind nicht symmetrisch: Eine Haltestelle, von der man morgens wegkommt, muss abends nicht erreichbar sein.

Das Ergebnis sind Punkte, keine Fläche. Wer eine Erreichbarkeitskarte zeichnen will, muss selbst interpolieren — etwa über eine Voronoi-Zerlegung oder kleine Puffer um die Haltestellen.

Gemessen für 30 Minuten ab Klagenfurt Hbf: 233 kB. Die Antwort wächst deutlich mit maxTravelTime — in einem dichten Netz liefert eine Stunde ein Vielfaches. Fragen Sie nur den Zeitraum ab, den Sie wirklich darstellen.