将GTFS数据导入Aimsun Next网络中

技术注解 #61

作者:Dimitris Triantafyllos

2021年7月

GTFS数据导入赋能公共交通机构发布他们的数据,并使开发者能够以可互操作的方式编写使用这些数据的应用程序。 Dimitris Triantafyllos探讨了如何将这些GTFS数据导入Aimsun Next模型。

什么是GTFS?

通用公共交通输入规范(英文:General Transit Feed Specification,缩写GTFS), 也被称作静态GTFS – GTFS static or 静态公共交通 – static transit (与GTFS实时拓展 – GTFS realtime extension区分开来), 定义了公共交通(PT)时间表和相关地理信息的通用格式。

GTFS数据导入赋能公共交通机构发布他们的数据,并使开发者能够以可互操作的方式编写使用这些数据的应用程序。 一个GTFS导入是由收集在ZIP文件中的一系列文本文件组成。 每个文件都对公共交通信息的一个特定方面进行建模:车站、路线、车次和其他时间表数据。 每个文件的细节都在GTFS参考文件中定义。

在哪里可以找到GTFS导入?

下面的链接提供了一个提供GTFS导入的公共交通机构的名单:GoogleTransitDataFeed project site.

在Aimsun Next中如何使用GTFS导入器?

要求

下载GTFS文件夹后(见上面的链接),确认它包括所需的文件:agency.txt、stop.txt、routes.txt、trips.txt和stop_times.txt。

以下文件是可选的,如果有的话,可以用来提高GTFS导入器的准确性:calendar.txt, calendar_dates.txt, fare_attributes.txt, fare_rules.txt, shapes.txt, frequencies.txt, transfers.txt, feed_info.txt。

建议流程:

  1. 导入公共交通站点,修复任何放置在错误位置的站点。
  2. 导入公共交通线路,正确放置站点,并验证线路是否已正确导入。
  3. 导入这些线路的时间表,并检查它们是否已被正确导入。

GTFS导入器在子网络的边界内和/或为与特定场景相关的几何图形创建交通站点、线路和时间表。

A. 导入公共交通站点。

  1. 选择 文件 > 导入 > GTFS数据打开GTFS导入器对话框:
    1. “目录”栏中,选择GTFS文件夹的路径。
    2. “输入”框中,勾选“公交车站”选项。 这意味着只有公共交通车站被导入。
    3. “子路网”中,选择“GTFS子路网”。 如果你把这个选项设定为“无”,导入器将使用全部网络。
    4. “场景”栏,选择“动态场景”。 GTFS导入器将根据这个场景的几何形状配置来创建站点。
    5. “寻找距离”选项保留为默认值。
  1. 点击“OK”。 当导入过程完成后,一个名为GTFS_Stops的新图层被添加到项目窗口。 该图层包含在Aimsun Next中作为GKPoint和GKBusStop对象导入的所有站点。 它们所有相应的属性都已导入。 外部ID和属性在两种对象类型中都被导入。

提示:你可以用两个视图样式(GKPoint和GKBusStop)创建一个新的视图模式,以验证在相关路段上是否已经正确地创建了站点。

B. 导入公共交通路线。

  1. 选择 文件> 导入 > GTFS数据。 在对话框中,设置与上述相同的选择,但要确保同时勾选“公交车站”“线路”.
  1. 当这个过程完成后,检查并修复已经添加到项目窗口的路线。 要做到这一点,在导入过程中检查日志窗口是否有任何警告或错误,并使用实验中的“检查并修复”工具来验证所有线路都已正确导入。 对于每条公共交通线路,都会创建以下属性:
    • TripID: 来自trips.txt文档的trip_id
    • RouteID: 来自trips.txt文档的route_id
    • DirectionID: 来自trips.txt文档的direction_id
    • StartDate: 来自calendar.txt文档的start_date
    • StartTime: 来自frequencies.txt文档的start_time
    • RouteColor: 来自routes.txt文档的route_color

 

  1. 检查图层PT网络是否已经创建,所有线路是否成功导入到该图层。
  1. 检查以确保公共交通路线正确连接。

C. 导入时刻表:

  1. 选择 文件 > 导入 > GTFS数据。 在对话框中,设置与上述相同的选择,但这次只勾选要确保同时勾选“时刻表”
  2. 当这个过程结束后,检查每条线路的时间表。 以下信息应该已经被导入:
  • 默认情况下,时间表的名称将包含在名为calendar.txt的文件中定义的一系列日期和工作日。
  • 除非在名为frequencies.txt的文件中存在与该线路相关的发车频率信息,否则出发时间将被固定。

高级选项

在GTFS导入器对话框”可选择的 “的话标签上,你会发现几个额外的选项。

  • “前缀”: 由于GTFS随着时间的推移不断发展,我们可能需要经常更新Aimsun Next网络中的公共交通信息。 要做到这一点,我们建议为“线路”和“时间表”设置前缀。

通过设置“前缀”,当导入时,”线路名称”的前缀被设置在线路的名称(即A_4_1)和“拓展 ID(A_SCT-PCA-4)的开头。 对于“时间表”是在时间表名称的开头设置的(即B_GTFS…)。 请看下面屏幕截图中的例子:

请看下面的”前缀”选项的主要用途:

  1. 通过每次为“线路”和“时间表”设置一个新的前缀代码(即设置GTFS的日期,在当前和未来方案的几何形状配置不同的情况下),在一段时间内保持几个GTFS导入的版本。 这意味着每次导入后都要重新进行线路和时间表的所有检查和修正。
  2. 保留所有现有的线路,只删除并重新导入其时间表。 这意味着只对导入的时间表做检查和修正。 在这种情况下,你需要为线路和时间表设置与基础GTFS导入相同的前缀。
  3. 手动删除实际网络中不再存在的线路,只导入新的线路和它们的时间表。 这意味着只对新线路和时间表进行检查和修复。 在这种情况下,你需要为线路和时间表设置与基础GTFS导入相同的前缀。
  • 默认情况下,GTFS导入器会读取GTFS文件夹中所有可用的时刻表。 如果你对导入整个时期的时刻表不感兴趣,你主要对导入一个工作日、一个星期六或一个星期天感兴趣,那么请勾选“日期”并指定一个日期,以创建具有该日独特时刻表的线路。 如果该线路在该日期运营,根据calendar.txt和txt文件,就会创建一个时刻表。
  • 在没有激活选项“形状”的情况下,线路的路线是使用最短路径计算连接站点。 你可以勾选“形状”创建在shapes.txt文档中遵循现有形状的线路,而不是遵循站点之间的最短路径。 警告:由于形状数据和网络之间需要高精度的匹配,用形状导入并不总是能保证更好的结果。
  • 勾选 “应用停留时间”确保停止时间中定义的偏移量在仿真中被考虑(即在所有时刻表中取消选项“未应用的偏移量”)。
  • 在对话框“在这层内禁止路段”内,勾选你不想放置站点或线路的图层。
  • 在对话框“不要在这道路类型设置公交车站”中,勾选你不想设置站点的道路类型。

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

分享