2019年版本的变更(版本 1.2.0、1.3.0、1.3.1 和 1.4.0)

版本 1.4.0 (10.12.2019)#

Bugfixes#

  • Simulation
    • 修复了为选项 --device.rerouting.pre-period 设置负值时导致崩溃的问题 Issue #6012
    • 避免在行程和流因插入而延迟时进行不必要的重路由。Issue #6013
    • 使用简单连续变道模型时,变道原因现在会写入变道输出。Issue #6014
    • 修复了在多模式路由期间从汽车进行无效模式更改的问题。Issue #6070
    • 修复了子车道模型中无效的协同速度调整问题。Issues #6266, #6267
    • 修复了与 parkingAreaReroute 相关的崩溃问题。Issue #6283
    • 修复了当开始时间设置为较大值时铁路模拟中的启动延迟问题。Issue #6321
    • 修复了使用可读时间时无效的状态文件名问题。Issue #6365
    • 修复了在 emission-output、full-output、tripinfo-output 和 edgeData-emissions 中无效的能源使用(电池参数被忽略)问题。Issue #6364, #6359
  • netedit
    • 修复了在断开连接的位置之间定义步行时导致崩溃的问题。Issue #5369
    • 修复了将行程转换为流时导致崩溃的问题。Issue #6050
    • 现在可以再次移动被阻挡的形状。Issue #6053
    • 修复了尝试移动路口时无效的对齐网格问题。Issue #6067
    • 按通用参数对边进行着色现在可以正常工作。Issue #6062
    • 当路径中包含空格时,“在 sumo-gui 中打开”选项现在可以正常工作。Issue #6227
    • 修复了可能在同一位置错误创建多个路口的错误。Issue #6228
    • 修复了在左手网络中移动边几何形状时无效的车道形状问题。Issue #6234
    • 修复了在具有自定义形状的路口前使用“替换路口”时无效的边形状问题。Issue #5777
    • 连接模式功能“选择死起点”现在能正确选择没有前驱的车道(1.0.0 中的回归问题)。Issue #6278
    • 修复了在具有高浓度路线的边上点击时导致的减速问题。Issue #6276
    • 修复了在无效的过街处点击消息窗口时导致的崩溃问题。Issue #6368
  • netconvert
    • 修复了环岛分类中的错误。Issue #6032
    • 防止在使用 typemap osmNetconvertRailUsage.typ.xml 时出现无效的双轨道。Issue #6056
    • 禁用了在 OSM 输入中对铁路轨道数量的无效处理。Issue #6057
    • 双向铁路边中缺失的轨道编号。Issue #6058
    • 修正了添加双向铁路边时对用户指定边长度的处理。Issue #6280
    • 修复了使用选项 --proj.plain-geo 时 plain-xml-output 中无效的路口和连接形状问题。Issue #6066
    • 修复了使用选项 --geometry.max-segment-length 时无效的几何形状问题。Issue #6074
    • 修复了使用选项 --geometry.split 时无效的网络问题。Issue #6075
    • 修复了当网络坐标发生偏移时对自定义过街形状的无效处理问题。Issue #4621
    • 修复了加载 .tll-file 时,当 tlLogid-programID 不为 '0' 时出现的无效错误消息问题。Issue #6160
    • 修复了由于无效的几何操作而导致的双向边缺失问题。Issue #6370, #6366
    • 使用选项 --geometry.remove--ptline-output 时避免了多余的节点。
  • MESO
    • device.emissions 现在可以收集数据。Issue #6086
    • 修复了使用 device.btsender 或 device.btreceiver 时导致的崩溃问题。Issue #6087
    • 修复了加载具有邻居('neigh')数据的内部车道的网络时导致的崩溃问题。Issue #6205
    • 修复了使用校准器时保存状态导致的崩溃问题。Issue #6369
  • sumo-gui
    • 铁路和人行道(不适用子车道模型的地方)不再绘制子车道边界。
    • 修复了在车辆离开模拟后使用车辆弹出菜单导致的崩溃问题。Issue #6107
    • 修复了在车辆离开模拟后移除具有活动车辆可视化的视图导致的崩溃问题。Issue #6112
    • 当路径中包含空格时,“在 netedit 中打开”选项现在可以正常工作。Issue #6227
  • duarouter
    • 修复了在多模式路由期间从汽车进行无效模式更改的问题。Issue #6070
    • 修复了多模式路由期间无效的汽车路线问题。Issue #6077
    • 修复了加载从 VISUM 导入的网络时导致的崩溃问题。Issue #6358
  • TraCI
    • TraaS 函数 Trafficlight.getControlledJunctions, Edge.setEffort, Edge.getEffort, Edge.adaptTraveltime", Edge.getAdaptedTraveltime 现在可以正常工作。Issue #6019
    • 由 moveToXY 控制的车辆在路口行驶时不再被交叉交通忽略。Issue #6140
    • 现在可以创建类型为 'actuated' 和 'delay_based' 的交通灯程序。Issue #4324

