如何组织类似的GTFS旅行

时间:2017-03-29 13:23:52

标签: sql gtfs

我需要将GTFS旅行分组到人类可以理解的路线变体"。因为一条路线可以根据日期/时间等运行不同的行程。

是否有首选方式对类似的旅行进行分组? Trip shape_id看起来很有希望,但是有没有保证所有类似的旅行都有相同的shape_id?

我的GTFS数据导入了我的sql数据库,数据库结构与GTFS txt文件相同。

更新 我不看sql查询示例,我正在寻找高级示例如何将类似的旅行分组到用户友好的"路线变体"。

许多路线规划应用程序(如Moovit)使用GTFS数据作为来源,它们向用户显示不同的路线变体。

1 个答案:

答案 0 :(得分:2)

没有正式的方法可以做到这一点。最好的方法可能是按每次行程的有序停靠列表分组,有时称为行程的“停止模式”。这个想法在Mapzen的概念层面here进行了讨论。

在实践中,我在给定的旅行中创建了所有站点的连接字符串(来自stop_times),并按此分组以定义类似的旅行。例如,如果给定旅行的停靠点为ABCDE,则创建字符串A-B-C-D-EA_B_C_D_E和该字符串的团体旅行。此功能不是SQL规范的一部分,尽管MySQL将其实现为GROUP_CONCAT,PostgreSQL使用数组和array_to_string。您可能还想将route_idshape_id添加到分组中,以处理某些极端情况。