跳转至

Java GTFS-Realtime 语言绑定

Maven中心版本

提供从GTFS-realtimeProtocol Buffer规范生成的Java类。 这些类将允许你将二进制的Protocol Buffer GTFS-realtime数据源解析为Java对象。

添加依赖关系

要在自己的项目中使用gtfs-realtime-bindings类,需要添加一个适当的依赖。 我们将模块发布到Maven Central Repositor,以便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类的命名规则的更多细节,请查看协议缓冲区开发者网站的Java生成的代码部分

项目历史

0.0.4及以下版本

这个项目最初是由谷歌创建的。你可以在Maven中心下载0.0.4及以前的版本,群组ID为com.google.transit

0.0.5

MobilityData于2019年初开始维护该项目,最初通过JCenter发布了发布工件。您可以在Maven中心的群组IDio.mobilitydata.transit下下载0.0.5版本。

0.0.60.0.7

JCenter在2021年关闭了。在关闭之前,由于同步问题,0.0.60.0.7版本无法从JCenter同步到Maven Central,所以目前这些版本无法直接下载工件。不过,您可以使用mvn package命令从标签中自行编译它们。

0.0.8及以上版本

2022年,MobilityData转而在组IDorg.mobilitydata下直接向Maven Central发布工件,0.0.8及以上版本就是在这里发布的。