VISUM 将其需求存储在OD矩阵中,这些矩阵可以被导入并使用od2trips进行处理。然而,在不执行动态用户分配的情况下使用计算出的分配结果可能也很有意义。SUMO 软件包包含一些脚本,允许处理其他 VISUM 数据,下文将对此进行讨论。
导入转向百分比#
VISUM 可以保存在交叉路口定义/计算的转向百分比。该格式与 jtrrouter 使用的转向概率格式不同。脚本 visum_convertTurnPercentages.py 将 VISUM 转向百分比转换为 jtrrouter 的转向定义。该工具需要从 VISUM 转换而来的 SUMO 网络、来自 VISUM 的转向概率,以及转换后的转向概率要写入的文件名称:
visum_convertTurnPercentages.py <SUMO_NET> <VISUM_TURNINGS> <OUTPUT>
该脚本位于 <SUMO_HOME>/tools/import/visum。它是用 Python 编写的。
可用性#
对于大面积区域使用转向比率似乎没有任何意义。生成的路线非常不切实际,因为它们包含许多环路。
另请参阅#
- jtrrouter - 关于转向比率路由器的页面
- Demand/Routing by Turn Probabilities - 关于此工具用法的进一步文档
导入路线#
VISUM 可以保存其在分配期间计算的路线。该格式与 sumo 和 sumo-gui 使用的车辆、车辆类型和路线的定义不同。脚本 visum_convertRoutes.py 将 VISUM 路线转换为 sumo 路线。该工具需要从 VISUM 转换而来的 SUMO 网络、从 VISUM 导出的路线,以及转换后的转向概率要写入的文件名称。附加选项如下表所示:
| 选项 | 描述 |
|---|---|
| --net-file <FILE> -n <FILE> |
读取 SUMO 网络以将路线映射到其上,来自 <FILE>;必填 |
| --visum-routes <FILE> -r <FILE> |
读取要映射的 VISUM 路线,来自 <FILE>;必填 |
| --output <FILE> -o <FILE> |
将生成的路线写入 <FILE>;必填 |
| --begin <INT> -b <INT> |
定义车辆发出的时间间隔开始时间 [秒];默认值:0秒 |
| --end <INT> -e <INT> |
定义车辆发出的时间间隔结束时间 [秒];默认值:3600秒 |
| --prefix <STRING> -p <STRING> |
将 <STRING> 作为前缀添加到生成车辆的 ID;可选,默认值:无前缀 |
| --type <STRING> -t <STRING> |
将车辆类型设置为 <STRING>;可选,默认值:无类型 |
| --uniform -u |
车辆出发时间将在时间间隔内均匀分布;可选,默认值:false |
| --timeline <STRING> -l <STRING> |
应用每日时间线。时间线必须作为 24 个浮点数的列表给出,每个浮点数描述一天中每小时发出的车辆占原始数量的百分比;可选,默认值:无时间线 |
示例调用:
visum_convertRoutes.py -n <SUMO_NET> -r <VISUM_ROUTES> -o <OUTPUT> --uniform
该脚本位于 <SUMO_HOME>/tools/import/visum。它是用 Python 编写的。
可用性#
这些路线可以直接在 sumo / sumo-gui 中使用。
