跳轉到

Java GTFS-Realtime 語言綁定

Maven 中心版

提供從GTFS-realtime協議緩衝區規範生成的 Java 類。這些類將允許您將二進制 Protocol Buffer GTFS 實時數據饋送解析為 Java 對象。

添加依賴項

要在您自己的項目中使用gtfs-realtime-bindings類,您需要添加適當的依賴項。我們將模塊發佈到Maven 中央存儲庫,以便它可以很容易地被 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 依賴關係部分:

implementation group: 'org.mobilitydata', name: 'gtfs-realtime-bindings', version: '0.0.8'

確保您的項目引用了 Maven 中央存儲庫。

示例代碼

以下代碼片段演示了從特定 URL 下載 GTFS Realtime數據提要,將其解析為 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 類的命名約定的更多詳細信息,請查看 Protocol Buffers 開發人員站點的Java 生成代碼部分。

項目歷史

0.0.4及更低版本

這個項目最初是由谷歌創建的。您可以 在 Maven Central的組 ID com.google.transit下下載0.0.4及更早版本。

0.0.5

MobilityData 於 2019 年初開始維護該項目,最初通過 JCenter 發布了發布工件。您可以在 Maven Central的組 ID 0.0.5下下載版本io.mobilitydata.transit

0.0.60.0.7

JCenter 於 2021 年關閉。在關閉之前,同步問題導致版本0.0.60.0.7無法從 JCenter 同步到 Maven Central,因此這些版本目前無法直接下載工件。但是,您可以使用命令mvn package自己從標籤編譯它們。

0.0.8及更高版本

2022 年,MobilityData 轉為在組 ID org.mobilitydata下直接將工件發佈到 Maven Central,這是發布 0.0.8 及更高版本的地方。