简介#
Cadyts 是一个用于弥补真实交通流与 SUMO 模拟产生的交通流之间差距的工具。真实交通流应以感应线圈数据的形式提供。Cadyts 通过使用脚本 cadytsIterate.py 来调整流量。
Cadyts 最初是为处理具有不同行程计划的人员而设计的,即每个人/代理都有不同的行程计划,包括不同的出发时间、活动以及每个活动的持续时间等。从这个意义上讲,可以通过为每个人选择不同的行程计划来调整其出发时间,以匹配给定的交通测量数据。
在 SUMO-Cadyts 耦合中,每个人只有一个行程计划,具有单一的起点和终点以及固定的出发时间。因此,出发时间不会被调整。但是,当使用 scale(缩放)选项时,整个需求将被缩放,即原始行程将被“克隆”。然后,将选择那些出发时间能更好地匹配给定时间间隔内交通测量数据的缩放行程。未被选中的克隆行程将被视为“留在家中”,不会被使用。因此,使用缩放因子并不意味着整个缩放后的需求都会在模拟中被考虑。缩放因子不应过大。否则,网络可能会过载,且整体的 O-D 矩阵结构会被扭曲。
更多信息请参考 Cadyts 主页、CaDyTS: Calibration of Dynamic Traffic Simulations 以及 Cadyts – a free calibration tool for dynamic traffic simulations。
用法#
Cadyts 工具必须通过 cadytsIterate.py 启动,这是一个命令行应用程序。它具有以下参数:
| 选项 | 描述 |
|---|---|
| -r | 来自 sumo 的路径备选文件(逗号分隔列表)(在 Cadyts 中:-choicesetfile) |
| -d | 适应给定文件中定义的边上的交通流量(在 Cadyts 中:-measfile) |
| -c | 校准器的类路径,默认值=os.path.join(os.path.dirname(sys.argv[0]), "..","contributed","calibration","cadytsSumoController.jar") |
| -s | 校准的最后一步,默认值=100 |
| -S | 缩放的需求,可选,默认值=2(在 Cadyts 中:-demandscale);如果定义了 -M,此参数将在校准中使用。 |
| -F | 定义在 DTA-校准中稳定结果所需的迭代次数,默认值= 85(在 Cadyts 中:- freezeit) |
| -V | 定义 DTA-校准中测量交通流量的方差,默认值=1,(在 Cadyts 中:varscale) |
| -P | 准备迭代的次数,默认值 = 5(在 Cadyts 中:PREPITS) |
| -W | 流量评估文件的前缀;仅用于使用检测器数据的校准,可选(在 Cadyts 中:-flowfile) |
| -Y | 尽可能精确地拟合交通计数,默认值 = False,(在 Cadyts 中:-bruteforce) |
| -Z | 最小交通计数标准差,默认值 = 25(在 Cadyts 中:-mincountstddev) |
| -O | 根据更新的路段行程时间覆盖出发时间,默认值= False(在 Cadyts 中:-overridett) |
| -M | VISUM 格式的 OD 矩阵文件前缀(在 Cadyts 中:- fmaprefix) |
| -N | 附加到克隆 ID 的后缀,默认值='-CLONE'(在 Cadyts 中:-clonepostfix) |
| -E | 模拟不写入摘要信息,默认值=False |
| -T | 模拟不写入行程信息(tripinfos),默认值=False |
此外,duaIterate.py 中与模拟相关的参数也可以在 cadytsIterate.py 中定义和应用,例如网络文件、模拟/路由的开始时间和结束时间、主要权重聚合周期(默认值=900,在 Cadyts 中:-binsize)。
脚本 cadytsIterate.py 至少需要三个参数:<NETFILE> (-n)、<ROUTEALTERNATIVESFILE> (-r)、<REALFLOWSFILE> (-d)。
使用 cadytsIterate.py 的示例:
cadytsIterate.py -n <NETFILE> -r <ROUTEALTERNATIVESFILE> -d <REALFLOWSFILE>
-a <INT> (设置主要权重聚合周期) -c <CADTYS-MODEL-PATH>
-b <INT> (设置模拟开始) -e <INT> (设置模拟结束)
<REALFLOWS>-文件必须是 XML 格式的文件,形式如下:
<measurements>
<singlelink link="1to21" start="25200" end="32400" value="750" stddev="8" type="COUNT_VEH"/>
<singlelink link="1to22" start="25200" end="32400" value="250" stddev="8" type="COUNT_VEH"/>
</measurements>
每个属性的定义如下:
• link: 边 ID
• start: 间隔的开始时间
• end: 间隔的结束时间
• value: 测量值
• stddev: 给定数据的标准差(测量误差);该值越大,对此值的信任度应越低。
• type: 测量类型(此处:COUNT_VEH 表示计数数据)
< ROUTEALTERNATIVESFILE> 必须是 XML 格式的文件,形式如下:
<route-alternatives>
<vehicle id="830" depart="25208.00" departlane="free" departspeed="max" fromtaz="1" totaz="2">
<routeDistribution last="1">
<route cost="154.29" probability="0.57623629" edges="91to1 1to21 out" exitTimes="25240.19 25337.05 25362.30"/>
<route cost="153.69" probability="0.42376371" edges="91to1 1to22 out" exitTimes="25240.19 25336.44 25361.69"/>
</routeDistribution>
</vehicle>
</route-alternatives>
获取路径备选文件的一个简单方法是使用 duaIterate.py 或 duarouter 应用程序。
