[JAVA] Holen Sie sich GTFS-Daten aus Graph of OpenTrip Planner

Dies ist ein verwandter Artikel von Ich habe mit OpenTrip Planner und GTFS mein eigenes Übertragungshandbuch erstellt. Tipps zum Erstellen einer Transferinformationsseite European Continental Railroad mit OTP als Java-Bibliothek.

Einführung

OpenTripPlanner (OTP) verfügt über einen Webdienst, und Sie können IndexAPI verwenden, um die registrierten GTFS-Daten abzurufen. in der Lage sein. Wenn Sie jedoch OTP als Bibliothek in der Anwendung verwenden, erfahren Sie, wie Sie die Daten abrufen.

Fazit

Wenn Sie sich die Index-API-Quelle (org.opentripplanner.index.Index API) ansehen, ist dies fast auf einen Blick möglich. Na dann habe ich weder einen Körper noch einen Deckel ...

Quelle

python


//Holen Sie sich das GraphIndex-Objekt vom Graph-Objekt
GraphIndex index = graph.index;

//Ruft GTFS-Daten vom GraphIndex-Objekt ab
//Routeninformationen abrufen
Route r = index.routeForId.get(new FeedScopedId("fid", "tokaido"));
//Stoppinformationen abrufen
Stop s = index.stopForId.get(new FeedScopedId("fid", "tokyo"));
//Reiseinformationen erhalten
Trip t = index.tripForId.get(new FeedScopedId("fid", "fuji1"));

Kommentar

Eine Kombination aus Feed-ID und ID in GTFS ist erforderlich, um jedes Element von GTFS in OTP zu identifizieren. OTP, das mehrere GTFS-Dateien importieren kann, weist jeder GTFS-Datei beim Importieren von Daten eine eindeutige ID zu. Dies ist die Feed-ID. (Einzelheiten finden Sie unter hier) Das Objekt, das die Kombination dieser Feed-ID und ID in GTFS darstellt, ist org.opentripplanner.model.FeedScopedId. Erstellen Sie dieses Objekt und suchen Sie nach dem entsprechenden Element, indem Sie es als Schlüssel verwenden. GTFS-Daten werden im Objekt org.opentripplanner.routing.graph.GraphIndex gespeichert, das über die Indexeigenschaft des Objekts org.opentripplanner.routing.graph.Graph abgerufen werden kann. Die Tabelle ist wie folgt.

GTFS-Datei Entsprechendes OTP-Objekt GraphIndex-Eigenschaften, die abgerufen werden können
agency.txt org.opentripplanner.model.Agency agenciesForFeedId
stops.txt org.opentripplanner.model.Stop stopForId
routes.txt org.opentripplanner.model.Route routeForId
trips.txt org.opentripplanner.model.Trip tripForId

Vor OTP 1.3 verwendeten GTFS-bezogene Metadaten das gleichnamige OneBusAway-Objekt. Obwohl die Pakete unterschiedlich sind, ist die Verwendung gleich.

Recommended Posts

Holen Sie sich GTFS-Daten aus Graph of OpenTrip Planner
Holen Sie sich "2-4, 7, 9" aus [4, 7, 9, 2, 3]
Holen Sie sich Wettervorhersagen von Watson Weather Company Data mit einfachem Java
[IOS 14] Wie erhalte ich Bilddaten vom Datentyp direkt von PHPickerViewController?
CData Software Hands-on (Twitter-Daten von der Java-Konsolenanwendung abrufen)
[Java] Abrufen von Daten aus der Datenbank mithilfe des Singleton-Dienstes in Spring (Boot)
Abrufen und Hinzufügen von Daten aus dem Firebase Firestore in Ruby
Erhalten Sie Wettervorhersagen von Watson Weather Company Data mit einer einfachen JSP