我是 GTFS 的新手,在我的研究中发现了一些信息,说必须以 txt 格式提供 GTFS 提要才能获得路线/过境信息等。
现在我的问题是,
1) 如果我们创建自己的 txt 格式,并上传到 GTFS 提要提供程序,它是否也会显示在谷歌地图上?
2) 我想拥有自己的 GTFS 服务器代码,它将从我的数据库中获取数据并对其进行处理并提供最佳的运输路线。可能吗?假设我有能力运行 Python 和 PHP 脚本。
任何帮助将不胜感激!
提前致谢
不,因为您需要与 Google 达成协议才能使用您的数据,而且除非您隶属于实际的交通机构,否则他们不太可能认真对待您。但如果您好奇,您可以阅读相关步骤。
是的,这是可能的,并且有一些开源路由引擎可供您使用,例如OpenTripPlanner和Graphserver。然而,这是相当繁重的东西。如果您拥有的是一个基本的 Web 托管帐户,并且您只想用公交数据做“一些有趣的事情”,那么设置在线旅行计划器可能不是开始的地方。
我认为最直接的解决方案是让您在自己的服务器上运行 OpenTripPlanner。这将为您的用户提供一个外观熟悉的网站,他们可以使用他们从您的数据中生成旅行计划,同时让您完全控制数据本身。
请注意,除了您自己的交通数据之外,运行 OpenTripPlanner 还需要一个相当强大的服务器以及来自OpenStreetMap的地图数据(我假设它适用于您所在的地区)。在该项目的网站上,您会找到Ubuntu 的设置说明,让您了解所涉及的内容。
我假设您已经能够生成 GTFS 包;也就是说,生成一个 ZIP 文件,其中包含GTFS 参考中指定的逗号分隔数据文件。设置 OpenTripPlanner 服务器后,您的工作流程将非常简单
更改您的公交数据。
生成一个新的 GTFS 包。
将捆绑包上传到 OpenTripPlanner 服务器上的特定文件夹。
重新启动 OpenTripPlanner。
(可选)将更改通知您的用户。
除了第一步之外,每一步都可以通过脚本自动化。
在回答您的第一个问题时,需要通知 Google 公交提要。这是 Google 提供的最新链接,可帮助您入门 [ https://support.google.com/transitpartners/answer/1106422]。他们还需要交通机构的授权代表确认这是授权的 GTFS 提要。我应该注意到 txt 格式并不完全正确。您需要创建的文件是 GTFS 文件(General Transit Feed Specification)。本质上,这是 CSV 格式的强制性和可选 txt 文件的压缩文件。要创建 GTFS 文件,您需要基于对 GTFS 的详细了解来创建多个文件,或者使用 GTFS 编辑器/GTFS API,例如可以在 AddTransit 中找到的 API。
2)您可以在自己的服务器上安装路由软件。但是,如果 Google 正在使用您的 GTFS 数据,那么另一种选择是在您的网站上创建一个简单的表单,供客户输入他们的出发地和目的地。然后,您可以使用 Google 地图上的公交选项返回建议的路线。这是一个简单的示例,您可以扩展以满足您的需求:https ://addtransit.com/blog/2016/01/add-google-maps-public-transport-directions/