Dear friends and users,
we are happy to announce the release of SUMO version 1.23.0.
The download links are at
https://sumo.dlr.de/Download.
If you cite the new release in your publications, please use the DOI
10.5281/zenodo.15344306 (
https://doi.org/10.5281/zenodo.15344306)
This release brings many new python tools for remapping simulation inputs
between different networks and enhances or fixes tools for working with traffic data.
All car-following models now support speed-dependent acceleration and netedit
now supports working with multiple route- or additional-files simultaneously.
There are many more features and fixes in this release and the most
important ones are listed below. For a full list of changes, as always see
https://sumo.dlr.de/Changelog.
### Enhancements
- sumo
- All carFollowModels now support attributes speedTable, maxAccelProfile and desAccelProfile to model speed-dependant limits on acceleration
- Zipper junctions with an arbitrary number of conflicting connections are now supported
- public transport rides that are created for a personTrip now use any vehicle that stops at the destination by default.
- Road slope is now used in HBEFA3 and HBEFA4 computation
- netedit
- Each object now tracks the file from which it was loaded to facilitate working with projects where multiple route- or additional-files are used
- Menu-toggle 'show bubbles' is now available in additional editing modes and always toggles between showing junction shapes and junction bubbles.
- netconvert
- OSM: newer tagging schemes for on-street parking are now supported
- sumo-gui
- busStops now support param emptyColor to distinguish virtual stopping places from normal busStops.
- Color settings dialog now features 'recalibrate rainbow' controls for dynamic vehicle coloring schemes
- TraCI
- vehicle.setSpeedMode now supports a 7th bit to control adherence to the road speed limit
- Addedd function person.getWalkingDistance
- Added lanearea functions getIntervalMeanTimeLoss and getLastIntervalMeanTimeLoss
- subscriptions to all complex types are now working
- Tools
- randomTrips.py: When option --validate is set, the generated amount of vehicles is guaranteed (by replacing invalid trips with new valid trips)
- remap_additionals.py: convert infrastructure from one network to another network (which may differ in geometry, lanes and edge splits)
- remap_renamed.py: convert route files and additional files after renaming network ids (i.e. with --numerical-ids)
- remap_network.py: New tool for finding correspondence between networks based on geometry
- gtfs2pt.py: now supports option --stops for giving a list of candidate stop edges to guide mapping. This can can greatly improve running time
- generateDetectors.py: new tool for generating detectors on arbitrary network edges
- The tools mapDetectors.py and edgeDataFromFlow.py received new options to handle more varied inputs of real-world traffi counts
- csv2xml.py: Added option --flat to convert arbitrary csv files without a schema
- generateTurnRatios.py: added option --split-types to create type-specific turn ration attributes
### Bugfixes
- sumo
- Fixed invalid stop position at busStop when a vehicle became blocked while the stop was occupied (regression in 1.6.0)
- Fixed crash when using rail signal on shared lane (regression in 1.22.0)
- Fixed invalid waitingTime in personinfo output
- Fixed failure to overtake two parallel stopped leaders
- Fixed oscillating speed during zipper merging
- Fixed invalid rail behavior after rerouting
- Fixed deadlock between vehicle and pedestrian on walkingarea
- Fixed bug where right-turning vehicle ignores bicycle on indirect left turn
- Fixed several stationfinder device bugs
- Taxi no longer disappear after teleporting in a jam.
- netedit
- Restored functionality for setting custom geometry point by entering values (regression in 1.20.0)
- Improved visibility of internal junction markers on connections (regression in 1.20.0)
- Move mode with elevation checkbox active now shows elevation numbers again when zoomed out (regression in 1.20.0)
- Fixed crash in tls mode (regression in 1.20.0)
- Fixed missing edge colors when defining person walk (regression in 1.21.0)
- Fixed overly large endpoint markers in move mode (regression in 1.22.0)
- Fixed crash when TL controlled junction overlaps with another uncontrolled one (regression in 1.22.0)
- Fixed bug where shift-click to inspect lane only works after moving mouse (regression in 1.22.0)
- Fixed crash after deleting edges with opposite-lane information
- sumo-gui: Fixed scaled/unscaled rendering of rail carriages on edges whith custom length
- netconvert
- Fixed unsafe program transition from 'G' to 'g' (regression in 1.20.0)
- OpenDRIVE import: Fixed invalid simplification of elevation data on straight roads
- Fixed invalid connections when using option --osm.turn-lanes
- Fixed invalid bus connections when guessing
- Fixed invalid right of way with respect to left-turns from the oncoming direction at junctiop type left_before_right
- Fixed invalid internal lane shape when importing OpenDRIVE
- Fixed failure to join junctions
- durarouter
- Fixed invalid route output when loading invalid routes with stops and setting option --ignore-errors
- vClass-specific speed restrictions are now working
- TraCI
- Fixed bug where traci.vehicle.moveToXY matched onto the wrong internal lane
- Fixed bug where vehicle.slowDown required an additional simulation step to reach the taget speed and vehicle.setAcceleration was achieving the wrong acceleration
- Fixed invalid active person count after person removal
- Subscriptions to methods with additional parameters now work in libsumo
- libsumo subscriptions no longer ignore begin and end time
- Tools
- sumolib.net.lane.getClosestLanePosAndDist now gives correct results when lane length differs from shape length
- gtfs2pt.py: Fixed multiple bugs causing faulty routes to be written
- ptlines2flows.py: Fixed multiple bugs causing faulity routes to be written
- distributeChargingStations.py: Fixed invalid position of generated parking area when input contains negative positions
- loading tool config with multiple positional input file arguments now works
### Miscellaneous
- The new default emission model is now HBEFA4. Please note that this means a major reduction especially in the values for CO and HC at low speeds.
- TraCI: the functions simulation.getBusStop* are deprecated in favor of the corresponding functions in the busstop domain
Have fun with the new release,
Pablo, Mirko, Benjamin, Angelo, Micha, Robert, Jakob and Yun-Pang