我该如何使用GTFS数据源?

4
我想在Google Maps中使用GTFS Feed,但我不知道如何操作。我想显示一条路线上可用的公交车。只是让您知道,我计划在Visual C#应用程序中实现创建的Google Map。
1个回答

3
这是一个非常普遍的问题,所以我的答案也必然是泛泛而谈的。如果您能提供更多关于您想要实现什么的详细信息,我将尝试提供更具体的帮助。
在高层次上,处理GTFS数据源的步骤如下:
  1. 解析数据。从GTFS提供的URL中,您将获得一个包含一组CSV文件的ZIP文件。这些文件的格式在Google的GTFS参考文档中有所说明,并且大多数编程语言都有可用于读取数据的CSV解析库。此外,对于某些编程语言,还有可用于返回这些文件对象的GTFS解析库;看起来C#有一个gtfsengine可用,您可能需要进行检查。

  2. 加载数据。您需要将数据存储在某个地方,至少是暂时性的,以便能够使用它。这可以简单地是内存中的数据结构(特别是如果您编写了自己的解析代码),但由于较大的数据集可能需要一些时间来读取,因此您可能希望考虑使用关系型数据库或其他一些可以序列化到磁盘的存储方式。在我正在开发的应用程序中,一个单独的进程将GTFS数据一次性解析并加载到关系型数据库中。

  3. 查询数据。显然,您如何执行此操作将取决于您用于存储数据的方法和应用程序的目的。如果您使用关系型数据库,则通常每个GTFS实体(或CSV文件)将有一个表,您可以在该表上构建索引,并对其执行SQL查询。如果您正在使用内存中的对象,则可能还会构建一个哈希表索引并查询它以查找所需数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接