【问题标题】:How do I view and collect real time GTFS from a feed如何从提要中查看和收集实时 GTFS
【发布时间】:2015-03-14 16:03:20
【问题描述】:

我有使用静态 GTFS 文件的经验,这些文件定义了特定公共交通网络的运营模型。然而,我所在的城市刚刚发布了公交位置的实时信息以及网络的其他状态更新。

我的问题是,我应该如何实时查看此提要并将提要记录到数据库中。实时推送链接如下:https://gtfsrt.api.translink.com.au/

【问题讨论】:

    标签: real-time feed gtfs


    【解决方案1】:

    GTFS-realtime 规范现在包含用于以多种语言解析 GTFS-realtime 数据的代码示例:

    https://developers.google.com/transit/gtfs-realtime/code-samples

    在以您喜欢的语言解析 GTFS 实时数据时,这是一个很好的起点。

    【讨论】:

      【解决方案2】:

      我需要安装google的protocol buffer,然后用protocol buffer编译gifts-realtime.proto,生成可以读取API源码的代码。

      【讨论】:

        【解决方案3】:

        安装 Nugget 包 Google.Protobuf

        PM> 安装包 Google.Protobuf -Version 3.4.1

        private FeedMessage _feedMessage;
        using (MemoryStream protobufMemoryStream = new MemoryStream())
        using (Stream protobufStream = await _httpClient.GetStreamAsync("", "http://gtfs.ovapi.nl/new/vehiclePositions.pb")) 
        {
            protobufStream.CopyTo(protobufMemoryStream);
            protobufMemoryStream.Position = 0;
            _feedMessage = Serializer.Deserialize<FeedMessage>(protobufMemoryStream);
        }
        

        _feedMessage 中,您已反序列化 GTFS 实时模型以将数据持久保存到数据库中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-12
          • 1970-01-01
          • 1970-01-01
          • 2016-07-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多