如何创建自己的GTFS Feed和trip-planner?

时间:2014-03-16 11:12:36

标签: php python cgi gtfs

我是GTFS的新手,发现我的研究中的一些信息表示必须提供txt格式的GTFS Feed以获取路线/公交信息等。

现在我的问题是,

1)如果我们创建自己的txt格式并上传到GTFS Feed提供程序,它是否会导致在Google地图上显示?

2)我想拥有自己的GTFS服务器代码,该代码将从我的数据库中获取数据并对其进行处理并提供最佳的传输路径。可能吗?假设我有能力运行Python和PHP脚本。

任何帮助都会受到最好的赞赏!

提前致谢

2 个答案:

答案 0 :(得分:4)

  1. 不,因为您需要与Google签订协议才能使用您的数据,除非您与实际的公交机构有关联,否则他们不太可能认真对待您。但如果您有点好奇,可以阅读the steps involved

  2. 是的,它是可能的,并且有可供您使用的开源路由引擎,例如OpenTripPlannerGraphserver。然而,这是相当重要的东西。如果你拥有的是一个基本的网络托管帐户,你只想做一些有趣的事情"对于公交数据,建立在线旅行计划可能不是开始的地方。


  3. 我认为最直接的解决方案是在您自己的服务器上运行OpenTripPlanner 。这将为您的用户提供一个看起来很熟悉的网站,他们可以使用这些网站从您的数据生成旅行计划,同时让您完全控制数据本身。

    请注意,除了您自己的传输数据之外,运行OpenTripPlanner还需要一个功能相当强大的服务器以及来自OpenStreetMap的地图数据(我假设您的区域可用)。在项目的网站上,你会发现setup instructions让Ubuntu了解所涉及的内容。

    我假设您已经能够生成GTFS捆绑包;也就是说,生成包含GTFS Reference中指定的逗号分隔数据文件的ZIP文件。设置OpenTripPlanner服务器后,您的工作流程就像

    一样简单
    1. 更改您的公交数据。

    2. 生成新的GTFS包。

    3. 将捆绑包上传到OpenTripPlanner服务器上的特定文件夹。

    4. 重新启动OpenTripPlanner。

    5. (可选)通知您的用户更改。

    6. 除了第一步之外的每一步都可以通过脚本自动完成。

答案 1 :(得分:0)

在回答您的第一个问题时,Google需要了解转运Feed。这是Google推出的最新链接[https://support.google.com/transitpartners/answer/1106422]。他们还要求运输机构的授权代表确认这是授权的GTFS供稿。我应该注意txt格式并不严格正确。您需要创建的文件是GTFS文件(General Transit Feed Specification)。实质上,这是CSV格式的强制和可选txt文件的压缩文件。要创建GTFS文件,您需要根据对GTFS的详细了解创建多个文件,或者使用GTFS编辑器/ GTFS API,例如可以在AddTransit中找到的。

2)您可以在自己的服务器上安装路由软件。但是,如果Google使用您的GTFS数据,那么另一种方法是在您的网站上创建一个简单的表单,供客户输入他们的&到位置。然后,您可以在地图上使用Google的Transit选项返回建议的路线。这是一个简单的示例,您可以扩展以满足您的需求:https://addtransit.com/blog/2016/01/add-google-maps-public-transport-directions/