Protobuf GTFS实时无效电线类型

时间:2019-01-27 12:23:21

标签: protobuf-net gtfs

我已经使用https://protogen.marcgravell.com/的gtfs-realtime.proto文件中的https://developers.google.com/transit/gtfs-realtime/gtfs-realtime.proto工具构建了c#类。

我使用以下方法从http://transitfeeds.com/p/king-county-metro/445/source提取供稿:

WebRequest request = WebRequest.Create("http://transitfeeds.com/p/king-county-metro/445/source");
FeedMessage feed = Serializer.Deserialize<FeedMessage>(request.GetResponse().GetResponseStream());

但是我用无效的导线类型击中了-我一辈子都看不到是怎么回事,这些类是从最新的原始文件生成的最新消息-请求来自URL时是否存在问题?

2 个答案:

答案 0 :(得分:0)

http://transitfeeds.com/p/king-county-metro/445/source是GTFS-RT提要的纯文本快照,但是该工具需要一个实际的Protobuf GTFS-RT提要。

在这种情况下,您似乎需要request an API key from SoundTransit才能使用原始供稿。

答案 1 :(得分:0)

protobuf实际上有两种不同的格式; 原始格式为二进制。后来,添加了辅助json编码,该编码可用于相同的DSL。但是作为JSON,它的效率要比默认的二进制格式 far 低。

现在; protobuf-net 仅实现二进制编码。它看起来像您的供稿是JSON,在这种情况下,它不能与protobuf-net一起很好地工作。

如果有帮助,则Google实现同时支持二进制和JSON格式(protobuf-net只是protobuf规范的单独实现)。