我想在 Google 地图中使用 GTFS 提要,但我不知道如何使用。我想显示一条路线上可用的巴士。如您所知,我正计划实施我在 Visual C# 应用程序中制作的 Google 地图。
1 回答
这是一个非常笼统的问题,所以我的回答也必然是笼统的。如果您可以提供有关您要完成的工作的更多详细信息,我将尝试提供更具体的帮助。
概括地说,使用 GTFS 提要的步骤如下:
解析数据。从 GTFS 提要的 URL,您将获得一个包含一组 CSV 文件的 ZIP 文件。这些文件的格式在 Google 的GTFS 参考中指定,并且大多数语言已经有一个可用的 CSV 解析库,可用于读取数据。此外,对于某些语言,有可用的 GTFS 解析库将这些文件中的数据作为对象返回;看起来有一个可用于 C#,gtfsengine,您可能想检查一下。
加载数据。您需要将数据存储在某个地方,至少是暂时的,以便能够使用它。这可能只是内存中的数据结构(特别是如果您编写了自己的解析代码),但由于较大的提要可能需要一些时间来阅读,您可能希望使用关系数据库或其他类型的存储来查看您可以序列化到磁盘。在我正在开发的应用程序中,一个单独的进程一次性解析 GTFS 数据并将其加载到关系数据库中。
查询数据。显然,您如何执行此操作将取决于您用于存储数据的方法和应用程序的目的。如果您使用的是关系数据库,通常每个 GTFS 实体(或 CSV 文件)都有一个表,您可以在该表上构建索引并执行 SQL 查询。如果您正在使用内存中的对象,您也可以在内存中构建一个哈希表索引并查询它以找到您需要的数据。