ChangeLog

Git 主分支#

Bug 修复#

  • sumo
    • 修复了环形交叉口中的死锁问题 #17330 (1.24.0 中的回归问题)
    • 修复了 edgeData 输出中属性 flow 计算不一致的问题 #17349
    • 修复了在尝试避免交叉口阻塞时的无效制动问题 #17318
    • 修复了在环形交叉口内部车道上变道时的不一致问题 #17336
    • 修复了环形交叉口中的紧急制动问题 #17306
    • 修复了列车重路由后的无效警告 #17343
    • 修复了当校准器配置周期 > 1 时的问题(周期现在被截断为 1) #6589, #17371
    • 修复了配置车辆忽略临时权限变更时关于停靠点的无效错误 #17380
    • 修复了因错过邻近车辆而导致的不安全子车道变更 #17388
    • 修复了在禁止连接的车道分叉处预期的子车道速度无效的问题 #17390
    • 修复了在子车道模型中车道宽度变更后未能从外部车道边界返回的问题 #17383
    • 修复了涉及行人过街处的碰撞问题 #17385
    • 修复了变道后的无效制动问题 #17408
    • 修复了车辆相互阻碍变道的错误 #10763
    • 修复了进入环形交叉口时的路权违规问题 #17409
    • 修复了在子车道模型中交叉口处的无效制动问题 #17410
    • 修复了环形交叉口前方不安全的变道问题 #17411
    • 修复了车辆流量中断的问题,即车辆总数溢出 32 位整数 #17396
    • 配置了权限的 closingReroute 不再影响未受影响车辆类型的车辆 #17426
    • 修复了子车道上缺失的轨道信号车辆事件 #17442
    • 修复了当车道在路块中间开始和结束时列车插入不安全的问题 #17453
    • 修复了当双向边序列被单向边中断时缺失的车道冲突对象的问题 #17367
    • 修复了行人走进车辆的错误 #17462
    • 修复了计算车辆和行人之间过街冲突时的不安全前瞻时间问题(现在属性 jmTimegapMinor 生效) #17463
    • 接近非优先过街处的车辆不再让行,除非行人踏上过街处 #17465
    • 修复了在特定随机种子下泊松流量产生无限交通的问题 #17468
    • 修复了不一致性问题:具有单条边且 departPos > arrivalPos 的路线在加载时不会报错,但在重路由时会(现在会发出警告) #10246
    • 修复了将选项 --device.rerouting.mode 与 taz 路由结合使用时的无效错误 #17490
    • 修复了计算 taz 之间路线成本时的未定义行为 #17489
  • netedit
    • 使用 shift-click 选择时,车道选择计数不再更新 #17394 (1.11.0 中的回归问题)
    • 在移动模式中,被抓取和合并的几何点再次被指示(使用轮廓线而非颜色) #17032 (1.20.0 中的回归问题)
    • 修复了校准器对话框中的崩溃问题 #17398 (1.25.0 中的回归问题)
    • 在移动模式中合并交叉口再次正常工作 #17358 (1.25.0 中的回归问题)
    • 创建校准器流量再次正常工作 #17399 (1.25.0 中的回归问题)
    • 当从禁止元素中删除边时,不再保存无效的网络 #17331
    • 选择缩放现在对 tazRelations 有效 #17382
    • 移除了用于 rides、transport 和 tranships 的 taz/交叉口的一些不支持的组合 #17414
    • 修复了配置中路径在应为相对路径时被保存为绝对路径的错误 #17446
  • sumo-gui
    • 将选择保存到文件时不再使用 --output-prefix #17368
    • 修复了跟踪已离开车辆时的崩溃问题 #17472
  • duarouter
    • 修复了使用选项 --skip-new-routes--ignore-errors 加载无效路线时的崩溃问题 #17348 (1.25.0 中的回归问题)
    • 选项 --ignore-errors 现在在起点或终点被选项 --restriction-params 禁止时也能工作 #17387
    • 使用选项 --repair 修复的任何路线不再触发错误(因此不再需要选项 --ignore-errors#17369
    • 修复了当同一条边上的两个停靠点需要回环时产生无效路线的问题 #17484
    • 修复了当 departPos > arrivalPosfrom=to 时产生无效路线的问题 #17482
  • TraCI
    • 函数 traci.vehicle.rerouteParkingArea 现在从当前边查找回环路线 #17353
  • tools
    • osmGet.py: 修复了使用选项 --shapes 时缺失道路节点的问题 #17293 (1.20.0 中的回归问题)
    • netdiff.py: 修复了涉及移除 <neigh> 属性的崩溃问题 #17345
    • generateRerouters.py: 修复了当无法绕行时的无效输出问题 #17361
    • generateRerouters.py: 现在为连续的封闭边查找通知边 #17360
    • tazRel2POI.py: 修复了跳过 taz 时的无效错误 #17379
    • countEdgeUsage.py: 修复了涉及替换路线的 vehroute-output 的无效计数问题 #17401
    • sumolib.xml.parse_fast: 不再为与请求元素名称开头相同的元素名称生成记录 #17403

增强功能#

  • sumo
    • 使用随机化权重 (--weights.random-factor) 的路由现在对于网络变更、车辆组成和状态加载是稳定的。每条边的随机噪声仅取决于随机种子和车辆 ID(也适用于 duarouter)。如果设置了新选项 --weights.random-factor.dynamic,模拟中的随机性也会随时间变化。 #17325
    • 新选项 --output-suffix 可用于修改所有输出文件的名称(类似于 --output-prefix)。后缀将插入在文件扩展名之前。 #17338
    • edgeData 输出定义现在支持属性 aggregate="taz",这将在每个加载的 taz 定义内聚合数据 #11104
    • --edgedata-files 添加了选项快捷方式 -m #17400
    • 当加载模式为 "public" 的 personTrips 且未加载公共交通时,现在会给出警告 #2825
    • 使用选项 --device.rerouting.mode 8 在封闭边上出发时,现在会延迟出发而不是引发错误 #17461
    • ChargingStation 属性 totalPower 现在可用于限制同时为多辆车充电时的总功率。 #17173
  • netedit
    • 如果至少有一辆车配置为在交叉口开始/结束,则自动设置 sumo 选项 --junction-taz #17405
    • 写入的 sumocfg 现在会跟踪网络文件名的更改 #17314
    • 包含不支持选项的配置现在可以加载并发出警告而不是错误 #17445
  • duarouter
    • 现在在计算成本时会考虑车辆、行程或流量中配置的 speedFactor #17424
    • 添加了选项 --max-traveltime,如果旅行时间过长则让路由失败 #17422
    • 具有 closingReroute 元素的重路由器现在可以从 --additional-file 加载以影响路由 #12501
    • 现在检查停靠点和途经点的一致性 #17485
  • TraCI
    • 函数 traci.simulation.findRoute 现在支持可选属性 departPosarrivalPos #17352
    • 修复了 M2 Mac 的 libsumo wheels 问题
    • traci.vehicle.setSpeedMode 的第 2 位(忽略减速约束)现在也适用于验证 traci.vehicle.setStop 的减速 #17477
    • traci 和 libsumo python 库现在提供标准的 __version__ 属性 #17366
  • tools
    • attributeCompare.py: 现在支持特殊 id 属性 @FILE #17334
    • visum_convertXMLRoutes.py: 用于导入 VISUM 路线文件的新工具 #17347
    • generateRerouters.py: 添加了选项 --closed-edges.input-file 用于从选择文件加载要关闭的边 #17359
    • generateRerouters.py: 主要性能提升 #17362
    • tazRel2POI.py: 添加了选项 --reference-taz 以允许将关系过滤为与特定 taz 交互的关系 #17375
    • tazRel2POI.py: 支持多个 taz 输入文件 #17378
    • route2OD.py: 支持使用 ',' 分隔多个输入文件 #17377
    • edgesInDistrict.py: 现在支持地理多边形 #17376
    • edgeDataDiff.py: 现在在输出中包含 mean_abs #17404

杂项#

  • 修复了 python wheels 中的无效元数据
  • Windows 调试构建在使用 parquet 输出时不再崩溃 #17275
  • 开始韩语翻译 #17420
  • 添加 manylinux_2_28 支持 #16771

版本 1.25.0 (2025.11.13)#

Bug 修复#

  • sumo
    • 修复了加载和卸载人员/容器时的无效消耗/排放问题 #17152, #17264 (1.22.0 中的回归问题)
    • 修复了重路由后铁路模拟中的崩溃问题 #16958
    • 具有 parkingAreaReroute 的重路由器现在会考虑 parkingBadgesacceptedBadges #16966
    • 使用参数键 device.ssm.filedevice.toc.file 定义的输出文件路径现在被解释为相对于定义它们的文件的路径。 #16967
    • 修复了当行程在 3 个或更多人之间共享时,出租车调度算法 routeExtension 会绕行的错误 #17059
    • 修复了当同时使用 --vehroute-output.sorted--load-state 时 vehroute-output 为空的问题 #16987
    • 修复了当中间车道被阻塞时,车辆会反复无法决定向左还是向右超车的案例。 #1312, #17116, #17129
    • 修复了在子车道模型中,由于错误计算前导车辆而导致对向超车失败的错误 #17125
    • 减少了紧急车辆从错误的转弯车道进入交叉口时的横向跳跃 #17115
    • 修复了设置属性 arrivalLane 时的紧急制动问题 #17130
    • 修复了从通用车辆/vType 参数解析浮点值时的精度损失问题 #17160
    • 修复了出租车调度器创建无效路线的错误 #17166
    • 修复了多式联运路由计算出断开出租车行程的错误 #17167
    • 修复了当出租车定义为流量时,多式联运出租车路由图的初始化问题 #17168
    • 修复了加载带有 rail_signal 的道路时的崩溃问题 #17183, #17251
    • 修复了加载具有多个目标的感应红相位的 tls 程序时的无限循环问题 #17186
    • 修复了交叉口前方车辆插入不安全的问题 #17192, #17194
    • 修复了 parquet 输出中缺少属性时的崩溃问题 #17195
    • 修复了在带有内部交叉口的绿色主连接道上不安全驾驶的问题 #17196
    • 在受保护(绿色主)相位时,左转车辆不再为出站过街处减速 #17194
    • 修复了涉及抛锚汽车的亚秒模拟中的紧急制动问题 #17203
    • 修复了设置 departSpeed="avg" 时的错误 #17208
    • 为 edgeData writeAttributes 设置无效属性时,现在总是给出有意义的错误消息 #17230
    • 使用选项 --begin 跳过车辆时,车辆内部开始的人员不再导致错误 #9026
    • 选项 --load-state.remove-vehicles 现在允许使用新路线重用已移除的车辆 ID #17270
    • 修复了当车辆在具有无效路线的内部车道上插入且使用选项 --ignore-route-errors 时的崩溃问题 #17248
    • 修复了车道/edgeData 输出中膨胀的密度问题 #16241
    • 修复了使用 EIDM 跟驰模型时,传送后紧急制动的问题 #17317
    • 修复了在短信号块之前列车插入不安全的问题 #17323
  • netedit
    • 修复了多次加入交通灯交叉口时的无效 ID 问题 #17010 (1.11.0 中的回归问题)
    • 从附加模式元素选择器中移除了无效元素 #17297 (1.11.0 中的回归问题)
    • 修复了 closingReroute 中缺少 allow="authority" 属性的问题 #17299 (1.11.0 中的回归问题)
    • 矩形选择边时不再选择附加对象 #17213 (1.20.0 中的回归问题)
    • 移动/创建几何点时的提示再次正常工作 #17032 (1.20.0 中的回归问题)
    • 修复了检查时重路由器间隔的无效轮廓 #17001 (1.20.0 中的回归问题)
    • 修复了使用 '标记为前端元素' 时的不一致问题 #17285 (1.22.0 中的回归问题)
    • POI 定位器再次对 ID 进行排序 #16963 (1.22.0 中的回归问题)
    • E2 检测器可以再次移动 #15551 (1.22.0 中的回归问题)
    • 检查模式和创建对象模式中鼠标悬停属性的工具提示再次正常工作 #17239 (1.22.0 中的回归问题)
    • 向 vTypeDistribution 添加成员再次正常工作 #16948 (1.23.0 中的回归问题)
    • 双向铁路边的掉头连接现在再次可见(再次) #16956 (1.23.1 中的回归问题)
    • 修复了在新需求文件名下保存 vTypeDistribution 时的无效文件内容问题 (1.24.0 中的回归问题)
    • 检查行程时,当 gui 设置 addName 激活时,不再显示多余的 ID #17061
    • 将具有路线 ID 的车辆转换为流量时,现在保留路线 ID #17017
    • 为无效的 tlTypes 禁用了 "分配 E1 检测器" 模式 #16949
    • 加载新网络时,现在会重置附加文件、路线文件和数据文件 #17038
    • 确保对话框中的所有文本都被翻译 #17045
    • 修复了车辆 ID 倒置写入的问题 #17060
    • 在需求模式/停靠点模式中,嵌入式路线不再被列为新停靠点的候选父级 #17062
    • 修复了 routeProbe 和 vaporizers 中虚线轮廓的无效旋转问题 #16911
    • 修复了保存空平均数据元素时的冻结问题 #16812
    • POI 不再使用默认值写入 layercolor 属性 #17128
    • 选中边的视觉缩放现在是平滑的 #16977
    • 修复了在具有高程的网络中,检测器和停靠点元素位置无效的问题 #17189
    • 在命令行加载文件时,最近使用的列表不再包含相对路径 #17205
    • 修复了在更改车道数后保存附加对象时的崩溃问题 #17218
    • netgenerate 对话框在输出文件路径包含空格时不再失败 #17221
    • 修复了在具有自定义长度值的边上调整无效实体位置时的问题 #17222
    • 为所有重路由器边添加了轮廓线 #17244
    • 现在可以加载具有人类可读时间的数据间隔 #17268
    • tls 模式中不再显示无效的内部边 ID #17249
  • netconvert
    • 修复了导入 OSM 数据时,公共交通关系引用未知节点的崩溃问题 #16953 (1.24.0 中的回归问题)
    • 修复了在交叉口集群处无效的环形交叉口检测问题 #16950 (1.24.0 中的回归问题)
    • 修复了为 OSM 导入设置选项 --default.spreadtype 时的不一致行为 #16952
    • 修复了写入 spreadType 时的不一致行为 #16951
    • 修复了重新导入时不稳定路权的问题(由于速度四舍五入) #16971
    • 人行道和自行车道在计算 junctionPriorities 时不再计入 #1637
    • 修复了加载停靠点和分叉时的无效 ptstop-output 问题 #17028
    • 修复了分叉后缺少双向边的问题 #17033
    • 修复了重新导入时交叉口规则改变的错误 #17077
    • 修复了响应矩阵中无效的 "困在红灯" 冲突问题 #17076
    • 修复了加载具有 NaN 值的网络时的崩溃问题 #17161 (也适用于 netedit)
    • 修复了无效的交叉口形状(带有 NaN) #17182
    • OpenDRIVE 导入:现在处理导致 NaN 值的有问题的几何图形 #17163
    • 修复了自定义宽度的过街处错位的问题 #17286
    • VISUM 导入器现在处理缺失的 SURFACEID #17307
  • sumo-gui
    • 在 netedit 中创建的重路由器的通知边再次可见(带有属性 'pos') #17298 (1.22.0 中的回归问题)
    • 修复了在选中的车辆离开模拟后,不相关的车辆被选中的错误 #16955
    • 边和交叉口定位器现在在替代网络模式下工作 #17022
    • 加载的颜色方案在立即修改时不再重置 #16976
    • 修复了边参数对话框流量描述的误导性问题 #16981 (meso)
    • 修复了在运行时打开网络参数窗口导致的崩溃问题 #17043 (meso)
    • 当加载模拟因错误中止时,开始按钮被禁用 #17063
    • 修复了最近配置的错误条目/路径 #16906
    • 设置对话框现在按 ESC 取消更改 #17050
    • containerStop: 自定义容器角度现在应用于计划项 <stop> #17089
    • 长度短于其几何长度的边上的车辆不再被纵向夸大 #17074
    • 修复了删除着色/缩放方案级别的最后一项时的崩溃问题 #17138 (也适用于 netedit)
    • 现在显示重路由器 ID #16715
    • JuPedSim 障碍物现在在其配置的 z 坐标处显示在 3D 视图中 #17246
    • 修复了在新名称下将 gui 设置保存到注册表后的崩溃问题 #17265
  • meso
    • 带有 withInternal="true" 的 edgeData 不再包含内部边 #17046 (1.6.0 中的回归问题)
    • 修复了加载具有高事件时间的状态时的错误 #16936
    • 修复了使用 aggregated="true" 时的无效 edgeData 输出 #16982
    • 修复了使用速度校准器时 edgeData 中的无效速度 #17228
  • duarouter
    • 修复了加载 taz 并设置选项 --persontrip.transfer.walk-taxi allJunctions 时的崩溃问题 #17180
    • 修复了不一致的默认 personTrip arrivalPos #17177
    • 修复了当限制出租车到达且目标边有停靠点时,多式联运路由失败的错误 #17178 (也适用于 sumo)
    • 修复了使用选项 --bulk-routing 时的无效错误 #17267
    • 选项 --bulk-routing 现在对铁路有效 #17266
    • 选项 --ignore-errors 现在可以过滤掉违反边权限的加载路线 #17294
    • 选项 --keep-vtype-distributions 现在对流量有效 #17305
  • TraCI
    • 修复了在期望的减速持续时间结束后过度减速的问题 #17172 (1.23.0 中的回归问题)
  • tools
    • abstractRail.py: 修复了未能使用所有加载停靠点的问题 #17023
    • abstractRail.py: 修复了选项 --horizontal 有时不起作用的错误 #17025
    • abstractRail.py: 现在优雅地处理具有无效 startPosendPos 的停靠点输入 #17027
    • abstractRail.py: 修正了使用 .net.xml.gz 输入和选项 --split 时临时网络的命名 #17029
    • routeSampler.py: tazRelations 的 mismatch-output 现在也以 tazRelations 形式写入 #17049
    • osmWebWizard.py: 不再无法启动第二个实例 #16663
    • netdiff.py: 修复了在 .net.xml.gz 文件上运行 diff 时的 plain-output 文件名 #17319

增强功能#

  • sumo
    • 选项 --max-num-persons 0 现在可用于运行没有人员的模拟。 #16965
    • 附加文件现在支持 <preference> 元素,可用于影响不同 vClasses 和 vTypes 的路由偏好 #9091
    • 添加了选项 --device.rerouting.threshold.factor--device.rerouting.threshold.constant,以避免在旅行时间改进太低时进行路由 #4635
    • 交叉口模型参数 jmDriveRedSpeed 现在在带有蓝灯设备的紧急车辆在红灯时通过交叉口时生效 #17120
    • 带有蓝灯设备的车辆现在可以从错误的转弯车道通过交叉口,而无需首先将速度降至 0 #17123
    • 在其边之外行驶的车辆现在允许增加的横向加速度和横向速度以返回道路 #17131
    • 添加了选项 --person-fcd-output 以分离车辆和人员的输出。这也导致更清晰的表格输出(csv, parquet) #16814
    • 具有自定义条件的感应式 tls 现在支持表达式 p:TLINDEX 来检索接近过街处的行人数 #17229
    • 所有插入警告/错误现在报告失败时间 #17259
    • summary-output 现在包括被丢弃的车辆数量 #17282
    • 当设置了选项 --summary-output.period 时,summary-output 将始终包含最终模拟步骤 #17283
    • 选项 --weights.reversal-penalty 现在可用于配置列车反转时的惩罚。负值禁用反转 #17269
    • edgeData 输出现在包括属性 'flow' #17284
  • netedit
    • 现在翻译附加工具提示 #12652
    • 覆盖元素对话框现在可以记住用户选择 #17041
    • Gui 设置 'show route index' 现在对检查的路线和车辆有效 #17013
    • Gui 设置 'show stop info' 现在对检查的路线和车辆有效 #17014
    • tazRelation 宽度现在可以通过属性缩放 #17136
    • 现在使用允许/禁止对话框处理重路由器的 closingRerouteclosingLaneReroute #5318
    • 数据着色(和缩放)设置现在可以保存和加载 #17137
    • 为部分崩溃实现了对话框,以简化从最终用户到开发人员的报告。 #12006
    • 保存文件现在支持 '全部应用' #17143
    • 设置对话框现在显示 'show poi text param' 功能的可用 POI 参数 #17158
    • meanData 模式现在允许设置 edgeData 类型(例如创建边排放输出) #15696
    • 创建引用路线的车辆或流量时,嵌入式路线现在被隐藏 #17220
    • POI 可以在网络坐标和地理坐标之间转换 #17118
  • sumo-gui
    • 各种对话框现在可以用 ESC 关闭 #15463
    • 边/车道参数对话框现在显示 routingType(当未显式设置时默认为边类型) #17096
    • 在模拟中加载了 .sumocfg 时,添加了仅在 netedit 中打开网络的菜单选项 (Ctrl+Shift+T) #17087
    • BusStop 和所有其他停靠点现在支持 <param key="waitingDepth" value="FLOAT"/> 以自定义可运输实体的等待间距深度 #17088
    • Gui 设置文件现在允许在启动时打开 tls 跟踪器 #17236
  • duarouter
    • 添加了选项 --keep-flows 以避免将流量扩展为单个车辆 #2407
    • 附加文件现在支持 <preference> 元素,可用于影响不同 vClasses 和 vTypes 的路由偏好(也适用于其他路由器和 sumo 中的路由) #9091
    • 选项 --weights.reversal-penalty 现在可用于配置列车反转时的惩罚。负值禁用反转 #17269
  • netconvert
    • 添加了选项 --output.removed-nodes,该选项保留了在使用 --geometry.remove 简化过程中移除的节点的 ID #16937
    • 添加了选项 --junctions.attach-removed,可用于合并使用选项 --output.removed-nodes 处理过的网络,并在移除的交叉口处正确重新连接 #16968
    • 选项 --junctions.join-same 现在支持设置加入的匹配距离 #16969
    • 添加了新的边属性 routingType,可与新的 <preference> 元素一起使用以影响路由 #17094
    • 选项 --railway.topology.extend-priority--railway.topology.direction-priority 现在设置属性 routingType #17102
    • <split> 元素现在支持属性 offset 以自定义新创建车道的横向偏移 #17103
    • 节点属性 roundabout="0" 现在可用于声明交叉口不应被分类为环形交叉口 #10677
    • 与连接交叉口相关的无效车道邻居信息现在会自动修复(并发出警告) #17280
  • TraCI
    • vehicle.setSpeedMode 现在对带有蓝灯设备的车辆生效 #17122
  • tools
    • net2geojson.py: 现在允许使用选项 --edges --lanes 导出边和车道形状 #16774
    • abstractRail.py: 添加了选项 --main-stops 用于在确定区域角度时过滤停靠点 #17024
    • generateDetectors.py: 添加了选项 --edge-probability 以允许按边随机化 #17044
    • instantOutToEdgeCounts.py: 将感应环输出转换为 edgeData 的新工具 #17048
    • createOvertakingReroutes.py: 用于构建铁路重路由器的新工具 #16448
    • tazRel2POI.py: 用于可视化 taz 关系的新工具 #17157
    • randomTrips.py: 选项 --flows--route-file 现在写入流量并且运行速度快得多 #17200, #17204

杂项#

  • 选项 --junctions.join-sameBOOL 类型更改为 FLOAT 类型,现在需要距离参数。之前的行为可以通过设置值 0.01 来近似 #16969
  • sumo 现在在设置选项 --threads 且参数大于 1 时发出警告 #17057
  • 为配置文件的不同问题添加了警告和错误 #17069
  • Windows 下的命令行输出现在使用 UTF 字符集 #17093
  • 自动重路由 在新路线与旧路线旅行时间相同时不再进行 #4635
  • 带有蓝灯设备的车辆不再将首选横向对齐设置为 arbitrary #17124
  • duaIterate.py: 移除了选项 --binary #16777
  • 人员 FCD 输出中的属性顺序已更改,现在与车辆类似(仅影响类型属性)。
  • 夜间 sumogame 现在加载所有 3D 对象 #3032
  • flowrouter.py 选项 --vclass 现在默认为 'passenger'(以避免多式网络中的无效路由) #17296
  • duaIterate.py: 选项 --gzip 默认启用。可以使用选项 --no-gzip 来恢复旧行为。 #16777

版本 1.24.0 (2025.07.22)#

Bug 修复#

  • sumo
    • 修复了无效的交通灯警告 #16602
    • 修复了使用 stationfinder 设备时路由器输出过于冗长的问题 #16624
    • 当设置选项 --ignore-route-errors 时,车辆不再驶入禁止的内部车道 #16635
    • 修复了未检测到交叉口碰撞的错误 #16695
    • 修复了由于不安全变道导致的交叉口碰撞 #16643
    • 修复了 tripinfo-output 中步行阶段的无效 waitingTime(值未累积) #16729
    • 铁路路由现在忽略临时道路封闭,当设置选项 --device.rerouting.mode 8#16799
    • 修复了具有 personTrip 的人员在从 <ride> 变为 <walk> 时具有错误 arrivalPos 的错误 #16801
    • 修复了当车辆被传送到 arrivalEdge 属性之外时的无效紧急停车问题 #16802
    • 修复了由于数值问题导致停车场流出量被阻塞的错误。 #16809
    • 修复了在穿过交叉轨道之前出发时的无效铁路信号状态 #16819
    • 修复了排放值输出中的不一致问题。选项 --emission-output.precision 现在也应用于行程信息边数据#16832
    • 修复了行人在交叉口内穿过多个交通灯控制的过街处的路由问题 #16788
    • 修复了当使用重路由器和行程时,路由忽略选项 --device.rerouting.mode 8 的错误 #16851
    • 修复了接近车道末端时的紧急制动问题 #16779
    • 修复了使用选项 --no-internal-links 接近内部交叉口时的无效速度问题 #16857
    • 修复了使用 --no-internal-links 时后继车辆的无效计算问题 #16858
    • 修复了在短边上长时间无法变道的问题 #1403, #16780
    • 修复了在开关处的移动闭塞模式下的列车碰撞问题 #16855
    • 修复了加载具有无效反向驾驶数据的网络时的崩溃问题 #16904
    • 修复了影响从加载状态复制的各种错误 #16765
      • 加载状态时现在保留重路由事件的时间 #16772
      • 加载状态时现在保留先前记录的旅行速度 #16775
      • 状态保存现在保留同一步骤出发的车辆的加载/插入顺序 #16870
      • 概率性设备分配在加载状态时不再不同 #16784, #16871
      • 使用选项 --weights.random-factor 时,加载状态后的行为不再不同 #16876
      • 修复了使用选项 --meso-overtaking 加载状态后行为不同的问题 #16874
      • 队列进入阻塞时间现在在保存/加载状态时保留 #16770
      • edgeData 现在在加载状态时恢复内部状态 #16894
      • 选项 --save-state.precision 现在应用于状态中存储的所有值 #16897
  • netedit
    • 用于分散双向铁路的链接方向箭头绘制在正确的位置 #16718 (1.20.0 中的回归问题)
    • 双向铁路连接绘制得足够大以便于点击 #16701 (1.22.0 中的回归问题)
    • 双向铁路连接再次绘制在正确的一侧 #16700 (1.23.0 中的回归问题)
    • 修复了在 TAZ 之间转换流量时的崩溃问题 #16859 (1.23.0 中的回归问题)
    • 重路由间隔可以再次定义 #16796 (1.23.0 中的回归问题)
    • RouteProbe 和 E3 检测器现在正确保存输出文件名 #16910, #16913 (1.23.0 中的回归问题)
    • 打开网络对话框现在再次列出 net.xml.gz 文件 #16915 (1.23.0 中的回归问题)
    • 修复了切换到 "Deutsch" 语言时功能损坏的问题 #16926 (1.23.0 中的回归问题)
    • 将连接属性 'uncontrolled' 更改为 False 并且具有交通灯时,现在使该连接由交通灯控制 #16705
    • 修复了在加载的程序具有非标准 programID 时使用 tls 模式 "reset single" 后的崩溃问题 #16702
    • chargingStation 中的 parkingArea 引用现在被加载 #16789
    • 修复了从 sumo-gui 使用 ctrl+t 启动时,保存 .sumocfg 可能覆盖需求的错误 #16711
    • 嵌入了 WGS84 地理投影数据的背景图像现在被正确导入(以 UTM 作为后备) #16895
    • 修复了在保存期间尝试处理无效车辆时的崩溃问题 #16860
  • sumo-gui
    • 修复了对于 guiShape truck/semitrailer,拖车偶尔不绘制的错误 #16808 (1.23.0 中的回归问题)
    • 修复了铰接式卡车(即 guiShape=truck/semitrailer)在缩小时具有夸张间隙的错误 #16816
    • 车厢图像现在相对于定义它们的文件加载 #16725
    • 游戏模式铁路开关现在总是在第一次点击时切换 #16726
    • 修复了在 Windows 上为未知边加载 edgeData 时的 UI 冻结问题 #16742
    • 修复了各种参数窗口的怪癖 #11033
    • 修复了如果未设置 SUMO_HOME 时 "关于对话框" 中的崩溃问题 #16749
    • 修复了停车场的方向,使其与文档一致 #16593
    • 修复了火车车厢的渲染问题 #16761
    • 修复了同时使用选项 --device.rerouting.threads--weights.random-factor 时的崩溃问题 #16878
    • 嵌入了 UTM 地理投影数据的背景图像现在被导入(以 UTM 作为 WGS84 的后备) #16895
  • mesosim
    • 修复了加载具有不同网络的状态时的崩溃问题 #16758
    • 修复了加载具有不同 --meso-lane-queue 值的状态时的崩溃问题 #16757
    • vehroute-output 在加载状态和重路由时不再包含无效的路线边 #16776
    • 修复了校准器在移除车辆时导致无效交通数据输出的错误 #16821
    • 修复了与状态保存相关的错误 #16770, #16874
  • netconvert
    • 修复了在特定角度下,left_before_right 交叉口处的无效路权问题 #16793 (1.23.0 中的回归问题)
    • 修复了当使用自定义过街交通灯索引时,选项 --tls.rebuild 创建无效信号计划的错误。 #16653
    • 修复了当过街处使用 linkIndex2 时的不安全信号计划问题 #16657
    • 修复了当过街处重用车辆链接索引时缺少黄相位的问题 #16658
    • OSM 导入:修复了当公共交通使用时,边类型 highway.service 的默认速度过低的问题 #16763
    • 修复了小环形交叉口有时未被检测到的错误 #16787
    • 修复了网络中不一致的反向驾驶信息 #16905
    • 修复了使用 type="zipper" 定义分叉时的无效连接问题 #16923
  • duarouter
    • 修复了关于 actionStepLength 的无效警告 #16899
  • TraCI
    • 修复了在修改权限后车辆不会在其当前车道上改变的错误 #16721
  • tools
    • gtfs2pt.py: 修复了选项 --repair 未能修复损坏的 --osm-routes 的错误。 #16632 (1.17.0 中的回归问题)
    • netduplicate.py: 工具再次工作 #16931 (1.17.0 中的回归问题)
    • createVehTypeDistribution.py: 当输出文件已存在时不再崩溃 #16728 (1.21.0 中的回归问题)
    • gtfs2pt.py: 修复了使用选项 --osm-routes --bbox 运行时的无效车辆出发问题 #16731
    • gtfs2pt.py: 修复了使用 --osm-routes 时的过时配置头 #16680
    • osmWebWizard.py: 修复了向导在 Linux 上无法正常打开的错误 #16086
    • net2geojson.py: 修复了使用选项 --boundary 导致无效形状的错误 #16295
    • tlsCycleAdaptation.py: 修复了无效错误 #14015
    • scaleTimeLine.py: 修复了输出的无效排序问题 #16744
    • sumolib.net: 不再忽略连接权限 #16633
    • sumolib.xml.toXML: 自定义缩进现在被传递 #16734
    • generateRerouters.py: 修复了 XML 输出中缺失的字符 #16815
    • traceExporter.py: 修复了设置选项 --shift 时的不一致坐标问题 #16825
    • osmWebWizard.py: 调用 build.bat 现在确保不同交通模式之间的结果不相关,并且可以再现初始交通 #8660

增强功能#

  • sumo
    • .parquet 结尾的文件现在以 Apache Parquet 格式 写入。这也可以通过选项 --output.format parquet 激活。其他适用的选项有 --output.compression, --output.column-header。该功能处于实验阶段 #14694
    • .csv 结尾的文件现在以 CSV 格式 写入。这也可以通过选项 --output.format csv 激活。压缩的 csv 支持 .csv.gz。其他适用的选项有 --output.column-header, --output.column-separator。该功能处于实验阶段 #16791
    • 如果交通灯程序中的某个链接即使在程序只有一个相位时也从未获得绿相,则会发出警告。 #16652
    • 如果两个 'G' 链接在同一相位中指向同一车道,则会发出警告 #16636
    • 在 personinfo walk 输出中添加了 waitingTime #16737
    • closingReroute 现在支持可选属性 until 用于设置封闭的估计持续时间。如果绕行时间更长,车辆可能会在封闭的边处等待。 #16804
    • 当使用 carFollowModel="KraussPS" 并且在下坡时,车辆现在可以超过其 vType 的 maxSpeed(最高可达其 desiredMaxSpeed#16805
    • containerStop 现在支持 <access> 元素 #16811
    • 人员和容器的 vehroute 输出现在可以通过参数键 "has.vehroute.person-device" 选择性地禁用 #16820
    • 现在可以通过在加载/卸载容器时更改车辆属性来建模拖车/编组 #8800
    • 自定义交通灯切换规则现在支持函数 w:DETID 来检索检测器上车辆的最长个体等待时间(以秒为单位) #16841
    • 列车重路由现在总是使用当前边作为重路由起点 #16852
    • 添加了选项 --default.departspeed--default.departlane,以在车辆未定义相应属性时覆盖默认值 #16925
  • meso
    • 具有 <param key="meso.tls.control" value="true"/><tlLogic> 现在免于选项 --meso-tls-penalty--meso-tls-flow-penalty,并以完全控制运行 #16674
  • sumo-gui
    • 对重路由器对象的视觉放置进行了各种改进 #16716
    • 在游戏模式中,左键现在可以切换开关(重路由器) #16840
    • 3D 视图现在可以以 3D 模型颜色渲染车辆 #12683
    • 3D 视图现在显示 POI 和多边形 #13991
    • busStop 现在支持 <param key="waitingWidth" value="FLOAT"/> 以自定义可运输实体的等待间距 #16724
    • 具有关联 parkingArea 的 ChargingStations 现在绘制在停车位上而不是道路上 #16670
    • containerStop 现在支持属性 angle 以按角度绘制驻停的容器 #16813
    • vTypes 现在支持 <param key="scaleVisual" value="FLOAT"/> 以自定义单个视觉缩放 #16849
  • netconvert
    • 添加了选项 --prefix.junction--prefix.edge 以为各自对象设置独立的前缀 #16900
    • 添加了选项 --kept-ids 以加载不应重命名的对象的选择(使用 --numerical-ids--prefix 选项) #16902
  • duarouter
    • 添加了选项 --repair.max-detour-factor 以对修复路线提供更多控制。车辆将回溯而不是走大绕行路线。 #16746
  • tools
    • randomTrips.py 现在总是生成经过验证的行程 #12684
    • plotXMLAttributes.py: 选项 --xticks-file--yticks-file 现在支持提供一个列用于名称别名以对相应值进行分组 #16683
    • plotStops.py: 沿指定路线简化绘制列车时刻表图的新工具。 #16683
    • generateContinuousRerouters.py: 添加了选项 --stop-file 以在重路由时在加载的 busStops 处添加停靠点 #16719
    • mapDetectors.py: 添加了选项 --all-lanes 以基于单个输入坐标在边的所有车道上放置检测器 #16751
    • plot_net_dump.py: 添加了选项 --colormap.center 以允许使用 TwoSlopeNorm 绘制颜色 #16778
    • tileGet.py: 添加了 'cartodb_' URL 短cut 和选项 --retina 以用于 cartodb URL #16822
    • net2sel.py: 添加了从 .net.xml 获取包含交叉口和边的选择文件的新工具 #16907
    • routeSampler.py: 命名路线输出现在总是将使用计数写入为路线 "probability" 属性 #16919
    • route2poly.py: 当使用 --standalone--scale-width 时,命名路线按属性概率缩放 #16920
    • route2poly.py: 当使用选项 --scale-width 时,路线按计数/概率降序排序。选项 --filter-count 可用于排除计数低的路线 #16921

杂项#

  • sumo-gui: 交换了停靠点占用指示器的颜色语义(红色表示已使用,绿色表示空闲) #16668
  • Shift-click 在游戏模式下不再切换交通灯或开始跟踪车辆 #16703, #16704
  • 添加了铁路游戏 #13446
  • 设置 python 根目录现在会针对选定的 python 编译 libsumo #16755
  • 建议使用支持 C++17 的编译器(例如 MSVC 2017 或更高版本,g++ 7 或更高版本)
    • 不再支持 MSVC 2015(主要是由于 SUMOLibraries 的更新)
  • netconvert: OSM 导入的类型为 "highway.service" 的边,当被公共交通车辆使用时,现在类型为 "highway.service|psv"。当使用选项 --keep-edges.by-type--remove-edges.by-type 以及使用特定边类型的限制meso 设置时,可能需要调整 #16763
  • --default.departspeed(当前为 "0")和 --default.departlane(当前为 "first")的值将在未来版本中更改,以便车辆以更高速度出发并在所有车道上出发。如果您的模拟依赖旧行为,请确保设置显式值。

版本 1.23.1 (2025.05.08)#

Bug 修复#

  • sumo
    • 修复了人员在停靠点之间跳跃时的崩溃问题 #16641
    • 修复了人员在停靠点之间跳跃时的无效 arrivalPos 问题 #16642
    • 修复了使用 overtakeReroute 时的崩溃问题 #16647
  • netedit
    • 激活 '显示连接' 时,短连接再次可见 #16644 (1.22.0 中的回归问题)
    • 修复了在 E2 检测器中设置负时间阈值时的崩溃问题
    • 修复了使用新选择模式功能时的崩溃问题 #16648
    • 修复了在同一边上放置两个 vaporizer 时的崩溃问题 #16649
  • Tools
    • gtfs2pt.py: 选项 --write-terminals 在设置 --osm-routes 时现在有效 #16645
    • gtfs2pt.py: 修复了使用较小的网络加载 --osm-routes 时的崩溃问题 #16646

版本 1.23.0 (2025.05.06)#

Bug 修复#

  • sumo
    • 修复了当车辆被阻塞而停靠点被占用时,在 busStop 处的无效停靠位置问题 #16270 (1.6.0 中的回归问题)
    • 修复了在共享车道上使用铁路信号时的崩溃问题 #16219 (1.22.0 中的回归问题)
    • 修复了 personinfo 输出中的无效 waitingTime 问题 #16164
    • 修复了无法超车两个并行停止的前导车辆的问题 #16232
    • 修复了以固定速度出发且与最佳车道偏差较大时的无效错误 #16244
    • 出租车在拥堵中不再通过传送消失。当它们在最终下车边上时,它们将永远不会传送。 #16268
    • 修复了出租车在接载乘客后无法行驶的错误 #16271
    • 详细输出现在考虑了被丢弃的人员 #16261
    • 当设置选项 --tripinfo-output.write-unfinished 时,详细输出现在打印正确的运行中人员数量 #16281
    • 加载的车辆数量不再受多式联运路由期间使用的临时车辆影响 #16259
    • 修复了拉链合并期间的振荡速度问题 #16146
    • 修复了当边具有被禁止车道分割的可用车道时的无效 bestLaneOffset 问题。这可能导致无效的出发错误 #16287
    • 修复了使用 detectPersons="car" 的 E3 检测器变道后的崩溃问题 #16296
    • 确保在使用 LC2013 和子车道模型时模拟终止 #16297
    • 修复了同时使用选项 --device.rerouting.threads--weights.random-factor 以及重路由器时的崩溃问题 #16347
    • 修复了在拉链合并前方由于不安全变道导致的碰撞问题 #16305
    • 修复了使用 --collision-action warn 时的重复碰撞输出问题 #16397
    • 修复了将某些正面碰撞错误分类为正常(追尾)碰撞的问题 #16398
    • 修复了在陡坡情况下滑行减速的无效公式问题 #16309
    • 修复了重路由后的无效铁路行为 #16431
    • 修复了交叉口上阻塞的车道变更问题 #16443
    • 修复了步行区上车辆和行人之间的死锁问题 #16458
    • 电动车辆模型现在通过参数 shutOffStopDurationshutOffAutoDuration 遵守发动机关闭 #16341
    • JuPedSim 行人在逆边方向行走时现在会考虑交通灯。 #16313
    • SSM 设备:修复了在无效的 device.ssm.exclude-conflict-types 上无帮助的错误消息 #16511
    • SSM 设备:修复了间接左转的问题 #16519
    • 修复了右转车辆在间接左转时忽略自行车的错误 #16520
    • 选项 --ignore-junction-blocker 不再触发交叉口碰撞 #16525
    • 流量中的停靠点现在在保存和加载状态时被正确处理 #16527
    • 修复了当重路由器在同一间隔内关闭具有不同权限的多个车道或边时的无效行为 #13846
    • 修复了在具有内部链接的铁路模拟中加载时罕见的崩溃问题 #16532
    • 修复了在使用 JuPedSim 时 --fcd-replay 精度不足的问题 #16047
    • 自由插入现在考虑了插入边上的停靠点 #16592
    • 跳跃后的插入不再跳过插入边上的停靠点 #16583
    • 修复了 stationfinder 设备参数 checkEnergyForRoute 的处理问题 #16380
    • 修复了 stationfinder 设备在低电量估计失败后未能搜索站点的错误 #16562
    • 修复了带有 stationfinder 设备的电动车只充电一次的错误 #16597
    • stationFinder/parkingReroute: 修复了到达新停靠点时间的无效估计 #16603
    • StationFinder: 修复了充电只工作一次的错误 #16597
    • 修复了在超过步骤 86400 的模拟中使用校准器时的崩溃问题 #16626
  • netedit
    • 恢复了通过输入值设置自定义几何点的功能 #16179 (1.20.0 中的回归问题)
    • 提高了连接上内部交叉口标记的可见性 #16485 (1.20.0 中的回归问题)
    • 当缩小时,带有高程复选框激活的移动模式现在再次显示高程数字 #16236 (1.20.0 中的回归问题)
    • 修复了 tls 模式中的崩溃问题 #16608 (1.20.0 中的回归问题)
    • 修复了定义人员步行时缺少边颜色的问题 #16461 (1.21.0 中的回归问题)
    • 修复了移动模式中过大的端点标记问题 #16266 (1.22.0 中的回归问题)
    • 修复了当受交通灯控制的交叉口与另一个不受控制的交叉口重叠时的崩溃问题 #16483 (1.22.0 中的回归问题)
    • 修复了 shift-click 检查车道仅在移动鼠标后才起作用的错误 #16134 (1.22.0 中的回归问题)
    • 修复了使用 重置连接 后的无效连接问题 #16127
    • 保存从 sumocfg 加载到多个路线文件中的需求现在有效 #14805
    • 修复了用于可视化铁路车厢的特殊 vType 参数的处理问题 #16334
    • 修复了以 stopLane 结束的人员计划的无效几何问题 #15355
    • 修复了从 stoppingPlacestoppingPlace 的人员计划的无效几何问题 #15348
    • 修复了删除具有反向车道信息的边后的崩溃问题 #16500
    • 修复了保存 meanData 时多余的默认属性问题 #16427
    • 在连接模式中使用按钮功能(死端、死起点等)选择车道后,选择颜色立即更新 #16464
  • sumo-gui
    • 修复了按长度/几何缩放时铁路车厢的渲染问题 #16425
    • 可视化选项 按几何缩放长度 现在对铁路车厢有效,并允许使用未缩放的长度渲染 #11576
    • 修复了校准器输出文件路径无效时的崩溃问题 #16545
    • 车辆颜色参数和车辆文本参数现在正确保存在设置中 #16561
  • netconvert
    • 修复了从 'G' 到 'g' 的不安全程序转换问题 #16289 (1.20.0 中的回归问题)
    • 修复了直连在内部交叉口后经过过街处时的无效链接状态问题 #16167
    • 选项 --bikelanes.guess 不再影响加载的连接属性 #16196
    • 修复了共享电车车道穿过另一条电车线路时的无效路权规则/交叉口类型问题 #16215
    • 修复了使用选项 --ptstop-files 加载的停靠点被重命名的错误 #16220
    • 修复了未能将高程映射到具有 z 数据的网络的问题 #16235
    • OpenDRIVE 导入:修复了直路上高程数据的无效简化问题 #16566
    • 修复了使用选项 --osm.turn-lanes 时的无效连接问题 #13586
    • 修复了猜测时的无效公交连接问题 #16291
    • 修复了具有不常见相位布局的交通灯处的无效路权规则。 #16338
    • 修复了 OpenDRIVE 导入中缺少 signalID 参数的问题 #16403
    • 修复了使用选项 --join-tram-dist 时的崩溃问题 #16393
    • 修复了选项 --edges.join-tram-dist 未能加入足够多的错误 #16408
    • 修复了加载具有自定义长度值和长度为 0 的几何形状的连接时生成网络中的 nan 值问题 #16441
    • 修复了在 left_before_right 交叉口类型中,来自对向方向的左转的无效路权问题 #16480
    • 修复了导入 OpenDRIVE 时的无效内部车道形状问题 #16482
    • 修复了使用选项 --ptstop-output.no-bidi 运行时的无效 ptline-output 问题 #16534
    • 选项 --ptline-clean-up 现在清理更多停靠点 #16540
    • 修复了加入交叉口失败的问题 #16557
    • 修复了加载的网络连续改变其几何形状的错误 #16609
  • durarouter
    • 修复了加载具有停靠点的无效路线并设置选项 --ignore-errors 时的无效路线输出问题 #16365
    • 改进了加载 --astar.landmark-distances 与 taz 时的错误消息 #16400
    • 修复了加载 taz 的 restriction-params 时的崩溃问题 #16514
    • 特定车辆类的速度限制现在有效 #16580
  • TraCI
    • 设置车辆参数 'lcContRight' 现在有效 #16147
    • 修复了 traci.vehicle.moveToXY 匹配到错误内部车道的错误 #15282
    • 修复了 vehicle.slowDown 需要额外的模拟步骤才能达到目标速度以及 vehicle.setAcceleration 达到错误加速度的错误 #7361
    • 修复了人员移除后的活动人员计数无效问题 #16192
    • person.removeStage 现在对出租车驾驶阶段有效,即使出租车已经在接载途中 #11620
    • 订阅 lane.getAngle 现在有效 #16360
    • 订阅具有附加参数的方法现在在 libsumo 中有效 #16383
    • 函数 edge.subscribeContext 现在正确收集低距离下的车辆,无论车道数量如何 #16422
    • 函数 vehicle.getLeader 不再包含穿过自车路径的交通(且从未成为前导车辆) #13842
    • libsumo 订阅不再忽略开始和结束时间 #16411
    • vehicle.setType 之后,saveState 现在保存新类型 #16185
  • Tools
    • sumolib.net.lane.getClosestLanePosAndDist 在车道长度与形状长度不同时现在给出正确结果 #16269
    • sumolib.xml 在生成 xml 时现在正确转义特殊字符 #16318
    • gtfs2pt.py: 修复了导致写入无效路线的问题 #16336
    • gtfs2pt.py: 修复了在禁止车道上的无效停靠点放置问题 #16352
    • gtfs2pt.py: 现在对引发负停靠点 until 时间的输入发出警告 #16322
    • gtfs2pt.py: 修复了备选出发边的夸大惩罚问题 #16543
    • gtfs2pt.py: 映射时不再忽略边速度 #16544
    • route2sel.py: 修复了加载引用路线 ID 的流量/行程时的崩溃问题 #16395
    • randomTrips.py: 修复了选项 --verbose 的不一致行为 #11861
    • randomTrips.py: 修复了使用 --persontrips 时覆盖 --edge-permission 的问题 #16471
    • randomTrips.py: 现在可以从配置加载自定义布尔 duarouter 选项 #16551
    • randomTrips.py: 写入 .rou.xml.gz 现在有效 #16556
    • scaleRoutes.py: 修复了缩放中的错误 #16474
    • scaleRoutes.py: 修复了输入超过配置时间范围时的崩溃问题 #16467
    • scaleRoutes.py: 选项 --timeline-pair 现在有效 #16473
    • scaleRoutes.py: 现在与通过 period 定义的流量一起工作 #16470
    • route_1htoDay.py: 修复了误导性的选项帮助文本 #16466
    • route_1htoDay.py: 现在支持选项 --output-file 以将所有车辆放入一个文件中,该文件可用于 scaleTimeLine.py #16468
    • analyzePersonPlans.py: 修复了无效的汽车使用分类 #16549
    • distributeChargingStations.py: 修复了当输入包含负位置时生成的停车区域的无效位置问题 #16560
    • ptlines2flows.py: 修复了使用 --extend-to-fringe 时,当公交线路被分割时的无效路线问题 #16573
    • ptlines2flows.py: 当使用修改后的输入网络时,不再写入无效(断开的)路线。断开的部分将使用跳跃连接 #16292
    • 加载具有多个位置输入文件参数的工具配置现在有效 #16447

增强功能#

  • sumo
    • departPos=stop 现在对停靠边上的任何 departLane 有效 #16133
    • 行人现在包含在完整输出中 #16159
    • 添加了停靠点属性 jumpUntil 以设置跳跃结束的最短时间 #16153
    • 当网络中没有电车的铁路信号时,电车插入自动使用移动闭塞模式。行为可以通过选项 --railsignal.default-classes 配置 #16208
    • 在 busStop 转移乘客的出租车现在在该停靠点注册。这显示在 --stop-output 中。 #16263
    • 道路坡度现在用于 HBEFA3 和 HBEFA4 计算 #16307
    • 重路由设备现在支持 <param key="ignoreDest" value="1"/> 以支持重路由到任何停车区域,无论当前目的地的可见性或占用情况如何。一个用例是配置寻找下一个出租车站的空闲算法 #16387
    • --full-output 现在包括具有高程数据的网络中的车辆道路坡度(以度为单位) #16389
    • 作为变道直接结果发生的碰撞现在在错误和 --collision-output 中被区分为 "侧面" 碰撞 #16396
    • 警告 "bus stop too short" 不再出现,如果停靠点填满了其车道的整个长度,或者其 parkingLength 设置为足够高的值 #16391
    • 现在支持具有任意数量冲突连接的拉链交叉口 #11874
    • 电动车辆模型参数 constantPowerIntake 不再受 propulsionEfficiencyrecuperationEfficiency 影响 #16463
    • vType 属性 jmTimegapMinor 现在可以为负以引发碰撞 #16478
    • 人员计划元素 <stop> 现在支持属性 jump。当设置时,人员可以在不同位置的后续停靠点之间跳跃,使用配置的时间进行跳跃 #6325
    • 信号计划中,如果一个相位循环回自身且没有替代的下一个相位,现在会发出警告 #16487
    • 紧急车辆现在可以执行对向超车,即使下游边没有对向边 #16499
    • collision-output 现在写入相关车辆前部和后部的网络坐标 #16509
    • SSM 设备参数 "write-na" 可用于禁用所有值为 n/a 的冲突信息 #16513
    • 为 personTrip 创建的公共交通乘车现在默认使用任何在目的地停靠的车辆。限制乘车到单一线路 ID 的先前行为可以通过选项 --persontrip.ride-public-line 恢复。 #12263
    • 所有跟驰模型现在支持属性 speedTable, maxAccelProfiledesAccelProfile 以建模速度相关的加速度限制 #3920
  • netedit
    • 每个对象现在跟踪其加载自的文件,以便于处理使用多个路线或附加文件的项目 #12430
    • 现在在打开弹出菜单的对象周围绘制青色虚线轮廓 #16344
    • 在删除模式中,悬停在交叉口上将突出显示删除该交叉口时将被删除的所有边 #14114
    • 重路由器边的选择现在使用改进的突出显示并允许切换边 #16430
    • 当检查 stopOffset 为 0 的车道时,禁用了多余的属性 stopOffsetException #13985
    • 菜单切换 '显示气泡' 现在在附加编辑模式下可用,并在显示交叉口形状和交叉口气泡之间切换。 #16214
  • netconvert
    • 添加了选项 --junctions.join.parallel-threshold DEGREES 以增加用户对加入交叉口(使用 --junctions.join)的控制 #16140
    • 添加了选项 --osm.annotate-defaults 以记录速度和车道数是基于 OSM 数据还是类型映射默认值 #16094
    • 当没有定义电车铁路信号时,电车现在在可能的情况下使用安全高效的拉链合并。选项 --railway.signal.permit-unsignalized 可用于配置受此行为影响的其他 vClasses #16216
    • OSM: 现在支持路边停车的新标记方案 #16558
    • 视觉配置 '显示气泡' 使 '显示气泡' 更加有用 #16214
  • sumo-gui
    • 开始日语翻译工作 #16129
    • busStops 现在支持参数 emptyColor 以区分虚拟停靠点和普通 busStops。 #16260
    • 提高了 guiShape evehicle 的可见性(大的黑色部分现在采用车辆颜色的深色版本) #16262
    • 颜色设置对话框现在具有用于动态车辆着色方案的 '重新校准彩虹' 控件 #16384
  • od2trips
    • 当 taz 没有源或汇时添加警告 #16112
  • duarouter
    • 为 personTrip 创建的公共交通乘车现在默认使用任何在目的地停靠的车辆。限制乘车到单一线路 ID 的先前行为可以通过选项 --persontrip.ride-public-line 恢复。 #12263
  • TraCI
    • vehicle.setSpeedMode 现在支持第 7 位来控制遵守道路速度限制 #3811
    • traci.start 现在支持参数 traceGetters="print"。当设置时,生成的 traceFile 在回放时将打印所有 get 命令的输出。 #16156
    • 添加了函数 traci.route.delete #15452
    • simulation.getMinExpectedNumber 现在考虑了待处理的出租车预约 #16187
    • 添加了函数 person.getWalkingDistance #16197
    • 添加了 lanearea 函数 getIntervalMeanTimeLossgetLastIntervalMeanTimeLoss #16311
    • 为所有域添加了函数 domainID。这可以用作 subscribeContext 中的目标域 #16418
    • 对所有复杂类型的订阅现在应该有效 #15963 #15962 #15785 #7648
  • Tools
    • randomTrips.py: 当设置选项 --validate 时,生成的车辆数量得到保证(通过用新的有效行程替换无效行程) #8843
    • randomTrips.py: 使用 --vehicle-class 的值作为 --edge-permission 的默认值 #16471
    • netcheck.py: 添加了选项 --right-of-way 以查找选定的错误路权规则案例(目前仅检查匝道) #16036
    • jtcrouter.py: 添加了选项 --additional-files,这些文件被传递给 jtrrouter #16191
    • csv2xml.py: 添加了选项 --flat 以转换任意 csv 文件而无需模式 #16204
    • plotXMLAttributes.py: 添加了选项 --xstr--ystr 以强制将数据解释为类别 #16205
    • sumolib: 函数 xml.parse 现在在加载嵌套元素且不提供参数 element_names 时很有用。新属性 outputLevel(默认 1)控制检索哪些元素 #16211
    • sumolib: 使用函数 xml.parse 加载的对象现在在使用 toXML 序列化时保留其属性顺序 #16254
    • remap_additionals.py: 将基础设施从一个网络转换到另一个网络(可能在几何、车道和边分叉方面不同) #16206
    • remap_renamed.py: 在重命名网络 ID(例如使用 --numerical-ids)后转换路线文件和附加文件 #16252
    • remap_network.py: 基于几何形状查找网络之间对应关系的新工具 #16409
    • ptlines2flows.py: 现在对写入的路线和流量按 ID 排序 #16222
    • ptlines2flows.py: 现在安全地处理缺失的边 #16293
    • gtfs2pt.py: 现在支持选项 --merged-csv 用于从单个文件加载公交时刻表数据,以及选项 --merged-csv-output 用于从 GTFS 输入创建此类文件。 #16310
    • gtfs2pt.py: 现在支持选项 --patched-stops 以自定义单个停靠点的停靠点到车道的分配 #10720
    • gtfs2pt.py: 现在支持选项 --stops 以提供候选停靠点边列表来指导映射。这可以大大缩短运行时间 #16326
    • gtfs2pt.py: 通过缓存改进了运行时间 #15856
    • gtfs2pt.py: 现在支持选项 --bus-parking 以使公交车在停靠时清理道路 #16415
    • gtfs2pt.py: 添加了选项 --write-terminals 以包含描述完整路线已知终点站停靠点的车辆 <params>(即使只使用了部分路线) #16154
    • net2geojson.py: 选项 --traffic-lights 现在可用于包含交通信号的形状 #16419
    • scaleRoutes.py: 现在使用非常量默认时间线 #16469
    • generateDetectors.py: 在任意网络边上生成检测器的新工具 #16523
    • osmWebWizard.py: 不再生成多余的双向停靠点 #16533
    • checkReversals.py: 用于计算路线文件中列车反转的新工具 #16542
    • mapDetectors.py: 现在过滤重复项 #16553
    • mapDetectors.py: 选项 --write-params 可用于导入更多数据列 #16554
    • edgeDataFromFlow.py: 现在支持使用选项 --id-column--time-column 的自定义列名,以及使用选项 --time-scale 的自定义时间值解释 #16555
    • generateTurnRatios.py: 添加了选项 --split-types 以创建特定类型的转弯比率属性 #16579
    • analyzePersonPlans.py: 现在处理没有线路属性的乘车 #16617

杂项#

  • 在 netedit 中,边数据文件的默认扩展名现在是 .xml,而不是 .dat.xml #16257
  • Netedit: 统一了所有元素的上下文菜单 #15314
  • 新的默认排放模型现在是 HBEFA4 #15950。请注意,这意味着在低速时,尤其是 CO 和 HC 的值会大幅降低。
  • mapDetectors.py: 默认不再搜索到 1000 的范围 #16571
  • 人员乘车属性 lines="ANY" 不再写入,因为这是加载没有 line 属性的乘车时的默认值。 #12263
  • TraCI
    • 新的 TraCI 版本是 22
    • python 客户端中的所有 TraCI 函数现在应返回元组而不是列表 #15949
      • 受影响的函数是 inductionloop.getVehicleData, lane.getLinks, trafficlight.getControlledLinks, trafficlight.getConstraints*, trafficlight.getNemaPhaseCalls, vehicle.getLaneChangeStatePretty, vehicle.getNextLinks
    • 未使用的函数 TL_EXTERNAL_STATE 已被移除(它只有服务器实现,没有已知的客户端使用它)
    • 函数 simulation.getBusStop* 已被弃用,转而使用 busstop 域中的相应函数 #16433

版本 1.22.0 (2025.02.04)#

Bug 修复#

  • sumo
    • 修复了关于径向阻力系数的电力消耗计算 #14896 (1.8.0 中的回归问题)
    • 修复了与预预订相关的特定平台出租车行为 #15698 (1.20.0 中的回归问题)
    • 修复了涉及行人过街处的崩溃问题 #15807 (1.21.0 中的回归问题)
    • 修复了行人模拟速度降低的问题(约 5 倍) #15825 (1.21.0 中的回归问题)
    • 修复了导致 parkingAreaReroute 分配无效路线的错误 #15960 (1.21.0 中的回归问题)
    • 修复了在最后一条路线边上带有停靠点时的重路由错误 #15552
    • 修复了出发时的路由错误 #15563
    • 修复了关于不一致加载停靠点时间的无效警告 #15602
    • 修复了在具有 parkingLength 属性的 busStop 处阻塞车辆的问题 #15644
    • 修复了在 rail_crossing 处的列车碰撞问题 #15658
    • 修复了路线包含内部边时的崩溃问题 #15667
    • 修复了在同一条边上停靠两次后使用跳跃时的无效错误 #15635
    • 修复了使用跟驰模型 CACC 时诊断参数 'caccVehicleMode' 的无效值问题 #15682
    • 修复了跟驰模型 CACC 的无效 speedErr 计算问题 #15683
    • 使用 next 属性跳过相位的感应式交通灯现在可以正常工作,如果目标绿相位不服务交通但导致后续相位服务交通 #15716
    • 修复了设置车道 stopOffset 时在 allway_stop 处的无效接近速度问题 #15449
    • 修复了使用带有坐标的停靠点和选项 --mapmatch.junctions 时的崩溃问题 #15740
    • 修复了亚秒模拟中在 allway_stop 处的紧急制动问题 #15728
    • 配置车门数量现在对 JuPedSim 生效 #15562
    • 修复了涉及不同宽度车道的车辆和行人之间的碰撞问题 #15770
    • 修复了没有铁路信号的网络中的列车碰撞问题 #15797
    • 行人不再在黄灯时走上 rail_crossing #15808
    • 修复了行人过街处的碰撞问题 #15837
    • 修复了车辆后部与过街处行人之间的碰撞未被检测到的错误 #15847
    • 修复了在优先过街处不安全驾驶的问题 #15848
    • 修复了环形交叉口前方无效的变道状态,这可能导致在密集交通中变道失败 #15854
    • 修复了涉及 3 辆车的变道死锁问题 #15857
    • 在具有 parkingArea 属性的 chargingStation 处的停靠点现在总是停车 #15815
    • 修复了交叉口上的变道死锁问题 #15887
    • 修复了自行车 departDelay 的不一致统计问题 #13142
    • 修复了带有蓝灯设备的车辆在进入救援车道前减速的错误 #12067
    • 修复了在红灯右转且有行人过街处时的无效路权问题 #15939
    • 修复了当没有 arrivalPos 的乘车后跟停靠点时人员移动中的无效间隙问题 #8468
    • 车辆不再插入到已使用的行人过街处 #15843
    • 修复了加载具有随机 arrivalPos 的车辆状态时的崩溃问题 #13110
    • 修复了加载状态时的不一致 arrivalPos 问题 #15961
    • 修复了车辆传送到停靠点之外后的无效停止问题 #15972
    • 修复了车辆窃取另一车辆停车位的错误 #15976
    • 修复了变道后停车场出口被阻塞的错误 #15757, #10007
    • 修复了停车徽章缺少 XML 验证的问题 #16005
    • 修复了同时使用选项 --device.rerouting.threads--weights.random-factor 时的未定义行为问题 #15994
    • 选项 --edgedata-output 现在在设置选项 --begin 时有效 #16079
  • netedit
    • 修复了移动大型选择时的崩溃问题 #15132 (1.16.0 中的回归问题)
    • 修复了加载超过 20k 辆车时的崩溃问题。 #15680 (1.19.0 中的回归问题)
    • 修复了创建校准器流量时的崩溃问题 #15906 (1.19.0 中的回归问题)
    • 修复了行人模式中的候选边着色问题 #15888 (1.19.0 中的回归问题)
    • E2 多车道检测器可以再次移动 #15551 (1.20.0 中的回归问题)
    • 修复了缩小时的无效矩形选择问题 #15766 (1.20.0 中的回归问题)
    • 交通灯模式在缩小时再次显示交通灯图标 #15966 (1.20.0 中的回归问题)
    • 修复了加载具有过街处和重叠边几何形状的网络时的崩溃问题 #16053 (1.21.0 中的回归问题)
    • 从停靠点开始的容器现在被绘制 #15567
    • ESC 中止创建 edgeRel 和 tazRel 数据 #15601
    • 修复了在创建 TAZRel 模式下鼠标悬停时的无效 TAZ 着色问题 #15544
    • 简化了在短车道上创建车道区域检测器的问题 #15142
    • 放置在高架车道上的车辆现在可以移动 #15367
    • 修复了非默认 departLane 的无效路线显示问题 #15056
    • 改进了嵌入式路线的几何形状 #13980
    • 修复了在加载网络前编辑选项时的崩溃问题 #13881
    • 修复了缩小时小元素的文本渲染问题 #15185
    • POI 的可选区域现在对应于自定义半径 #15532
    • 修复了由于分布导致的撤销-重做后的崩溃问题 #15642
    • 修复了在人员计划模式下按 ESC 键后的无效行为问题 #15193
    • 修改后的默认 vType 在重置后不再写入 #14985
    • 数据模式:在选择数据集之前,创建间隔元素被禁用 #13309
    • "显示几何点索引" 选项现在有效 #13969
    • 双向铁路边的掉头连接现在可见 #14486
    • 移动交叉口现在移动其自定义形状 #15456
    • 修复了添加路线探测器时缺少/奇怪属性的问题 #15268
    • 现在可以加载没有 from / to 的行程 #15074
    • 修复了加载大型 TAZ 时的减速问题 #15674
    • 显著减少了切换到需求模式且加载了大量车辆时的 UI 冻结 #15681
    • 修复了多车道对象(路线、行程等)的虚线轮廓问题 #15676
    • 修复了撤销删除正在检查的连接时的崩溃问题 #15724
    • 修复了编辑网络期间撤销-重做时的崩溃问题 #15534
    • 修复了在删除大量元素的同时检查大量元素时的 "冻结" 问题 #15725
    • 修复了选择大量元素时的 "冻结" 问题 #15747
    • 修复了加载具有与交叉口 TAZ 相同 ID 的 TAZ 时的崩溃问题 #15759
    • 修复了当为行程定义坐标时无效使用 TAZ 信息的问题 #15765
    • 修复了使用 "拆分交叉口并重新连接" 时的崩溃问题 #15786
    • 使用 ctrl+V 粘贴的属性输入现在有效 #6018
    • 短边现在在过街处模式下可点击 #15795
    • 删除模式现在忽略步行区 #15794
    • 移动模式现在忽略过街处 #15410
    • 修复了保存 .sumocfg 时的无效文件创建问题 #15838, #15270
    • 如果对象未更改,则不再写入文件 #15271
    • 修复了检查车辆选择时的无效 vType 属性样式问题 #12719
    • 修复了高架网络中路线创建模式的无效渲染问题 #13992
    • 修复了在交通灯模式下输入无效 programID 时的崩溃问题 #15491
    • 修复了重新加载数据文件时的崩溃问题 #15845
    • 修复了 toolcfg 中引号的无效处理问题 #15899
    • 步行区不再在过街处模式下拦截点击 #15916
    • 如果打开固定元素对话框,则停止保存 sumo/netedit 配置 #15918
    • 修复了在启用 "保留旧项" 的情况下加载需求元素后的无效行为问题 #15904
    • 虚线轮廓不再隐藏流量标签和车辆堆栈标签 #15929
    • 修复了在 VType 对话框中编辑 vClass 时的崩溃问题 #16008
    • 选择模式功能 '选择父级' 现在选择所选连接的传入和传出车道 #15968
    • 修复了加载 TAZ 源/汇的无效权重值问题 #16037
    • 修复了处理非常大的 TAZ 时的 "冻结" 问题 #15844
    • 修复了保存使用位置参数的工具的 toolcfg 时的错误 #16075
    • 重新加载需求文件现在发出警告而不是错误 #16027
    • 删除一条边不再移除其他边的过街处 #16017
    • 修复了使用小选择选择 TAZ 边的问题 #16100
    • 命令行选项 --new -o OUTPUT_FILE 现在可以一起工作。 #14989
  • sumo-gui
    • 修复了在非常近的距离放大时的帧率下降问题 #15666
    • 修复了在对话框打开时切换到另一个查看方案时设置对话框中缺少元素的问题 #15637
    • 热键 ALT 不再具有渲染所有层为 0 的 POI 和多边形的效果。相反,可以在设置对话框中自定义层 #15558
    • 修复了在 meso 中点击消息时间戳时的无效断点问题 #15780
    • 修复了在非行人网络中计算行人可达性时的无效旅行时间问题 #15792
    • 修复了计算行人和自行车可达性时的无效旅行时间问题 #15793
    • meso 边缩放方案的保存和加载现在有效 #15902
    • edgeData-file 解析在遇到单个非数值属性后不再中止 #15903
    • 彩虹颜色方案现在正确存储在 gui 设置中 #16080
  • netconvert
    • 修复了从指定 "无连接" 的边生成无效额外连接的问题 #15944 (1.2.0 中的回归问题)
    • 修复了 OpenDRIVE 输入和输出中地理坐标偏移的无效符号问题 #15624
    • 修复了路权规则可能在交通灯处创建死锁的错误 #15150
    • 修复了导入期间移除狭窄车道时的错误 #15718
    • 在提供无效的 --tls.green.time 参数时,不再生成无效的信号计划 #15719
    • 修复了在 allway_stop 交叉口类型中,主干道左转的无效链接状态问题 #15737
    • 修复了使用 --keep-edges 处理网络后的无效 tlLogic 问题 #15798
    • 不再从直行车道构建自行车左转(改为从左转车道开始) #15943
    • 修复了 ptstop-files 中负停靠点位置的无效处理问题 #12183
    • 选项 --sidewalks.guess.by-permissions 不再将人行道放在行人和自行车共享的路径上 #16060
    • OSM: 加载类型映射 osmNetconvertPedestrians.typ.xml 不再将人行道放在单行道的两侧(即在分隔道路的中间)。可以通过选项 --osm.oneway-reverse-sidewalk 恢复旧行为 #16063
    • OSM: 修复了在 access=yesbusway:right=lane 时缺少车辆车道的问题 #16061
    • OSM: 修复了 ptline-output 中缺少的停靠点问题 #16101
    • OSM: 修复了在具有 oneway:psv=no 的单行道上缺少公交方向的问题 #16103
  • duarouter
    • 修复了使用带有坐标的停靠点和选项 --mapmatch.junctions 时的崩溃问题 #15740
    • 修复了当为行程定义坐标时无效使用 TAZ 信息的问题 #15768
    • 修复了在具有连接权限但没有其他权限的网络中的无效路线问题 #15925
    • 修复了使用 --write-costs 时的无效精度问题 #15938
    • 修复了加载具有特定 ID 组合的流量时的崩溃问题 #16091
  • marouter
    • 修复了涉及 vClass 限制连接的无效路线问题 #15883
  • netgenerate
    • 在设置选项 --rand.connectivity 1 时不再挂起 #16089
  • meso
    • 修复了环形交叉口中的死锁问题 #14129 (1.4.0 中的回归问题)
    • 修复了转弯车辆的无效队列分配问题 #16034 (1.7.0 中的回归问题)
    • 修复了在具有内部边的网络中使用 --mapmatch.junctions 时的崩溃问题 #15741
    • 修复了使用 --time-to-teleport.disconnected 时的崩溃问题 #15751
    • 选项 --time-to-teleport.disconnected 现在在缺少连接时有效 #15777
    • 修复了在 parkingArea 处渲染车辆时的崩溃问题 #15956
    • 修复了 edgeData 输出中缺少 waitingTime 的问题 #16082
  • activitygen
    • 修复了属性未设置时的崩溃问题 #15782
  • TraCI
    • 修复了在 allway_stoppriority_stop 交叉口类型下调用 vehicle.getNextLinkslane.getLinks 时的崩溃问题 #15603 (1.21.0 中的回归问题)
    • 修复了 trafficlight.getServedPersonCount 的无效结果问题 #15715
    • 修复了 vehicle.couldChangeLane 的无效结果问题 #10739
    • 修复了 setProgramLogictrafficlight.getSpentDuration 的无效结果问题 #15753
    • 修复了 libsumo windows wheels 的非功能性问题 #15516
    • setEmissionClass 现在与 PHEMlight 一起工作 #15761
    • 订阅复杂类型现在在 python API 中有效 #15785
    • 对 libsumo 的并发访问现在有效 #15967
    • moveToXY 现在对停放的车辆有效 #16010
    • 当设置选项 --keep-after-arrival 时,受 moveToXY 影响的车辆在停车后到达后不再绘制。 #16009
    • 修复了当相邻车道具有不同宽度时 simulaton.convertRoad 的结果问题 #16105
    • 修复了汽车和远程控制行人之间缺少碰撞检查的问题 #16092
  • Tools
    • matsim_importPlans.py: 使用选项 -vehicles-only 时不再写入未排序的行程 #15743
    • generateBidiDistricts.py: 选项 --radius 现在无论边长度如何都生效 #15758
    • countEdgeUsage.py: 修复了误导性的警告消息 #15790
    • sumolib: 修复了 net.getShortestPath(..., ignoreDirection=True) 的无效结果问题 #15789
    • Sumolib: 修复了函数 miscutils.getFlowNumber 中的崩溃问题 #15799
    • sumolib: 现在可以在 sumolib.xml 元素中设置新属性 #15991
    • sumolib.xml: 修复了当一个属性是另一个属性的后缀时,parse_fast 检索错误属性的错误 #15901
    • randomTrips.py: 选项 --fringe-factor 现在在左手网络中有效 #15876
    • randomTrips.py: 选项 --random-departpos--random-arrivalpos 现在对人员生效 #15946
    • routeSampler.py: 修复了加载负计数时的崩溃问题 #15908
    • gtfs2pt.py: 当缺少可选的 'direction_id' 时,导入现在有效 #15736
    • 空字符串现在可以通过工具配置文件传递 #15499
    • tracemapper.py 不再创建重复边的路线 #15625
    • osmWebWizard.py: 敦刻尔克不再以左手交通导入 #16059
    • 修复了 jtcrouter.py, plotFlows.py, signal_POIs_from_xodr.py, tripinfoByTAZ.py 和 tripinfoDiff.py 的工具配置保存问题 #16085
    • osmGet.py: 修复了缺少公共交通停靠点的问题(也影响 osmWebWizard.py) #16106

增强功能#

  • sumo
    • 添加了新的站点查找器设备,根据其充电状态将电动车重路由到 chargingStation #9663, #15871, #15931, #15980
    • 添加了选项 --chargingstations-output.aggregated.write-unfinished 以在充电站输出中包含仍在进行的充电过程 #15677
    • 新的 vType 属性 lcContRight 可用于配置在所有车道具有相同战略价值的车道分叉处的车道选择。 #15579
    • 添加了选项 --insertion-checks 以设置车辆属性 insertionChecks 的全局默认值 #1549
    • 添加了选项 --pedestrian.striping.jamfactor 以配置阻塞行人的速度(默认 0.25) #15610
    • GLOSA 设备现在展望未来几个相位,并且也可以考虑排队 #15614
    • 添加了新的 vType 属性 jmAdvancejmExtraGap 以配置在交叉口处交叉和合并交通流的行为 #15654
    • 添加了新的属性 jmStopLineGapMinor 以在非优先链接上设置距停车线的距离 #15442
    • vType 属性 jmStopLineGap 现在应用于 allway_stop #15448
    • 添加了新的 vType 属性 lcStrategicLookahead 用于配置计算战略最佳车道时的前瞻距离 #14718
    • 添加了新的 vType 属性 lcSpeedGainRemainTime,它控制车辆在战术变道后可以在新车道上行驶的最短时间(以前硬编码为 20 秒) #12109
    • 添加了新的插入行为 departLane="best_prob" 以增加多车道道路上的吞吐量 #15661
    • 站点查找器设备现在支持状态保存和加载 #15607
    • 交通灯现在支持特殊值 offset="begin",这使得逻辑在循环秒 0 开始,无论模拟开始时间如何 #15248
    • actuated 类型的交通灯现在可以使用 next 属性切换到固定持续时间的相位(相应的车道将获得触发切换的检测器) #15714
    • actuated 类型的交通灯现在可以响应行人过街处 #1746
    • personTrip 现在支持地理坐标 #15739
    • 添加了选项 --mapmatch.taz,它类似于 --mapmatch.junctions,但使用任意的 TAZ 定义 #15748
    • 如果 IDM 内部步长配置过大,则添加警告 #15836
    • 电池设备现在在行程信息中包含总能耗信息 #15800
    • 行人速度现在受过街处和步行区速度限制的影响(从网络版本 1.20.0 开始) #11527
    • 加载的路线文件现在在 --verbose 模式下记录 #13875
    • 选项 --pedestrian.jupedsim.wkt 现在可用于从 JuPedSim 导出几何数据 #14436
    • 铁路
      • 信号逻辑的重大重写 #7578
      • 铁路模拟速度的重大改进(模拟时间减少约 50-75%,取决于场景大小) #4379
      • 修复了各种死锁问题 #7493, #13262, #15474
      • 选项 --railsignal-block-output 写入的信号块信息现在包括车道/块之间冲突关系的信息 #14991
      • 新选项 --railsignal.max-block-length 可用于自定义警告/车道截断的阈值 #15819
      • 新选项 --railsignal-vehicle-output 可用于记录车辆进入和退出信号块的时间 #14990
      • 新选项 --time-to-teleport.railsignal-deadlock 可用于检测基于信号的死锁 #15561
      • 新选项 --time-to-teleport.remove-constraint 可用于通过停用负责的约束来解决检测到的由信号约束引起的死锁 #14543
      • 新选项 --deadlock-output 可用于记录检测到的死锁及其解决方法
      • 记录的死锁可以作为附加文件加载,以在后续模拟中防止它们 #15569
      • --time-to-teleport 选项组合不合理时会发出警告 #15816
    • 重路由器支持新的半径属性 #15426
  • netedit
    • 附加输出现在在 parkingArea 元素之后写入 chargingStation #15628
    • 从 GNECrossingFrame 中移除了 "反转边" #15129
    • 撤销-重做功能现在可以选择禁用以提高操作速度 #15663
    • 撤销-重做功能现在可以在加载文件时临时禁用以提高加载速度 #15668
    • 提高了短边的可见性 #15592
    • 检查车辆的路线现在被突出显示 #15930
    • 向菜单添加了 62 个 python 工具 #16076
  • sumo-gui
    • SUMO_HOME 的值现在显示在 关于对话框 中(也适用于 netedit) #15218
    • 车道参数对话框提供有关阻止列车插入的车道/冲突对象的信息 #15823
    • 使用 --selection-file 加载的选择文件现在会在车辆、人员和容器加载时立即选择它们 #5427, #14093
    • 改进了 chargingStation 和 parkingArea 的分层 #15826
    • 如果未加载替代网络,则禁用 '辅助形状' 控件 #12653
    • 边颜色图例现在显示使用的属性/键 #16026
  • netconvert
    • 添加了对压缩形状文件的支持 #15623
    • street-sign-output 现在根据道路几何形状设置标志角度 #15671
    • 交通灯现在支持特殊值 offset="begin",这使得逻辑在循环秒 0 开始,无论模拟开始时间如何 #15248
    • 感应式行人过街处现在由行人而非车辆感应 #7637
    • 使用选项 --crossings.guess 创建的行人过街处现在被赋予优先权。可以通过设置选项 --crossings.guess.roundabout-priority false 来获得旧行为 #15833
    • 选项 --plain-output-prefix 现在还保存一个 .netccfg 文件,用于从 plain-xml 文件重建网络 #12998
    • 改进了人行道穿过道路时行人过街处的几何形状 #15975
    • 移除了关于服务道路上锐角的警告 #16062
    • OSM: 现在导入公交专用道 #16090
  • meso
    • fcd-output 现在可以配置为包含模型属性 segment, queue, entryTime, eventTimeblockTime #15670
    • 车辆属性 insertionChecks="none" 现在可以强制插入 #16096
  • duarouter
    • ALT 路标点的输入文件现在可以用地理坐标定义 #15855
    • 选项 --scale 现在可用于缩放交通量 #8353
  • polyconvert
    • 添加了选项 --geosjon-files 以支持官方的 geojson #16055
  • TraCI
    • 站点查找器设备参数现在可以在运行时修改 #15622
    • 添加了 traci.parkingArea.setAcceptedBadgestraci.parkingArea.getAcceptedBadges #14807
    • 函数 person.appendStage 现在支持类型 STAGE_TRIPstage.line 被解释为 modesstage.intended 被解释为 group#15154
  • Tools
    • matsim_importPlans.py: 添加了选项 -no-bikes--no-rides 以过滤不同的交通模式。 #15738
    • sort_routes.py: 添加了选项 --verbose #15744
    • osmWebWizard.py: 可以选择性地将输出写入现有文件夹 #15783
    • emissionsMap: 现在支持选项 --vtype--additional-files #15812
    • driveways2poly.py: 添加了用于可视化列车车道的新工具 #15027
    • dxf2jupedsim.py: 现在支持投影 'none'
    • scaleTimeline.py: 这是一个新工具,用于根据时间线修改路线文件中定义的交通量 #10498
    • generateLandmarks.py: 沿网络边缘生成 ALT 路标点输入的新工具 #15864
    • cutRoutes.py: 现在写入标准头 #15875
    • randomTrips.py: 现在在权重输出文件中包含总权重 #15878
    • randomTrips.py: 添加了选项 --edge-type-file 以通过边类型影响概率 #15877
    • randomTrips.py: 添加了选项 --marouter 以写入考虑网络交通负载的路线 #15881
    • randomTrips.py: 选项 --flows 现在可以与 --pedestrians--persontrips 一起使用以创建 personFlows #12791
    • randomTrips.py: 添加了选项 --poisson 以生成泊松分布的流量(使用选项 --flows#13178
    • routeStats.py: 添加了选项 --edges-file 用于计算每条路线通过特定边(即计数位置)的次数 #15900
    • routeSampler.py: 添加了选项 --verbose.timing 以打印挂钟时间性能统计 #15910
    • routeSampler.py: 长路线的处理速度大幅提升 #15911
    • routeSampler.py: 添加了选项 --depart-distribution 以在计数数据间隔内分配出发时间 #15909
    • routeSampler.py: 现在对重复计数数据发出警告 #15997
    • routeSampler.py: 现在在 mismatch-output 中包含 GEH #16000
    • routeSampler.py: 添加了选项 --geh-scale 以允许 GEH 值的自定义缩放(例如,避免将每日计数平均超过 24 小时) #16001
    • routeSampler.py: 设置要解析的属性的选项(例如 --edgedata-attribute)现在支持逗号分隔的属性列表(值被添加) #16020
    • routeSampler.py: 添加了选项 --init-input.remove-overflow 以对交通量超过计数的给定路线文件进行降采样(并尽可能保留更多路线) #15971
    • edgeDataDiff.py: 添加了选项 --geh-scale 以允许 GEH 值的自定义缩放,并自动将数据缩放到小时值 #16002
    • edgeDataDiff.py: 添加了选项 --attributes 以允许比较具有不同属性名称的文件 #15898
    • xml2csv.py: 添加了选项 --keep-attributes 以限制导出到 csv 的属性 #15915
    • plotXMLAttributes.py: 添加了选项 --split-x--split-y 以绘制具有列表值的属性 #15934
    • sumolib: 用于在偏移处旋转的几何辅助函数现在可用 #15445
    • duaIterate.py: 当使用 taz 或交叉口 TAZ 加载行程时,车辆可以在每次迭代中更改其出发和到达边 #15983
    • filterDistricts.py: 新选项 --remove-ids--remove-ids-file 允许过滤掉显式边 #16038
    • countEdgeUsage.py: 当遇到属性 fromJunctiontoJunction 时现在发出警告 #15804
    • countEdgeUsage.py: 当设置选项 --verbose 时,打印加载/过滤路线的数量 #16040
    • countEdgeUsage.py: 新选项 --subpart.via 允许过滤具有间隙的子部分(即通过边) #16041
    • netdiff.py: 修改了生成的多边形的文件扩展名,以简化 netedit 中的文件过滤 #16042
    • poly2edgedata.py: 添加了将交通数据从多边形(例如从 geojson)转换为 edgedata(例如用于 routeSampler.py)的新工具 #16051
    • edgesInDistrict.py: 现在支持 .xml.gz 输入 #16066
    • edgeDepartDelay.py: 用于从 tripinfo-output 分析边-wise departDelay 的新工具 #16021
    • geoTrip2POI.py: 用于可视化 geoTrips 的新工具 #16028
    • duaIterate_routeCosts.py: 以交互方式分析已完成 duaIterate 运行中路线选择的新工具 #15912

杂项#

  • 添加了关于属性 departLane插入容量影响的分析。
  • 修复了与 Ubuntu 24 的兼容性问题,影响地理投影 #15618
  • 选项 --device.rerouting.railsignal 现在默认为非活动状态 #15597
  • 如果转弯运动有多个车道并且可能在交叉口内等待,则内部交叉口后的车道现在被连接到同一内部边 #14776

更早的版本#