Eclipse SUMO - Simulation of Urban MObility
SUMOXMLDefinitions.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2002-2022 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
23 // Definitions of elements and attributes known by SUMO
24 /****************************************************************************/
25 #include <config.h>
26 
27 #include <cassert>
31 
32 #include "SUMOXMLDefinitions.h"
33 
34 // ===========================================================================
35 // definitions
36 // ===========================================================================
37 
39  // Simulation elements
40  { "net", SUMO_TAG_NET },
41  { "edge", SUMO_TAG_EDGE },
42  { "lane", SUMO_TAG_LANE },
43  { "neigh", SUMO_TAG_NEIGH },
44  { "poly", SUMO_TAG_POLY },
45  { "poi", SUMO_TAG_POI },
46  { "junction", SUMO_TAG_JUNCTION },
47  { "restriction", SUMO_TAG_RESTRICTION },
48  { "meso", SUMO_TAG_MESO },
49  { "busStop", SUMO_TAG_BUS_STOP },
50  { "trainStop", SUMO_TAG_TRAIN_STOP },
51  { "ptLine", SUMO_TAG_PT_LINE },
52  { "access", SUMO_TAG_ACCESS },
53  { "containerStop", SUMO_TAG_CONTAINER_STOP },
54  { "chargingStation", SUMO_TAG_CHARGING_STATION },
55  { "parkingArea", SUMO_TAG_PARKING_AREA },
56  { "space", SUMO_TAG_PARKING_SPACE },
57  { "e1Detector", SUMO_TAG_E1DETECTOR },
58  { "inductionLoop", SUMO_TAG_INDUCTION_LOOP },
59  { "e2Detector", SUMO_TAG_E2DETECTOR },
60  { "e2MultilaneDetector", GNE_TAG_E2DETECTOR_MULTILANE },
61  { "laneAreaDetector", SUMO_TAG_LANE_AREA_DETECTOR },
62  { "e3Detector", SUMO_TAG_E3DETECTOR },
63  { "entryExitDetector", SUMO_TAG_ENTRY_EXIT_DETECTOR },
64  { "edgeData", SUMO_TAG_MEANDATA_EDGE },
65  { "laneData", SUMO_TAG_MEANDATA_LANE },
66  { "detEntry", SUMO_TAG_DET_ENTRY },
67  { "detExit", SUMO_TAG_DET_EXIT },
68  { "edgeFollowDetector", SUMO_TAG_EDGEFOLLOWDETECTOR },
69  { "instantInductionLoop", SUMO_TAG_INSTANT_INDUCTION_LOOP },
70  { "calibrator", SUMO_TAG_CALIBRATOR },
71  { "laneCalibrator", SUMO_TAG_LANECALIBRATOR },
72  { "flowCalibrator", GNE_TAG_FLOW_CALIBRATOR },
73  { "rerouter", SUMO_TAG_REROUTER },
74  { "interval", SUMO_TAG_INTERVAL },
75  { "destProbReroute", SUMO_TAG_DEST_PROB_REROUTE },
76  { "closingReroute", SUMO_TAG_CLOSING_REROUTE },
77  { "closingLaneReroute", SUMO_TAG_CLOSING_LANE_REROUTE },
78  { "routeProbReroute", SUMO_TAG_ROUTE_PROB_REROUTE },
79  { "parkingAreaReroute", SUMO_TAG_PARKING_AREA_REROUTE },
80  { "step", SUMO_TAG_STEP },
81  { "variableSpeedSign", SUMO_TAG_VSS },
82  { "routeProbe", SUMO_TAG_ROUTEPROBE },
83  { "vaporizer", SUMO_TAG_VAPORIZER },
84  { "overheadWireSegment", SUMO_TAG_OVERHEAD_WIRE_SEGMENT },
85  { "overheadWire", SUMO_TAG_OVERHEAD_WIRE_SECTION },
86  { "tractionSubstation", SUMO_TAG_TRACTION_SUBSTATION },
87  { "overheadWireClamp", SUMO_TAG_OVERHEAD_WIRE_CLAMP },
88  { "vTypeProbe", SUMO_TAG_VTYPEPROBE },
89  { "routes", SUMO_TAG_ROUTES },
90  { "trip", SUMO_TAG_TRIP },
91  { "tripJunctions", GNE_TAG_TRIP_JUNCTIONS },
92  { "vehicle", SUMO_TAG_VEHICLE },
93  { "vehicleWithRoute", GNE_TAG_VEHICLE_WITHROUTE },
94  { "vType", SUMO_TAG_VTYPE },
95  { "route", SUMO_TAG_ROUTE },
96  { "routeEmbedded", GNE_TAG_ROUTE_EMBEDDED },
97  { "request", SUMO_TAG_REQUEST },
98  { "source", SUMO_TAG_SOURCE },
99  { "taz", SUMO_TAG_TAZ },
100  { "tazSource", SUMO_TAG_TAZSOURCE },
101  { "tazSink", SUMO_TAG_TAZSINK },
102  { "trafficLight", SUMO_TAG_TRAFFIC_LIGHT },
103  { "tlLogic", SUMO_TAG_TLLOGIC },
104  { "phase", SUMO_TAG_PHASE },
105  { "condition", SUMO_TAG_CONDITION },
106  { "tripTAZ", SUMO_TAG_TRIP_TAZ },
107  { "flow", SUMO_TAG_FLOW },
108  { "flowJunctions", GNE_TAG_FLOW_JUNCTIONS },
109  { "flowState", SUMO_TAG_FLOWSTATE },
110 
111  { "edgeRelation", SUMO_TAG_EDGEREL },
112  { "tazRelation", SUMO_TAG_TAZREL },
113  { "timedEvent", SUMO_TAG_TIMEDEVENT },
114  { "fromEdge", SUMO_TAG_FROMEDGE },
115  { "toEdge", SUMO_TAG_TOEDGE },
116  { "sink", SUMO_TAG_SINK },
117  { "param", SUMO_TAG_PARAM },
118  { "WAUT", SUMO_TAG_WAUT },
119  { "wautSwitch", SUMO_TAG_WAUT_SWITCH },
120  { "wautJunction", SUMO_TAG_WAUT_JUNCTION },
121  { "segment", SUMO_TAG_SEGMENT },
122  { "delete", SUMO_TAG_DEL },
123  { "stop", SUMO_TAG_STOP },
124  { "stopBusStop", SUMO_TAG_STOP_BUSSTOP },
125  { "stopContainerStop", SUMO_TAG_STOP_CONTAINERSTOP },
126  { "stopChargingStation", SUMO_TAG_STOP_CHARGINGSTATION },
127  { "stopParkingArea", SUMO_TAG_STOP_PARKINGAREA },
128  { "stopLane", SUMO_TAG_STOP_LANE },
129  { "polygonType", SUMO_TAG_POLYTYPE },
130  { "connection", SUMO_TAG_CONNECTION },
131  { "prohibition", SUMO_TAG_PROHIBITION },
132  { "split", SUMO_TAG_SPLIT },
133  { "node", SUMO_TAG_NODE },
134  { "type", SUMO_TAG_TYPE },
135  { "laneType", SUMO_TAG_LANETYPE },
136  { "detectorDefinition", SUMO_TAG_DETECTOR_DEFINITION },
137  { "routeDistribution", SUMO_TAG_ROUTE_DISTRIBUTION },
138  { "vTypeDistribution", SUMO_TAG_VTYPE_DISTRIBUTION },
139  { "roundabout", SUMO_TAG_ROUNDABOUT },
140  { "join", SUMO_TAG_JOIN },
141  { "joinExclude", SUMO_TAG_JOINEXCLUDE },
142  { "crossing", SUMO_TAG_CROSSING },
143  { "walkingArea", SUMO_TAG_WALKINGAREA },
144  { "stopOffset", SUMO_TAG_STOPOFFSET },
145  { "railSignalConstraints", SUMO_TAG_RAILSIGNAL_CONSTRAINTS },
146  { "predecessor", SUMO_TAG_PREDECESSOR },
147  { "insertionPredecessor", SUMO_TAG_INSERTION_PREDECESSOR },
148  { "railSignalConstraintTracker", SUMO_TAG_RAILSIGNAL_CONSTRAINT_TRACKER },
149  { "link", SUMO_TAG_LINK },
150  { "approaching", SUMO_TAG_APPROACHING },
151  // OSM
152  { "way", SUMO_TAG_WAY },
153  { "nd", SUMO_TAG_ND },
154  { "tag", SUMO_TAG_TAG },
155  { "relation", SUMO_TAG_RELATION },
156  { "member", SUMO_TAG_MEMBER },
157  // View
158  { "viewsettings", SUMO_TAG_VIEWSETTINGS },
159  { "decal", SUMO_TAG_VIEWSETTINGS_DECAL },
160  { "light", SUMO_TAG_VIEWSETTINGS_LIGHT },
161  { "scheme", SUMO_TAG_VIEWSETTINGS_SCHEME },
162  { "opengl", SUMO_TAG_VIEWSETTINGS_OPENGL },
163  { "background", SUMO_TAG_VIEWSETTINGS_BACKGROUND },
164  { "edges", SUMO_TAG_VIEWSETTINGS_EDGES },
165  { "vehicles", SUMO_TAG_VIEWSETTINGS_VEHICLES },
166  { "persons", SUMO_TAG_VIEWSETTINGS_PERSONS },
167  { "containers", SUMO_TAG_VIEWSETTINGS_CONTAINERS },
168  { "junctions", SUMO_TAG_VIEWSETTINGS_JUNCTIONS },
169  { "additionals", SUMO_TAG_VIEWSETTINGS_ADDITIONALS },
170  { "pois", SUMO_TAG_VIEWSETTINGS_POIS },
171  { "polys", SUMO_TAG_VIEWSETTINGS_POLYS },
172  { "legend", SUMO_TAG_VIEWSETTINGS_LEGEND },
173  { "event", SUMO_TAG_VIEWSETTINGS_EVENT },
175  { "include", SUMO_TAG_INCLUDE },
176  { "delay", SUMO_TAG_DELAY },
177  { "viewport", SUMO_TAG_VIEWPORT },
178  { "snapshot", SUMO_TAG_SNAPSHOT },
179  { "breakpoint", SUMO_TAG_BREAKPOINT },
180  { "location", SUMO_TAG_LOCATION },
181  { "colorScheme", SUMO_TAG_COLORSCHEME },
182  { "scalingScheme", SUMO_TAG_SCALINGSCHEME },
183  { "entry", SUMO_TAG_ENTRY },
184  { "rngState", SUMO_TAG_RNGSTATE },
185  { "rngLane", SUMO_TAG_RNGLANE },
186  { "vehicleTransfer", SUMO_TAG_VEHICLETRANSFER },
187  { "device", SUMO_TAG_DEVICE },
188  // Cars
189  { "carFollowing-IDM", SUMO_TAG_CF_IDM },
190  { "carFollowing-IDMM", SUMO_TAG_CF_IDMM },
191  { "carFollowing-Krauss", SUMO_TAG_CF_KRAUSS },
192  { "carFollowing-KraussPS", SUMO_TAG_CF_KRAUSS_PLUS_SLOPE },
193  { "carFollowing-KraussOrig1", SUMO_TAG_CF_KRAUSS_ORIG1 },
194  { "carFollowing-KraussX", SUMO_TAG_CF_KRAUSSX },
195  { "carFollowing-EIDM", SUMO_TAG_CF_EIDM },
196  { "carFollowing-SmartSK", SUMO_TAG_CF_SMART_SK },
197  { "carFollowing-Daniel1", SUMO_TAG_CF_DANIEL1 },
198  { "carFollowing-PWagner2009", SUMO_TAG_CF_PWAGNER2009 },
199  { "carFollowing-BKerner", SUMO_TAG_CF_BKERNER },
200  { "carFollowing-Wiedemann", SUMO_TAG_CF_WIEDEMANN },
201  { "carFollowing-W99", SUMO_TAG_CF_W99 },
202  { "carFollowing-Rail", SUMO_TAG_CF_RAIL },
203  { "carFollowing-ACC", SUMO_TAG_CF_ACC },
204  { "carFollowing-CACC", SUMO_TAG_CF_CACC },
205  { "carFollowing-CC", SUMO_TAG_CF_CC },
206  // Person
207  { "person", SUMO_TAG_PERSON },
208  { "personTrip", SUMO_TAG_PERSONTRIP },
209  { "ride", SUMO_TAG_RIDE },
210  { "walk", SUMO_TAG_WALK },
211  { "personFlow", SUMO_TAG_PERSONFLOW },
212  // Data (Netedit)
213  { "dataSet", SUMO_TAG_DATASET },
214  { "dataInterval", SUMO_TAG_DATAINTERVAL },
215  // Transport
216  { "container", SUMO_TAG_CONTAINER },
217  { "transport", SUMO_TAG_TRANSPORT },
218  { "tranship", SUMO_TAG_TRANSHIP },
219  { "containerFlow", SUMO_TAG_CONTAINERFLOW },
220  //Trajectories
221  { "trajectories", SUMO_TAG_TRAJECTORIES },
222  { "timestep", SUMO_TAG_TIMESTEP },
223  { "timeSlice", SUMO_TAG_TIMESLICE },
224  { "actorConfig", SUMO_TAG_ACTORCONFIG },
225  { "motionState", SUMO_TAG_MOTIONSTATE },
226  { "odPair", SUMO_TAG_OD_PAIR },
227  { "transportables", SUMO_TAG_TRANSPORTABLES },
228  // ActivityGen statistics file
229  { "general", AGEN_TAG_GENERAL },
230  { "street", AGEN_TAG_STREET },
231  { "workHours", AGEN_TAG_WORKHOURS },
232  { "opening", AGEN_TAG_OPENING },
233  { "closing", AGEN_TAG_CLOSING },
234  { "schools", AGEN_TAG_SCHOOLS },
235  { "school", AGEN_TAG_SCHOOL },
236  { "busStation", AGEN_TAG_BUSSTATION },
237  { "busLine", AGEN_TAG_BUSLINE },
238  { "stations", AGEN_TAG_STATIONS },
239  { "revStations", AGEN_TAG_REV_STATIONS },
240  { "station", AGEN_TAG_STATION },
241  { "frequency", AGEN_TAG_FREQUENCY },
242  { "population", AGEN_TAG_POPULATION },
243  { "bracket", AGEN_TAG_BRACKET },
244  { "cityGates", AGEN_TAG_CITYGATES },
245  { "entrance", AGEN_TAG_ENTRANCE },
246  { "parameters", AGEN_TAG_PARAM },
247  // NETEDIT
248  { "internalLane", GNE_TAG_INTERNAL_LANE },
249  { "poiLane", GNE_TAG_POILANE },
250  { "poiGeo", GNE_TAG_POIGEO },
251  { "rerouterSymbol", GNE_TAG_REROUTER_SYMBOL },
252  { "variableSpeedSignSymbol", GNE_TAG_VSS_SYMBOL },
253  { "flowRoute", GNE_TAG_FLOW_ROUTE },
254  { "flowWithRoute", GNE_TAG_FLOW_WITHROUTE },
255  // GNE Person trips
256  { "personTrip: edge->edge", GNE_TAG_PERSONTRIP_EDGE },
257  { "personTrip: edge->busStop", GNE_TAG_PERSONTRIP_BUSSTOP },
258  { "personTrip: junctions", GNE_TAG_PERSONTRIP_JUNCTIONS },
259  // GNE Walks
260  { "walk: edge->edge", GNE_TAG_WALK_EDGE },
261  { "walk: edge->busStop", GNE_TAG_WALK_BUSSTOP },
262  { "walk: edges", GNE_TAG_WALK_EDGES },
263  { "walk: route", GNE_TAG_WALK_ROUTE },
264  { "walk: junctions", GNE_TAG_WALK_JUNCTIONS },
265  // GNE Rides
266  { "ride: edge->edge", GNE_TAG_RIDE_EDGE },
267  { "ride: edge->busStop", GNE_TAG_RIDE_BUSSTOP },
268  // GNE person Stops
269  { "stopPerson: busStop", GNE_TAG_STOPPERSON_BUSSTOP },
270  { "stopPerson: edge", GNE_TAG_STOPPERSON_EDGE },
271  // GNE transports
272  { "transport: edge->edge", GNE_TAG_TRANSPORT_EDGE },
273  { "transport: edge->containerStop", GNE_TAG_TRANSPORT_CONTAINERSTOP },
274  // GNE tranships
275  { "tranship: edge->edge", GNE_TAG_TRANSHIP_EDGE },
276  { "tranship: edge->containerStop", GNE_TAG_TRANSHIP_CONTAINERSTOP },
277  { "tranship: edges", GNE_TAG_TRANSHIP_EDGES },
278  // GNE container Stops
279  { "stopContainer: containerStop", GNE_TAG_STOPCONTAINER_CONTAINERSTOP },
280  { "stopContainer: edge", GNE_TAG_STOPCONTAINER_EDGE },
281  // root file
282  { "rootFile", SUMO_TAG_ROOTFILE },
283  // Last element
284  { "", SUMO_TAG_NOTHING } // -> must be the last one
285 };
286 
287 
289  // meta value for attribute enum
290  { "default", SUMO_ATTR_DEFAULT },
291  // meandata
292  { "sampledSeconds", SUMO_ATTR_SAMPLEDSECONDS },
293  { "density", SUMO_ATTR_DENSITY },
294  { "laneDensity", SUMO_ATTR_LANEDENSITY },
295  { "occupancy", SUMO_ATTR_OCCUPANCY },
296  { "waitingTime", SUMO_ATTR_WAITINGTIME },
297  { "timeLoss", SUMO_ATTR_TIMELOSS },
298  { "speed", SUMO_ATTR_SPEED },
299  { "speedRelative", SUMO_ATTR_SPEEDREL },
300  { "departed", SUMO_ATTR_DEPARTED },
301  { "arrived", SUMO_ATTR_ARRIVED },
302  { "entered", SUMO_ATTR_ENTERED },
303  { "left", SUMO_ATTR_LEFT },
304  { "vaporized", SUMO_ATTR_VAPORIZED },
305  { "teleported", SUMO_ATTR_TELEPORTED },
306  { "traveltime", SUMO_ATTR_TRAVELTIME },
307  { "laneChangedFrom", SUMO_ATTR_LANECHANGEDFROM },
308  { "laneChangedTo", SUMO_ATTR_LANECHANGEDTO },
309  { "overlapTraveltime", SUMO_ATTR_OVERLAPTRAVELTIME },
310  { "CO_abs", SUMO_ATTR_CO_ABS },
311  { "CO2_abs", SUMO_ATTR_CO2_ABS },
312  { "HC_abs", SUMO_ATTR_HC_ABS },
313  { "PMx_abs", SUMO_ATTR_PMX_ABS },
314  { "NOx_abs", SUMO_ATTR_NOX_ABS },
315  { "fuel_abs", SUMO_ATTR_FUEL_ABS },
316  { "electricity_abs", SUMO_ATTR_ELECTRICITY_ABS },
317  { "CO_normed", SUMO_ATTR_CO_NORMED },
318  { "CO2_normed", SUMO_ATTR_CO2_NORMED },
319  { "HC_normed", SUMO_ATTR_HC_NORMED },
320  { "PMx_normed", SUMO_ATTR_PMX_NORMED },
321  { "NOx_normed", SUMO_ATTR_NOX_NORMED },
322  { "fuel_normed", SUMO_ATTR_FUEL_NORMED },
323  { "electricity_normed", SUMO_ATTR_ELECTRICITY_NORMED },
324  { "CO_perVeh", SUMO_ATTR_CO_PERVEH },
325  { "CO2_perVeh", SUMO_ATTR_CO2_PERVEH },
326  { "HC_perVeh", SUMO_ATTR_HC_PERVEH },
327  { "PMx_perVeh", SUMO_ATTR_PMX_PERVEH },
328  { "NOx_perVeh", SUMO_ATTR_NOX_PERVEH },
329  { "fuel_perVeh", SUMO_ATTR_FUEL_PERVEH },
330  { "electricity_perVeh", SUMO_ATTR_ELECTRICITY_PERVEH },
331  { "noise", SUMO_ATTR_NOISE },
332  { "amount", SUMO_ATTR_AMOUNT },
333  { "averageSpeed", SUMO_ATTR_AVERAGESPEED },
334  // FCD
335  { "x", SUMO_ATTR_X },
336  { "y", SUMO_ATTR_Y },
337  { "z", SUMO_ATTR_Z },
338  { "angle", SUMO_ATTR_ANGLE },
339  { "type", SUMO_ATTR_TYPE },
340  { "pos", SUMO_ATTR_POSITION },
341  { "edge", SUMO_ATTR_EDGE },
342  { "lane", SUMO_ATTR_LANE },
343  { "slope", SUMO_ATTR_SLOPE },
344  { "signals", SUMO_ATTR_SIGNALS },
345  { "acceleration", SUMO_ATTR_ACCELERATION },
346  { "accelerationLat", SUMO_ATTR_ACCELERATION_LAT },
347  { "distance", SUMO_ATTR_DISTANCE },
348  { "leaderID", SUMO_ATTR_LEADER_ID },
349  { "leaderSpeed", SUMO_ATTR_LEADER_SPEED },
350  { "leaderGap", SUMO_ATTR_LEADER_GAP },
351  { "vehicle", SUMO_ATTR_VEHICLE },
352 
353  // Edge
354  { "id", SUMO_ATTR_ID },
355  { "refId", SUMO_ATTR_REFID },
356  { "name", SUMO_ATTR_NAME },
357  { "version", SUMO_ATTR_VERSION },
358  { "priority", SUMO_ATTR_PRIORITY },
359  { "numLanes", SUMO_ATTR_NUMLANES },
360  { "oneway", SUMO_ATTR_ONEWAY },
361  { "width", SUMO_ATTR_WIDTH },
362  { "widthResolution", SUMO_ATTR_WIDTHRESOLUTION },
363  { "maxWidth", SUMO_ATTR_MAXWIDTH },
364  { "minWidth", SUMO_ATTR_MINWIDTH },
365  { "sidewalkWidth", SUMO_ATTR_SIDEWALKWIDTH },
366  { "bikeLaneWidth", SUMO_ATTR_BIKELANEWIDTH },
367  { "remove", SUMO_ATTR_REMOVE },
368  { "length", SUMO_ATTR_LENGTH },
369  { "bidi", SUMO_ATTR_BIDI },
370  // Split
371  { "idBefore", SUMO_ATTR_ID_BEFORE },
372  { "idAfter", SUMO_ATTR_ID_AFTER },
373  // Positions
374  { "center", SUMO_ATTR_CENTER },
375  { "centerX", SUMO_ATTR_CENTER_X },
376  { "centerY", SUMO_ATTR_CENTER_Y },
377  { "centerZ", SUMO_ATTR_CENTER_Z },
378 
379  { "key", SUMO_ATTR_KEY },
380  { "requestSize", SUMO_ATTR_REQUESTSIZE },
381  { "request", SUMO_ATTR_REQUEST },
382  { "response", SUMO_ATTR_RESPONSE },
383  { "programID", SUMO_ATTR_PROGRAMID },
384  { "phase", SUMO_ATTR_PHASE },
385  { "offset", SUMO_ATTR_OFFSET },
386  { "endOffset", SUMO_ATTR_ENDOFFSET },
387  { "incLanes", SUMO_ATTR_INCLANES },
388  { "intLanes", SUMO_ATTR_INTLANES },
389 
390  { "weight", SUMO_ATTR_WEIGHT },
391  { "node", SUMO_ATTR_NODE },
392  { "edges", SUMO_ATTR_EDGES },
393  // Vehicle
394  { "depart", SUMO_ATTR_DEPART },
395  { "departLane", SUMO_ATTR_DEPARTLANE },
396  { "departPos", SUMO_ATTR_DEPARTPOS },
397  { "departPosLat", SUMO_ATTR_DEPARTPOS_LAT },
398  { "departSpeed", SUMO_ATTR_DEPARTSPEED },
399  { "departEdge", SUMO_ATTR_DEPARTEDGE },
400  { "arrivalLane", SUMO_ATTR_ARRIVALLANE },
401  { "arrivalPos", SUMO_ATTR_ARRIVALPOS },
402  { "arrivalPosLat", SUMO_ATTR_ARRIVALPOS_LAT },
403  { "arrivalSpeed", SUMO_ATTR_ARRIVALSPEED },
404  { "arrivalEdge", SUMO_ATTR_ARRIVALEDGE },
405  { "route", SUMO_ATTR_ROUTE },
406  { "maxSpeed", SUMO_ATTR_MAXSPEED },
407  { "maxSpeedLat", SUMO_ATTR_MAXSPEED_LAT },
408  { "latAlignment", SUMO_ATTR_LATALIGNMENT },
409  { "minGapLat", SUMO_ATTR_MINGAP_LAT },
410  { "accel", SUMO_ATTR_ACCEL },
411  { "decel", SUMO_ATTR_DECEL },
412  { "emergencyDecel", SUMO_ATTR_EMERGENCYDECEL },
413  { "apparentDecel", SUMO_ATTR_APPARENTDECEL },
414  { "actionStepLength", SUMO_ATTR_ACTIONSTEPLENGTH },
415  { "vClass", SUMO_ATTR_VCLASS },
416  { "vClasses", SUMO_ATTR_VCLASSES },
417  { "exceptions", SUMO_ATTR_EXCEPTIONS },
418  { "repno", SUMO_ATTR_REPNUMBER },
419  { "speedFactor", SUMO_ATTR_SPEEDFACTOR },
420  { "speedDev", SUMO_ATTR_SPEEDDEV },
421  { "laneChangeModel", SUMO_ATTR_LANE_CHANGE_MODEL },
422  { "carFollowModel", SUMO_ATTR_CAR_FOLLOW_MODEL },
423  { "minGap", SUMO_ATTR_MINGAP },
424  { "collisionMinGapFactor", SUMO_ATTR_COLLISION_MINGAP_FACTOR },
425  { "boardingDuration", SUMO_ATTR_BOARDING_DURATION },
426  { "loadingDuration", SUMO_ATTR_LOADING_DURATION },
427  { "maneuverAngleTimes", SUMO_ATTR_MANEUVER_ANGLE_TIMES },
428  // MSDevice_ElecHybrid
429  { "overheadWireChargingPower", SUMO_ATTR_OVERHEADWIRECHARGINGPOWER },
430  // OverheadWire
431  { "overheadWireSegment", SUMO_ATTR_OVERHEAD_WIRE_SEGMENT },
432  { "segments", SUMO_ATTR_OVERHEAD_WIRE_SECTION },
433  { "voltage", SUMO_ATTR_VOLTAGE },
434  { "voltageSource", SUMO_ATTR_VOLTAGESOURCE },
435  { "currentLimit", SUMO_ATTR_CURRENTLIMIT },
436  { "substationId", SUMO_ATTR_SUBSTATIONID },
437  { "wireResistivity", SUMO_ATTR_OVERHEAD_WIRE_RESISTIVITY },
438  { "forbiddenInnerLanes", SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN },
439  { "clamps", SUMO_ATTR_OVERHEAD_WIRE_CLAMPS },
440  { "idSegmentStartClamp", SUMO_ATTR_OVERHEAD_WIRE_CLAMP_START },
441  { "idSegmentEndClamp", SUMO_ATTR_OVERHEAD_WIRE_CLAMP_END },
442  // Charging Station
443  { "power", SUMO_ATTR_CHARGINGPOWER },
444  { "efficiency", SUMO_ATTR_EFFICIENCY },
445  { "chargeInTransit", SUMO_ATTR_CHARGEINTRANSIT },
446  { "chargeDelay", SUMO_ATTR_CHARGEDELAY},
447  // MSDevice_Battery
448  { "actualBatteryCapacity", SUMO_ATTR_ACTUALBATTERYCAPACITY },
449  { "maximumBatteryCapacity", SUMO_ATTR_MAXIMUMBATTERYCAPACITY },
450  { "maximumPower", SUMO_ATTR_MAXIMUMPOWER },
451  { "vehicleMass", SUMO_ATTR_VEHICLEMASS },
452  { "frontSurfaceArea", SUMO_ATTR_FRONTSURFACEAREA },
453  { "airDragCoefficient", SUMO_ATTR_AIRDRAGCOEFFICIENT },
454  { "internalMomentOfInertia", SUMO_ATTR_INTERNALMOMENTOFINERTIA },
455  { "radialDragCoefficient", SUMO_ATTR_RADIALDRAGCOEFFICIENT },
456  { "rollDragCoefficient", SUMO_ATTR_ROLLDRAGCOEFFICIENT },
457  { "constantPowerIntake", SUMO_ATTR_CONSTANTPOWERINTAKE },
458  { "propulsionEfficiency", SUMO_ATTR_PROPULSIONEFFICIENCY },
459  { "recuperationEfficiency", SUMO_ATTR_RECUPERATIONEFFICIENCY },
460  { "recuperationEfficiencyByDecel", SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION },
461  { "stoppingTreshold", SUMO_ATTR_STOPPINGTRESHOLD },
462  // MSElecHybridExport
463  { "overheadWireId", SUMO_ATTR_OVERHEADWIREID },
464  { "tractionSubstationId", SUMO_ATTR_TRACTIONSUBSTATIONID },
465  { "current", SUMO_ATTR_CURRENTFROMOVERHEADWIRE },
466  { "circuitVoltage", SUMO_ATTR_VOLTAGEOFOVERHEADWIRE },
467  { "alphaCircuitSolver", SUMO_ATTR_ALPHACIRCUITSOLVER },
468  { "recuperationEnabled", SUMO_ATTR_RECUPERATIONENABLE },
469  // MSBatteryExport
470  { "energyConsumed", SUMO_ATTR_ENERGYCONSUMED },
471  { "totalEnergyConsumed", SUMO_ATTR_TOTALENERGYCONSUMED },
472  { "totalEnergyRegenerated", SUMO_ATTR_TOTALENERGYREGENERATED },
473  { "chargingStationId", SUMO_ATTR_CHARGINGSTATIONID },
474  { "energyCharged", SUMO_ATTR_ENERGYCHARGED },
475  { "energyChargedInTransit", SUMO_ATTR_ENERGYCHARGEDINTRANSIT },
476  { "energyChargedStopped", SUMO_ATTR_ENERGYCHARGEDSTOPPED },
477  { "posOnLane", SUMO_ATTR_POSONLANE },
478  { "timeStopped", SUMO_ATTR_TIMESTOPPED },
479  // MMPEVEM
480  { "wheelRadius", SUMO_ATTR_WHEELRADIUS },
481  { "maximumTorque", SUMO_ATTR_MAXIMUMTORQUE },
482  { "maximumSpeed", SUMO_ATTR_MAXIMUMSPEED },
483  { "gearEfficiency", SUMO_ATTR_GEAREFFICIENCY },
484  { "gearRatio", SUMO_ATTR_GEARRATIO },
485  { "maximumRecuperationTorque", SUMO_ATTR_MAXIMUMRECUPERATIONTORQUE },
486  { "maximumRecuperationPower", SUMO_ATTR_MAXIMUMRECUPERATIONPOWER },
487  { "internalBatteryResistance", SUMO_ATTR_INTERNALBATTERYRESISTANCE },
488  { "nominalBatteryVoltage", SUMO_ATTR_NOMINALBATTERYVOLTAGE },
489  { "powerLossMap", SUMO_ATTR_POWERLOSSMAP },
490  // ChargingStation output
491  { "chargingStatus", SUMO_ATTR_CHARGING_STATUS },
492  { "totalEnergyCharged", SUMO_ATTR_TOTALENERGYCHARGED },
493  { "chargingSteps", SUMO_ATTR_CHARGINGSTEPS },
494  { "totalEnergyChargedIntoVehicle", SUMO_ATTR_TOTALENERGYCHARGED_VEHICLE },
495  { "chargingBegin", SUMO_ATTR_CHARGINGBEGIN },
496  { "chargingEnd", SUMO_ATTR_CHARGINGEND },
497  { "partialCharge", SUMO_ATTR_PARTIALCHARGE },
498 
499  { "sigma", SUMO_ATTR_SIGMA },
500  { "tau", SUMO_ATTR_TAU },
501  { "tmp1", SUMO_ATTR_TMP1 },
502  { "tmp2", SUMO_ATTR_TMP2 },
503  { "tmp3", SUMO_ATTR_TMP3 },
504  { "tmp4", SUMO_ATTR_TMP4 },
505  { "tmp5", SUMO_ATTR_TMP5 },
506 
507  { "vehdynamics", SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS },
508  { "tpreview", SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD },
509  { "tPersDrive", SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE },
510  { "treaction", SUMO_ATTR_CF_EIDM_T_REACTION },
511  { "tPersEstimate", SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE },
512  { "ccoolness", SUMO_ATTR_CF_EIDM_C_COOLNESS },
513  { "sigmaleader", SUMO_ATTR_CF_EIDM_SIG_LEADER },
514  { "sigmagap", SUMO_ATTR_CF_EIDM_SIG_GAP },
515  { "sigmaerror", SUMO_ATTR_CF_EIDM_SIG_ERROR },
516  { "jerkmax", SUMO_ATTR_CF_EIDM_JERK_MAX },
517  { "epsilonacc", SUMO_ATTR_CF_EIDM_EPSILON_ACC },
518  { "taccmax", SUMO_ATTR_CF_EIDM_T_ACC_MAX },
519  { "Mflatness", SUMO_ATTR_CF_EIDM_M_FLATNESS },
520  { "Mbegin", SUMO_ATTR_CF_EIDM_M_BEGIN },
521  { "maxvehpreview", SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW },
522 
523  { "speedControlGain", SUMO_ATTR_SC_GAIN },
524  { "gapClosingControlGainSpeed", SUMO_ATTR_GCC_GAIN_SPEED },
525  { "gapClosingControlGainSpace", SUMO_ATTR_GCC_GAIN_SPACE },
526  { "gapControlGainSpeed", SUMO_ATTR_GC_GAIN_SPEED },
527  { "gapControlGainSpace", SUMO_ATTR_GC_GAIN_SPACE },
528  { "collisionAvoidanceGainSpeed", SUMO_ATTR_CA_GAIN_SPEED },
529  { "collisionAvoidanceGainSpace", SUMO_ATTR_CA_GAIN_SPACE },
530 
531  { "speedControlGainCACC", SUMO_ATTR_SC_GAIN_CACC },
532  { "gapClosingControlGainGap", SUMO_ATTR_GCC_GAIN_GAP_CACC },
533  { "gapClosingControlGainGapDot", SUMO_ATTR_GCC_GAIN_GAP_DOT_CACC },
534  { "gapControlGainGap", SUMO_ATTR_GC_GAIN_GAP_CACC },
535  { "gapControlGainGapDot", SUMO_ATTR_GC_GAIN_GAP_DOT_CACC },
536  { "collisionAvoidanceGainGap", SUMO_ATTR_CA_GAIN_GAP_CACC },
537  { "collisionAvoidanceGainGapDot", SUMO_ATTR_CA_GAIN_GAP_DOT_CACC },
538  { "tauCACCToACC", SUMO_ATTR_HEADWAY_TIME_CACC_TO_ACC },
539  { "applyDriverState", SUMO_ATTR_APPLYDRIVERSTATE },
540 
541  { "trainType", SUMO_ATTR_TRAIN_TYPE },
542 
543  { "lcStrategic", SUMO_ATTR_LCA_STRATEGIC_PARAM },
544  { "lcCooperative", SUMO_ATTR_LCA_COOPERATIVE_PARAM },
545  { "lcSpeedGain", SUMO_ATTR_LCA_SPEEDGAIN_PARAM },
546  { "lcKeepRight", SUMO_ATTR_LCA_KEEPRIGHT_PARAM },
547  { "lcSublane", SUMO_ATTR_LCA_SUBLANE_PARAM },
548  { "lcOpposite", SUMO_ATTR_LCA_OPPOSITE_PARAM },
549  { "lcPushy", SUMO_ATTR_LCA_PUSHY },
550  { "lcPushyGap", SUMO_ATTR_LCA_PUSHYGAP },
551  { "lcAssertive", SUMO_ATTR_LCA_ASSERTIVE },
552  { "lcImpatience", SUMO_ATTR_LCA_IMPATIENCE },
553  { "lcTimeToImpatience", SUMO_ATTR_LCA_TIME_TO_IMPATIENCE },
554  { "lcAccelLat", SUMO_ATTR_LCA_ACCEL_LAT },
555  { "lcTurnAlignmentDistance", SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE },
556  { "lcOvertakeRight", SUMO_ATTR_LCA_OVERTAKE_RIGHT },
557  { "lcLookaheadLeft", SUMO_ATTR_LCA_LOOKAHEADLEFT },
558  { "lcSpeedGainRight", SUMO_ATTR_LCA_SPEEDGAINRIGHT },
559  { "lcSpeedGainLookahead", SUMO_ATTR_LCA_SPEEDGAIN_LOOKAHEAD },
560  { "lcCooperativeRoundabout", SUMO_ATTR_LCA_COOPERATIVE_ROUNDABOUT },
561  { "lcCooperativeSpeed", SUMO_ATTR_LCA_COOPERATIVE_SPEED },
562  { "lcMaxSpeedLatStanding", SUMO_ATTR_LCA_MAXSPEEDLATSTANDING },
563  { "lcMaxSpeedLatFactor", SUMO_ATTR_LCA_MAXSPEEDLATFACTOR },
564  { "lcMaxDistLatStanding", SUMO_ATTR_LCA_MAXDISTLATSTANDING },
565  { "lcLaneDiscipline", SUMO_ATTR_LCA_LANE_DISCIPLINE },
566  { "lcSigma", SUMO_ATTR_LCA_SIGMA },
567  { "lcKeepRightAcceptanceTime", SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME },
568  { "lcExperimental1", SUMO_ATTR_LCA_EXPERIMENTAL1 },
569 
570  { "jmCrossingGap", SUMO_ATTR_JM_CROSSING_GAP },
571  { "jmDriveAfterYellowTime", SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME },
572  { "jmDriveAfterRedTime", SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME },
573  { "jmDriveRedSpeed", SUMO_ATTR_JM_DRIVE_RED_SPEED },
574  { "jmIgnoreKeepClearTime", SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME },
575  { "jmIgnoreFoeSpeed", SUMO_ATTR_JM_IGNORE_FOE_SPEED },
576  { "jmIgnoreFoeProb", SUMO_ATTR_JM_IGNORE_FOE_PROB },
577  { "jmIgnoreJunctionFoeProb", SUMO_ATTR_JM_IGNORE_JUNCTION_FOE_PROB },
578  { "jmSigmaMinor", SUMO_ATTR_JM_SIGMA_MINOR },
579  { "jmStoplineGap", SUMO_ATTR_JM_STOPLINE_GAP },
580  { "jmTimegapMinor", SUMO_ATTR_JM_TIMEGAP_MINOR },
581  { "junctionModel.ignoreIDs", SUMO_ATTR_JM_IGNORE_IDS },
582  { "junctionModel.ignoreTypes", SUMO_ATTR_JM_IGNORE_TYPES },
583 
584  { "last", SUMO_ATTR_LAST },
585  { "cost", SUMO_ATTR_COST },
586  { "costs", SUMO_ATTR_COSTS },
587  { "savings", SUMO_ATTR_SAVINGS },
588  { "exitTimes", SUMO_ATTR_EXITTIMES },
589  { "probability", SUMO_ATTR_PROB },
590  { "count", SUMO_ATTR_COUNT },
591  { "probabilities", SUMO_ATTR_PROBS },
592  { "routes", SUMO_ATTR_ROUTES },
593  { "vTypes", SUMO_ATTR_VTYPES },
594 
595  { "lanes", SUMO_ATTR_LANES },
596  { "from", SUMO_ATTR_FROM },
597  { "to", SUMO_ATTR_TO },
598  { "fromLonLat", SUMO_ATTR_FROMLONLAT },
599  { "toLonLat", SUMO_ATTR_TOLONLAT },
600  { "fromXY", SUMO_ATTR_FROMXY },
601  { "toXY", SUMO_ATTR_TOXY },
602  { "fromJunction", SUMO_ATTR_FROMJUNCTION },
603  { "toJunction", SUMO_ATTR_TOJUNCTION },
604  { "period", SUMO_ATTR_PERIOD },
605  { "repeat", SUMO_ATTR_REPEAT },
606  { "cycleTime", SUMO_ATTR_CYCLETIME },
607  { "fromTaz", SUMO_ATTR_FROM_TAZ },
608  { "toTaz", SUMO_ATTR_TO_TAZ },
609  { "reroute", SUMO_ATTR_REROUTE },
610  { "personCapacity", SUMO_ATTR_PERSON_CAPACITY },
611  { "containerCapacity", SUMO_ATTR_CONTAINER_CAPACITY },
612  { "parkingLength", SUMO_ATTR_PARKING_LENGTH },
613  { "personNumber", SUMO_ATTR_PERSON_NUMBER },
614  { "containerNumber", SUMO_ATTR_CONTAINER_NUMBER },
615  { "modes", SUMO_ATTR_MODES },
616  { "walkFactor", SUMO_ATTR_WALKFACTOR },
617 
618  { "function", SUMO_ATTR_FUNCTION },
619  { "posLat", SUMO_ATTR_POSITION_LAT },
620  { "freq", SUMO_ATTR_FREQUENCY },
621  { "style", SUMO_ATTR_STYLE },
622  { "file", SUMO_ATTR_FILE },
623  { "junction", SUMO_ATTR_JUNCTION },
624  { "number", SUMO_ATTR_NUMBER },
625  { "duration", SUMO_ATTR_DURATION },
626  { "until", SUMO_ATTR_UNTIL },
627  { "arrival", SUMO_ATTR_ARRIVAL },
628  { "extension", SUMO_ATTR_EXTENSION },
629  { "started", SUMO_ATTR_STARTED },
630  { "ended", SUMO_ATTR_ENDED },
631  { "routeProbe", SUMO_ATTR_ROUTEPROBE },
632  { "crossingEdges", SUMO_ATTR_CROSSING_EDGES },
633  // Traffic light & Nodes
634  { "time", SUMO_ATTR_TIME },
635  { "begin", SUMO_ATTR_BEGIN },
636  { "end", SUMO_ATTR_END },
637  { "tl", SUMO_ATTR_TLID },
638  { "tlType", SUMO_ATTR_TLTYPE },
639  { "tlLayout", SUMO_ATTR_TLLAYOUT },
640  { "linkIndex", SUMO_ATTR_TLLINKINDEX },
641  { "linkIndex2", SUMO_ATTR_TLLINKINDEX2 },
642  { "shape", SUMO_ATTR_SHAPE },
643  { "spreadType", SUMO_ATTR_SPREADTYPE },
644  { "radius", SUMO_ATTR_RADIUS },
645  { "customShape", SUMO_ATTR_CUSTOMSHAPE },
646  { "keepClear", SUMO_ATTR_KEEP_CLEAR },
647  { "indirect", SUMO_ATTR_INDIRECT },
648  { "rightOfWay", SUMO_ATTR_RIGHT_OF_WAY },
649  { "fringe", SUMO_ATTR_FRINGE },
650  { "color", SUMO_ATTR_COLOR },
651  { "dir", SUMO_ATTR_DIR },
652  { "state", SUMO_ATTR_STATE },
653  { "layer", SUMO_ATTR_LAYER },
654  { "fill", SUMO_ATTR_FILL },
655  { "lineWidth", SUMO_ATTR_LINEWIDTH },
656  { "prefix", SUMO_ATTR_PREFIX },
657  { "discard", SUMO_ATTR_DISCARD },
658 
659  { "fromLane", SUMO_ATTR_FROM_LANE },
660  { "toLane", SUMO_ATTR_TO_LANE },
661  { "dest", SUMO_ATTR_DEST },
662  { "source", SUMO_ATTR_SOURCE },
663  { "via", SUMO_ATTR_VIA },
664  { "viaLonLat", SUMO_ATTR_VIALONLAT },
665  { "viaXY", SUMO_ATTR_VIAXY },
666  { "viaJunctions", SUMO_ATTR_VIAJUNCTIONS },
667  { "nodes", SUMO_ATTR_NODES },
668  { "visibility", SUMO_ATTR_VISIBILITY_DISTANCE },
669 
670  { "minDur", SUMO_ATTR_MINDURATION },
671  { "maxDur", SUMO_ATTR_MAXDURATION },
672  { "earliestEnd", SUMO_ATTR_EARLIEST_END },
673  { "latestEnd", SUMO_ATTR_LATEST_END },
674  { "earlyTarget", SUMO_ATTR_EARLY_TARGET },
675  { "finalTarget", SUMO_ATTR_FINAL_TARGET },
676  { "vehext", SUMO_ATTR_VEHICLEEXTENSION },
677  { "yellow", SUMO_ATTR_YELLOW },
678  { "red", SUMO_ATTR_RED },
679  { "next", SUMO_ATTR_NEXT },
680  { "foes", SUMO_ATTR_FOES },
681  { "constraints", SUMO_ATTR_CONSTRAINTS },
682  // E2 detector
683  { "cont", SUMO_ATTR_CONT },
684  { "contPos", SUMO_ATTR_CONTPOS },
685  { "timeThreshold", SUMO_ATTR_HALTING_TIME_THRESHOLD },
686  { "speedThreshold", SUMO_ATTR_HALTING_SPEED_THRESHOLD },
687  { "jamThreshold", SUMO_ATTR_JAM_DIST_THRESHOLD },
688  { "show", SUMO_ATTR_SHOW_DETECTOR },
689  // E3 detector
690  { "openEntry", SUMO_ATTR_OPEN_ENTRY },
691 
692  { "wautID", SUMO_ATTR_WAUT_ID },
693  { "junctionID", SUMO_ATTR_JUNCTION_ID },
694  { "procedure", SUMO_ATTR_PROCEDURE },
695  { "synchron", SUMO_ATTR_SYNCHRON },
696  { "refTime", SUMO_ATTR_REF_TIME },
697  { "startProg", SUMO_ATTR_START_PROG },
698  { "off", SUMO_ATTR_OFF },
699  { "friendlyPos", SUMO_ATTR_FRIENDLY_POS },
700  { "splitByType", SUMO_ATTR_SPLIT_VTYPE },
701  { "uncontrolled", SUMO_ATTR_UNCONTROLLED },
702  { "pass", SUMO_ATTR_PASS },
703  { "busStop", SUMO_ATTR_BUS_STOP },
704  { "trainStop", SUMO_ATTR_TRAIN_STOP },
705  { "containerStop", SUMO_ATTR_CONTAINER_STOP },
706  { "parkingArea", SUMO_ATTR_PARKING_AREA },
707  { "roadsideCapacity", SUMO_ATTR_ROADSIDE_CAPACITY },
708  { "onRoad", SUMO_ATTR_ONROAD },
709  { "chargingStation", SUMO_ATTR_CHARGING_STATION },
710  { "group", SUMO_ATTR_GROUP },
711  { "line", SUMO_ATTR_LINE },
712  { "lines", SUMO_ATTR_LINES },
713  { "tripId", SUMO_ATTR_TRIP_ID },
714  { "split", SUMO_ATTR_SPLIT },
715  { "join", SUMO_ATTR_JOIN },
716  { "intended", SUMO_ATTR_INTENDED },
717  { "value", SUMO_ATTR_VALUE },
718  { "prohibitor", SUMO_ATTR_PROHIBITOR },
719  { "prohibited", SUMO_ATTR_PROHIBITED },
720  { "allow", SUMO_ATTR_ALLOW },
721  { "disallow", SUMO_ATTR_DISALLOW },
722  { "prefer", SUMO_ATTR_PREFER },
723  { "changeLeft", SUMO_ATTR_CHANGE_LEFT },
724  { "changeRight", SUMO_ATTR_CHANGE_RIGHT },
725  { "controlledInner", SUMO_ATTR_CONTROLLED_INNER },
726  { "vehsPerHour", SUMO_ATTR_VEHSPERHOUR },
727  { "personsPerHour", SUMO_ATTR_PERSONSPERHOUR },
728  { "containersPerHour", SUMO_ATTR_CONTAINERSPERHOUR },
729  { "perHour", SUMO_ATTR_PERHOUR },
730  { "output", SUMO_ATTR_OUTPUT },
731  { "height", SUMO_ATTR_HEIGHT },
732  { "guiShape", SUMO_ATTR_GUISHAPE },
733  { "osgFile", SUMO_ATTR_OSGFILE },
734  { "imgFile", SUMO_ATTR_IMGFILE },
735  { "relativePath", SUMO_ATTR_RELATIVEPATH },
736  { "emissionClass", SUMO_ATTR_EMISSIONCLASS },
737  { "impatience", SUMO_ATTR_IMPATIENCE },
738  { "startPos", SUMO_ATTR_STARTPOS },
739  { "endPos", SUMO_ATTR_ENDPOS },
740  { "triggered", SUMO_ATTR_TRIGGERED },
741  { "containerTriggered", SUMO_ATTR_CONTAINER_TRIGGERED },
742  { "parking", SUMO_ATTR_PARKING },
743  { "expected", SUMO_ATTR_EXPECTED },
744  { "permitted", SUMO_ATTR_PERMITTED },
745  { "expectedContainers", SUMO_ATTR_EXPECTED_CONTAINERS },
746  { "index", SUMO_ATTR_INDEX },
747 
748  { "entering", SUMO_ATTR_ENTERING },
749  { "excludeEmpty", SUMO_ATTR_EXCLUDE_EMPTY },
750  { "withInternal", SUMO_ATTR_WITH_INTERNAL },
751  { "trackVehicles", SUMO_ATTR_TRACK_VEHICLES },
752  { "detectPersons", SUMO_ATTR_DETECT_PERSONS },
753  { "maxTraveltime", SUMO_ATTR_MAX_TRAVELTIME },
754  { "minSamples", SUMO_ATTR_MIN_SAMPLES },
755  { "writeAttributes", SUMO_ATTR_WRITE_ATTRIBUTES },
756 
757  { "lon", SUMO_ATTR_LON },
758  { "lat", SUMO_ATTR_LAT },
759  { "geo", SUMO_ATTR_GEO },
760  { "geoShape", SUMO_ATTR_GEOSHAPE },
761  { "k", SUMO_ATTR_K },
762  { "v", SUMO_ATTR_V },
763  { "ref", SUMO_ATTR_REF },
764  { "href", SUMO_ATTR_HREF },
765  { "zoom", SUMO_ATTR_ZOOM },
766  { "interpolated", SUMO_ATTR_INTERPOLATED },
767  { "threshold", SUMO_ATTR_THRESHOLD },
768 
769  { "netOffset", SUMO_ATTR_NET_OFFSET },
770  { "convBoundary", SUMO_ATTR_CONV_BOUNDARY },
771  { "origBoundary", SUMO_ATTR_ORIG_BOUNDARY },
772  { "projParameter", SUMO_ATTR_ORIG_PROJ },
773 
774  { "tauLast", SUMO_ATTR_CF_PWAGNER2009_TAULAST },
775  { "apProb", SUMO_ATTR_CF_PWAGNER2009_APPROB },
776  { "delta", SUMO_ATTR_CF_IDM_DELTA },
777  { "stepping", SUMO_ATTR_CF_IDM_STEPPING },
778  { "adaptFactor", SUMO_ATTR_CF_IDMM_ADAPT_FACTOR },
779  { "adaptTime", SUMO_ATTR_CF_IDMM_ADAPT_TIME },
780  { "phi", SUMO_ATTR_CF_KERNER_PHI },
781 
782  { "security", SUMO_ATTR_CF_WIEDEMANN_SECURITY },
783  { "estimation", SUMO_ATTR_CF_WIEDEMANN_ESTIMATION },
784  { "cc1", SUMO_ATTR_CF_W99_CC1 },
785  { "cc2", SUMO_ATTR_CF_W99_CC2 },
786  { "cc3", SUMO_ATTR_CF_W99_CC3 },
787  { "cc4", SUMO_ATTR_CF_W99_CC4 },
788  { "cc5", SUMO_ATTR_CF_W99_CC5 },
789  { "cc6", SUMO_ATTR_CF_W99_CC6 },
790  { "cc7", SUMO_ATTR_CF_W99_CC7 },
791  { "cc8", SUMO_ATTR_CF_W99_CC8 },
792  { "cc9", SUMO_ATTR_CF_W99_CC9 },
793 
794  { "ccDecel", SUMO_ATTR_CF_CC_CCDECEL },
795  { "constSpacing", SUMO_ATTR_CF_CC_CONSTSPACING },
796  { "kp", SUMO_ATTR_CF_CC_KP },
797  { "lambda", SUMO_ATTR_CF_CC_LAMBDA },
798  { "c1", SUMO_ATTR_CF_CC_C1 },
799  { "xi", SUMO_ATTR_CF_CC_XI },
800  { "omegaN", SUMO_ATTR_CF_CC_OMEGAN },
801  { "tauEngine", SUMO_ATTR_CF_CC_TAU },
802  { "lanesCount", SUMO_ATTR_CF_CC_LANES_COUNT },
803  { "ccAccel", SUMO_ATTR_CF_CC_CCACCEL },
804  { "ploegKp", SUMO_ATTR_CF_CC_PLOEG_KP },
805  { "ploegKd", SUMO_ATTR_CF_CC_PLOEG_KD },
806  { "ploegH", SUMO_ATTR_CF_CC_PLOEG_H },
807  { "flatbedKa", SUMO_ATTR_CF_CC_FLATBED_KA },
808  { "flatbedKv", SUMO_ATTR_CF_CC_FLATBED_KV },
809  { "flatbedKp", SUMO_ATTR_CF_CC_FLATBED_KP },
810  { "flatbedD", SUMO_ATTR_CF_CC_FLATBED_D },
811  { "flatbedH", SUMO_ATTR_CF_CC_FLATBED_H },
812 
813  { "generateWalks", SUMO_ATTR_GENERATE_WALKS },
814  { "actType", SUMO_ATTR_ACTTYPE },
815  { "junctionCornerDetail", SUMO_ATTR_CORNERDETAIL },
816  { "junctionLinkDetail", SUMO_ATTR_LINKDETAIL },
817  { "rectangularLaneCut", SUMO_ATTR_RECTANGULAR_LANE_CUT },
818  { "walkingareas", SUMO_ATTR_WALKINGAREAS },
819  { "lefthand", SUMO_ATTR_LEFTHAND },
820  { "limitTurnSpeed", SUMO_ATTR_LIMIT_TURN_SPEED },
821  { "checkLaneFoesAll", SUMO_ATTR_CHECKLANEFOES_ALL },
822  { "checkLaneFoesRoundabout", SUMO_ATTR_CHECKLANEFOES_ROUNDABOUT },
823  { "tlsIgnoreInternalJunctionJam", SUMO_ATTR_TLS_IGNORE_INTERNAL_JUNCTION_JAM },
824  { "avoidOverlap", SUMO_ATTR_AVOID_OVERLAP },
825  { "junctionHigherSpeed", SUMO_ATTR_HIGHER_SPEED },
826  { "internalJunctionsVehicleWidth", SUMO_ATTR_INTERNAL_JUNCTIONS_VEHICLE_WIDTH },
827 
828  { "actorConfig", SUMO_ATTR_ACTORCONFIG },
829  { "startTime", SUMO_ATTR_STARTTIME },
830  { "vehicleClass", SUMO_ATTR_VEHICLECLASS },
831  { "fuel", SUMO_ATTR_FUEL },
832  { "origin", SUMO_ATTR_ORIGIN },
833  { "destination", SUMO_ATTR_DESTINATION },
834  { "visible", SUMO_ATTR_VISIBLE },
835  { "limit", SUMO_ATTR_LIMIT },
836  { "arrivalTime", SUMO_ATTR_ARRIVALTIME },
837  { "arrivalTimeBraking", SUMO_ATTR_ARRIVALTIMEBRAKING },
838  { "arrivalSpeedBraking", SUMO_ATTR_ARRIVALSPEEDBRAKING },
839 
840 #ifndef WIN32
841  { "commandPosix", SUMO_ATTR_COMMAND },
842 #else
843  { "commandWindows", SUMO_ATTR_COMMAND },
844 #endif
845 
846  // ActivityGen statistics file
847  { "inhabitants", AGEN_ATTR_INHABITANTS },
848  { "households", AGEN_ATTR_HOUSEHOLDS },
849  { "childrenAgeLimit", AGEN_ATTR_CHILDREN },
850  { "retirementAgeLimit", AGEN_ATTR_RETIREMENT },
851  { "carRate", AGEN_ATTR_CARS },
852  { "unemploymentRate", AGEN_ATTR_UNEMPLOYEMENT },
853  { "laborDemand", AGEN_ATTR_LABORDEMAND },
854  { "footDistanceLimit", AGEN_ATTR_MAX_FOOT_DIST },
855  { "incomingTraffic", AGEN_ATTR_IN_TRAFFIC },
856  { "incoming", AGEN_ATTR_INCOMING },
857  { "outgoingTraffic", AGEN_ATTR_OUT_TRAFFIC },
858  { "outgoing", AGEN_ATTR_OUTGOING },
859  { "population", AGEN_ATTR_POPULATION },
860  { "workPosition", AGEN_ATTR_OUT_WORKPOSITION },
861  { "hour", AGEN_ATTR_HOUR },
862  { "proportion", AGEN_ATTR_PROP },
863  { "capacity", AGEN_ATTR_CAPACITY },
864  { "opening", AGEN_ATTR_OPENING },
865  { "closing", AGEN_ATTR_CLOSING },
866  { "maxTripDuration", AGEN_ATTR_MAX_TRIP_DURATION },
867  { "rate", AGEN_ATTR_RATE },
868  { "beginAge", AGEN_ATTR_BEGINAGE },
869  { "endAge", AGEN_ATTR_ENDAGE },
870  { "peopleNbr", AGEN_ATTR_PEOPLENBR },
871  { "carPreference", AGEN_ATTR_CARPREF },
872  { "meanTimePerKmInCity", AGEN_ATTR_CITYSPEED },
873  { "freeTimeActivityRate", AGEN_ATTR_FREETIMERATE },
874  { "uniformRandomTraffic", AGEN_ATTR_UNI_RAND_TRAFFIC },
875  { "departureVariation", AGEN_ATTR_DEP_VARIATION },
876 
877  // NETEDIT Attributes
878  { "selected", GNE_ATTR_SELECTED },
879  { "modificationStatusNotForPrinting", GNE_ATTR_MODIFICATION_STATUS },
880  { "shapeStart", GNE_ATTR_SHAPE_START },
881  { "shapeEnd", GNE_ATTR_SHAPE_END },
882  { "bidiRail", GNE_ATTR_BIDIR },
883  { "closedShape", GNE_ATTR_CLOSE_SHAPE },
884  { "parentItem", GNE_ATTR_PARENT },
885  { "dataSet", GNE_ATTR_DATASET },
886  { "genericParameter", GNE_ATTR_PARAMETERS },
887  { "flowParameter", GNE_ATTR_FLOWPARAMETERS },
888  { "defaultVTypeModified", GNE_ATTR_DEFAULT_VTYPE_MODIFIED },
889  { "centerAfterCreation", GNE_ATTR_CENTER_AFTER_CREATION },
890  { "toBusStop", GNE_ATTR_TO_BUSSTOP },
891  { "toContainerStop", GNE_ATTR_TO_CONTAINERSTOP },
892  { "opposite", GNE_ATTR_OPPOSITE },
893  { "shiftLaneIndex", GNE_ATTR_SHIFTLANEINDEX },
894  { "stopOffset", GNE_ATTR_STOPOFFSET },
895  { "stopOException", GNE_ATTR_STOPOEXCEPTION },
896  { "VTypeDist.", GNE_ATTR_VTYPE_DISTRIBUTION },
897 
898  { "carriageLength", SUMO_ATTR_CARRIAGE_LENGTH },
899  { "locomotiveLength", SUMO_ATTR_LOCOMOTIVE_LENGTH },
900  { "carriageGap", SUMO_ATTR_CARRIAGE_GAP },
901 
902  { "targetLanes", SUMO_ATTR_TARGETLANE },
903  { "crossing", SUMO_ATTR_CROSSING },
904 
905  { "xmlns:xsi", SUMO_ATTR_XMLNS },
906  { "xsi:noNamespaceSchemaLocation", SUMO_ATTR_SCHEMA_LOCATION },
907 
908  //@name RNG state saving attributes
909  // @{
910  { "routeHandler", SUMO_ATTR_RNG_ROUTEHANDLER },
911  { "insertionControl", SUMO_ATTR_RNG_INSERTIONCONTROL },
912  { "device", SUMO_ATTR_RNG_DEVICE },
913  { "device.btreceiver", SUMO_ATTR_RNG_DEVICE_BT },
914  { "device.toc", SUMO_ATTR_RNG_DEVICE_TOC },
915  { "driverState", SUMO_ATTR_RNG_DRIVERSTATE },
916  // @}
917 
918  //@name meso edge type attributes
919  // @{
920  { "tauff", SUMO_ATTR_MESO_TAUFF },
921  { "taufj", SUMO_ATTR_MESO_TAUFJ },
922  { "taujf", SUMO_ATTR_MESO_TAUJF },
923  { "taujj", SUMO_ATTR_MESO_TAUJJ },
924  { "junctionControl", SUMO_ATTR_MESO_JUNCTION_CONTROL },
925  { "tlsPenalty", SUMO_ATTR_MESO_TLS_PENALTY },
926  { "tlsFlowPenalty", SUMO_ATTR_MESO_TLS_FLOW_PENALTY },
927  { "minorPenalty", SUMO_ATTR_MESO_MINOR_PENALTY },
928  { "overtaking", SUMO_ATTR_MESO_OVERTAKING },
929  // @}
930 
931  // Other
932  { "", SUMO_ATTR_NOTHING } //< must be the last one
933 };
934 
935 
936 const std::string SUMO_PARAM_ORIGID("origId");
937 
938 
940  {"traffic_light", SumoXMLNodeType::TRAFFIC_LIGHT},
941  {"traffic_light_unregulated", SumoXMLNodeType::TRAFFIC_LIGHT_NOJUNCTION},
942  {"traffic_light_right_on_red", SumoXMLNodeType::TRAFFIC_LIGHT_RIGHT_ON_RED},
943  {"rail_signal", SumoXMLNodeType::RAIL_SIGNAL},
944  {"rail_crossing", SumoXMLNodeType::RAIL_CROSSING},
945  {"priority", SumoXMLNodeType::PRIORITY},
946  {"priority_stop", SumoXMLNodeType::PRIORITY_STOP},
947  {"right_before_left", SumoXMLNodeType::RIGHT_BEFORE_LEFT},
948  {"allway_stop", SumoXMLNodeType::ALLWAY_STOP},
949  {"zipper", SumoXMLNodeType::ZIPPER},
950  {"district", SumoXMLNodeType::DISTRICT},
951  {"unregulated", SumoXMLNodeType::NOJUNCTION},
952  {"internal", SumoXMLNodeType::INTERNAL},
953  {"dead_end", SumoXMLNodeType::DEAD_END},
955  {"unknown", SumoXMLNodeType::UNKNOWN} //< must be the last one
956 };
957 
958 
960  {"unknown", SumoXMLEdgeFunc::UNKNOWN},
961  {"normal", SumoXMLEdgeFunc::NORMAL},
962  {"connector", SumoXMLEdgeFunc::CONNECTOR},
963  {"crossing", SumoXMLEdgeFunc::CROSSING},
964  {"walkingarea", SumoXMLEdgeFunc::WALKINGAREA},
965  {"internal", SumoXMLEdgeFunc::INTERNAL} //< must be the last one
966 };
967 
968 
970  {"right", LaneSpreadFunction::RIGHT }, // default: geometry is left edge border, lanes flare to the right
971  {"roadCenter", LaneSpreadFunction::ROADCENTER }, // geometry is center of the bidirectional road
972  {"center", LaneSpreadFunction::CENTER } // geometry is center of the edge (must be the last one)
973 };
974 
976  {"edgePriority", RightOfWay::EDGEPRIORITY },
977  {"default", RightOfWay::DEFAULT } // default (must be the last one)
978 };
979 
981  {"outer", FringeType::OUTER },
982  {"inner", FringeType::INNER },
983  {"default", FringeType::DEFAULT } // default (must be the last one)
984 };
985 
987  {"none", PersonMode::NONE},
988  {"walkForward", PersonMode::WALK_FORWARD},
989  {"walkBackward", PersonMode::WALK_BACKWARD},
990  {"walk", PersonMode::WALK},
991  {"bicycle", PersonMode::BICYCLE },
992  {"car", PersonMode::CAR },
993  {"taxi", PersonMode::TAXI },
994  {"public", PersonMode::PUBLIC} // (must be the last one)
995 };
996 
998  { "G", LINKSTATE_TL_GREEN_MAJOR },
999  { "g", LINKSTATE_TL_GREEN_MINOR },
1000  { "r", LINKSTATE_TL_RED },
1001  { "u", LINKSTATE_TL_REDYELLOW },
1002  { "Y", LINKSTATE_TL_YELLOW_MAJOR },
1003  { "y", LINKSTATE_TL_YELLOW_MINOR },
1004  { "o", LINKSTATE_TL_OFF_BLINKING },
1005  { "O", LINKSTATE_TL_OFF_NOSIGNAL },
1006  { "M", LINKSTATE_MAJOR },
1007  { "m", LINKSTATE_MINOR },
1008  { "=", LINKSTATE_EQUAL },
1009  { "s", LINKSTATE_STOP },
1010  { "w", LINKSTATE_ALLWAY_STOP },
1011  { "Z", LINKSTATE_ZIPPER },
1012  { "-", LINKSTATE_DEADEND } //< must be the last one
1013 };
1014 
1018  LINKSTATE_STOP, // used for SumoXMLNodeType::TRAFFIC_LIGHT_RIGHT_ON_RED
1025 };
1026 const std::string SUMOXMLDefinitions::ALLOWED_TLS_LINKSTATES(AllowedTLS_linkStatesInitializer, 9);
1027 
1029  { "s", LinkDirection::STRAIGHT },
1030  { "t", LinkDirection::TURN },
1032  { "l", LinkDirection::LEFT },
1033  { "r", LinkDirection::RIGHT },
1034  { "L", LinkDirection::PARTLEFT },
1035  { "R", LinkDirection::PARTRIGHT },
1036  { "invalid", LinkDirection::NODIR } //< must be the last one
1037 };
1038 
1039 
1041  { "static", TrafficLightType::STATIC },
1042  { "railSignal", TrafficLightType::RAIL_SIGNAL },
1043  { "railCrossing", TrafficLightType::RAIL_CROSSING },
1044  { "actuated", TrafficLightType::ACTUATED },
1045  { "NEMA", TrafficLightType::NEMA },
1046  { "delay_based", TrafficLightType::DELAYBASED },
1047  { "sotl_phase", TrafficLightType::SOTL_PHASE },
1048  { "sotl_platoon", TrafficLightType::SOTL_PLATOON },
1049  { "sotl_request", TrafficLightType::SOTL_REQUEST },
1050  { "sotl_wave", TrafficLightType::SOTL_WAVE },
1051  { "sotl_marching", TrafficLightType::SOTL_MARCHING },
1052  { "swarm", TrafficLightType::SWARM_BASED },
1053  { "deterministic", TrafficLightType::HILVL_DETERMINISTIC },
1054  { "off", TrafficLightType::OFF },
1055  { "<invalid>", TrafficLightType::INVALID } //< must be the last one
1056 };
1057 
1058 
1060  { "opposites", TrafficLightLayout::OPPOSITES },
1061  { "incoming", TrafficLightLayout::INCOMING },
1062  { "alternateOneWay", TrafficLightLayout::ALTERNATE_ONEWAY },
1063  { "", TrafficLightLayout::DEFAULT } //< must be the last one
1064 };
1065 
1066 
1068  { "DK2008", LaneChangeModel::DK2008 },
1069  { "LC2013", LaneChangeModel::LC2013 },
1070  { "SL2015", LaneChangeModel::SL2015 },
1071  { "default", LaneChangeModel::DEFAULT } //< must be the last one
1072 };
1073 
1075  { "IDM", SUMO_TAG_CF_IDM },
1076  { "IDMM", SUMO_TAG_CF_IDMM },
1077  { "Krauss", SUMO_TAG_CF_KRAUSS },
1078  { "KraussPS", SUMO_TAG_CF_KRAUSS_PLUS_SLOPE },
1079  { "KraussOrig1", SUMO_TAG_CF_KRAUSS_ORIG1 },
1080  { "KraussX", SUMO_TAG_CF_KRAUSSX }, // experimental extensions to the Krauss model
1081  { "EIDM", SUMO_TAG_CF_EIDM },
1082  { "SmartSK", SUMO_TAG_CF_SMART_SK },
1083  { "Daniel1", SUMO_TAG_CF_DANIEL1 },
1084  { "PWagner2009", SUMO_TAG_CF_PWAGNER2009 },
1085  { "BKerner", SUMO_TAG_CF_BKERNER },
1086  { "Rail", SUMO_TAG_CF_RAIL },
1087  { "CC", SUMO_TAG_CF_CC },
1088  { "ACC", SUMO_TAG_CF_ACC },
1089  { "CACC", SUMO_TAG_CF_CACC },
1090  { "W99", SUMO_TAG_CF_W99 },
1091  { "Wiedemann", SUMO_TAG_CF_WIEDEMANN } //< must be the last one
1092 };
1093 
1095  { "stay", LCA_STAY },
1096  { "left", LCA_LEFT },
1097  { "right", LCA_RIGHT },
1098  { "strategic", LCA_STRATEGIC },
1099  { "cooperative", LCA_COOPERATIVE },
1100  { "speedGain", LCA_SPEEDGAIN },
1101  { "keepRight", LCA_KEEPRIGHT },
1102  { "sublane", LCA_SUBLANE },
1103  { "traci", LCA_TRACI },
1104  { "urgent", LCA_URGENT },
1105  { "overlapping", LCA_OVERLAPPING },
1106  { "blocked", LCA_BLOCKED },
1107  { "amBL", LCA_AMBLOCKINGLEADER },
1108  { "amBF", LCA_AMBLOCKINGFOLLOWER },
1109  { "amBB", LCA_AMBACKBLOCKER },
1110  { "amBBS", LCA_AMBACKBLOCKER_STANDING },
1111  { "MR", LCA_MRIGHT },
1112  { "ML", LCA_MLEFT },
1113 
1114  { "unknown", LCA_UNKNOWN } //< must be the last one
1115 };
1116 
1118  { "NGT400", TrainType::NGT400 },
1119  { "NGT400_16", TrainType::NGT400_16 },
1120  { "RB425", TrainType::RB425 },
1121  { "RB628", TrainType::RB628 },
1122  { "ICE1", TrainType::ICE1 },
1123  { "REDosto7", TrainType::REDOSTO7 },
1124  { "Freight", TrainType::FREIGHT },
1125  { "ICE3", TrainType::ICE3 }
1126 };
1127 
1128 
1131 
1134 
1137 
1140 
1143 
1146 
1149 
1152 
1155 
1158 
1161 
1164 
1167 
1170 
1173 
1176 
1177 
1178 std::string
1179 SUMOXMLDefinitions::getJunctionIDFromInternalEdge(const std::string internalEdge) {
1180  assert(internalEdge[0] == ':');
1181  return internalEdge.substr(1, internalEdge.rfind('_') - 1);
1182 }
1183 
1184 
1185 std::string
1186 SUMOXMLDefinitions::getEdgeIDFromLane(const std::string laneID) {
1187  return laneID.substr(0, laneID.rfind('_'));
1188 }
1189 
1190 int
1191 SUMOXMLDefinitions::getIndexFromLane(const std::string laneID) {
1192  return StringUtils::toInt(laneID.substr(laneID.rfind('_') + 1));
1193 }
1194 
1195 
1196 bool
1197 SUMOXMLDefinitions::isValidNetID(const std::string& value) {
1198  return (value.size() > 0) && value.find_first_of(" \t\n\r|\\'\";,:!<>&*?") == std::string::npos;
1199 }
1200 
1201 
1202 bool
1203 SUMOXMLDefinitions::isValidVehicleID(const std::string& value) {
1204  return (value.size() > 0) && value.find_first_of(" \t\n\r|\\'\";,!<>&*?") == std::string::npos;
1205 }
1206 
1207 
1208 bool
1209 SUMOXMLDefinitions::isValidTypeID(const std::string& value) {
1210  return (value.size() > 0) && value.find_first_of(" \t\n\r|\\'\";,<>&*?") == std::string::npos;
1211 }
1212 
1213 bool
1214 SUMOXMLDefinitions::isValidAdditionalID(const std::string& value) {
1215  return (value.size() > 0) && value.find_first_of(" \t\n\r|\\'\";,!<>&*?") == std::string::npos;
1216 }
1217 
1218 bool
1219 SUMOXMLDefinitions::isValidDetectorID(const std::string& value) {
1220  // special case: ' ' allowed
1221  return (value.size() > 0) && value.find_first_of("\t\n\r|\\'\";,!<>&*?") == std::string::npos;
1222 }
1223 
1224 bool
1225 SUMOXMLDefinitions::isValidAttribute(const std::string& value) {
1226  return value.find_first_of("\t\n\r&|\\'\"<>") == std::string::npos;
1227 }
1228 
1229 
1230 bool
1231 SUMOXMLDefinitions::isValidFilename(const std::string& value) {
1232  return (value.find_first_of("\t\n\r@$%^&|{}*'\";<>") == std::string::npos);
1233 }
1234 
1235 
1236 bool
1237 SUMOXMLDefinitions::isValidListOfNetIDs(const std::string& value) {
1238  const std::vector<std::string>& typeIDs = StringTokenizer(value).getVector();
1239  if (typeIDs.empty()) {
1240  return false;
1241  } else {
1242  // check that gives IDs are valid
1243  for (auto i : typeIDs) {
1245  return false;
1246  }
1247  }
1248  return true;
1249  }
1250 }
1251 
1252 
1253 bool
1254 SUMOXMLDefinitions::isValidListOfTypeID(const std::string& value) {
1255  return isValidListOfTypeID(StringTokenizer(value).getVector());
1256 }
1257 
1258 
1259 bool
1260 SUMOXMLDefinitions::isValidListOfTypeID(const std::vector<std::string>& typeIDs) {
1261  if (typeIDs.empty()) {
1262  return false;
1263  } else {
1264  // check that gives IDs are valid
1265  for (const auto& typeID : typeIDs) {
1266  if (!SUMOXMLDefinitions::isValidTypeID(typeID)) {
1267  return false;
1268  }
1269  }
1270  return true;
1271  }
1272 }
1273 
1274 
1275 bool
1276 SUMOXMLDefinitions::isValidParameterKey(const std::string& value) {
1277  // Generic parameters keys cannot be empty
1278  if (value.empty()) {
1279  return false;
1280  } else {
1281  return isValidAttribute(value);
1282  }
1283 }
1284 
1285 /****************************************************************************/
const std::string SUMO_PARAM_ORIGID("origId")
@ GNE_TAG_TRIP_JUNCTIONS
a trip between junctions (used in NETEDIT)
@ SUMO_TAG_TRACTION_SUBSTATION
A traction substation.
@ SUMO_TAG_PHASE
a single phase description
@ SUMO_TAG_INCLUDE
@ SUMO_TAG_RAILSIGNAL_CONSTRAINTS
Constraints on switching a rail signal.
@ SUMO_TAG_MEMBER
@ SUMO_TAG_LINK
Link information for state-saving.
@ SUMO_TAG_INTERVAL
an aggreagated-output interval
@ SUMO_TAG_CLOSING_REROUTE
reroute of type closing
@ SUMO_TAG_TRANSPORTABLES
@ SUMO_TAG_TRIP_TAZ
a single trip definition that uses TAZs (used in NETEDIT)
@ SUMO_TAG_NET
root element of a network file
@ SUMO_TAG_STOP_CONTAINERSTOP
stop placed over a containerStop (used in netedit)
@ GNE_TAG_PERSONTRIP_JUNCTIONS
@ SUMO_TAG_APPROACHING
Link-approaching vehicle information for state-saving.
@ SUMO_TAG_REROUTER
A rerouter.
@ AGEN_TAG_CITYGATES
city entrances
@ SUMO_TAG_EDGEREL
a relation between two edges
@ AGEN_TAG_STATION
station for a certain vehicle
@ SUMO_TAG_ROUTES
root element of a route file
@ SUMO_TAG_INSERTION_PREDECESSOR
Predecessor constraint on insertion before rail signal.
@ SUMO_TAG_DATAINTERVAL
@ SUMO_TAG_STOPOFFSET
Information on vClass specific stop offsets at lane end.
@ AGEN_TAG_STREET
streets object
@ SUMO_TAG_WAUT_JUNCTION
@ SUMO_TAG_REQUEST
description of a logic request within the junction
@ SUMO_TAG_WAUT_SWITCH
@ SUMO_TAG_ROUTEPROBE
a routeprobe detector
@ GNE_TAG_TRANSPORT_CONTAINERSTOP
@ SUMO_TAG_CF_KRAUSS
@ SUMO_TAG_CF_BKERNER
@ SUMO_TAG_JOINEXCLUDE
join exlude operation
@ SUMO_TAG_DEVICE
@ SUMO_TAG_CF_KRAUSSX
@ SUMO_TAG_TAZ
a traffic assignment zone
@ AGEN_TAG_BRACKET
alternative definition for Population
@ SUMO_TAG_TIMEDEVENT
The definition of a periodic event.
@ SUMO_TAG_CF_CACC
@ AGEN_TAG_FREQUENCY
frequency of a object
@ SUMO_TAG_E2DETECTOR
an e2 detector
@ SUMO_TAG_CHARGING_STATION
A Charging Station.
@ SUMO_TAG_VTYPE
description of a vehicle/person/container type
@ SUMO_TAG_ACCESS
An access point for a train stop.
@ SUMO_TAG_TIMESTEP
@ SUMO_TAG_WALK
@ GNE_TAG_PERSONTRIP_BUSSTOP
@ SUMO_TAG_NOTHING
invalid tag
@ SUMO_TAG_CF_CC
@ SUMO_TAG_VIEWSETTINGS_POIS
@ SUMO_TAG_CONDITION
a condition for phase switching
@ SUMO_TAG_TRANSHIP
@ GNE_TAG_WALK_EDGES
@ SUMO_TAG_PT_LINE
A pt line.
@ SUMO_TAG_CONTAINER_STOP
A container stop.
@ SUMO_TAG_CONTAINERFLOW
@ SUMO_TAG_PARKING_AREA_REROUTE
entry for an alternative parking zone
@ SUMO_TAG_ROOTFILE
root file
@ AGEN_TAG_SCHOOL
schools object
@ SUMO_TAG_RNGLANE
@ SUMO_TAG_COLORSCHEME
@ SUMO_TAG_STOP_CHARGINGSTATION
stop placed over a charging station (used in netedit)
@ SUMO_TAG_CF_KRAUSS_PLUS_SLOPE
@ SUMO_TAG_TAZSINK
a sink within a district (connection road)
@ SUMO_TAG_STOP_LANE
stop placed over a lane (used in netedit)
@ GNE_TAG_STOPCONTAINER_EDGE
@ SUMO_TAG_CF_IDM
@ SUMO_TAG_BUS_STOP
A bus stop.
@ SUMO_TAG_POI
begin/end of the description of a Point of interest
@ GNE_TAG_FLOW_CALIBRATOR
a flow definition within in Calibrator
@ SUMO_TAG_LANECALIBRATOR
A calibrator placed over lane (used in netedit)
@ SUMO_TAG_FLOWSTATE
a flow state definition (used when saving and loading simulatino state)
@ GNE_TAG_STOPPERSON_BUSSTOP
@ SUMO_TAG_MESO
edge-specific meso settings
@ GNE_TAG_INTERNAL_LANE
@ SUMO_TAG_CF_W99
@ SUMO_TAG_CF_RAIL
@ SUMO_TAG_STOP
stop for vehicles
@ SUMO_TAG_MEANDATA_LANE
a lane based mean data detector
@ SUMO_TAG_STEP
trigger: a step description
@ SUMO_TAG_PROHIBITION
prohibition of circulation between two edges
@ AGEN_TAG_CLOSING
closing for workingHours object
@ SUMO_TAG_VEHICLE
description of a vehicle
@ SUMO_TAG_LOCATION
@ SUMO_TAG_VIEWSETTINGS_BACKGROUND
@ AGEN_TAG_POPULATION
population and children accompaniment brackets
@ GNE_TAG_FLOW_ROUTE
a flow definition using a route instead of a from-to edges route (used in NETEDIT)
@ SUMO_TAG_ROUTE_DISTRIBUTION
distribution of a route
@ SUMO_TAG_VIEWSETTINGS_LEGEND
@ AGEN_TAG_REV_STATIONS
rev stations for certain vehicles
@ SUMO_TAG_CF_SMART_SK
@ SUMO_TAG_RESTRICTION
begin/end of the description of an edge restriction
@ SUMO_TAG_OVERHEAD_WIRE_CLAMP
An overhead wire clamp (connection of wires in opposite directions)
@ SUMO_TAG_RAILSIGNAL_CONSTRAINT_TRACKER
Saved state for constraint tracker.
@ SUMO_TAG_RNGSTATE
@ SUMO_TAG_CF_EIDM
@ SUMO_TAG_OD_PAIR
@ GNE_TAG_VSS_SYMBOL
VSS Symbol.
@ SUMO_TAG_ENTRY
@ AGEN_TAG_WORKHOURS
workingHours object
@ GNE_TAG_FLOW_JUNCTIONS
a flow between junctions (used in NETEDIT)
@ SUMO_TAG_CF_PWAGNER2009
@ SUMO_TAG_CF_KRAUSS_ORIG1
@ GNE_TAG_POIGEO
Point of interest over view with GEO attributes.
@ SUMO_TAG_VIEWSETTINGS_EVENT
@ SUMO_TAG_TOEDGE
Outgoing edge specification (jtrrouter)
@ GNE_TAG_TRANSHIP_EDGES
@ SUMO_TAG_LANETYPE
lane type
@ SUMO_TAG_CF_WIEDEMANN
@ GNE_TAG_STOPCONTAINER_CONTAINERSTOP
@ GNE_TAG_FLOW_WITHROUTE
description of a vehicle with an embedded route (used in NETEDIT)
@ SUMO_TAG_JOIN
Join operation.
@ SUMO_TAG_FLOW
a flow definitio nusing a from-to edges instead of a route (used by router)
@ SUMO_TAG_DELAY
@ SUMO_TAG_CONNECTION
connectio between two lanes
@ SUMO_TAG_PARKING_AREA
A parking area.
@ AGEN_TAG_SCHOOLS
school object
@ AGEN_TAG_STATIONS
stations for certain vehicles
@ SUMO_TAG_TRANSPORT
@ SUMO_TAG_ND
@ SUMO_TAG_ROUNDABOUT
roundabout defined in junction
@ AGEN_TAG_OPENING
opening for workingHours object
@ SUMO_TAG_WALKINGAREA
walking area for pedestrians
@ SUMO_TAG_ROUTE_PROB_REROUTE
probability of route of a reroute
@ SUMO_TAG_DET_ENTRY
an e3 entry point
@ GNE_TAG_E2DETECTOR_MULTILANE
an e2 detector over multiple lanes (placed here due create Additional Frame)
@ SUMO_TAG_VIEWSETTINGS_OPENGL
@ SUMO_TAG_TLLOGIC
a traffic light logic
@ SUMO_TAG_SCALINGSCHEME
@ SUMO_TAG_VIEWSETTINGS_ADDITIONALS
@ SUMO_TAG_PARKING_SPACE
A parking space for a single vehicle within a parking area.
@ SUMO_TAG_TRAJECTORIES
@ SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME
@ AGEN_TAG_GENERAL
ActivityGen Tags.
@ SUMO_TAG_CONTAINER
@ SUMO_TAG_JUNCTION
begin/end of the description of a junction
@ SUMO_TAG_MOTIONSTATE
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
@ SUMO_TAG_VIEWSETTINGS_PERSONS
@ GNE_TAG_WALK_BUSSTOP
@ SUMO_TAG_VIEWSETTINGS_JUNCTIONS
@ SUMO_TAG_WAY
@ SUMO_TAG_EDGEFOLLOWDETECTOR
An edge-following detector.
@ SUMO_TAG_VIEWSETTINGS_VEHICLES
@ SUMO_TAG_ROUTE
begin/end of the description of a route
@ SUMO_TAG_MEANDATA_EDGE
an edge based mean data detector
@ SUMO_TAG_POLY
begin/end of the description of a polygon
@ SUMO_TAG_RIDE
@ SUMO_TAG_FROMEDGE
Incoming edge specification (jtrrouter)
@ SUMO_TAG_OVERHEAD_WIRE_SECTION
An overhead wire section.
@ SUMO_TAG_SINK
Sink(s) specification.
@ SUMO_TAG_VTYPEPROBE
a vtypeprobe detector
@ SUMO_TAG_SNAPSHOT
@ SUMO_TAG_TRAIN_STOP
A train stop (alias for bus stop)
@ SUMO_TAG_SOURCE
a source
@ GNE_TAG_RIDE_EDGE
@ SUMO_TAG_VIEWSETTINGS_EDGES
@ SUMO_TAG_OVERHEAD_WIRE_SEGMENT
An overhead wire segment.
@ SUMO_TAG_STOP_BUSSTOP
stop placed over a busStop (used in netedit)
@ SUMO_TAG_VTYPE_DISTRIBUTION
distribution of a vehicle type
@ SUMO_TAG_NODE
alternative definition for junction
@ SUMO_TAG_LANE
begin/end of the description of a single lane
@ GNE_TAG_TRANSHIP_EDGE
@ SUMO_TAG_INSTANT_INDUCTION_LOOP
An instantenous induction loop.
@ GNE_TAG_WALK_JUNCTIONS
@ SUMO_TAG_BREAKPOINT
@ GNE_TAG_VEHICLE_WITHROUTE
description of a vehicle with an embedded route (used in NETEDIT)
@ SUMO_TAG_DEST_PROB_REROUTE
probability of destiny of a reroute
@ GNE_TAG_POILANE
Point of interest over Lane.
@ SUMO_TAG_DATASET
@ SUMO_TAG_VIEWSETTINGS_DECAL
@ SUMO_TAG_SEGMENT
segment of a lane
@ SUMO_TAG_PARAM
parameter associated to a certain key
@ SUMO_TAG_E1DETECTOR
an e1 detector
@ AGEN_TAG_ENTRANCE
alternative definition for city entrances
@ SUMO_TAG_VIEWSETTINGS_SCHEME
@ SUMO_TAG_PERSON
@ SUMO_TAG_DET_EXIT
an e3 exit point
@ SUMO_TAG_PERSONTRIP
@ SUMO_TAG_TYPE
type (edge)
@ SUMO_TAG_POLYTYPE
type of polygon
@ SUMO_TAG_TIMESLICE
@ SUMO_TAG_VAPORIZER
vaporizer of vehicles
@ SUMO_TAG_LANE_AREA_DETECTOR
alternative tag for e2 detector
@ GNE_TAG_REROUTER_SYMBOL
Rerouter Symbol.
@ SUMO_TAG_STOP_PARKINGAREA
stop placed over a parking area (used in netedit)
@ SUMO_TAG_WAUT
@ SUMO_TAG_ACTORCONFIG
@ AGEN_TAG_PARAM
parameters
@ SUMO_TAG_VEHICLETRANSFER
@ SUMO_TAG_TAZREL
a relation between two TAZs
@ GNE_TAG_WALK_EDGE
@ SUMO_TAG_DETECTOR_DEFINITION
definition of a detector
@ SUMO_TAG_TAZSOURCE
a source within a district (connection road)
@ SUMO_TAG_CLOSING_LANE_REROUTE
lane of a reroute of type closing
@ SUMO_TAG_RELATION
@ GNE_TAG_PERSONTRIP_EDGE
@ AGEN_TAG_BUSSTATION
busStation and bus objects
@ GNE_TAG_ROUTE_EMBEDDED
embedded route (used in NETEDIT)
@ SUMO_TAG_NEIGH
begin/end of the description of a neighboring lane
@ SUMO_TAG_CF_IDMM
@ SUMO_TAG_INDUCTION_LOOP
alternative tag for e1 detector
@ SUMO_TAG_TRAFFIC_LIGHT
a traffic light
@ AGEN_TAG_BUSLINE
bus line
@ SUMO_TAG_VIEWSETTINGS
@ GNE_TAG_RIDE_BUSSTOP
@ SUMO_TAG_CALIBRATOR
A calibrator placed over edge.
@ SUMO_TAG_VIEWPORT
@ SUMO_TAG_ENTRY_EXIT_DETECTOR
alternative tag for e3 detector
@ SUMO_TAG_SPLIT
split something
@ SUMO_TAG_DEL
delete certain element (note: DELETE is a macro)
@ SUMO_TAG_E3DETECTOR
an e3 detector
@ SUMO_TAG_VIEWSETTINGS_LIGHT
@ SUMO_TAG_VSS
A variable speed sign.
@ GNE_TAG_STOPPERSON_EDGE
@ SUMO_TAG_VIEWSETTINGS_POLYS
@ SUMO_TAG_CF_DANIEL1
@ GNE_TAG_WALK_ROUTE
@ SUMO_TAG_PREDECESSOR
Predecessor constraint on switching a rail signal.
@ SUMO_TAG_VIEWSETTINGS_CONTAINERS
@ SUMO_TAG_PERSONFLOW
@ SUMO_TAG_TRIP
a single trip definition (used by router)
@ SUMO_TAG_TAG
@ GNE_TAG_TRANSHIP_CONTAINERSTOP
@ SUMO_TAG_CF_ACC
@ SUMO_TAG_EDGE
begin/end of the description of an edge
@ GNE_TAG_TRANSPORT_EDGE
@ PARTLEFT
The link is a partial left direction.
@ RIGHT
The link is a (hard) right direction.
@ TURN
The link is a 180 degree turn.
@ LEFT
The link is a (hard) left direction.
@ STRAIGHT
The link is a straight direction.
@ TURN_LEFTHAND
The link is a 180 degree turn (left-hand network)
@ PARTRIGHT
The link is a partial right direction.
@ NODIR
The link has no direction (is a dead end link)
@ LINKSTATE_TL_REDYELLOW
The link has red light (must brake) but indicates upcoming green.
@ LINKSTATE_ALLWAY_STOP
This is an uncontrolled, all-way stop link.
@ LINKSTATE_MAJOR
This is an uncontrolled, major link, may pass.
@ LINKSTATE_STOP
This is an uncontrolled, minor link, has to stop.
@ LINKSTATE_TL_YELLOW_MAJOR
The link has yellow light, may pass.
@ LINKSTATE_TL_GREEN_MAJOR
The link has green light, may pass.
@ LINKSTATE_EQUAL
This is an uncontrolled, right-before-left link.
@ LINKSTATE_DEADEND
This is a dead end link.
@ LINKSTATE_ZIPPER
This is an uncontrolled, zipper-merge link.
@ LINKSTATE_TL_OFF_BLINKING
The link is controlled by a tls which is off and blinks, has to brake.
@ LINKSTATE_TL_YELLOW_MINOR
The link has yellow light, has to brake anyway.
@ LINKSTATE_TL_RED
The link has red light (must brake)
@ LINKSTATE_TL_GREEN_MINOR
The link has green light, has to brake.
@ LINKSTATE_MINOR
This is an uncontrolled, minor link, has to brake.
@ LINKSTATE_TL_OFF_NOSIGNAL
The link is controlled by a tls which is off, not blinking, may pass.
@ LCA_KEEPRIGHT
The action is due to the default of keeping right "Rechtsfahrgebot".
@ LCA_UNKNOWN
The action has not been determined.
@ LCA_BLOCKED
blocked in all directions
@ LCA_URGENT
The action is urgent (to be defined by lc-model)
@ LCA_STAY
Needs to stay on the current lane.
@ LCA_SUBLANE
used by the sublane model
@ LCA_AMBACKBLOCKER
@ LCA_AMBLOCKINGLEADER
@ LCA_COOPERATIVE
The action is done to help someone else.
@ LCA_OVERLAPPING
The vehicle is blocked being overlapping.
@ LCA_LEFT
Wants go to the left.
@ LCA_MRIGHT
@ LCA_STRATEGIC
The action is needed to follow the route (navigational lc)
@ LCA_AMBACKBLOCKER_STANDING
@ LCA_TRACI
The action is due to a TraCI request.
@ LCA_SPEEDGAIN
The action is due to the wish to be faster (tactical lc)
@ LCA_RIGHT
Wants go to the right.
@ LCA_MLEFT
@ LCA_AMBLOCKINGFOLLOWER
@ SUMO_ATTR_TMP4
@ SUMO_ATTR_CF_W99_CC9
@ SUMO_ATTR_GCC_GAIN_GAP_DOT_CACC
@ SUMO_ATTR_CF_EIDM_T_ACC_MAX
@ AGEN_ATTR_FREETIMERATE
@ SUMO_ATTR_CONTAINER_TRIGGERED
@ SUMO_ATTR_TRACTIONSUBSTATIONID
@ SUMO_ATTR_PREFER
@ SUMO_ATTR_NOX_ABS
@ SUMO_ATTR_STARTPOS
@ AGEN_ATTR_RETIREMENT
@ SUMO_ATTR_SOURCE
@ SUMO_ATTR_NODE
@ SUMO_ATTR_COSTS
@ SUMO_ATTR_CF_EIDM_EPSILON_ACC
@ SUMO_ATTR_PARKING
@ SUMO_ATTR_EXTENSION
@ SUMO_ATTR_CF_W99_CC5
@ SUMO_ATTR_FUEL_PERVEH
@ SUMO_ATTR_LCA_PUSHY
@ SUMO_ATTR_PARTIALCHARGE
energy provied by charging station at certain timestep
@ SUMO_ATTR_DISALLOW
@ SUMO_ATTR_LINES
@ SUMO_ATTR_CF_CC_FLATBED_KP
@ SUMO_ATTR_CONV_BOUNDARY
@ SUMO_ATTR_LAST
@ SUMO_ATTR_NUMBER
@ SUMO_ATTR_ALLOW
@ SUMO_ATTR_ARRIVALSPEED
@ SUMO_ATTR_AVERAGESPEED
@ SUMO_ATTR_GCC_GAIN_SPEED
@ SUMO_ATTR_LANE
@ SUMO_ATTR_NOISE
MSMeanData_Harmonoise.
@ SUMO_ATTR_NET_OFFSET
@ SUMO_ATTR_GEAREFFICIENCY
Gear efficiency.
@ SUMO_ATTR_EMISSIONCLASS
@ SUMO_ATTR_REMOVE
@ SUMO_ATTR_CONSTRAINTS
@ SUMO_ATTR_JM_IGNORE_FOE_SPEED
@ SUMO_ATTR_ARRIVALLANE
@ SUMO_ATTR_DEPART
@ SUMO_ATTR_CONT
@ SUMO_ATTR_CF_CC_LAMBDA
@ SUMO_ATTR_NODES
a list of node ids, used for controlling joining
@ AGEN_ATTR_DEP_VARIATION
@ SUMO_ATTR_ORIG_BOUNDARY
@ SUMO_ATTR_DEPARTEDGE
@ SUMO_ATTR_CF_CC_FLATBED_D
@ SUMO_ATTR_MESO_TLS_FLOW_PENALTY
@ SUMO_ATTR_LATEST_END
The maximum time within the cycle for switching (for coordinated actuation)
@ SUMO_ATTR_TLLINKINDEX2
link: the index of the opposite direction link of a pedestrian crossing
@ SUMO_ATTR_LON
@ GNE_ATTR_TO_CONTAINERSTOP
to busStop (used by containerPlans)
@ SUMO_ATTR_RNG_INSERTIONCONTROL
@ GNE_ATTR_CENTER_AFTER_CREATION
flag to center camera after element creation
@ SUMO_ATTR_TOTALENERGYCHARGED
@ SUMO_ATTR_MESO_JUNCTION_CONTROL
@ SUMO_ATTR_REFID
@ SUMO_ATTR_HREF
@ SUMO_ATTR_VEHSPERHOUR
@ SUMO_ATTR_VIALONLAT
@ SUMO_ATTR_HC_NORMED
@ SUMO_ATTR_ARRIVALEDGE
@ SUMO_ATTR_RED
red duration of a phase
@ SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME
@ SUMO_ATTR_SPEED
@ SUMO_ATTR_LCA_COOPERATIVE_SPEED
@ SUMO_ATTR_STARTED
@ SUMO_ATTR_LINKDETAIL
@ AGEN_ATTR_LABORDEMAND
@ AGEN_ATTR_CAPACITY
@ SUMO_ATTR_FUEL_NORMED
@ SUMO_ATTR_CO_PERVEH
@ SUMO_ATTR_MAXIMUMPOWER
Maximum Power.
@ SUMO_ATTR_ARRIVALTIME
@ SUMO_ATTR_ENERGYCONSUMED
Energy consumed.
@ GNE_ATTR_STOPOFFSET
stop offset (virtual, used by edge and lanes)
@ SUMO_ATTR_WAITINGTIME
@ SUMO_ATTR_INTERNALBATTERYRESISTANCE
Internal battery resistance.
@ SUMO_ATTR_OVERHEAD_WIRE_SECTION
@ SUMO_ATTR_WIDTHRESOLUTION
@ SUMO_ATTR_VALUE
@ SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD
@ AGEN_ATTR_CHILDREN
@ SUMO_ATTR_ENERGYCHARGEDSTOPPED
Energy charged stopped.
@ SUMO_ATTR_VIA
@ SUMO_ATTR_OVERLAPTRAVELTIME
@ SUMO_ATTR_CF_CC_FLATBED_KA
@ SUMO_ATTR_RNG_DRIVERSTATE
@ SUMO_ATTR_CORNERDETAIL
@ SUMO_ATTR_CF_CC_PLOEG_KP
@ SUMO_ATTR_ELECTRICITY_ABS
@ SUMO_ATTR_THRESHOLD
@ SUMO_ATTR_CF_WIEDEMANN_SECURITY
@ SUMO_ATTR_LCA_ASSERTIVE
@ SUMO_ATTR_RADIUS
The turning radius at an intersection in m.
@ SUMO_ATTR_LCA_LANE_DISCIPLINE
@ SUMO_ATTR_TRAIN_TYPE
@ SUMO_ATTR_FILE
@ SUMO_ATTR_PMX_PERVEH
@ SUMO_ATTR_PROCEDURE
@ SUMO_ATTR_INDIRECT
Whether this connection is an indirect (left) turn.
@ SUMO_ATTR_CONTAINER_STOP
@ SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS
@ SUMO_ATTR_RECTANGULAR_LANE_CUT
@ SUMO_ATTR_PARKING_AREA
@ SUMO_ATTR_VIAXY
@ GNE_ATTR_OPPOSITE
neighboring lane, simplified lane attr instead of child element
@ SUMO_ATTR_Y
@ SUMO_ATTR_CF_IDMM_ADAPT_TIME
@ SUMO_ATTR_SUBSTATIONID
id of a traction substation substation
@ SUMO_ATTR_FROM_LANE
@ SUMO_ATTR_LANE_CHANGE_MODEL
@ SUMO_ATTR_Z
@ SUMO_ATTR_CF_KERNER_PHI
@ SUMO_ATTR_EDGE
@ SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE
@ SUMO_ATTR_GC_GAIN_SPACE
@ SUMO_ATTR_JM_STOPLINE_GAP
@ SUMO_ATTR_FROMJUNCTION
@ SUMO_ATTR_STOPPINGTRESHOLD
Stopping treshold.
@ SUMO_ATTR_JAM_DIST_THRESHOLD
@ SUMO_ATTR_LANECHANGEDFROM
@ SUMO_ATTR_DEPARTPOS_LAT
@ SUMO_ATTR_PARKING_LENGTH
@ SUMO_ATTR_MESO_OVERTAKING
@ SUMO_ATTR_BUS_STOP
@ SUMO_ATTR_CF_EIDM_C_COOLNESS
@ SUMO_ATTR_MAXIMUMTORQUE
Maximum torque.
@ SUMO_ATTR_POSONLANE
Position on lane.
@ SUMO_ATTR_CF_EIDM_SIG_ERROR
@ SUMO_ATTR_TRAIN_STOP
@ SUMO_ATTR_TRACK_VEHICLES
@ SUMO_ATTR_HC_PERVEH
@ SUMO_ATTR_RESPONSE
@ SUMO_ATTR_LCA_PUSHYGAP
@ SUMO_ATTR_ENDPOS
@ SUMO_ATTR_CA_GAIN_GAP_CACC
@ SUMO_ATTR_TARGETLANE
@ SUMO_ATTR_LCA_LOOKAHEADLEFT
@ SUMO_ATTR_LIMIT_TURN_SPEED
@ SUMO_ATTR_CHECKLANEFOES_ROUNDABOUT
@ SUMO_ATTR_APPARENTDECEL
@ SUMO_ATTR_VOLTAGE
voltage of the traction substation [V]
@ GNE_ATTR_FLOWPARAMETERS
flow parameters (integer for mask end, number, etc...)
@ GNE_ATTR_PARENT
parent of an additional element
@ SUMO_ATTR_MAXSPEED_LAT
@ SUMO_ATTR_OFFSET
@ SUMO_ATTR_GC_GAIN_GAP_DOT_CACC
@ SUMO_ATTR_LCA_SPEEDGAIN_PARAM
@ SUMO_ATTR_CO2_NORMED
@ SUMO_ATTR_X
@ SUMO_ATTR_ARRIVALPOS
@ AGEN_ATTR_OUTGOING
@ SUMO_ATTR_SPLIT
@ SUMO_ATTR_TMP3
@ SUMO_ATTR_AVOID_OVERLAP
@ SUMO_ATTR_ACTTYPE
@ SUMO_ATTR_ACTIONSTEPLENGTH
@ SUMO_ATTR_TLLAYOUT
node: the layout of the traffic light program
@ SUMO_ATTR_WAUT_ID
@ SUMO_ATTR_JM_IGNORE_IDS
@ AGEN_ATTR_PEOPLENBR
@ SUMO_ATTR_CENTER_Y
@ SUMO_ATTR_CF_CC_PLOEG_H
@ SUMO_ATTR_MAXIMUMBATTERYCAPACITY
Maxium battery capacity.
@ GNE_ATTR_SELECTED
element is selected
@ SUMO_ATTR_PROBS
@ SUMO_ATTR_STYLE
@ SUMO_ATTR_NOX_NORMED
@ SUMO_ATTR_YELLOW
yellow duration of a phase
@ SUMO_ATTR_TRAVELTIME
@ SUMO_ATTR_CUSTOMSHAPE
whether a given shape is user-defined
@ SUMO_ATTR_LCA_MAXDISTLATSTANDING
@ SUMO_ATTR_LCA_IMPATIENCE
@ SUMO_ATTR_BEGIN
weights: time range begin
@ SUMO_ATTR_MINGAP
@ SUMO_ATTR_LCA_COOPERATIVE_ROUNDABOUT
@ SUMO_ATTR_INTLANES
@ SUMO_ATTR_SPEEDREL
@ SUMO_ATTR_SPLIT_VTYPE
@ SUMO_ATTR_VEHICLEEXTENSION
vehicle extension time of a phase
@ SUMO_ATTR_WITH_INTERNAL
@ SUMO_ATTR_JM_IGNORE_TYPES
@ GNE_ATTR_VTYPE_DISTRIBUTION
vehicle type distribution
@ AGEN_ATTR_PROP
@ SUMO_ATTR_EDGES
the edges of a route
@ AGEN_ATTR_UNI_RAND_TRAFFIC
@ SUMO_ATTR_OFF
@ SUMO_ATTR_ROUTEPROBE
@ SUMO_ATTR_LINEWIDTH
@ GNE_ATTR_PARAMETERS
parameters "key1=value1|key2=value2|...|keyN=valueN"
@ SUMO_ATTR_CA_GAIN_GAP_DOT_CACC
@ SUMO_ATTR_POSITION_LAT
@ AGEN_ATTR_HOUSEHOLDS
@ SUMO_ATTR_PMX_ABS
@ SUMO_ATTR_FUEL
@ SUMO_ATTR_MINWIDTH
@ SUMO_ATTR_GENERATE_WALKS
@ SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME
@ SUMO_ATTR_HEADWAY_TIME_CACC_TO_ACC
@ SUMO_ATTR_FRINGE
Fringe type of node.
@ SUMO_ATTR_START_PROG
@ SUMO_ATTR_ONEWAY
@ SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN
forbidden lanes for overhead wire segment
@ AGEN_ATTR_INHABITANTS
@ SUMO_ATTR_BIDI
@ SUMO_ATTR_CF_CC_OMEGAN
@ SUMO_ATTR_CONTAINER_NUMBER
@ SUMO_ATTR_EXPECTED
@ SUMO_ATTR_PROHIBITED
@ SUMO_ATTR_HALTING_TIME_THRESHOLD
@ SUMO_ATTR_CF_CC_C1
@ SUMO_ATTR_TOLONLAT
@ AGEN_ATTR_OPENING
@ SUMO_ATTR_ROLLDRAGCOEFFICIENT
Roll Drag coefficient.
@ SUMO_ATTR_ORIGIN
@ SUMO_ATTR_TMP2
@ SUMO_ATTR_GEO
@ SUMO_ATTR_LIMIT
@ SUMO_ATTR_OVERHEAD_WIRE_CLAMP_END
id of the overhead wire segment, to the end of which the overhead wire clamp is connected
@ SUMO_ATTR_CF_W99_CC8
@ SUMO_ATTR_PRIORITY
@ SUMO_ATTR_ELECTRICITY_PERVEH
@ SUMO_ATTR_CA_GAIN_SPACE
@ SUMO_ATTR_LINE
@ SUMO_ATTR_CHARGING_STATION
@ SUMO_ATTR_LOADING_DURATION
@ SUMO_ATTR_CF_IDM_DELTA
@ SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW
@ SUMO_ATTR_MESO_TAUFF
@ GNE_ATTR_STOPOEXCEPTION
stop exceptions (virtual, used by edge and lanes)
@ SUMO_ATTR_LCA_SPEEDGAIN_LOOKAHEAD
@ SUMO_ATTR_LCA_MAXSPEEDLATFACTOR
@ SUMO_ATTR_ARRIVED
@ SUMO_ATTR_MANEUVER_ANGLE_TIMES
Class specific timing values for vehicle manoeuvering through angle ranges.
@ SUMO_ATTR_PHASE
@ SUMO_ATTR_V
@ SUMO_ATTR_ROUTES
@ SUMO_ATTR_CF_CC_CCACCEL
@ SUMO_ATTR_GEOSHAPE
@ SUMO_ATTR_CONTAINERSPERHOUR
@ SUMO_ATTR_NUMLANES
@ SUMO_ATTR_TELEPORTED
@ SUMO_ATTR_LANES
@ SUMO_ATTR_DEFAULT
@ SUMO_ATTR_ARRIVALSPEEDBRAKING
@ SUMO_ATTR_CF_EIDM_T_REACTION
@ GNE_ATTR_MODIFICATION_STATUS
whether a feature has been loaded,guessed,modified or approved
@ SUMO_ATTR_MODES
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE
@ GNE_ATTR_CLOSE_SHAPE
Close shape of a polygon (Used by GNEPolys)
@ SUMO_ATTR_CONSTANTPOWERINTAKE
Constant Power Intake.
@ SUMO_ATTR_VTYPES
@ SUMO_ATTR_EXITTIMES
@ SUMO_ATTR_CF_PWAGNER2009_TAULAST
@ SUMO_ATTR_ZOOM
@ SUMO_ATTR_TOTALENERGYCHARGED_VEHICLE
total energy charged into a single vehicle
@ SUMO_ATTR_DESTINATION
@ AGEN_ATTR_INCOMING
@ SUMO_ATTR_CF_CC_PLOEG_KD
@ SUMO_ATTR_CF_CC_TAU
@ SUMO_ATTR_SHAPE
edge: the shape in xml-definition
@ SUMO_ATTR_GC_GAIN_GAP_CACC
@ SUMO_ATTR_LANECHANGEDTO
@ SUMO_ATTR_OVERHEAD_WIRE_SEGMENT
@ SUMO_ATTR_DEPARTPOS
@ SUMO_ATTR_CF_EIDM_SIG_GAP
@ SUMO_ATTR_CAR_FOLLOW_MODEL
@ SUMO_ATTR_CF_EIDM_JERK_MAX
@ SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION
Recuperation efficiency (by deceleration)
@ SUMO_ATTR_LEFTHAND
@ SUMO_ATTR_DECEL
@ SUMO_ATTR_SIGNALS
@ SUMO_ATTR_LCA_MAXSPEEDLATSTANDING
@ SUMO_ATTR_GROUP
@ SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME
@ SUMO_ATTR_WHEELRADIUS
@ SUMO_ATTR_DEST
@ SUMO_ATTR_LCA_KEEPRIGHT_PARAM
@ SUMO_ATTR_WEIGHT
@ SUMO_ATTR_NEXT
succesor phase index
@ SUMO_ATTR_RECUPERATIONEFFICIENCY
Recuperation efficiency (constant)
@ SUMO_ATTR_GUISHAPE
@ SUMO_ATTR_REROUTE
@ SUMO_ATTR_JM_IGNORE_FOE_PROB
@ SUMO_ATTR_PERHOUR
@ SUMO_ATTR_RNG_DEVICE_TOC
@ SUMO_ATTR_LEADER_GAP
@ GNE_ATTR_TO_BUSSTOP
to busStop (used by personPlans)
@ SUMO_ATTR_ENDED
@ SUMO_ATTR_VEHICLECLASS
@ SUMO_ATTR_MAX_TRAVELTIME
@ SUMO_ATTR_AIRDRAGCOEFFICIENT
Air drag coefficient.
@ SUMO_ATTR_TLTYPE
node: the type of traffic light
@ SUMO_ATTR_ACTORCONFIG
@ SUMO_ATTR_JUNCTION
@ SUMO_ATTR_CHARGEINTRANSIT
Allow/disallow charge in transit in Charging Stations.
@ SUMO_ATTR_ACCELERATION_LAT
@ SUMO_ATTR_COST
@ SUMO_ATTR_MESO_MINOR_PENALTY
@ SUMO_ATTR_INCLANES
@ AGEN_ATTR_OUT_TRAFFIC
@ SUMO_ATTR_CHANGE_LEFT
@ SUMO_ATTR_CONTAINER_CAPACITY
@ SUMO_ATTR_INDEX
@ AGEN_ATTR_CARS
@ SUMO_ATTR_CO_ABS
MSMeanData_Emissions.
@ SUMO_ATTR_VCLASSES
@ SUMO_ATTR_FILL
Fill the polygon.
@ SUMO_ATTR_NAME
@ SUMO_ATTR_ARRIVAL
@ SUMO_ATTR_TIMELOSS
@ SUMO_ATTR_CF_CC_XI
@ SUMO_ATTR_EXCEPTIONS
@ SUMO_ATTR_ORIG_PROJ
@ SUMO_ATTR_REQUESTSIZE
@ SUMO_ATTR_PERIOD
@ SUMO_ATTR_LAYER
A layer number.
@ SUMO_ATTR_CHECKLANEFOES_ALL
@ SUMO_ATTR_LCA_COOPERATIVE_PARAM
@ SUMO_ATTR_FUEL_ABS
@ SUMO_ATTR_SPREADTYPE
The information about how to spread the lanes from the given position.
@ SUMO_ATTR_COMMAND
@ SUMO_ATTR_LCA_OPPOSITE_PARAM
@ SUMO_ATTR_FINAL_TARGET
The condition expression for switching into this phase when the active phase must end.
@ SUMO_ATTR_TO_TAZ
@ SUMO_ATTR_CHARGINGSTATIONID
Charging Station ID.
@ SUMO_ATTR_CO_NORMED
@ SUMO_ATTR_SLOPE
@ SUMO_ATTR_STARTTIME
@ SUMO_ATTR_CF_CC_CCDECEL
@ SUMO_ATTR_POWERLOSSMAP
A string encoding the power loss map.
@ SUMO_ATTR_HALTING_SPEED_THRESHOLD
@ SUMO_ATTR_FREQUENCY
@ SUMO_ATTR_CENTER
@ SUMO_ATTR_PASS
@ SUMO_ATTR_DEPARTSPEED
@ SUMO_ATTR_GCC_GAIN_SPACE
@ SUMO_ATTR_ANGLE
@ SUMO_ATTR_MAXIMUMRECUPERATIONPOWER
Maximum recuperation power.
@ SUMO_ATTR_ENDOFFSET
@ SUMO_ATTR_HIGHER_SPEED
@ SUMO_ATTR_MINGAP_LAT
@ SUMO_ATTR_ENTERING
@ SUMO_ATTR_TRIP_ID
@ GNE_ATTR_SHAPE_END
last coordinate of edge shape
@ SUMO_ATTR_REF
@ SUMO_ATTR_EMERGENCYDECEL
@ SUMO_ATTR_OVERHEAD_WIRE_CLAMPS
overhead wire clamps for overhead wire segment
@ SUMO_ATTR_CF_CC_FLATBED_H
@ SUMO_ATTR_TO
@ SUMO_ATTR_FROM
@ SUMO_ATTR_CF_W99_CC3
@ SUMO_ATTR_XMLNS
@ SUMO_ATTR_CF_CC_LANES_COUNT
@ SUMO_ATTR_HEIGHT
@ SUMO_ATTR_END
weights: time range end
@ SUMO_ATTR_PERMITTED
@ SUMO_ATTR_MAXIMUMRECUPERATIONTORQUE
Maximum recuperation torque.
@ SUMO_ATTR_RNG_DEVICE_BT
@ SUMO_ATTR_LCA_SUBLANE_PARAM
@ SUMO_ATTR_JM_CROSSING_GAP
@ SUMO_ATTR_LCA_SIGMA
@ SUMO_ATTR_ROADSIDE_CAPACITY
@ SUMO_ATTR_ACCELERATION
@ SUMO_ATTR_CARRIAGE_LENGTH
@ SUMO_ATTR_LATALIGNMENT
@ SUMO_ATTR_FROM_TAZ
@ SUMO_ATTR_CF_IDM_STEPPING
@ SUMO_ATTR_ARRIVALTIMEBRAKING
@ SUMO_ATTR_DEPARTLANE
@ SUMO_ATTR_CF_IDMM_ADAPT_FACTOR
@ SUMO_ATTR_ACTUALBATTERYCAPACITY
@ SUMO_ATTR_VEHICLEMASS
Vehicle mass.
@ AGEN_ATTR_CARPREF
@ SUMO_ATTR_PREFIX
@ SUMO_ATTR_VIAJUNCTIONS
@ SUMO_ATTR_CURRENTLIMIT
current limit of the traction substation [A]
@ SUMO_ATTR_BIKELANEWIDTH
@ SUMO_ATTR_IMPATIENCE
@ SUMO_ATTR_RADIALDRAGCOEFFICIENT
Radial drag coefficient.
@ SUMO_ATTR_COLLISION_MINGAP_FACTOR
@ SUMO_ATTR_LEADER_SPEED
@ SUMO_ATTR_CHANGE_RIGHT
@ SUMO_ATTR_ENERGYCHARGEDINTRANSIT
Energy charged in transit.
@ SUMO_ATTR_JOIN
@ SUMO_ATTR_TLID
link,node: the traffic light id responsible for this link
@ SUMO_ATTR_GEARRATIO
Gear ratio.
@ SUMO_ATTR_VCLASS
@ SUMO_ATTR_ACCEL
@ SUMO_ATTR_ENERGYCHARGED
tgotal of Energy charged
@ SUMO_ATTR_VAPORIZED
@ SUMO_ATTR_BOARDING_DURATION
@ SUMO_ATTR_DISTANCE
@ SUMO_ATTR_EARLY_TARGET
The condition expression for an early switch into this phase.
@ GNE_ATTR_DATASET
data set of a generic data
@ SUMO_ATTR_MESO_TAUJF
@ AGEN_ATTR_CITYSPEED
@ SUMO_ATTR_CF_CC_CONSTSPACING
@ SUMO_ATTR_CF_EIDM_M_FLATNESS
@ SUMO_ATTR_FROMXY
@ SUMO_ATTR_NOX_PERVEH
@ SUMO_ATTR_CF_W99_CC2
@ SUMO_ATTR_OUTPUT
@ SUMO_ATTR_SHOW_DETECTOR
@ SUMO_ATTR_CF_W99_CC4
@ SUMO_ATTR_JM_SIGMA_MINOR
@ SUMO_ATTR_FOES
@ SUMO_ATTR_CF_W99_CC6
@ SUMO_ATTR_CHARGINGPOWER
@ SUMO_ATTR_ID_AFTER
@ SUMO_ATTR_PROB
@ SUMO_ATTR_CF_EIDM_M_BEGIN
@ GNE_ATTR_BIDIR
whether an edge is part of a bidirectional railway
@ SUMO_ATTR_FRIENDLY_POS
@ SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE
@ SUMO_ATTR_SIDEWALKWIDTH
@ SUMO_ATTR_SPEEDFACTOR
@ SUMO_ATTR_CA_GAIN_SPEED
@ SUMO_ATTR_ONROAD
@ SUMO_ATTR_MAXIMUMSPEED
Maximum speed.
@ SUMO_ATTR_LAT
@ SUMO_ATTR_OVERHEAD_WIRE_CLAMP_START
id of the overhead wire segment, to the start of which the overhead wire clamp is connected
@ SUMO_ATTR_OVERHEAD_WIRE_RESISTIVITY
resistivity of overhead wires
@ SUMO_ATTR_WALKFACTOR
@ SUMO_ATTR_EXPECTED_CONTAINERS
@ SUMO_ATTR_TO_LANE
@ SUMO_ATTR_VEHICLE
@ SUMO_ATTR_MIN_SAMPLES
@ SUMO_ATTR_UNCONTROLLED
@ SUMO_ATTR_RECUPERATIONENABLE
@ AGEN_ATTR_HOUR
@ SUMO_ATTR_HC_ABS
@ SUMO_ATTR_CF_EIDM_SIG_LEADER
@ SUMO_ATTR_JUNCTION_ID
@ SUMO_ATTR_OCCUPANCY
@ SUMO_ATTR_ENTERED
@ SUMO_ATTR_SAMPLEDSECONDS
MSMeanData_Net.
@ SUMO_ATTR_TYPE
@ SUMO_ATTR_CF_CC_KP
@ SUMO_ATTR_CO2_PERVEH
@ SUMO_ATTR_CENTER_Z
@ SUMO_ATTR_SAVINGS
@ SUMO_ATTR_TOXY
@ SUMO_ATTR_LENGTH
@ AGEN_ATTR_CLOSING
@ AGEN_ATTR_OUT_WORKPOSITION
@ SUMO_ATTR_ROUTE
@ SUMO_ATTR_VERSION
@ SUMO_ATTR_CHARGINGSTEPS
number of steps that a vehicle is charging
@ SUMO_ATTR_CHARGINGEND
timesteps in which charging ends
@ SUMO_ATTR_APPLYDRIVERSTATE
@ SUMO_ATTR_DEPARTED
@ SUMO_ATTR_PERSON_NUMBER
@ AGEN_ATTR_ENDAGE
@ SUMO_ATTR_COLOR
A color information.
@ SUMO_ATTR_EFFICIENCY
Eficiency of the charge in Charging Stations.
@ SUMO_ATTR_CF_PWAGNER2009_APPROB
@ SUMO_ATTR_MAXSPEED
@ SUMO_ATTR_CHARGINGBEGIN
timestep in which charging begins
@ SUMO_ATTR_ID
@ SUMO_ATTR_SIGMA
@ SUMO_ATTR_VISIBLE
@ SUMO_ATTR_UNTIL
@ GNE_ATTR_DEFAULT_VTYPE_MODIFIED
Flag to check if a default VType was modified.
@ SUMO_ATTR_MAXDURATION
maximum duration of a phase
@ SUMO_ATTR_INTERPOLATED
@ SUMO_ATTR_RIGHT_OF_WAY
How to compute right of way.
@ SUMO_ATTR_K
@ SUMO_ATTR_TMP1
@ GNE_ATTR_SHAPE_START
first coordinate of edge shape
@ AGEN_ATTR_POPULATION
@ SUMO_ATTR_OSGFILE
@ SUMO_ATTR_LANEDENSITY
@ SUMO_ATTR_LCA_OVERTAKE_RIGHT
@ SUMO_ATTR_ARRIVALPOS_LAT
@ SUMO_ATTR_LCA_ACCEL_LAT
@ SUMO_ATTR_CF_W99_CC7
@ SUMO_ATTR_DISCARD
@ SUMO_ATTR_LCA_STRATEGIC_PARAM
@ SUMO_ATTR_PMX_NORMED
@ SUMO_ATTR_PROGRAMID
@ SUMO_ATTR_CF_W99_CC1
@ SUMO_ATTR_OVERHEADWIREID
@ SUMO_ATTR_ELECTRICITY_NORMED
@ SUMO_ATTR_TAU
@ SUMO_ATTR_FUNCTION
@ SUMO_ATTR_CROSSING
@ SUMO_ATTR_VOLTAGESOURCE
a voltage source on the overhead wire segment [bool]
@ SUMO_ATTR_CENTER_X
@ SUMO_ATTR_MAXWIDTH
@ SUMO_ATTR_MESO_TAUFJ
@ SUMO_ATTR_VISIBILITY_DISTANCE
foe visibility distance of a link
@ SUMO_ATTR_ALPHACIRCUITSOLVER
@ SUMO_ATTR_PROHIBITOR
@ SUMO_ATTR_OPEN_ENTRY
@ SUMO_ATTR_IMGFILE
@ SUMO_ATTR_TOTALENERGYREGENERATED
Total energy regenerated.
@ AGEN_ATTR_MAX_TRIP_DURATION
@ SUMO_ATTR_RNG_ROUTEHANDLER
@ SUMO_ATTR_TRIGGERED
@ SUMO_ATTR_MESO_TAUJJ
@ SUMO_ATTR_CONTROLLED_INNER
@ SUMO_ATTR_DURATION
@ SUMO_ATTR_CONTPOS
@ SUMO_ATTR_WIDTH
@ SUMO_ATTR_DENSITY
@ SUMO_ATTR_CROSSING_EDGES
the edges crossed by a pedestrian crossing
@ SUMO_ATTR_FROMLONLAT
@ SUMO_ATTR_SYNCHRON
@ SUMO_ATTR_DIR
The abstract direction of a link.
@ SUMO_ATTR_RNG_DEVICE
@ SUMO_ATTR_JM_IGNORE_JUNCTION_FOE_PROB
@ SUMO_ATTR_TLS_IGNORE_INTERNAL_JUNCTION_JAM
@ SUMO_ATTR_PERSON_CAPACITY
@ SUMO_ATTR_TLLINKINDEX
link: the index of the link within the traffic light
@ SUMO_ATTR_CURRENTFROMOVERHEADWIRE
@ SUMO_ATTR_PROPULSIONEFFICIENCY
Propulsion efficiency.
@ SUMO_ATTR_GC_GAIN_SPEED
@ SUMO_ATTR_AMOUNT
MSMeanData_Amitran.
@ AGEN_ATTR_UNEMPLOYEMENT
@ SUMO_ATTR_MINDURATION
@ SUMO_ATTR_TOTALENERGYCONSUMED
Total energy consumed.
@ AGEN_ATTR_IN_TRAFFIC
@ SUMO_ATTR_LEADER_ID
@ SUMO_ATTR_REPNUMBER
@ SUMO_ATTR_REQUEST
@ SUMO_ATTR_GCC_GAIN_GAP_CACC
@ SUMO_ATTR_COUNT
@ SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME
@ AGEN_ATTR_RATE
@ SUMO_ATTR_MESO_TLS_PENALTY
@ SUMO_ATTR_KEY
@ SUMO_ATTR_REPEAT
@ SUMO_ATTR_REF_TIME
@ SUMO_ATTR_INTERNALMOMENTOFINERTIA
Internal moment of inertia.
@ SUMO_ATTR_INTENDED
@ SUMO_ATTR_KEEP_CLEAR
Whether vehicles must keep the junction clear.
@ AGEN_ATTR_MAX_FOOT_DIST
@ AGEN_ATTR_BEGINAGE
@ SUMO_ATTR_POSITION
@ SUMO_ATTR_LCA_EXPERIMENTAL1
@ SUMO_ATTR_LOCOMOTIVE_LENGTH
@ SUMO_ATTR_CO2_ABS
@ SUMO_ATTR_SCHEMA_LOCATION
@ SUMO_ATTR_SC_GAIN
@ SUMO_ATTR_TMP5
@ SUMO_ATTR_INTERNAL_JUNCTIONS_VEHICLE_WIDTH
@ SUMO_ATTR_NOTHING
invalid attribute
@ SUMO_ATTR_TIMESTOPPED
Time stopped.
@ SUMO_ATTR_CYCLETIME
@ SUMO_ATTR_STATE
The state of a link.
@ SUMO_ATTR_SC_GAIN_CACC
@ SUMO_ATTR_JM_DRIVE_RED_SPEED
@ SUMO_ATTR_CHARGEDELAY
Delay in the charge of charging stations.
@ SUMO_ATTR_LCA_TIME_TO_IMPATIENCE
@ SUMO_ATTR_VOLTAGEOFOVERHEADWIRE
@ SUMO_ATTR_JM_TIMEGAP_MINOR
@ SUMO_ATTR_TIME
trigger: the time of the step
@ SUMO_ATTR_WALKINGAREAS
@ SUMO_ATTR_WRITE_ATTRIBUTES
@ SUMO_ATTR_NOMINALBATTERYVOLTAGE
Nominal battery voltage.
@ SUMO_ATTR_FRONTSURFACEAREA
Front surface area.
@ SUMO_ATTR_CARRIAGE_GAP
@ SUMO_ATTR_ID_BEFORE
@ SUMO_ATTR_OVERHEADWIRECHARGINGPOWER
@ SUMO_ATTR_CF_CC_FLATBED_KV
@ GNE_ATTR_SHIFTLANEINDEX
shift lane index (only used by elements over lanes)
@ SUMO_ATTR_TOJUNCTION
@ SUMO_ATTR_CHARGING_STATUS
@ SUMO_ATTR_DETECT_PERSONS
@ SUMO_ATTR_EXCLUDE_EMPTY
@ SUMO_ATTR_SPEEDDEV
@ SUMO_ATTR_CF_WIEDEMANN_ESTIMATION
@ SUMO_ATTR_RELATIVEPATH
@ SUMO_ATTR_LEFT
@ SUMO_ATTR_PERSONSPERHOUR
@ SUMO_ATTR_EARLIEST_END
The minimum time within the cycle for switching (for coordinated actuation)
@ SUMO_ATTR_LCA_SPEEDGAINRIGHT
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
lane spread functions
static bool isValidTypeID(const std::string &value)
whether the given string is a valid id for an edge or vehicle type
static StringBijection< LaneSpreadFunction >::Entry laneSpreadFunctionValues[]
lane spread function values
static StringBijection< SumoXMLTag > CarFollowModels
car following models
static StringBijection< LaneChangeAction > LaneChangeActions
lane change actions
static StringBijection< SumoXMLNodeType > NodeTypes
node types
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
static const char AllowedTLS_linkStatesInitializer[]
all allowed characters for phase state
static StringBijection< TrafficLightType > TrafficLightTypes
traffic light types
static StringBijection< LinkState >::Entry linkStateValues[]
link state values
static StringBijection< PersonMode > PersonModeValues
person modes
static StringBijection< LinkState > LinkStates
link states
static StringBijection< LaneChangeModel >::Entry laneChangeModelValues[]
lane change model values
static bool isValidVehicleID(const std::string &value)
whether the given string is a valid id for a vehicle or flow
static StringBijection< int >::Entry tags[]
The names of SUMO-XML elements (for passing to GenericSAXHandler)
static bool isValidListOfNetIDs(const std::string &value)
whether the given string is a valid list of id for a network (empty aren't allowed)
static bool isValidFilename(const std::string &value)
whether the given string is a valid attribute for a filename (for example, a name)
static StringBijection< SumoXMLEdgeFunc >::Entry sumoEdgeFuncValues[]
edge function values
static const std::string ALLOWED_TLS_LINKSTATES
all allowed characters for phase state
static StringBijection< SumoXMLEdgeFunc > EdgeFunctions
edge functions
static bool isValidAdditionalID(const std::string &value)
whether the given string is a valid id for an additional object
static StringBijection< LaneChangeAction >::Entry laneChangeActionValues[]
lane change action values
static StringBijection< TrafficLightLayout > TrafficLightLayouts
traffic light layouts
static StringBijection< TrainType > TrainTypes
train types
static StringBijection< int >::Entry attrs[]
The names of SUMO-XML attributes (for passing to GenericSAXHandler)
static bool isValidDetectorID(const std::string &value)
whether the given string is a valid id for an detector
static StringBijection< PersonMode >::Entry personModeValuesInitializer[]
person mode values
static StringBijection< TrafficLightLayout >::Entry trafficLightLayoutValues[]
traffic light layout values
static bool isValidListOfTypeID(const std::string &value)
whether the given string is a valid list of ids for an edge or vehicle type (empty aren't allowed)
static StringBijection< FringeType >::Entry fringeTypeValuesInitializer[]
lane spread function values
static StringBijection< LinkDirection >::Entry linkDirectionValues[]
link direction values
static StringBijection< TrainType >::Entry trainTypeValues[]
train type values values
static StringBijection< int > Tags
The names of SUMO-XML elements for use in netbuild.
static int getIndexFromLane(const std::string laneID)
return lane index when given the lane ID
static StringBijection< TrafficLightType >::Entry trafficLightTypesValues[]
traffic light types values
static StringBijection< LaneChangeModel > LaneChangeModels
lane change models
static bool isValidNetID(const std::string &value)
whether the given string is a valid id for a network element
static StringBijection< SumoXMLTag >::Entry carFollowModelValues[]
car follwing model values
static bool isValidParameterKey(const std::string &value)
whether the given string is a valid key for a parameter
static StringBijection< RightOfWay > RightOfWayValues
righ of way algorithms
static StringBijection< LinkDirection > LinkDirections
link directions
static StringBijection< RightOfWay >::Entry rightOfWayValuesInitializer[]
lane spread function values
static StringBijection< SumoXMLNodeType >::Entry sumoNodeTypeValues[]
containers for the different SUMOXMLDefinitions
static std::string getJunctionIDFromInternalEdge(const std::string internalEdge)
return the junction id when given an edge of type internal, crossing or WalkingArea
static bool isValidAttribute(const std::string &value)
whether the given string is a valid attribute for a certain key (for example, a name)
static StringBijection< int > Attrs
The names of SUMO-XML attributes for use in netbuild.
static StringBijection< FringeType > FringeTypeValues
fringe types
std::vector< std::string > getVector()
return vector of strings
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...