我如何使用GTFS Feed?

时间:2013-06-14 09:27:06

标签: c# google-maps google-fusion-tables gtfs

我想在Google地图中使用GTFS Feed,但我不知道如何操作。我想显示路线上的公交车。您知道,我正计划在Visual C#应用程序中实现我制作的Google Map。

1 个答案:

答案 0 :(得分:4)

这是一个非常普遍的问题,所以我的回答也必须是一般性的。如果您可以提供有关您要完成的内容的更多详细信息,我将尝试提供更具体的帮助。

在较高的层面上,使用GTFS Feed的步骤是:

  1. 解析数据。从GTFS Feed的URL中,您将获得包含一组CSV文件的ZIP文件。这些文件的格式在Google的GTFS reference中指定,大多数语言都有可用的CSV解析库,可用于读取数据。此外,对于某些语言,有可用的GTFS解析库,它们将这些文件中的数据作为对象返回;看起来有一个可用于C#,gtfsengine,您可能想要查看。

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

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