Enhancements#

  • All Applications
    • 现在可以在配置文件中使用类似 shell 的语法引用环境变量:<net-file value="${NETFILENAME}.net.xml"/>。Issue #1901
    • 新增选项 --aggregate-warnings 可用于对相同类型的警告进行分组,并在发生前 N 个警告后仅给出其计数。
  • Simulation
    • 停车车辆的模拟现在可选择考虑机动时间。Issue #5956
    • 车辆停止元素现在支持属性 'speed'。这可用于强制车辆在特定的车道段上以固定速度行驶。Issue #1020
    • 定义人员乘车时,设置属性 lines="ANY" 现在可用于乘坐任何在目的地 busStop 或目的地边停靠的车辆。Issue #6039
    • 定义车辆停止时,新属性 'extension' 可用于限制当太多人登车或预期人员未出现时的延迟。Issue #6072 #3635
    • 当速度限制发生变化且没有领头车辆时,改进了 carFollowModel 'IDM' 的加/减速平滑度。Issue #6080
    • 人员现在可以通过设置 depart="triggered" 在行驶的车辆中开始他们的计划。Issue #4042
    • 交通灯类型 'actuated' 现在支持通过在阶段属性 'next' 中定义替代后继阶段列表来跳过阶段。Issue #5042
    • stopinfo-output 现在包含可选的停止属性 'tripId' 和 'line'。Issue #6320
    • 车辆现在支持新的符号化出发位置值 'stop',这使其从路线上的第一个停止点开始。Issue #6322
    • 内部车道(连接)的权限现在被独立考虑,与路口前后的车道无关。Issue #6210
    • 选项 --duration-log.statistics 现在可以使用快捷键 -t 设置。Issue #6378
    • 新增 vType 参数 lcLaneDiscipline 以控制车辆是否保持在车道之间以更快行驶(仅限子车道模型)
    • 新增 vType 参数 lcSigma 以控制横向不完美性(子车道模型和简单连续变道模型)
    • 选项 --lanechange-duration 现在可以与反向行驶一起使用。Issue #6270
  • MESO
    • 达到最大不耐烦度的车辆现在可以从非优先道路通过路口,而不管敌对交通如何。可以通过 --time-to-impatience 0 禁用不耐烦度增长来恢复旧行为。Issue #5830
  • netconvert
    • 沿边具有锐角的铁路网络输入现在默认会被修正。(可以使用选项 --geometry.min-angle.fix.railways false 启用旧行为)。Issue #6921
    • 人行道不再检查最小转弯角度(大大减少了多余的警告)。Issue #6022
    • 当使用具有默认长度(无用户设置值)的网络时,不再需要选项 --opposites.guess.fix-length。生成的网络在几何形状改变时会自动调整其边长度。Issue #6028
    • 导入公共交通线路(--ptline-output)时,边权限现在会进行调整以允许相应的公共交通车辆通行。Issue #3437
    • 从 OSM 导入公共交通线路时,不属于道路网络的站点现在会映射到最近的线路边(以前,这些站点会被丢弃)。Issue #6114
    • 现在可以为单个连接设置权限,而与传入和传出车道无关。Issue #6217
    • 区域道路名称(A9、I-95)现在作为边参数导出。它们也会作为区域名称 ID 导出到 dlr-navteq-output。Issue #6256
    • 新增选项 --offset.z 以对模拟网络应用恒定的 z 偏移。Issue #6274
    • 新增选项 --tls.ignore-internal-junction-jam 以强制构建交通灯路权规则而不使用相互响应标志。Issue #6269
    • 现在可以导入英语、法语和意大利语的 VISUM 网络(以前仅支持德语网络)。Issue #1767
    • 改进了 VISUM 连接器边的处理。默认情况下,不再生成额外的边,而是将常规网络边分配给 TAZ。Issue #6356
    • 现在从 VISUM 导入的 TAZ 可以使用选项 --taz-output 写入单独的文件。Issue #6349
  • netedit
    • 现在可以使用“在 sumo-gui 中打开”选项选择性地加载附加组件和路线。Issue #6049
    • 为边模板添加了快捷键(Shift F1,F2,F3)。Issue #6033
    • 可以在多个选定的车辆中编辑 VTypes。Issue #6051
    • 改进了对 GNEStops 的支持。Issue #5367
  • sumo-gui
    • 在车道上下文菜单中添加了“选择可到达”功能,以选择从原点车道出发,给定车辆类别可以到达的所有车道。在此操作之后,可以使用“按可达性”着色方案来渲染等时旅行时间图。Issue #3650
    • 现在可以通过文件菜单将当前加载的选项保存到配置中。Issue #5707
    • 对象定位器对话框现在允许通过匹配包含给定文本字符串的所有 ID/名称来过滤对象列表。
    • 添加了在绘制车辆路线时渲染每条边的(相对)路线索引的选项。Issue #6199
    • 交通灯参数对话框现在包含更多描述当前阶段的值(阶段、阶段名称、持续时间、minDur、maxDur、运行持续时间)
    • 在车辆上按住 Shift 并单击现在开始跟踪
    • 当前跟踪车辆的 speedFactor 现在可以通过新的滑块设置
    • routeProbReroute 的概率现在可以通过在重路由器符号上或新的路线方向箭头上按住 Shift 并单击在 100% 和 0% 之间切换。
  • TraCI
    • 添加了函数 'traci.trafficlight.getServedPersonCount',以返回给定阶段索引的所有过街处将要服务的行人数量。Issue #6088
    • 现在可以访问车辆设备参数 'device.ssm.minTTC', 'device.ssm.maxDRAC', 'device.ssm.minPET'。Issue #4983
    • 添加了函数 'traci.simulation.writeMessage' 以将自定义消息附加到日志文件(和 sumo-gui 消息窗口)。Issue #6249
    • 添加了用于查看角度的上下文订阅过滤器 'traci.vehicle.addSubscriptionFilterFieldOfVision'。Issue #6273
  • Tools
    • 使用 osmWebWizard 导入公共交通交通时,来自不完整线路的车辆现在在网络边界处开始和结束其路线,而不是从第一个站点开始。Issue #6025
    • 添加了新工具 analyzePersonPlans.py 以统计路线文件中不同类型的计划。Issue #6083
    • 添加了新工具 matsim_importPlans.py 以从 MATSim 导入多模式交通计划
    • 添加了新工具 generateContinuousRerouters.py 以轻松创建车辆根据配置的转弯比率循环行驶而永远不会到达的模拟。#6310

Other#

  • sumo-gui, netedit
    • “编辑可视化”的快捷键更改为 'F9',以避免在粘贴剪贴板时发生冲突。
    • 缩放现在默认以鼠标位置为中心,而不是以屏幕中心为中心。与以前一样,可以使用视图菜单栏中的图标切换行为,并在应用程序重启后保持不变。Issue #5992
  • netconvert
    • 默认情况下,相同类型的重复警告会被聚合(在最初的 5 个之后仅给出其数量)。要查看所有警告,可以使用选项 --aggregate-warnings -1。Issue #6335
    • 从 OSM 导入 'highway.secondary' 时的默认车道数已从 2 更改为 1。Issue #5690
  • Documentation
    • 从 MediaWiki 迁移到 MkDocs
    • 添加了 'Hello World' 教程,展示了如何仅使用 netedit 和 sumo-gui 创建模拟(无需命令行或文本编辑器)。
    • 在 'docs/examples/sumo/model_railroad' 中添加了新的示例模拟。可以在模拟运行时控制火车的速度以及铁路道岔。圣诞快乐!

版本 1.3.1 (27.08.2019)#

