概述#
jtrrouter 基于交通流量和路口转向比例,计算可供 sumo 使用的路径。
- 目的: 使用路口转向百分比,根据需求定义构建车辆路径
- 系统: 可移植(已在 Linux/Windows 上测试);在命令行运行
-
输入(必需):
A) 通过 netconvert 或 netgenerate 生成的道路网络,参见 构建网络
B) 需求定义,参见 需求建模
C) 路口转向定义
-
- 输出: 可供 sumo 使用的 车辆、车辆类型和路径定义
- 编程语言: C++
用法描述#
jtrrouter 专为基于转向比例的路由而设计。
选项#
您可以使用 XML 模式定义文件来设置 jtrrouter 配置: jtrrouterConfiguration.xsd。
配置#
SUMO 套件的所有应用程序都以相同的方式处理配置选项。这些选项在 基础/使用命令行应用程序#配置文件 中讨论。
| 选项 | 描述 |
|---|---|
| -c <FILE> --configuration-file <FILE> |
启动时加载指定的配置文件 |
| -C <FILE> --save-configuration <FILE> |
将当前配置保存到 FILE |
| --save-configuration.relative <BOOL> | 保存配置时强制使用相对路径;默认值: false |
| --save-template <FILE> | 将配置模板(空)保存到 FILE |
| --save-schema <FILE> | 将配置模式保存到 FILE |
| --save-commented <BOOL> | 向保存的模板、配置或模式添加注释;默认值: false |
输入#
| 选项 | 描述 |
|---|---|
| -n <FILE> --net-file <FILE> |
使用 FILE 作为路由的 SUMO 网络 |
| -a <FILE> --additional-files <FILE> |
从 FILE(s) 读取附加网络数据(区域、公交站点) |
| -r <FILE> --route-files <FILE> |
从 FILE(s) 读取 sumo 路径、备选方案、流量和行程 |
| --phemlight-path <FILE> | 确定从何处加载 PHEMlight 定义;默认值: ./PHEMlight/ |
| --phemlight-year <INT> | 在 PHEMlight5 中使用给定的参考年份启用车队年限建模;默认值: 0 |
| --phemlight-temperature <FLOAT> | 设置环境温度以校正 PHEMlight5 中的 NOx 排放;默认值: 1.79769e+308 |
| --junction-taz <BOOL> | 为每个路口初始化一个 TAZ,以使用 toJunction 和 fromJunction 属性;默认值: false |
| -t <FILE> --turn-ratio-files <FILE> |
从 FILE(s) 读取转向比例 |
输出#
| 选项 | 描述 |
|---|---|
| -o <FILE> --output-file <FILE> |
将生成的路径写入 FILE |
| --vtype-output <FILE> | 将使用的车辆类型写入单独的 FILE |
| --keep-vtype-distributions <BOOL> | 写入车辆及其类型时保留 vTypeDistribution id;默认值: false |
| --emissions.volumetric-fuel <BOOL> | 以(旧)单位 l 而非 mg 返回燃料消耗值;默认值: false |
| --named-routes <BOOL> | 写入通过其 id 引用路径的车辆;默认值: false |
| --write-license <BOOL> | 将许可证信息包含到每个输出文件中;默认值: false |
| --write-metadata <BOOL> | 写入可解析的元数据(配置等)而不是注释;默认值: false |
| --output-prefix <STRING> | 应用于所有输出文件的前缀。特殊字符串 'TIME' 将被当前时间替换。 |
| --precision <INT> | 定义浮点数输出的小数点后位数;默认值: 2 |
| --precision.geo <INT> | 定义经度、纬度输出的小数点后位数;默认值: 6 |
| --output.compression <STRING> | 定义标准压缩算法(目前仅适用于 parquet 输出) |
| --output.format <STRING> | 如果无法从文件名推导,则定义标准输出格式('xml', 'csv', 'parquet');默认值: xml |
| --output.column-header <STRING> | 如何根据属性名推导列头('none', 'tag', 'auto', 'plain');默认值: tag |
| --output.column-separator <STRING> | CSV 输出中的分隔符;默认值: ; |
| -H <BOOL> --human-readable-time <BOOL> |
将时间值写为 小时:分钟:秒 或 天:小时:分钟:秒,而不是秒数;默认值: false |
| --exit-times <BOOL> | 为每条边写入离开时间(权重);默认值: false |
处理#
| 选项 | 描述 |
|---|---|
| --max-alternatives <INT> | 将备选方案的数量修剪为 INT;默认值: 5 |
| --with-taz <BOOL> | 在输入和输出中使用起点和终点区域(districts);默认值: false |
| --unsorted-input <BOOL> | 假设输入未排序;默认值: false |
| -s <TIME> --route-steps <TIME> |
提前加载未来若干秒的路径;默认值: 200 |
| --no-internal-links <BOOL> | 禁用(路口)内部连接;默认值: false |
| --randomize-flows <BOOL> | 为流量输入生成随机出发时间;默认值: false |
| --remove-loops <BOOL> | 移除路径内的环路;移除路径起点和终点的掉头;默认值: false |
| --repair <BOOL> | 尝试修正错误的路径;默认值: false |
| --repair.from <BOOL> | 尝试通过使用第一个可用的边来修正无效的起始边;默认值: false |
| --repair.to <BOOL> | 尝试通过使用最后一个可用的边来修正无效的目的地边;默认值: false |
| --repair.max-detour-factor <FLOAT> | 如果绕行距离超过间隙的 FACTOR 倍,则回溯路径;默认值: 10 |
| --mapmatch.distance <FLOAT> | 将输入坐标(fromXY 等)映射到道路网络时的最大距离;默认值: 100 |
| --mapmatch.junctions <BOOL> | 将位置匹配到路口而不是边;默认值: false |
| --mapmatch.taz <BOOL> | 将位置匹配到 taz 而不是边;默认值: false |
| --bulk-routing <BOOL> | 聚合具有相同起点的路由查询;默认值: false |
| --routing-threads <INT> | 用于路由的并行执行线程数;默认值: 0 |
| --restriction-params <STRING[ ]> | 用于比较附加限制的参数键的逗号分隔列表 |
| --weights.minor-penalty <FLOAT> | 在计算次要连接内部车道的路由成本时应用给定的时间惩罚;默认值: 1.5 |
| --weights.tls-penalty <FLOAT> | 在计算通过交通信号灯的路由成本时应用给定的时间惩罚;默认值: 0 |
| --weights.turnaround-penalty <FLOAT> | 在计算掉头内部车道的路由成本时应用给定的时间惩罚;默认值: 5 |
| --weights.reversal-penalty <FLOAT> | 在计算列车反转的路由成本时应用给定的时间惩罚。负值禁用反转;默认值: 60 |
| --max-edges-factor <FLOAT> | 当路径边与网络边的比率大于 FLOAT 时,路径将被截断;默认值: 2 |
| -T <STRING[ ]> --turn-defaults <STRING[ ]> |
使用 STR[] 作为默认转向定义;默认值: 30,50,20 |
| --sink-edges <STRING[ ]> | 使用 STR[] 作为汇点边列表 |
| -A <BOOL> --accept-all-destinations <BOOL> |
是否所有边都允许作为汇点边;默认值: false |
| -i <BOOL> --ignore-vclasses <BOOL> |
忽略基于车辆类别的道路限制;默认值: false |
| --allow-loops <BOOL> | 允许重复使用道路;默认值: false |
| -S <BOOL> --sources-are-sinks <BOOL> |
将所有源边用作汇点边;默认值: false |
| -D <BOOL> --discount-sources <BOOL> |
插入新流时减去上游流量。当设置了选项 --sources-are-sinks 时,上游流量被限制为源流的值,剩余部分终止;默认值: false |
默认值#
| 选项 | 描述 |
|---|---|
| --departlane <STRING> | 分配默认出发车道 |
| --departpos <STRING> | 分配默认出发位置 |
| --departspeed <STRING> | 分配默认出发速度 |
| --arrivallane <STRING> | 分配默认到达车道 |
| --arrivalpos <STRING> | 分配默认到达位置 |
| --arrivalspeed <STRING> | 分配默认到达速度 |
| --defaults-override <BOOL> | 默认值将覆盖给定值;默认值: false |
时间#
| 选项 | 描述 |
|---|---|
| -b <TIME> --begin <TIME> |
定义开始时间;之前的行程将被丢弃;默认值: 0 |
| -e <TIME> --end <TIME> |
定义结束时间;之后的行程将被丢弃;默认为 SUMO 可表示的最大时间;默认值: -1 |
报告#
SUMO 套件的所有应用程序都以相同的方式处理大多数报告选项。这些选项在 基础/使用命令行应用程序#报告选项 中讨论。
| 选项 | 描述 |
|---|---|
| -v <BOOL> --verbose <BOOL> |
切换到详细输出;默认值: false |
| --print-options <BOOL> | 在处理前打印选项值;默认值: false |
| -? <BOOL> --help <BOOL> |
打印此屏幕或选定主题;默认值: false |
| -V <BOOL> --version <BOOL> |
打印当前版本;默认值: false |
| -X <STRING> --xml-validation <STRING> |
设置 XML 输入的模式验证方案("never", "local", "auto" 或 "always");默认值: local |
| --xml-validation.net <STRING> | 设置 SUMO 网络输入的模式验证方案("never", "local", "auto" 或 "always");默认值: never |
| --xml-validation.routes <STRING> | 设置 SUMO 路径输入的模式验证方案("never", "local", "auto" 或 "always");默认值: local |
| -W <BOOL> --no-warnings <BOOL> |
禁用警告输出;默认值: false |
| --aggregate-warnings <INT> | 当同一类型的警告超过 INT 次时进行聚合;默认值: -1 |
| -l <FILE> --log <FILE> |
将所有消息写入 FILE(隐含 verbose) |
| --message-log <FILE> | 将所有非错误消息写入 FILE(隐含 verbose) |
| --error-log <FILE> | 将所有警告和错误写入 FILE |
| --log.timestamps <BOOL> | 在所有消息前写入时间戳;默认值: false |
| --log.processid <BOOL> | 在所有消息前写入进程 ID;默认值: false |
| --language <STRING> | 消息中使用的语言;默认值: C |
| --ignore-errors <BOOL> | 如果无法构建路径则继续;默认值: false |
| --stats-period <INT> | 定义打印统计信息的频率;默认值: -1 |
| --no-step-log <BOOL> | 禁用路径解析步骤的控制台输出;默认值: false |
随机数#
SUMO 套件的所有应用程序都以相同的方式处理随机化选项。这些选项在 基础/使用命令行应用程序#随机数选项 中讨论。
| 选项 | 描述 |
|---|---|
| --random <BOOL> | 使用当前系统时间初始化随机数生成器;默认值: false |
| --seed <INT> | 使用给定值初始化随机数生成器;默认值: 23423 |
