Java GTFS-Realtime 語言綁定¶
提供從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.6
和0.0.7
¶
JCenter 於 2021 年關閉。在關閉之前,同步問題導致版本0.0.6
和0.0.7
無法從 JCenter 同步到 Maven Central,因此這些版本目前無法直接下載工件。但是,您可以使用命令mvn package
自己從標籤編譯它們。
0.0.8
及更高版本¶
2022 年,MobilityData 轉為在組 ID org.mobilitydata
下直接將工件發佈到 Maven Central,這是發布 0.0.8 及更高版本的地方。