Bugfixes#

  • netedit
    • 修复了定义车辆停止时导致崩溃的问题。Issue #5963 (1.3.0 中的回归问题)
    • 修复了编辑车辆类型属性时崩溃和出现无效错误的问题。Issue #5957 (1.3.0 中的回归问题)
    • 修复了在不可用的边上定义流后导致崩溃的问题。Issue #5958
    • 修复了加载具有无效路线的流后导致崩溃的问题。Issue #5967
    • 修复了如果已存在具有特定 ID 的行程则无法创建新车辆的错误。Issue #5969
    • 修复了激活复选框后无效的应用程序焦点问题 Issue #5966 (1.2.0 中的回归问题)
    • 现在可以为 carFollowModel Rail 设置属性 trainType。Issue #5959
  • Simulation
    • 修复了加载具有长间隔的铁路信号时导致崩溃的问题。Issue #5983
    • 修复了对 vType 参数的无效限制。Issue #5991 (1.3.0 中的回归问题)
  • netconvert
    • 修复了在使用具有长边列表的边移除选项时运行时间过长的问题。Issue #5954
    • 修复了定义无效拆分后创建无效网络的问题。Issue #5980
  • duarouter
    • 修复了输入中空 vType 导致崩溃的问题
  • TraCI / libsumo
    • 函数 vehicle.changeLaneRelative 现在可以与负车道偏移一起使用。Issue #5990
    • 多个函数已被采用,以使 libsumo 和 python 客户端具有相同的接口,参见 Issue #5523
  • Tools
    • flowrouter.py 现在可以在具有孤立边和人行道结构的网络上对车辆进行路由。Issue #5951

Enhancements#

  • netedit
    • 在需求模式下添加了用于重新计算行程和流的路线的菜单选项 (F5) Issue #5978
  • TraCI / libsumo
    • 现在可以通过将环境变量 LIBSUMO_AS_TRACI 设置为任何值来触发在 Python 中使用 libsumo 代替 TraCI。

Other#

  • Miscellaneous
    • 更新了 SUMOLibraries 结构。要在 Windows 上构建,也必须更新库。
    • 从发行版中移除了 doxygen 文档

版本 1.3.0 (20.08.2019)#

Bugfixes#

  • Simulation
    • 修复了电动汽车模型的无效默认参数,这些参数导致能耗过高。Issue #5505
    • 修复了在具有行人过街的受控路口发生的死锁。Issue #5487 (1.1.0 中的回归问题)
    • 修复了在拥堵场景中无效的紧急制动。Issue #5632
    • 修复了在密集交通中接近多车道环岛时不当的车道选择。Issue #2576, Issue #2634
    • 位于不受控制的道岔前方的铁路信号现在会正确考虑车辆路线(这之前会导致无效的红灯状态)。Issue #5137
    • 选项 --tripinfo-output.write-unfinished, --vehroute-output.write-unfinished 现在也适用于人员。Issue #3939
    • 修复了在穿过非常短的车道时可能导致行人路线损坏的错误。Issue #5661
    • 修复了在使用反向行驶时可能导致 sumo 冻结的错误。
    • 修复了在使用 --device.rerouting.pre-period 0--scale 低于 1 时导致崩溃的问题。Issue #5704
    • 修复了在使用 carFollowMode="Wiedemann" 时变道后出现紧急制动的问题。Issue #5711
    • 修复了为避免从右侧超车而过度制动的问题。Issue #5713
    • 修复了在左手网络上使用子车道模拟时无效的路口规则问题 Issue #5738
    • 修复了在中观模型中,当车辆完全拥堵时无效的 edgeData 和 tripinfo 输出问题。Issue #5722
    • 修复了在使用 SSM-Device 且进行反向行驶时导致崩溃的问题 Issue #5231, #5839
    • FullOutput 现在以 m/s 为单位返回所有速度。Issue #5787
    • 修复了在使用具有固定 departLane 的校准器时出现的无效错误。Issue #5794
    • 修复了在靠近车道起点的占用停车区域出现的无效拥堵问题。Issue #5864
    • 修复了在感应式交通灯处的检测器放置问题(避免出现 minDur X is too short for detector for a detector gap of Y 形式的警告)Issue #5119
    • 从不允许行人的车道到站点的接入边现在被忽略。Issue #5890
    • 修复了在使用具有未知车辆类型的 ToC 设备时导致崩溃的问题。Issue #5761
    • 当发生重路由时,tripinfo 输出中的路线长度现在是正确的。Issue #5755
    • 当结合 <closingReroute><destProbReroute> 时,所有因关闭而无法到达目标的车辆都会被重路由。Issue #5904
    • 修复了车辆可能进入完全占用的停车区域的错误。Issue #5905
    • 修复了车辆无法退出停车区域的错误。Issue #5907
    • 修复了在加载具有非零 departPos 的 personTrip 时人员计划不可用的问题。Issue #5927
  • sumo-gui
    • 修复了在将短车辆渲染为简单形状且 guiShape 为 truck/trailertruck/semitrailer 时导致崩溃的问题。Issue #5510 (1.2.0 中的回归问题)
    • 行人过街和步行区默认不再在边定位器对话框中列出(仍然可以通过勾选显示内部结构来启用)。Issue #5613
    • 修复了将车辆渲染为光栅图像时无效的图像位置和大小问题。Issue #5688 (1.2.0 中的回归问题)
    • 修复了中观模式下无效的车辆着色问题。(0.32.0 中的回归问题)。
    • 修复了在左手网络上使用子车道模型时无效的车辆角度问题。Issue #5737
    • 修复了按住鼠标中键时 3D 视图的旋转问题。
  • netconvert
    • 修复了在左手网络中处理自定义形状的问题(用于连接、过街、步行区)。Issue #5507
    • 修复了在导入 OpenDRIVE 网络时,连接道路中的短车道段导致缺少连接的问题。Issue #5504
    • 修复了在多模式路口和具有锐角的路口处无效的链接方向问题。Issue #5511, Issue #5512
    • 修复了在使用选项 --tls.guess --tls.join 时无效的大型交通灯集群问题。Issue #5524
    • 修复了使用选项 --geometry.remove 时无效的自定义边长度问题。Issue #5612
    • 现在支持具有多个传入边的拉链式路口。Issue #5657
    • 修复了在猜测彼此靠近的匝道时出现的错误。Issue #5681
    • 选项 --tls.guess 现在可以在具有 2 个传入边的路口上正常工作。Issue #5684
    • 修复了在仅车道宽度发生变化的几何形状类节点处无效的路口形状问题。Issue #5749
    • 修复了为左手网络定义 <split> 时无效的车道几何形状问题。Issue #5856
    • VISSIM 网络现在也可以有多个车道连接到一个车道。Issue #5560
    • 选项 --junctions.scurve-stretch 现在可以在具有非默认半径的路口上正常工作。Issue #5881
    • 修复了从 OpenDRIVE 导入正交边界车道时夸大的车道宽度问题。Issue #5888
  • netedit
    • 删除交通灯时,过街的 tls 索引现在会正确重置。Issue #5549
    • rail_crossing 节点处受控行人过街在使用 netedit 保存网络时不再丢失。Issue #5559 (1.0.0 中的回归问题)
    • 对齐网格现在在具有高程数据的网络中可以正常工作。Issue #5878
    • 修复了在加载和保存网络时 neigh-edges 可能丢失的错误。Issue #5916
    • 需求模式问题 Issue #5576
      • 从非连续边创建路线现在可以正常工作
      • 流属性 route 现在可以正确保存
      • 修复了某些需求属性无法编辑的错误
  • MESO
    • 修复了加载保存状态时 tripinfo-output 中无效的 departPos 问题。Issue #5819
  • duarouter
    • 选项 --write-trips 现在可以用于人员。Issue #5563
  • jtrrouter
    • 现在可以处理具有 PHEMlight 排放等级的车辆类型。Issue #5669
  • TraCI / Libsumo
    • 调用 close() 时,TraCI 会再执行另一个步骤。请重新检查您的脚本,它们可能比以前提前一个步骤结束。
    • 修复了 TraaS 方法 Simulation.convertRoad。Issue #5478
    • 修复了通过 TraCI 移除站点处的停止后车辆被冻结的错误。Issue #5561
    • 修复了 vehicle.getNextTLS 返回的到远处 TLS 的无效距离问题 Issue #5568
    • 修复了由于 busStop 处无效的人员列表导致的崩溃问题。Issue #5620
    • 人员在出发前不再在 traci.person.getIDList() 中列出 Issue #5674 (1.1.0 中的回归问题)
    • 修复了在使用 TraCI 进行并行重路由时导致崩溃的问题。Issue #5553
    • 函数 traci.vehicle.setStop 现在在设置新的 until- 值时正确更新现有的停止。Issue #5712
    • TraaS 函数 SumoTraciConection.close() 现在可以干净地断开与 SUMO 服务器的连接。Issue #4962
    • 修复了当边的长度与几何距离不同时位置转换的几个问题。Issue #5780
    • Libsumo 现在支持 getAllSubscriptionResults
    • 函数 traci.vehicle.moveTo 现在可以将车辆移动到内部车道上。Issue #5932
    • 用于路口类型 rail_signal 和 rail_crossing 的交通灯现在可以使用 trafficlight.setProgram("off") 关闭,并使用 trafficlight.setRedYellowGreenState 进行远程控制。Issue #5946
  • General
    • 构建版本号在所有 git 更新后正确更新。Issue #3963

