一次旅行,多次停止

时间:2014-03-16 19:08:47

标签: gtfs

假设我有一辆巴士,在08:00和10:00离开。

由于总线使用相同的stop,stop_sequence,我应该将行程拆分为特定的stop_time,还是可以使用相同的trip_id进行多次stop_times。

示例:

TripA - Stop_timesA(出发时间为08:00,TripA),Stop_timesB(10:00出发,TripA)

或者

TripA - Stop_timesA(于08:00离开,TripA)
TripB - Stop_timesB(10:00出发,TripB)


感谢。

3 个答案:

答案 0 :(得分:0)

通常情况下,您需要单独旅行。

例如,如果两个停止时间都属于同一行程且具有相同的stop_sequence值,则通常将其视为验证错误,因为对于每个停止时间,stop_sequence应该是唯一的跳闸。

为了清楚起见,在同一行程中不止一次出现相同的停止是没有错的,特别是对于循环路线。但是,如果不对循环路径建模,则应使用单独的行程。否则,你说骑车人可以在第一个停车时间上车并经过所有中间停车时间,并在两小时后再次到达同一车站。也许这是你的情况,但我猜不是。

答案 1 :(得分:0)

根据specification for GTFS,"旅行是在特定时间发生的两个或更多次停留的序列"。这表明每个离开都是单独的trip并且在数据集中具有单独的trip_id。

但是,问题表明每次出发(或trip)应该在同一route

我花了一段时间才真正理解GTFS是如何运作的。该规范是一个开始和仔细阅读的好地方。

答案 2 :(得分:0)

我的回答很晚,但是...... 没有,你不应该。

在同一天的不同时间“重复”同一行程的机制是使用frequencies table

在您的示例中,您将在trip和stop_times表中定义单个TripA。

在频率表上,您将start_time声明为“08:00:00”,将end_time声明为“11:59:59”,将headway_secs声明为“7200”(两小时)。所有这一切意味着旅行将从08:00:00开始每2小时一次,但是在11:59:59之后不会开始旅行 - 因此从08:00:00和10:00开始只有两次旅行: 00。

如果您通过创建tripA和tripB复制旅行,则至少有两个问题:

  • 所有记录将在stop_times表上重复,如果您在同一天有多次停留和/或多次旅行,则会使GTFS文件更大/更重
  • 维护将变得更加复杂 - 如果更改了一个单一停靠点,则必须在所有行程中更改它“克隆”