コンテンツにスキップ

Java GTFS-realtime 言語バインディング

Maven Central バージョン

GTFS-realtime プロトコル バッファ仕様から生成された Java クラスを提供します。これらのクラスを使用すると、バイナリ プロトコル バッファ GTFS-realtime データ フィードを Java オブジェクトに解析できます。

依存関係の追加

独自のプロジェクトでgtfs-realtime-bindingsクラスを使用するには、適切な依存関係を追加する必要があります。私たちのモジュールは Maven Central Repository に公開されており、Maven、Ivy、Gradle などの Java ビルド ツールで簡単に参照できます。

Maven の場合は、pom.xml の依存関係セクションに以下を追加します:

<dependency>
  <groupId>org.mobilitydata</groupId>
  <artifactId>gtfs-realtime-bindings</artifactId>
  <version>0.0.8</version>
</dependency>

Gradle の場合は、 build.gradle の依存関係セクションに以下を追加します。

実装グループ: ’org.mobilitydata’、名前: ’gtfs-realtime-bindings’、バージョン: ’0.0.8’

プロジェクトで Maven 中央リポジトリが参照されていることを確認します。

サンプル コード

次のコード スニペットは、特定の URL から GTFS リアルタイム データ フィードをダウンロードし、それをFeedMessage (GTFS realtime スキーマのルート タイプ) として解析し、結果を反復処理する方法を示しています。

import java.net.URL;

import com.google.transit.realtime.GtfsRealtime.FeedEntity;
import com.google.transit.realtime.GtfsRealtime.FeedMessage;

public class GtfsRealtimeExample {
  public static void main(String[] args) throws Exception {
    URL url = new URL("URL OF YOUR GTFS-REALTIME SOURCE GOES HERE");
    FeedMessage feed = FeedMessage.parseFrom(url.openStream());
    for (FeedEntity entity : feed.getEntityList()) {
      if (entity.hasTripUpdate()) {
        System.out.println(entity.getTripUpdate());
      }
    }
  }
}

gtfs-realtime.proto から生成される Java クラスの命名規則の詳細については、Java 生成コード セクションの Protocol Buffers 開発者向けセクションをご覧ください。

プロジェクト履歴

0.0.4 以下

このプロジェクトは元々 Google によって作成されました。バージョン 0.0.4 およびそれ以前のバージョンは、グループID com.google.transit Maven Central のこちらからダウンロードできます。

0.0.5

MobilityData は 2019 年の初めにプロジェクトの保守を開始し、当初は JCenter 経由でリリース成果物を公開しました。バージョン 0.0.5 は、グループID io.mobilitydata.transit Maven Central のこちら からダウンロードできます。

0.0.6 および 0.0.7

JCenter は 2021 年にシャットダウン。シャットダウン前は、同期の問題によりバージョン 0.0.6 および 0.0.7 が JCenter から Maven Central に同期されなかったため、現在これらのバージョンでは直接アーティファクトをダウンロードすることはできません。ただし、コマンドn package` を使用して tags から自分でコンパイルすることができます。

0.0.8 以上

2022年に、MobilityData は、グループ ID org.mobilitydataで Maven Central に成果物を直接公開するように切り替えました。バージョン 0.0.8 以上はここで公開されます。