Enhancements#

  • Simulation
    • 添加了路口模型参数 jmDriveAfterYellowTime 以配置在黄灯时的驾驶行为。Issue #5474
    • 校准器现在接受属性 vTypes 以将其应用(插入/移除)限制为选定的车辆类型。Issue #3082
    • 车辆 <stops> 现在支持可选属性 tripId 和 line,以在服务循环公共交通路线时跟踪当前状态。Issue #5280, Issue #5514
    • 添加了车辆类别 rail_fast 以模拟高速铁路 Issue #5525
    • Netstate-output 现在在使用横向动力学模型时包含属性 speedLat。Issue #5636
    • 行人在行人过街处受阻时,现在会更早切换到解决拥堵行为。时间阈值可以通过新选项 --pedestrian.striping.jamtime.crossing <TIME>(默认 10s)配置 Issue #5662
    • 通过各种功能扩展了 ToC 模型(4 个新参数:dynamicToCThreshold, dynamicMRMProbability, mrmKeepRight, maxPreparationAccel)。Issue #5484
    • 用于感应式交通灯的检测器现在可以放置在上游车道上,以实现到停车线的所需距离。Issue #5628
    • 添加了变道模型参数 lcOvertakeRight 以模拟违反右侧超车规则的行为。Issue #5633
    • 变道输出现在包括变道时周围车辆的速度。Issue #5744
    • 添加了新的 departSpeed 值 desired(以 speedLimit * speedFactor 出发)和 speedLimit(以 speedLimit 出发)。Issue #2024
    • 添加了新的 carFollowModel W99,这是 Wiedemann 模型的 10 参数版本。Issue #5765
    • 保存的状态现在包括车道 ID 和仅包含有交通的车道。这减少了状态文件的大小,并允许加载具有修改网络的状态文件。Issue #5872
    • 初始“伪路线”(仅由起点和终点边组成)仅在需要时写入。Issue #5639
    • 类型为 delay_based 的交通灯现在使用默认的检测范围 100m(而不是使用整个车道长度)。这通过避免来自远处上游路口的干扰极大地提高了效率。可以使用新选项 --tls.delay_based.detector-range <FLOAT> 设置默认范围。Issue #5897
    • 添加了电池模型参数 "recuperationEfficencyByDecel",以根据减速度水平改变回收效率。感谢 Sagaama Insaf 的贡献。Issue #5675
  • netconvert
    • 现在可以从 OSM 导入高速铁路轨道 Issue #5525
    • 现在可以从 OSM 导入属性 railway:bidirectional Issue #5531
    • 现在可以从 OSM 导入轨道编号 (track_ref) 参数 Issue #5533
    • 铁路使用信息(干线、支线、工业等)现在可以通过加载新的 typemap osmNetconvertRailUsage.typ.xml 从 OSM 导入。Issue #5529
    • 车辆类别 rail_electric 现在根据铁路电气化情况正确分配。Issue #5528
    • 现在在详细摘要中区分了更多的路口类型。Issue #5541
    • 为 VISUM 导入添加了实验性的多语言支持,使用新选项 --visum.language-file<SUMO_HOME>/data/lang 中的语言映射文件。Issue #1767
    • 添加了选项 --junctions.right-before-left.speed-threshold <FLOAT> 以影响从边速度猜测路口类型(优先级/右转优先)的启发式方法。Issue #5799
    • 添加了选项 --join-lanes <BOOL> 以允许合并相邻的非车辆车道(人行道、绿化带)。Issue #5880
    • 添加了选项 --geometry.remove.width-tolerance <FLOAT> 以允许在合并边的车道宽度差异不超过给定阈值时移除几何形状类节点。Issue #5883
    • 选项 --junctions.scurve-stretch 不再应用于非车辆连接。Issue #5887
    • 添加了用于生成自行车道的选项:--bikelanes.guess --bikelanes.guess.max-speed --bikelanes.guess.min-speed --bikelanes.guess.from-permissions --bikelanes.guess.exclude --default.bikelane-width 这些选项的工作方式与相应的人行道选项相同,也可以与 netgenerate 一起使用。Issue #5924
  • netedit
    • 反转选择现在会考虑选择锁定。Issue #5615
    • 当将 tltype 设置为 actuated 时,将为阶段添加合适的 minDurmaxDur 值。Issue #5637
    • 添加了对车辆、流和行程的支持。Issue #5585 Issue #5086 Issue #5050
    • 部分支持 GNEPersons Issue #5369
  • sumo-gui
    • 添加了新的可视化预设 selection(根据选择状态对所有内容着色)和 rail(通过显示所有轨道的允许行驶方向并在缩小时突出显示铁路信号来分析铁路网络)。Issue #5660
    • 添加了用于显示/隐藏感应式交通灯检测器的上下文菜单选项 Issue #5627
    • 添加了用于绘制边颜色图例的可视化选项。Issue #5682
    • 现在可以通过右键单击菜单 (remove) 移除车辆和人员。Issue #5649
    • 所有在模拟过程中发生变化的车辆和人员参数现在都会在任何打开的参数窗口中更新。(以前字符串参数始终是静态的)。Issue #4210
    • 停车区域参数对话框现在包括由于加载了 parkingAreaReroute 定义而产生的替代停车区域的数量。
    • 重新校准彩虹 功能现在在按权限着色时为每个权限代码生成不同的颜色。Issue #5852
  • polyconvert
    • 现在支持从 OSM 导入铁路实体,并为此添加了新的 typemap。Issue #5572
    • Shapefile 导入现在支持 typemaps 以及类型映射中的图像文件。Issue #5891
  • TraCI
    • 添加了函数 simulation.getBusStopWaitingIDList 以检索等待的人员。Issue #5493
    • 在车辆和车辆类型域中添加了函数 getPersonCapacity。Issue #5519
    • 在多边形域中添加了函数 addDynamics。Issue #5396
    • 在 poi 和车辆域中添加了函数 highlight。Issue #5396
    • TraaS 函数 Vehicle.setStop 现在支持参数 startPosuntil,与其他客户端一致。Issue #5710
    • 为 C++ 客户端添加了订阅过滤。Issue #5772
    • 添加了函数 person.appendStage,允许将阶段对象直接添加到人员计划中。#5498
    • 添加了函数 person.replaceStage,允许用阶段对象替换即将到来的阶段。#5797
    • 在 python 和 C++ 客户端中添加了函数 vehicle.getLateralSpeed#5010
    • Python 客户端中的 StepListeners 现在可以添加到单个连接(也允许与 Flow 一起使用)。Issue #5863
    • Python 客户端现在会在选择的端口被占用时尝试使用不同的端口启动 sumo 并连接。Issue #5802
    • 函数 vehicle.moveTo 现在可用于将车辆移动到其路线上的任何车道,包括已经通过的车道。
  • Tools
    • 添加了新的工具箱 <SUMO_HOME>/tools/contributed/saga (SUMO Activity Generation),用于从 OSM 数据创建多模式场景。这包括构建虚拟人口和生成全天的移动计划。
    • 从 OSM 导入公共交通(也由 osmWebWizard 使用)现在会过滤掉仅在夜间运行的线路。如果设置了选项 --night,则仅导出夜间服务线路。Issue #5548
    • 改进了 xml2csv.py 和 csv2xml.py 的 UTF8 支持。Issue #5538, Issue #5588
    • 添加了新工具 generateTurnRatios.py,用于根据给定的路线文件生成转弯比率。Issue #1666
    • duaIterate.py 中的成本修改器选项已被移除,因为它用于特定项目。Ticket #5594 是开放的,以检查相应内容是否可以发布并扩展成本修改器功能。
    • randomTrips.py 中添加了选项 --angle-factor <FLOAT>--angle <FLOAT>,以根据行驶方向修改行程概率。Issue #5642
    • checkStyle.py 现在也检查 Java 文件,并且可以用于单个文件。Issue #5653, Issue #5652
    • extractTest.py 现在可以直接从 sumo.dlr.de 下载测试。Issue #1092
  • General
    • 所有应用程序现在都可以读写 gzip 压缩文件(配置文件除外)。Issue #5448
    • Windows 构建现在会自动将所需的 DLL 安装到 bin 目录(如果存在 SUMOLibraries)。Issue #4887

