- 1 From 30.000 feet
- 2 Usage Description
- 3 Edit Modes
- 3.1 Inspect
- 3.2 Create Edges
- 3.3 Delete
- 3.4 Move
- 3.5 Connect
- 3.6 Select
- 3.7 Traffic Lights
- 3.8 Additionals
- 3.9 Crossings
- 4 Road Network Elements
- 5 Additional elements
- 5.1 Move and references
- 5.2 Parameters
- 5.3 Additional sets
- 5.4 Help dialogs
- 5.5 Additional types
- 5.5.1 Stopping Places
- 5.5.2 Detectors
- 5.5.3 Calibrator
- 5.5.4 Rerouter
- 5.5.5 Vaporizer
- 5.5.6 Variable Speed Signs
- 5.6 Route elements
- 6 Popup-Menu Functions
- 7 Usage Examples
- 7.1 Reducing the extent of the network
- 7.2 Specifying the complete geometry of an edge including endpoints
- 7.3 Converting an intersection into a roundabout
- 7.4 Correcting road access permissions
From 30.000 feet
NETEDIT is a graphical network editor for SUMO.
- Purpose: create and modify SUMO networks
- System: portable (Linux/Windows is tested); opens a window
- Input (optional): road network definitions to import
- Output: A generated SUMO-road network; optionally also other outputs
- Programming Language: c++
NETEDIT is a visual network editor. It can be used to create networks from scratch and to modify all aspects of existing networks. With a powerful selection and highlighting interface it can also be used to debug network attributes. NETEDIT is built on top of NETCONVERT. As a general rule of thumb, anything NETCONVERT can do, NETEDIT can do as well. NETEDIT has unlimited undo/redo capabilities and thus allows editing mistakes to be quickly corrected. Editing commands are generally issued with a left-click (according to the current edit mode). The user interface closely follows that of SUMO-GUI. Additional keyboard hotkeys are documented in the Help menu.
NETEDIT is a GUI-Application and inputs are chosen via menus. The following input formats are supported:
- SUMO-net files
- NETCONVERT-configuration files
- SUMO-net files
- plain-xml files
|New Network||Ctrl + N||Create a new network|
|Open Network||Ctrl + O||Open an existing network|
|Open configuration||Ctrl + T||Open an existing SUMO configuration|
|Import foreign network||Ctrl + F||Import a foreign network|
|Load shapes||Ctrl + P||Load a file with shapes|
|Load additionals||Ctrl + D||Load a file with additionals|
|Reload||Ctrl + R||Reload network|
|Save network||Ctrl + S||Save network|
|Save network as||Ctrl + Shift + S||Save network in another file|
|Save plain XML||Ctrl + L||Save network as plain XML|
|Save joined junctions||Ctrl + J||Save joined junctions of network|
|Save POIS as||Ctrl + Shift + P||Save Point Of Interest in a file|
|Save additionals||Ctrl + Shift + D||Save additionals in a file|
|Close||Ctrl + W||Close network|
|Undo||Ctrl + Z||Undo the last change|
|Redo||Ctrl + Y||Redo the last change|
|Create Edge||E||Change to mode "Create Edge"|
|Move||M||Change to mode "Move"|
|Delete||D||Change to mode "Delete"|
|Inspect||I||Change to mode "Inspect"|
|Select||S||Change to mode "Select"|
|Connection||C||Change to mode "Connection"|
|Traffic light||T||Change to mode "Traffic light"|
|Additional||A||Change to mode "Additional"|
|Crossing||R||Change to mode "Crossing"|
|Compute Junction||F5||Compute junctions of the network|
|Clean Junction||F6||Clean junctions of the network|
|Join selected Junctions||F7||Join selected junctions of the network|
|Options||F10||Open options dialog|
|Locate Junctions||Shift + j||Open dialog to locate junctions|
|Locate Edges||Shift + e||Open dialog to locate edges|
|Locate TLS||Shift + t||Open dialog to locate Traffic Lights|
|Online documentation||F1||Open the online documentation in the web browser|
|About||F2||Open the about dialog|
|Text edition shortcuts||Key||Description|
|Cut||Ctrl + X||Cut selected text of a text field|
|Copy||Ctrl + C||Copy selected text of a text field|
|Paste||Ctrl + V||Paste previously cut/copied text in a text field|
|Select all text||Ctrl + A||Select all text in a text field|
In addition to these hotkeys, all hotkeys for moving and zooming in SUMO-GUI are supported.
- <Button-Left>: Execute mode specific action
- <Button-Right>: Open context-menu
- <Button-Right-Drag>: Change zoom
- <Button-Left-Drag>: Move the view around (panning)
- in 'Move'-mode pointing at an edge: move or create geometry points
- in 'Move'-mode pointing at a junction: move the junction
- in 'Move'-mode pointing at a selected object: move all selected junctions and edges including geometry. If both junctions of an edge are selected, move the whole geometry. Otherwise, move only the geometry near the cursor
- in 'Create Edge'-mode: clear the currently selected source junction
- in 'Select'-mode: clear the current selection; cancel rectangle selection
- in 'Connect'-mode: deselect current lane and cancel all changes
- in 'Traffic Light'-mode: revert changes to current traffic light
- when editing a junction shape: abort editing the current junction shape
- <DELETE>: delete all currently selected items
- <SHIFT>: in 'Select'-mode: hold <SHIFT> and drag the mouse for rectangle selection
- <CTRL>: in 'Create Edge'-mode, allow moving the view without defining junctions
- in 'Inspect'-mode: confirm attribute changes
- in 'Connect'-mode: deselect current lane and save all changes
- in 'Traffic Light'-mode: save changes to current traffic light
- when editing a junction shape: save the current junction shape
Processing Menu Options
- Compute Junctions (F5): recomputes the geometry and logic of all junctions. This is triggered automatically when entering modes which require this information (Connect, Traffic Lights).
- Clean Junctions (F6): removes all junctions that do not have any adjacent edges (These junctions are not included when saving the network. They are kept in the editor until cleaned for potential reuse).
- Join Selected Junctions (F7): joins the selected junctions into a single junction (See joining junctions).
- Options (F10): inspect and set all options. These are the same options that NETCONVERT accepts on the commandline or in a configuration.
It is also possible to load POIs and Polygons using the menu File->Load Shapes.
When activating the background grid via the visualization settings dialog or via the show grid option in Create Edge Mode, all clicks that create or move objects will snap to the nearest grid point. The resolution of the grid can be customized in the Background-Tab of the visualization settings dialog.
The main network elements that are used to represent a road network in SUMO are edges, lanes, junctions, connections, traffic lights. Additional infrastructure elements such as bus stops, detectors and variable speed signs are kept in separate files and loaded at the start of the simulation.
In SUMO the terms node and junction and intersection are used interchangeably (in NETEDIT the term junction is used throughout).
NETEDIT is controlled via various editing modes. This serves to reduce the number of clicks. For example, in Delete mode a click on any object deletes it.
Inspect and modify attributes of edges, lanes, junctions, connections and additional network items (i.e. bus stops). Modifications have to be confirmed by hitting <Enter> (except for Boolean attributes). If the entered value is not appropriate for the modified attribute, the value will turn red to indicate the problem.
When inspecting an element that is selected along with multiple elements of the same type this mode behaves differently:
- Only non-unique attributes are listed (i.e. lane-width but not lane-ID)
- If the elements differ in their attributes, the whole range of occurring values is shown
- All selected elements of the same type are modified at the same time when setting a new value
This mode creates edges (lanes) and implicitly junctions
The Delete mode is used to remove an element of your network. The following is possible:
- Delete junctions (and all adjoining edges)
- Delete edges
- Delete geometry points of an edge
- Delete a lane (when option selection edges is disabled)
- Delete connections (available, when show connections is enabled)
- Delete crossings
- Delete additionals
The delete frame own a list of elements that is filled automatically with the childs of the current element under the cursor. This list of child elements can be marked using Control + left-Click, and every child can be centered, inspected or removed individually with a right click over an element.
Additionally, the delete frame has a list of options to avoid undesirable deletes:
- Force deletion of additionals: Used to avoid undesirable deletion of additionals.
Move junctions by dragging with the left mouse button. Dragging edges creates or moves geometry points. Dragging a junction on top of another junction joins them into a single junction.
By default, the junction shape is updated while moving. However the final shape after saving or activating full recomputation (F5) may be slightly different.
Moving Object Selections
- When selecting neighboring edges and dragging one of them, the neighboring edge will receive the same shape modifications
- When selecting an edge and its junctions and dragging any part of the selection, all parts including edge geometry will be moved in parallel
- When selecting an edge an one if its junctions:
- When dragging the junction, only the junction will move
- When dragging the edge, the edge will move locally and the junction will move in parallel
Connections establish the possible directions that can be taken by a vehicle when it arrives at a junction.
Connection shapes depend of the Junction shapes. If a Junction shape is too small, the Junction takes a bubble as shape and the connections take a line as shape
As the rest of elements of netedit, connections can be inspected and modified using inspected mode. Note that the option show connections must be enabled. All parameters can be modified excepting From, To, fromLane and toLane.
The connection coloring is done as in SUMO-GUI with the exception of traffic-light connections which are brown in inspect-mode.
When a new junction is created, or their edges are modified, a set of new connections is automatically created. But NETEDIT allows also to customize the connections of a lane using the connection mode. When a lane is selected in connection mode:
Target Connected are lanes that are already bond through a connection with the source lane. Possible Target are lanes that can be connected with the source lane, but currently they aren't connected. Target conflicted are lanes that are already connected from the another lane of the source edge. Since this is a rare occurrence in traffic networks and thus usually not wanted, the user can only set these by pressing <CTRL> while clicking. Clicking over Target Connected or Possible targets will create o remove connections.
When the connection of a Target Connected lane is removed, lane changes automatically to Possible Target. Respectively, when the connection between source and a Possible Target lane is created, lane changes automatically to Target Connected. Note that the arrows over lane indicates the possible turning directions (as seen in SUMO_GUI).
Select network objects according to various criteria. Selected objects can be moved or deleted together. It is also possible to set attributes for all selected junctions (or all edges) at the same time using inspect mode.
Methods for selecting
- the selection status of objects is toggled by left-clicking. When the select edges check-box is unset, lanes, rather than edges will be selected/deselected.
- by rectangle-selection via shift+leftClick+drag (When the checkbox auto-select junctions is enabled, junctions of selected edges will be selected automatically)
- by matching object attributes (see below)
- by loading a saved selection
- by inverting an existing selection
The Modification Mode changes how a new group selection is applied to the existing selection. A new group selection can be:
- a loaded selection
- a rectangle selection
- a match-attribute-selection
The modification modes have the following functions
- add: both selections are added together (in set theory this would be called union)
- remove: all elements from the new selection are removed from the old selection. (in set-theory subtraction)
- keep: only elements common to both selections are kept. (in set theory intersection)
- replace: the existing selection is replaced by the new selection
The 'Match Attribute' controls allow to specify a set of objects by matching their attributes agains a given expression. When combining this set with the current selection, the Modificatiton Mode is also applied.
- Select an object type from the first input box
- Select an attribute from the second input box
- Enter a 'match expression' in the third input box and press <return>
- The empty expression matches all objects
- For numerical attributes the match expression must consist of a comparison operator ('<', '>', '=') and a number.
- the attribute matches if the comparison between its attribute and the given number by the given operator evaluates to 'true'
- For string attributes the match expression must consist of a comparison operator (, '=', '!', '^') and a string.
- (no operator) matches if string is a substring of that object'ts attribute.
- '=' matches if string is an exact match.
- '!' matches if string is not a substring.
- '^' matches if string is not an exact match.
- For attributes allow and disallow, the attribute value all is shown in #Inspect-mode when all classes are allowed (or disallowed). In this case an edge (or lane) will also be selected when using any vClass as match string (and edge with attribute disallow="all" will also match when filtering for disallow with string passenger). However, for technical reasons the match string =all will not match this edge (all is expanded to all private emergency passenger bus ... custom1 custom2).
Set junctions to be controlled or uncontrolled by a traffic light. Edit all aspects of static signal plans. Visualizes a signal phase by coloring the controlled lane-to-lane connections according to the signal state. Editing signal states can be accomplished in either of the following ways:
- right-clicking on any controlled lane and picking a new state (color).
- right-clicking on any of the incoming lanes to change all controlled connections from that edge
- If the lane is currently selected, all connections from selected lanes incoming to the traffic light will be changed as well
- If the edge is currently selected, all connections from selected edges incoming to the traffic light will be changed as well
- If the check-box apply change to all phases is activated, all phases of the current plan will be affected
You can also change the state by editing the phase table directly.
Add additional elements to the net. Additionals can be placed over a lane or in an empty place of the map. See #Additional_elements for more information. They are saved to a separate file (additional-file) and are loaded separately when running the simulation
Add pedestrian crossings for use with pedestrian simulation. Crossings are define relative a junction and edges at this junction. Their width can be customized and they can either be configured as priotized (zebra stripes) or unprioritzed (vehicles have right of way).
Crossings are added using the following steps:
- activate crossing mode (R)
- select a junction
- select edges that shall be crossed
- click Create Crossing
Internally, crossing works as edges, and therefore they appear in the net.xml as edges with different functions (crossing or walkingarea)
... previous element of net.xml ... <edge id=":0_c0" function="'''crossing'''" crossingEdges="3 7"> <lane id=":0_c0_0" index="0" allow="pedestrian" speed="1.00" length="13.10" width="3.00" shape="43.45,56.55 43.45,43.45"/> </edge> ... ... <edge id=":0_w1" function="walkingarea"> <lane id=":0_w1_0" index="0" allow="pedestrian" speed="1.00" length="13.10" width="3.00" shape="44.95,43.45 41.95,43.45 41.95,56.55 44.95,56.55"/> </edge> ... further elements of net.xml...
Road Network Elements
This elements comprise the road network and can be created and modified with NETEDIT.
Junctions, (also referred to as Nodes), represent intersections. A SUMO junction is equivalent to a Vertex in graph theory.
In the SUMO-context, edges represent roads or streets. Note that edges are unidirectional. It's equivalent to a edge in a graph theory.
Each SUMO edge is composed of a set of lanes (At least one).
Connections describe how incoming and outgoing edges of junctions are connected (for example to prohibit left-turns at some junctions).
A traffic light program defines the phases of a traffic light.
Additionals are elements which do not belong to the network, but may be used to influence the simulation or generate specific outputs. Additionals are defined in an additional-file and can be loaded in NETEDIT. Additionals are created in the Additionals editing mode (shortcut key: a). Once this mode is selected, the first step is to choose what kind of additional should be created in the comboBox "additional element". Once selected and if required, the parameters of the additional can be changed. Finally, with a click over a Lane/junction/edge (If the additional should be set over an element of the network), or over an empty area (if the item is independent of the network) the additional will be created.
Move and references
Additionals can be moved, but the freedom of movement depends of their relation with the network. Additionals that must be located over a lane can only move along the lane, and additionals that are located on a map can be moved in any direction. The movement also depends if the item is locked or not (symbolized by a lock icon on the item). The movement can be blocked during the creation of the element. The corresponding parameter can be changed within the inspector mode. Certain additionals have a length contingent to the length of the lane. To create a bus stop by choosing a reference point, which marks the initial position of this additional element, three types of references for the length can be selected. E.g. for a bus stop with the length 20 in the point 50 of the lane it will be the following:
- Reference left will create a new bus stop with startPos = 30 and endPos = 50.
- Reference right will create a new bus stop with startPos = 50 and endPos = 70.
- Reference center will create a new bus stop with startPos = 40 and endPos = 60.
Some additional types cannot be moved, therefore show a different icon:
There are two types of parameters for each additional: User-defined-parameters and NETEDIT-parameters. The first mentioned parameters can be of type int, float, bool string, or list and each has a default value. In the case of type list the user can add or remove values using the add or remove row buttons. In the case of the characteristic parameters of NETEDIT, this is the option to block the movement of an element, and in the case of the elements have a length, the user is allowed to change the length and reference.
Additional sets are additionals that comprise or contain another additionals (called childs) (For example, detectorE3 contains a list of detEntry and detExit). Additional sets are inserted in the same way as an Additional, but the insertion of an additional child is different. Before the insertion of an additional child in the map, the ID of the additionalSet parent must be selected in the list of IDs placed on the left frame. In this list the IDs of the additional sets only appear when they can be parents of the additional child (Referring to the given example: if the user wants to insert a detEntry, than only IDs of detectorE3 will appear in the list on the left frame). Additional sets and their childs are graphically connected by a yellow line.
With the help buttons placed in the left frame, users can obtain information about additional and editor parameters (Full name, type and description).
This section describes the different types of additional objects which are supported
Stopping places are sections of lanes, in which vehicles can stop during a certain time defined by the user.
Bus stops are positions of a lane in which vehicles ("busses") stop for a pre-given time. Every Bus stop has an unique ID assigned automatically by NETEDIT, a length and a list of bus lines defined by the user.
Charging stations define a surface over a lane in which the vehicles equipped with a battery are charged. Charging stations own an unique-ID generated by NETEDIT, a length, a charging power defined in W, a charging efficiency, a switch for enable or disable charge in transit, and a charge delay.
Detectors are additionals wich save information about vehicles that passed over a certain position on the lane.
Induction Loops Detectors (E1)
A E1 detector owns a ID parameter generated by NETEDIT, a position at a certain lane, a freq attribute which describes the period over which collected values shall be aggregated and a file attribute which tells the simulation to which file the detector shall write his results to.
Lane Area Detectors (E2)
Most of the E2 detectors' attributes have the same meaning as for E1 induction loops, including automatic ID and position at a certain lane. As a real detector has a certain length, "length" must be supplied as a further parameter. It may be a negative number which let the detector be extended, upstream to the given start position. The optional parameter "cont" lets the detector continue over the current lane onto this lane's predecessors when the detector's length plus his position is larger than the place available on the lane.
Multi-Entry Multi-Exit Detectors (E3)
Childs of an AdditionalSet Multi-Entry Multi-Exit Detectors E3. These additionals have only the attributes ID of a lane in which it is placed and positioned over a lane.
RouteProbe detectors are meant to determine the route distribution for all vehicles that passed an edge in a given interval. Their real-world equivalent would be a police stop with questionnaire or a look into the database of navigation providers such as TomTom.
A calibrator generates a flow of vehicles during a certain time, and allows dynamic adaption of traffic flows and speeds. A calibrator can be used to modify a simulation scenario based on induction loop measurements. It will remove vehicles in excess of the specified flow and will insert new vehicles if the normal traffic demand of the simulation does not reach the specified number of vehsPerHour. Furthermore, the defined edge speed will be adjusted to the specified speed similar of the operation of a variable speed sign. Calibrators will also remove vehicles if the traffic on their lane is jammend beyond the specified flow and speed. This ensures that invalid jams do not grow upstream past a calibrator. A double click over the calibrator icon opens the values editor.
A rerouter changes the route of a vehicle as soon as the vehicle moves onto a specified edge.
A double click over the rerouter icon opens the values editor. Rerouter's values are divided in intervals, and every interval contains a list of closing streets, closing lanes, assignations of new destinations and assignations of new routes:
vaporizers remove all vehicles as soon as they move onto a specified edge.
Variable Speed Signs
A Variable Speed Signal modifies the speed of a set of lanes during a certain time defined by user. A double click over the Variable Speed Signal icon opens the values editor.
Edge and Lane
- Split edge here: Split an edge into two differentes edges connected with a junction.
- Split edge in both directions here: Is similar to Split edge here, but generate splitted edges in both directions.
- Reverse edge: Reverse the direction of an edge. If the ID of the start and end junctions of edge are respectively A and B, afer this operation start and end junction will be B and A.
- Add reverse direction: If don't exist, add a revere edge between two junctions
- Set geometry endpoint here: Create an geometry end point. It's usefull to mark the start and the end of an road
- Restore geometry endpoint: Restore a geometry endpoint to a normal edge
- Straighten edge: Allow to restore the visual shape of an edge
- Duplicate lane: duplicate a lane of an edge
Restricted lanes for particulars vehicle class (VClass) can be easily added in inspect mode. Currently netedit supports sidewalks (where only vehicles with VClass="pedestrian" are allowed), bike lanes (where only vehicles with VClass="bike" are allowed), and bus lanes (where only vehicle with VClass="bus" are allowed). Note that only one type of restricted lane is allowed in every edge (For example, an edge can own two restricted lane, one for buses and another for bikes, but not two or more different restricted lanes for buses.
There are two ways to add a restricted lane, either transforming a existent lane or adding a new restricted lane
A restricted lane can be transformed in a normal lane with the option revert transformation, or can be removed with the option Remove restricted lane
- Set custom shape: Allows drawing a custom junction shape via a #Modifiable Poly (see below). The junction shape determines where the incoming edges end and the outgoing edges start. If the automatic generation of shapes does not give a satisfying result it often helps to draw a custom shape instead. The shape is a polygon defined by a sequence of (x,y,z) geometry points.
- Set custom shape: Apply this shape to the current junction
- Discard custom shape: Abort editing the current junction shape
- Simplify shape: Replace the current shape by a rectangle
- Remove geometry point: Remove the closest geometry point from the shape
The green polygon outline allows adding and moving geometry points by left-clicking anywhere on the outline and dragging.
- inner/lane position: Additionals that are placed over an edge or lane haven two different mouse position. Inner position is the position of the mouse with respect to the length of the additional, and lane position if the position of the mouse with respect to the length of lane
- Position in view and number of childs: shows the number of childs that own an Additionals, and their position in view
- show parameters: show all parameters of additional.
Reducing the extent of the network
- switch to selection mode
- enable the auto-select junctions checkbox in the top menu bar
- select the portion of the network you wish to keep (i.e. by holding <SHIFT> and performing a rectangle-selection)
- invert the selection with the Invert button
- delete the inverted selection using the <DELETE> key
Specifying the complete geometry of an edge including endpoints
By default, the geometry of an edge starts with the position of the source junction and ends at the position of the destination junction. However, this sometimes leads to undesired junction shapes when dealing with roads that have a large green median strip or when modeling edges that meet at a sharp angle such as highway ramps. Also, when edges in opposite directions have unequal number of lanes (i.e. due to added left-turn lanes) and the road shapes do not line up. The solution is to define an edge geometry with custom endpoints. Below are three alternative methods of accomplishing this.
Using 'Set geometry endpoint'
- switch to move mode
- create/move geometry points for that edge
- create new geometry points where the endpoints of the edge should be
- right-click on the new endpoints and select Set geometry endpoint here
Afterwards, you will have to recompute the junction shape to see how it looks (F5). If you want to modify the edge and it's reverse edge at once this works almost the same way:
- switch to select mode
- select both edges
- switch to move mode
- create/move geometry points for that edge
- create new geometry points where the endpoints of the edge should be
- switch to select mode
- deselect both edges
- right-click on the new endpoints and select Set geometry endpoint here twice (once for each edge)
Entering the Position manually
- switch to inspect mode
- click on the edge that shall be modified
- enter new values for attributes shapeStart or shapeEnd
Using 'Join Selected Junctions'
- create new junctions where the endpoints of the edge should be
- Either split an existing edge (right-click and select Split edge here)
- Or create a new edge with new junctions in create-edge mode
- switch to select mode
- select the original junction and the new junction near it
- Menu Processing->Join Selected Junctions (F7)
This will create a single junction but keep the custom endpoints
Converting an intersection into a roundabout
- For each of the 'legs' of the intersection do a right click and select 'split edges in both directions' at some distance from the intersection (this will be the radius of the roundabout)
- Delete the central intersection
- Connect the new intersections with one-way roads going in a circle
- Tweak the geometry of the roundabout by creating additional geometry points in move mode to make it more rounded
- Ensure correct right of way by either
- Assigning a higher priority value to the roundabout roads (compared to the adjoining roads)
- or seting the option roundabouts.guess in the Processing menu
Assuming you have a regular intersection
- Visual example
Correcting road access permissions
In this example we wish to modify a multi-modal road network (i.e. imported from OpenStreetMap) in the following way: All dedicated bus lanes should allow bicycle access.
- in select-mode, use the Match Attribute panel to select all Lanes with attribute allow that match the string =bus (the '=' forces exact matches). All dedicated bus lanes are now selected
- in inspect-mode, click on one of the selected lanes and modify the allow attribute from bus to bus bicycle