Java GTFS-realtime 言語バインディング¶
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 以上はここで公開されます。