Other#

  • TraCI
    • 函数 person.getStage 现在返回一个 TraCIStage 对象,而不是表示阶段类型的整数。#5495
    • 函数 person.appendWalkingStage, person.appendWaitingStage 现在将持续时间值作为双精度浮点数发送,与所有其他时间值一致。#5708
    • 修复了路由结果(TraCIStage)客户端数据模型中的不一致问题。在 python 客户端中,描述阶段类型的成员现在称为 type 而不是 stageType,与其他客户端一致。#5502
    • 函数 vehicle.getNextStops 现在包括当前停止(如果车辆已停止)。这种情况可以通过第一位('reached')来区分。
  • netconvert
    • 网络版本现在是 1.3
    • 在上一个版本中,设置选项 --tls.guess --tls.join 会激活一个启发式方法,该方法可以为不受控制的节点集群创建联合控制器(这些节点不会被单独猜测为受控)。现在必须使用选项 --tls.guess.joining 显式激活此启发式方法。
  • netedit
    • 在允许/禁止对话框中将按钮从 仅允许非道路车辆 更改为 仅允许道路车辆 vClasses。Issue #5526
  • netgenerate
    • 选项 --rand.min-angle <FLOAT> 现在期望以度为单位的参数,而不是弧度。Issue #5521

版本 1.2.0 (16.04.2019)#

Bugfixes#

  • Simulation
    • 修复了 ACC 跟车模型导致插入速度过高,从而引发紧急制动事件的问题。Issue #4861
    • 修复了使用 IDM 模型时插入后出现紧急减速的问题。Issue #5040
    • 减少了 Wiedemann carFollowModel 的紧急制动。Issue #3946
    • 接近被占用的停车区域(其他车辆希望驶出)的车辆,现在会与驶出车辆合作,而不是重路由到另一个停车区域。Issue #5128
    • 修复了从保存的模拟状态加载 <flow> 时出现的错误。Issue #5131
    • 修复了从保存的模拟状态加载 <flow> 且 vehroute-output 处于活动状态时导致崩溃的问题 Issue #5132
    • ParkingAreaReroute 在计算新路线时现在会考虑后续的停止点。Issue #3659
    • ParkingAreaReroute 现在会调整后续的人员阶段,如果人员稍后返回同一车辆。Issue #5164
    • 修复了在同一情况下使用不同跟车模型时可能发生的程序崩溃问题。Issue #5185
    • 修复了在具有循环停止点的同一边上添加行程时无效的路线问题。Issue #5206
    • 修复了重路由具有循环停止点的行程时无效的路线和崩溃问题。Issue #5205
    • 修复了在设置 <vType>-属性 lcOpposite="0" 以禁用反向行驶时导致冻结的问题。Issue #5238
    • <stop busStop="..."/> 开始并继续 <personTrip> 的人员计划现在可以正常工作。Issue #5298
    • 修复了当 <personTrip> 不是计划中的第一项时无效的公共交通路由问题。Issue #5329
    • 如果触发的车辆因 --max-depart-delay 而未插入,模拟现在会终止。Issue #5420
    • Intersection behavior
      • 修复了某些左转成本被低估的路由错误。Issue #4968
      • 修复了多模式路口上对称左转相关的死锁问题。Issue #5004
      • 修复了多模式路口上无效的路权行为 Issue #5014
      • 修复了车辆有时会在下游拥堵的情况下驶入路口的错误。
      • 修复了感应式交通灯切换过早或过晚的错误。Issue #5161, Issue #5187 Issue #5119
      • 修复了多车道环岛处的死锁问题 Issue #5055
      • 修复了接近拉链节点时的紧急减速问题 Issue #5080
      • 修复了步行区上车辆和行人之间的碰撞问题。Issue #3138, Issue #5423
    • Railway simulation
      • device.rerouting 内对平均边速度的更新现在可以正确处理双向轨道。Issue #5060
      • 修复了在使用 endOffset 进行信号放置时 railSignal 处的行为。Issue #5068
      • 修复了在使用双向轨道时 railSignal 处的无效行为(死锁/碰撞)。Issue #5069, Issue #5073, Issue #5062
      • 修复了铁路碰撞的检测问题。Issue #3686, Issue #5312
      • 在双向轨道上的铁路插入现在会检查是否存在迎面而来的车辆。Issue #5074
  • sumo-gui
    • 修复了使用 3D 视图时导致崩溃的问题。Issue #4944
    • 行人过街交通灯索引现在可以再次绘制(1.1.0 中的回归问题)。Issue #4960
    • 现在可以使用设置对话框从 gui 设置文件加载断点。Issue #5015
    • 修复了在绘制长度过大的铁路车厢时的视觉故障。Issue #3907
    • 修复了在具有陡坡的车道的车道弹出窗口中无效的 pos 值。Issue #5272
    • 停止的车辆不再有活动的刹车灯。
  • netedit
    • split junction 现在在多模式网络中可靠地工作。Issue #4999
    • 修复了复制边模板时具有特定车道属性导致崩溃的问题。Issue #5005
    • 修复了使用上下文菜单添加限制车道时创建车道的索引。这既是回归修复,也是对早期行为的改进。Issue #5006
    • 检查轮廓现在可以正确处理扩展的双向铁路边。Issue #5064
    • 现在在使用 endOffset 时显示正确的边长度。Issue #5066
    • 定义具有负位置的 e1Detector(从车道末端向后计数)现在可以正常工作 Issue #4924
    • 设置连接属性 uncontrolled 现在生效。Issue #2599
    • 修复了编辑左手网络后的过街几何形状。Issue #5265
  • netconvert
    • 当使用选项 --offset.x, offset.y 时,自定义节点和过街形状现在会正确偏移。Issue #4621
    • 修复了在具有不受控制连接的交通灯路口处无效的路权规则。Issue #5047, Issue #5048
    • 连接属性 uncontrolled 在保存为 plain-xml 时不再丢失。Issue #2956
    • 对于所有边具有相同 priority 值的无信号铁路道岔,从不使用正常的路权规则。(所有链接将具有链接状态 M)。Issue #5061
    • 修复了如果路口内部边的车道段具有不同车道数,则不会从 OpenDRIVE 网络导入连接的错误。Issue #4812
    • 修复了生成多余交通灯相位的错误。Issue #5175, Issue #5174
    • 修复了生成的交通灯相位具有不必要红灯的错误。Issue #5177
    • 修复了导入 dlr-navteq 网络 时环岛处缺少连接的问题。Issue #5169
    • 修复了与选项 --tls.guess-signals 相关的错误 Issue #5179, Issue #5117
    • 由于 <join> 声明而被连接的节点,在设置了选项 junctions.join 时,不再与其他节点连接。
    • 修复了 dlr-navteq 输出中无效的街道名称问题。Issue #5204
    • 修复了导入 VISSIM 网络时无效的边几何形状问题 Issue #5218
    • 修复了在导入 .net.xml 文件时使用选项 --tls.discard-simple 可能导致联合交通灯丢失的错误。Issue #5229
    • 修复了在导入包含联合交通灯的 .net.xml 文件时使用选项 --tls.join 可能导致交通灯丢失的错误。Issue #5229
    • 修复了在大型路口处左转的低半径连接形状问题 Issue #5254
    • 连接路口现在保留先前的连接拓扑。Issue #874, Issue #1126
    • 加载包含 <crossing> 元素的补丁文件现在可以正常工作。Issue #5317
    • 修复了多模式网络中无效的掉头车道问题 Issue #5193
    • 现在可以修补现有连接的属性。Issue #2174
    • 从 OSM 导入的连接道路(例如匝道)的默认边优先级已更改,以避免在路口处出现无效的路权规则。Issue #5382
  • duarouter
    • 修复了某些左转成本被低估的路由错误。Issue #4968
    • vType 属性 speedDev="0" 在输出中不再丢失。Issue #5167
    • <stop busStop="..."/> 开始并继续 <personTrip> 的人员计划现在可以正常工作。Issue #5298
    • 修复了当 <personTrip> 不是计划中的第一项时无效的公共交通路由问题。Issue #5329
  • dfrouter
    • 修复了生成的输出中重复的车辆 ID 问题。Issue #5381
  • TraCI
    • 修复了在反向车道上行驶的车辆调用 moveToXY 时导致崩溃的问题。Issue #5029
    • 修复了 TraaS 客户端库中的 getParameter 并添加了 setParameter 调用。Issue #5099
    • 修复了 TraaS 客户端库中的 vehicle.setStop。Issue #5105
    • 修复了调用 simulation.getDistance 计算网络未连接部分之间的行驶距离时导致崩溃的问题 Issue #5114
    • 修复了调用 simulation.getDistanceRoad 时无效的行驶距离结果,当其中一个边是内部路口后的内部边时。Issue #5114
    • TraaS 函数 Trafficlight.setPhaseDuraton, Trafficlight.getPhaseDuration, Trafficlight.getNextSwitch, Trafficlight.setCompleteRedYellowGreenDefinition, Vehicle.setAdaptedTraveltime, Vehicle.getAdaptedTraveltime, Lanearea.getLastStepHaltingNumberLanearea.getLastStepVehicleIDs 现在可以正常工作(由于 1.0.0 中的协议更改导致的回归)。
    • 修复了 C++ 客户端函数 vehicle.getStopState(由于 1.0.0 中的协议更改导致的回归)
    • 修复了使用 moveToXY 后对速度和加速度的估计问题。Issue #5250
    • traci.vehicle.getLaneChangeState 现在在子车道模拟中使用 moveToXY 控制车辆时返回正确的信息。Issue #5255
    • 修复了使用 vehicle.moveToXY 映射到具有陡坡的车道后无效的车辆位置问题。Issue #5272
    • 修复了在调用 traci.vehicle.changeLane 后移动到具有不同车道数的新边时无效的变道问题。Issue #5309
  • Tools
    • 恢复了 osmWebWizard.py 的 python3 支持(1.1.0 中的回归问题)Issue #5007
    • 修复了在使用相同的网络对象时调用 sumolib 函数 net.getNeighboringEdgesnet.getNeighboringLanes 时出现的错误。Issue #5246
    • netdiff.py 现在处理 <param><crossing> 元素。Issue #5156, Issue #5317

Enhancements#

  • Simulation
    • 添加了新的输入元素 <personFlow> Issue #1515
    • 变道输出现在在使用子车道模型时包含 maneuverDistance。Issue #4940
    • 交通灯相位现在支持可选属性 name。可以通过 TraCI 设置和检索此属性,从而更容易建立 SUMO 中的相位索引与其他交通工程方法中使用的相位描述之间的对应关系 Issue #4788
    • 来自非优先道路通过路口的时间损失现在在路由时会被预测,即使之前没有车辆在那里行驶过。可以使用新选项 --weights.minor-penalty <FLOAT>(新默认值 1.5,设置为 0 时为旧行为)配置预期的损失。Issue #2202.
    • 接近具有 parking=true 的停止点的车辆现在通过激活转向灯来发出其意图信号。当在密集交通中从此类停止点驶出时,它们通过激活转向灯发出其意图信号。Issue #5126
    • 接近信号化路口的车辆现在要么在给定的停止位置(stopOffset)红灯时停车,要么如果已经通过停止位置则继续行驶以通过路口。Issue #5162
    • 人员乘车现在允许 lines 属性使用特殊值 ANY。设置后,人员可以进入任何将在乘车目的地 busStop 停靠的车辆。
    • 选项 --weights.random-factor <FLOAT> 现在也适用于路由人员。Issue #1353
    • 添加了感应线圈的平均速度输出,该速度近似于空间平均速度。Issue #4919
    • 添加了对 DriverState 模型的反应时间 (actionStepLength) 的可控性。Issue #5355
    • <edgeData>-输出现在支持属性 detectPersons="walk",可用于记录行人交通而不是车辆交通。Issue #5252
    • Railway simulation improvements:
      • 当 railSignal 放置在传入网络边缘的短边上时,该信号将调节所有长度超过插入边的列车的插入。Issue #5135
      • 列车现在可以在双向边上反转,而无需定义 <stop>。Issue #5213
      • RailSignal 逻辑不再要求所有铁路道岔节点都是 railSignal 类型。相反,它们可以由传入轨道上的其他 railSignal 节点守护。Issue #5091
      • 添加了新的输出选项 --railsignal-block-output <FILE> 以支持分析生成的信号块结构。Issue #5109
  • sumo-gui
    • 渲染速度的重大改进
    • 现在可以加载边数据edgeData-output, marouter-output, randomTrips-weights)进行可视化(随时间变化的边颜色)。Issue #4916
    • 现在可以为交通灯控制的路口选择性地显示当前相位索引。如果为当前相位设置了名称,也会显示该名称。Issue #4927
    • 当前的变道状态现在包含在车辆参数对话框中。Issue #5038
    • 作为 TraCI 服务器运行时,现在禁用重新加载。Issue #5052
    • 当为感应式交通灯设置了 show-detectors 时,用于控制活动相位的检测器轮廓将变为绿色。Issue #5168
    • 添加了选项 --tls.actuated.show-detectors <BOOL> 以设置感应式检测器可见性的默认值。
    • 具有 guiShape truck/trailertruck/semitrailer 的车辆在转弯时现在会弯曲。Issue #3100
    • 在车辆上下文菜单中添加了车辆路线可视化 Show Future Route。这只显示路线的剩余部分。
    • 乘坐车辆的人员现在有独特的座位位置。Issue #1628
    • 在 busStop 等待的人员现在可以根据指定的站点长度和 personCapacity 在多行中等待。
    • 添加了人员绘制样式 circles
    • 添加了 openGL gui 设置选项 FPS 以启用每秒帧数显示。Issue #5253
    • 现在可以通过名称(街道名称或通用参数键="name")定位对象。Issue #5270
    • Railway simulation improvements:
      • 放大时和路口放大的情况下,提高了 railSignal 状态的可见性。Issue #5058
      • railSignal 状态指示器现在会绘制一个偏移量以指示适用的轨道方向。Issue #5070
      • 在默认 GUI 设置下,不再为铁路道岔绘制路口形状。Issue #1655
      • 现在支持以扩展样式绘制双向铁路。边 ID 也会绘制偏移以提高可读性。
      • 铁路车厢和机车的视觉长度现在可以配置。Issue #1233
  • netconvert
    • 改进了路口连接启发式方法,以防止多余的连接。Issue #4987
    • OpenDrive 道路对象 现在可以导入 Issue #4646
    • 道路对象现在可以在生成 OpenDRIVE 输出时嵌入。
    • 属性 endOffset 现在可用于移动双向铁路边的信号位置。Issue #5063
    • 感应式交通灯的最小相位持续时间现在会考虑道路速度,以提高交通灯效率。Issue #5127
    • 所有 <node>-属性现在也支持在 <join> 元素内使用,以影响被连接的节点。Issue #1982
    • 对交通灯计划的生成进行了各种改进。Issue #5191, Issue #5192, Issue #5194, Issue #5196
    • 如果为交通灯分配了自定义 ID(与路口 ID 不同),则在设置了选项 --tls.join 时,它将不再与其他交通灯连接。Issue #5198
    • 现在从 VISSIM 网络导入车道宽度。Issue #5216
    • --opendrive.advance-stopline 的选项默认值更改为 0,以在大多数情况下改善生成的几何形状。
    • 现在可以通过将节点类型设置为 right_before_left 来禁用和移除环岛 Issue #2225
  • netedit
    • 渲染速度的重大改进
    • 路口上下文菜单函数 split junctions 现在会恢复原始节点 ID Issue #4992
    • 新函数 split junctionsreconnect 现在会启发式地重新创建边。Issue #4998
    • 现在可以编辑 tls 相位属性 nextname。Issue #4788
    • 现在可以使用 -a "file.xml" 或 --additionals "file.xml" 加载附加组件和形状。Issue #5049
    • 连接属性 dirstate 现在可以检查并用作选择过滤器。Issue #3858
    • 现在可以通过名称(街道名称或通用参数键="name")定位对象。Issue #5270
    • 现在可以通过将节点类型设置为 right_before_left 来移除环岛 Issue #2225
  • duarouter
    • 添加了新的输入元素 <personFlow> Issue #1515
    • 添加了选项 --write-trips <BOOL> 以输出行程而不是路线。这对于验证应在模拟期间进行路由的行程输入很有用。Issue #4971
    • 添加了选项 --write-trips.geo <BOOL> 以使用属性 fromLonLat, toLonLat 而不是 fromto 写入行程
    • 现在支持读取具有属性 fromLonLat, toLonLat, fromXY, toXY, viaLonLat, viaXY 的行程。Issue #2182
    • 来自非优先道路通过路口的时间损失现在会被预测。可以使用新选项 --weights.minor-penalty <FLOAT>(新默认值 1.5,设置为 0 时为旧行为)配置预期的损失。Issue #2202.
    • 添加了选项 --weights.random-factor <FLOAT> 以使用有界最优性偏差随机化路由结果。Issue #1353
  • TraCI
    • TraaS 添加了多客户端支持 (setOrder) Issue #4957
    • traci.vehicle.getNextTLS 现在返回车辆整个路线的即将到来的交通灯(以前,仅返回直到第一次所需变道的交通灯)。Issue #4974
    • 在所有客户端中添加了函数 trafficlight.getPhaseNametrafficlight.getPhaseName。Issue #4788
    • 扩展了函数 traci.vehicle.openGap() 以包含指定参考车辆的可选参数。Issue #5151
    • 添加了函数 traci.vehicle.getNeighbors() 和便利包装器 (getLeftFollowers(), 等) 以检索相邻的、变道相关的车辆。Issue #5170
    • 在所有客户端中添加了函数 person.getSlope。Issue #5171
    • 函数 vehicle.changeLaneRelative(vehID, 0) 现在可用于将车辆固定在当前车道上。Issue #5178
  • All Applications
    • 选项 --help 现在支持按主题过滤(例如 --help input。Issue #5303)

Other#

  • Simulation
    • 用于平均道路速度以估计重路由旅行时间的默认算法已从指数平均 (0.5) 更改为移动平均 (180s)。这更适合城市道路网络中交通灯周期的平均。要恢复旧行为,可以使用选项 --device.rerouting.adaptation-weight 0.5。Issue #4975
  • netconvert
    • 默认情况下不再在几何形状类节点处构建掉头(当存在节点但没有路口时,只会存在直行连接和掉头)。可以通过设置选项 --no-turnarounds.geometry false 来恢复旧行为。Issue #5121
    • 从 OSM 导入的不同铁路边类型的默认优先级已更改,以便所有类型使用不同的优先级值。
    • 无限制高速公路的分配边速度已降低至 142km/h(从 300km/h),以更好地反映现实世界的速度分布(与默认速度因子分布一起)。此外,出于同样原因,默认高速公路速度已从 160km/h 降低至 142km/h。Issue #5434
  • TraCI
    • TraCI 版本现在是 20
    • 函数 trafficlight.setCompleteRedYellowGreeenDefinition 现在期望在定义相位时,第 5 个组件 next 是一个整数列表。函数 ''trafficlight.getCompleteRedYellowGreeenDefinition 现在在定义相位时返回一个整数列表作为第 5 个组件(next)。自定义客户端必须打补丁以处理此问题。
    • 函数 trafficlight.setCompleteRedYellowGreeenDefinition 现在接受 name 作为定义相位时的第 6 个可选组件。函数 ''trafficlight.getCompleteRedYellowGreeenDefinition 现在在定义相位时返回 name 作为第 6 个组件。自定义客户端必须打补丁以处理此问题。
    • TraaS 函数 Simulation.findRoute 现在返回 SumoStage 对象(包含 TraCI API 返回的所有数据),而不是仅包含边 ID 的 SumoStringList
    • TraaS 函数 Simulation.findRoute 现在返回 LinkedList<SumoStage>(包含 TraCI API 返回的所有数据),而不是 LinkedList<SumoStringList>