Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/src/utils/xml/SUMOXMLDefinitions.h
193674 views
1
/****************************************************************************/
2
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3
// Copyright (C) 2002-2026 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
/****************************************************************************/
14
/// @file SUMOXMLDefinitions.h
15
/// @author Daniel Krajzewicz
16
/// @author Jakob Erdmann
17
/// @author Clemens Honomichl
18
/// @author Piotr Woznica
19
/// @author Michael Behrisch
20
/// @author Walter Bamberger
21
/// @date Sept 2002
22
///
23
// Definitions of elements and attributes known by SUMO
24
/****************************************************************************/
25
#pragma once
26
#include <config.h>
27
#include <bitset>
28
29
#include <utils/common/StringBijection.h>
30
#include <utils/common/SequentialStringBijection.h>
31
32
// ===========================================================================
33
// definitions
34
// ===========================================================================
35
/**
36
* @enum SumoXMLTag
37
* @brief Numbers representing SUMO-XML - element names
38
* @see GenericSAXHandler
39
* @see SUMOSAXHandler
40
*/
41
enum SumoXMLTag {
42
/// @brief root file
43
SUMO_TAG_ROOTFILE,
44
/// @brief root element of a network file
45
SUMO_TAG_NET,
46
/// @brief begin/end of the description of an edge
47
SUMO_TAG_EDGE,
48
/// @brief begin/end of the description of a single lane
49
SUMO_TAG_LANE,
50
/// @brief begin/end of the description of a neighboring lane
51
SUMO_TAG_NEIGH,
52
/// @brief begin/end of the description of a polygon
53
SUMO_TAG_POLY,
54
/// @brief begin/end of the description of a Point of interest
55
SUMO_TAG_POI,
56
/// @brief begin/end of the description of a junction
57
SUMO_TAG_JUNCTION,
58
/// @brief begin/end of the description of an edge restriction
59
SUMO_TAG_RESTRICTION,
60
/// @brief begin/end of the description of an edge preferences
61
SUMO_TAG_PREFERENCE,
62
/// @brief edge-specific meso settings
63
SUMO_TAG_MESO,
64
/// @brief A bus stop
65
SUMO_TAG_BUS_STOP,
66
/// @brief A train stop (alias for bus stop)
67
SUMO_TAG_TRAIN_STOP,
68
/// @brief A pt line
69
SUMO_TAG_PT_LINE,
70
/// @brief An access point for a train stop
71
SUMO_TAG_ACCESS,
72
/// @brief A container stop
73
SUMO_TAG_CONTAINER_STOP,
74
/// @brief A Charging Station
75
SUMO_TAG_CHARGING_STATION,
76
/// @brief A charging event (charging a vehicle at a charging station)
77
SUMO_TAG_CHARGING_EVENT,
78
/// @brief A parking area
79
SUMO_TAG_PARKING_AREA,
80
/// @brief A parking space for a single vehicle within a parking area
81
SUMO_TAG_PARKING_SPACE,
82
/// @brief an e1 detector
83
SUMO_TAG_E1DETECTOR,
84
/// @brief alternative tag for e1 detector
85
SUMO_TAG_INDUCTION_LOOP,
86
/// @brief an e2 detector
87
SUMO_TAG_E2DETECTOR,
88
/// @brief alternative tag for e2 detector
89
SUMO_TAG_LANE_AREA_DETECTOR,
90
/// @brief an e2 detector over multiple lanes (placed here due create Additional Frame)
91
GNE_TAG_MULTI_LANE_AREA_DETECTOR,
92
/// @brief an e3 detector
93
SUMO_TAG_E3DETECTOR,
94
/// @brief alternative tag for e3 detector
95
SUMO_TAG_ENTRY_EXIT_DETECTOR,
96
/// @brief an e3 entry point
97
SUMO_TAG_DET_ENTRY,
98
/// @brief an e3 exit point
99
SUMO_TAG_DET_EXIT,
100
/// @brief an edge based mean data detector
101
SUMO_TAG_MEANDATA_EDGE,
102
/// @brief a lane based mean data detector
103
SUMO_TAG_MEANDATA_LANE,
104
/// @brief An edge-following detector
105
SUMO_TAG_EDGEFOLLOWDETECTOR,
106
/// @brief An instantenous induction loop
107
SUMO_TAG_INSTANT_INDUCTION_LOOP,
108
/// @brief a routeprobe detector
109
SUMO_TAG_ROUTEPROBE,
110
/// @brief A calibrator placed over edge
111
SUMO_TAG_CALIBRATOR,
112
/// @brief A calibrator placed over lane
113
GNE_TAG_CALIBRATOR_LANE,
114
/// @brief a flow definition within in Calibrator
115
GNE_TAG_CALIBRATOR_FLOW,
116
/// @brief A rerouter
117
SUMO_TAG_REROUTER,
118
/// @brief Rerouter Symbol
119
GNE_TAG_REROUTER_SYMBOL,
120
/// @brief an aggreagated-output interval
121
SUMO_TAG_INTERVAL,
122
/// @brief probability of destination of a reroute
123
SUMO_TAG_DEST_PROB_REROUTE,
124
/// @brief reroute of type closing
125
SUMO_TAG_CLOSING_REROUTE,
126
/// @brief lane of a reroute of type closing
127
SUMO_TAG_CLOSING_LANE_REROUTE,
128
/// @brief probability of route of a reroute
129
SUMO_TAG_ROUTE_PROB_REROUTE,
130
/// @brief entry for an alternative parking zone
131
SUMO_TAG_PARKING_AREA_REROUTE,
132
/// @brief probability of a via reroute
133
SUMO_TAG_VIA_PROB_REROUTE,
134
/// @brief decision point for rerouting to be overtaken
135
SUMO_TAG_OVERTAKING_REROUTE,
136
/// @brief decision point for switching trainStop/busStop within a station
137
SUMO_TAG_STATION_REROUTE,
138
/// @brief A variable speed sign
139
SUMO_TAG_VSS,
140
/// @brief VSS Symbol
141
GNE_TAG_VSS_SYMBOL,
142
/// @brief trigger: a step description
143
SUMO_TAG_STEP,
144
/// @brief vaporizer of vehicles
145
SUMO_TAG_VAPORIZER,
146
/// @brief A traction substation
147
SUMO_TAG_TRACTION_SUBSTATION,
148
/// @brief An overhead wire segment
149
SUMO_TAG_OVERHEAD_WIRE_SEGMENT,
150
/// @brief An overhead wire section
151
SUMO_TAG_OVERHEAD_WIRE_SECTION,
152
/// @brief An overhead wire clamp (connection of wires in opposite directions)
153
SUMO_TAG_OVERHEAD_WIRE_CLAMP,
154
/// @brief a vtypeprobe detector
155
SUMO_TAG_VTYPEPROBE,
156
/// @brief root element of a route file
157
SUMO_TAG_ROUTES,
158
/// @brief a single trip definition (used by router)
159
SUMO_TAG_TRIP,
160
/// @brief a trip between junctions
161
GNE_TAG_TRIP_JUNCTIONS,
162
/// @brief a single trip definition that uses TAZs
163
GNE_TAG_TRIP_TAZS,
164
/// @brief description of a vehicle
165
SUMO_TAG_VEHICLE,
166
/// @brief description of a vehicle with an embedded route
167
GNE_TAG_VEHICLE_WITHROUTE,
168
/// @brief a flow definition using from and to edges or a route
169
SUMO_TAG_FLOW,
170
/// @brief a flow between junctions
171
GNE_TAG_FLOW_JUNCTIONS,
172
/// @brief a flow between TAZs
173
GNE_TAG_FLOW_TAZS,
174
/// @brief a flow state definition (used when saving and loading simulatino state)
175
SUMO_TAG_FLOWSTATE,
176
/// @brief description of a vehicle/person/container type
177
SUMO_TAG_VTYPE,
178
/// @brief reference to a vType (used in VType distributions)
179
GNE_TAG_VTYPEREF,
180
/// @brief description of a route
181
SUMO_TAG_ROUTE,
182
/// @brief virtual element used to reference routes with distributions
183
GNE_TAG_ROUTEREF,
184
/// @brief embedded route
185
GNE_TAG_ROUTE_EMBEDDED,
186
/// @brief description of a logic request within the junction
187
SUMO_TAG_REQUEST,
188
/// @brief a source
189
SUMO_TAG_SOURCE,
190
/// @brief a traffic assignment zone
191
SUMO_TAG_TAZ,
192
/// @brief a source within a district (connection road)
193
SUMO_TAG_TAZSOURCE,
194
/// @brief a sink within a district (connection road)
195
SUMO_TAG_TAZSINK,
196
/// @brief a traffic light
197
SUMO_TAG_TRAFFIC_LIGHT,
198
/// @brief a traffic light logic
199
SUMO_TAG_TLLOGIC,
200
/// @brief a single phase description
201
SUMO_TAG_PHASE,
202
/// @brief a condition for phase switching
203
SUMO_TAG_CONDITION,
204
/// @brief a conditional variable assignment for phase switching
205
SUMO_TAG_ASSIGNMENT,
206
/// @brief a sequence of assignments evaluated in the context of passed arguments
207
SUMO_TAG_FUNCTION,
208
/// @brief the internal state for edge control
209
SUMO_TAG_EDGECONTROL,
210
/// @brief the internal state for MSRoutingEngine
211
SUMO_TAG_ROUTINGENGINE,
212
/// @brief a relation between two edges
213
SUMO_TAG_EDGEREL,
214
/// @brief a relation between two TAZs
215
SUMO_TAG_TAZREL,
216
/// @brief The definition of a periodic event
217
SUMO_TAG_TIMEDEVENT,
218
/// @brief Incoming edge specification (jtrrouter)
219
SUMO_TAG_FROMEDGE,
220
/// @brief Outgoing edge specification (jtrrouter)
221
SUMO_TAG_TOEDGE,
222
/// @brief Sink(s) specification
223
SUMO_TAG_SINK,
224
/// @brief parameter associated to a certain key
225
SUMO_TAG_PARAM,
226
SUMO_TAG_WAUT,
227
SUMO_TAG_WAUT_SWITCH,
228
SUMO_TAG_WAUT_JUNCTION,
229
/// @brief segment of a lane
230
SUMO_TAG_SEGMENT,
231
/// @brief delete certain element (note: DELETE is a macro)
232
SUMO_TAG_DEL,
233
/// @brief root element of connections file
234
SUMO_TAG_CONNECTIONS,
235
/// @brief stop for vehicles
236
SUMO_TAG_STOP,
237
/// @brief stop placed over a lane
238
GNE_TAG_STOP_LANE,
239
/// @brief stop placed over a busStop
240
GNE_TAG_STOP_BUSSTOP,
241
/// @brief stop placed over a trainStop
242
GNE_TAG_STOP_TRAINSTOP,
243
/// @brief stop placed over a containerStop
244
GNE_TAG_STOP_CONTAINERSTOP,
245
/// @brief stop placed over a charging station
246
GNE_TAG_STOP_CHARGINGSTATION,
247
/// @brief stop placed over a parking area
248
GNE_TAG_STOP_PARKINGAREA,
249
/// @brief type of polygon
250
SUMO_TAG_POLYTYPE,
251
/// @brief connectioon between two lanes
252
SUMO_TAG_CONNECTION,
253
/// @brief conflict between two connections
254
SUMO_TAG_CONFLICT,
255
/// @brief prohibition of circulation between two edges
256
SUMO_TAG_PROHIBITION,
257
/// @brief split something
258
SUMO_TAG_SPLIT,
259
/// @brief alternative definition for junction
260
SUMO_TAG_NODE,
261
/// @brief type (edge)
262
SUMO_TAG_TYPE,
263
/// @brief types (edge)
264
SUMO_TAG_TYPES,
265
/// @brief lane type
266
SUMO_TAG_LANETYPE,
267
/// @brief definition of a detector
268
SUMO_TAG_DETECTOR_DEFINITION,
269
/// @brief distribution of a route
270
SUMO_TAG_ROUTE_DISTRIBUTION,
271
/// @brief distribution of a vehicle type
272
SUMO_TAG_VTYPE_DISTRIBUTION,
273
/// @brief roundabout defined in junction
274
SUMO_TAG_ROUNDABOUT,
275
/// @brief Join operation
276
SUMO_TAG_JOIN,
277
/// @brief join exlude operation
278
SUMO_TAG_JOINEXCLUDE,
279
/// @brief crossing between edges for pedestrians
280
SUMO_TAG_CROSSING,
281
/// @brief walking area for pedestrians
282
SUMO_TAG_WALKINGAREA,
283
/// @brief Information on vClass specific stop offsets at lane end
284
SUMO_TAG_STOPOFFSET,
285
/// @brief Constraints on switching a rail signal
286
SUMO_TAG_RAILSIGNAL_CONSTRAINTS,
287
/// @brief Predecessor constraint on switching a rail signal
288
SUMO_TAG_PREDECESSOR,
289
/// @brief Predecessor constraint on insertion before rail signal
290
SUMO_TAG_INSERTION_PREDECESSOR,
291
/// @brief Predecessor constraint on switching a rail signal
292
SUMO_TAG_FOE_INSERTION,
293
/// @brief Predecessor constraint on insertion before rail signal
294
SUMO_TAG_INSERTION_ORDER,
295
/// @brief Predecessor constraint for rail signal before bidirectional section
296
SUMO_TAG_BIDI_PREDECESSOR,
297
/// @brief Saved state for constraint tracker
298
SUMO_TAG_RAILSIGNAL_CONSTRAINT_TRACKER,
299
/// @brief Saved deadlock information, also for loading as an extra check
300
SUMO_TAG_DEADLOCK,
301
/// @brief Saved driveway information
302
SUMO_TAG_DRIVEWAY,
303
SUMO_TAG_SUBDRIVEWAY,
304
/// @brief Link information for state-saving
305
SUMO_TAG_LINK,
306
/// @brief Link-approaching vehicle information for state-saving
307
SUMO_TAG_APPROACHING,
308
309
SUMO_TAG_WAY,
310
SUMO_TAG_ND,
311
SUMO_TAG_TAG,
312
SUMO_TAG_RELATION,
313
SUMO_TAG_MEMBER,
314
315
/// @name parameters associated to view settings
316
/// @{
317
SUMO_TAG_VIEWSETTINGS,
318
SUMO_TAG_VIEWSETTINGS_3D,
319
SUMO_TAG_VIEWSETTINGS_DECAL,
320
SUMO_TAG_VIEWSETTINGS_TRACKER,
321
SUMO_TAG_VIEWSETTINGS_LIGHT,
322
SUMO_TAG_VIEWSETTINGS_SCHEME,
323
SUMO_TAG_VIEWSETTINGS_OPENGL,
324
SUMO_TAG_VIEWSETTINGS_BACKGROUND,
325
SUMO_TAG_VIEWSETTINGS_EDGES,
326
SUMO_TAG_VIEWSETTINGS_VEHICLES,
327
SUMO_TAG_VIEWSETTINGS_PERSONS,
328
SUMO_TAG_VIEWSETTINGS_CONTAINERS,
329
SUMO_TAG_VIEWSETTINGS_JUNCTIONS,
330
SUMO_TAG_VIEWSETTINGS_ADDITIONALS,
331
SUMO_TAG_VIEWSETTINGS_POIS,
332
SUMO_TAG_VIEWSETTINGS_POLYS,
333
SUMO_TAG_VIEWSETTINGS_DATA,
334
SUMO_TAG_VIEWSETTINGS_LEGEND,
335
SUMO_TAG_VIEWSETTINGS_EVENT,
336
SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME,
337
SUMO_TAG_INCLUDE,
338
SUMO_TAG_DELAY,
339
SUMO_TAG_VIEWPORT,
340
SUMO_TAG_SNAPSHOT,
341
SUMO_TAG_BREAKPOINT,
342
SUMO_TAG_LOCATION,
343
SUMO_TAG_COLORSCHEME,
344
SUMO_TAG_SCALINGSCHEME,
345
SUMO_TAG_ENTRY,
346
SUMO_TAG_RNGSTATE,
347
SUMO_TAG_RNGLANE,
348
/// @}
349
350
SUMO_TAG_VEHICLETRANSFER,
351
SUMO_TAG_DEVICE,
352
SUMO_TAG_REMINDER,
353
354
/// @name Car-Following models
355
/// @{
356
SUMO_TAG_CF_KRAUSS,
357
SUMO_TAG_CF_KRAUSS_PLUS_SLOPE,
358
SUMO_TAG_CF_KRAUSS_ORIG1,
359
SUMO_TAG_CF_KRAUSSX,
360
SUMO_TAG_CF_EIDM,
361
SUMO_TAG_CF_SMART_SK,
362
SUMO_TAG_CF_DANIEL1,
363
SUMO_TAG_CF_IDM,
364
SUMO_TAG_CF_IDMM,
365
SUMO_TAG_CF_PWAGNER2009,
366
SUMO_TAG_CF_BKERNER,
367
SUMO_TAG_CF_WIEDEMANN,
368
SUMO_TAG_CF_W99,
369
SUMO_TAG_CF_ACC,
370
SUMO_TAG_CF_CACC,
371
SUMO_TAG_CF_RAIL,
372
SUMO_TAG_CF_CC,
373
/// @}
374
375
/// @name Persons
376
/// @{
377
SUMO_TAG_PERSON,
378
SUMO_TAG_PERSONTRIP,
379
SUMO_TAG_RIDE,
380
SUMO_TAG_WALK,
381
SUMO_TAG_PERSONFLOW,
382
/// @}
383
384
/// @name Data elements (used by Netedit)
385
/// @{
386
SUMO_TAG_DATASET,
387
SUMO_TAG_DATAINTERVAL,
388
/// @}
389
390
/// @name Containers
391
/// @{
392
SUMO_TAG_CONTAINER,
393
SUMO_TAG_TRANSPORT,
394
SUMO_TAG_TRANSHIP,
395
SUMO_TAG_CONTAINERFLOW,
396
/// @}
397
398
SUMO_TAG_TRAJECTORIES,
399
SUMO_TAG_TIMESTEP,
400
SUMO_TAG_TIMESLICE,
401
SUMO_TAG_ACTORCONFIG,
402
SUMO_TAG_MOTIONSTATE,
403
SUMO_TAG_OD_PAIR,
404
SUMO_TAG_TRANSPORTABLES,
405
406
/// @brief ActivityGen Tags
407
AGEN_TAG_GENERAL,
408
/// @brief streets object
409
AGEN_TAG_STREET,
410
/// @brief workingHours object
411
AGEN_TAG_WORKHOURS,
412
/// @brief opening for workingHours object
413
AGEN_TAG_OPENING,
414
/// @brief closing for workingHours object
415
AGEN_TAG_CLOSING,
416
/// @brief school object
417
AGEN_TAG_SCHOOLS,
418
/// @brief schools object
419
AGEN_TAG_SCHOOL,
420
/// @brief busStation and bus objects
421
AGEN_TAG_BUSSTATION,
422
/// @brief bus line
423
AGEN_TAG_BUSLINE,
424
/// @brief stations for certain vehicles
425
AGEN_TAG_STATIONS,
426
/// @brief rev stations for certain vehicles
427
AGEN_TAG_REV_STATIONS,
428
/// @brief station for a certain vehicle
429
AGEN_TAG_STATION,
430
/// @brief frequency of a object
431
AGEN_TAG_FREQUENCY,
432
/// @brief population and children accompaniment brackets
433
AGEN_TAG_POPULATION,
434
/// @brief alternative definition for Population
435
AGEN_TAG_BRACKET,
436
//AGEN_TAG_CHILD_ACOMP,
437
/// @brief city entrances
438
AGEN_TAG_CITYGATES,
439
/// @brief alternative definition for city entrances
440
AGEN_TAG_ENTRANCE,
441
/// @brief parameters
442
AGEN_TAG_PARAM,
443
444
/// @name Netedit elements
445
/// @{
446
/// @brief edge rel (defined in a single lane)
447
GNE_TAG_EDGEREL_SINGLE,
448
/// @brief internal lane
449
GNE_TAG_INTERNAL_LANE,
450
/// @brief Point of interest over Lane
451
GNE_TAG_POILANE,
452
/// @brief Point of interest over view with GEO attributes
453
GNE_TAG_POIGEO,
454
/// @brief polygon used for draw juPedSim walkable areas
455
GNE_TAG_JPS_WALKABLEAREA,
456
/// @brief polygon used for draw juPedSim obstacles
457
GNE_TAG_JPS_OBSTACLE,
458
/// @brief COF Symbol
459
GNE_TAG_COF_SYMBOL,
460
/// @brief a flow definition using a route instead of a from-to edges route
461
GNE_TAG_FLOW_ROUTE,
462
/// @brief description of a vehicle with an embedded route
463
GNE_TAG_FLOW_WITHROUTE,
464
/// @brief waypoints
465
GNE_TAG_WAYPOINT,
466
GNE_TAG_WAYPOINT_LANE,
467
GNE_TAG_WAYPOINT_BUSSTOP,
468
GNE_TAG_WAYPOINT_TRAINSTOP,
469
GNE_TAG_WAYPOINT_CONTAINERSTOP,
470
GNE_TAG_WAYPOINT_CHARGINGSTATION,
471
GNE_TAG_WAYPOINT_PARKINGAREA,
472
// @brief person trips
473
GNE_TAG_PERSONTRIP_EDGE_EDGE,
474
GNE_TAG_PERSONTRIP_EDGE_TAZ,
475
GNE_TAG_PERSONTRIP_EDGE_JUNCTION,
476
GNE_TAG_PERSONTRIP_EDGE_BUSSTOP,
477
GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP,
478
GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP,
479
GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION,
480
GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA,
481
GNE_TAG_PERSONTRIP_TAZ_EDGE,
482
GNE_TAG_PERSONTRIP_TAZ_TAZ,
483
GNE_TAG_PERSONTRIP_TAZ_JUNCTION,
484
GNE_TAG_PERSONTRIP_TAZ_BUSSTOP,
485
GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP,
486
GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP,
487
GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION,
488
GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA,
489
GNE_TAG_PERSONTRIP_JUNCTION_EDGE,
490
GNE_TAG_PERSONTRIP_JUNCTION_TAZ,
491
GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION,
492
GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP,
493
GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP,
494
GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP,
495
GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION,
496
GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA,
497
GNE_TAG_PERSONTRIP_BUSSTOP_EDGE,
498
GNE_TAG_PERSONTRIP_BUSSTOP_TAZ,
499
GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION,
500
GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP,
501
GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP,
502
GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP,
503
GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION,
504
GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA,
505
GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE,
506
GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ,
507
GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION,
508
GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP,
509
GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP,
510
GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP,
511
GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION,
512
GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA,
513
GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE,
514
GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ,
515
GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION,
516
GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP,
517
GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP,
518
GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP,
519
GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION,
520
GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA,
521
GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE,
522
GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ,
523
GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION,
524
GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP,
525
GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP,
526
GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP,
527
GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION,
528
GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA,
529
GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE,
530
GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ,
531
GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION,
532
GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP,
533
GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP,
534
GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP,
535
GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION,
536
GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA,
537
// @brief walks
538
GNE_TAG_WALK_EDGE_EDGE,
539
GNE_TAG_WALK_EDGE_TAZ,
540
GNE_TAG_WALK_EDGE_JUNCTION,
541
GNE_TAG_WALK_EDGE_BUSSTOP,
542
GNE_TAG_WALK_EDGE_TRAINSTOP,
543
GNE_TAG_WALK_EDGE_CONTAINERSTOP,
544
GNE_TAG_WALK_EDGE_CHARGINGSTATION,
545
GNE_TAG_WALK_EDGE_PARKINGAREA,
546
GNE_TAG_WALK_TAZ_EDGE,
547
GNE_TAG_WALK_TAZ_TAZ,
548
GNE_TAG_WALK_TAZ_JUNCTION,
549
GNE_TAG_WALK_TAZ_BUSSTOP,
550
GNE_TAG_WALK_TAZ_TRAINSTOP,
551
GNE_TAG_WALK_TAZ_CONTAINERSTOP,
552
GNE_TAG_WALK_TAZ_CHARGINGSTATION,
553
GNE_TAG_WALK_TAZ_PARKINGAREA,
554
GNE_TAG_WALK_JUNCTION_EDGE,
555
GNE_TAG_WALK_JUNCTION_TAZ,
556
GNE_TAG_WALK_JUNCTION_JUNCTION,
557
GNE_TAG_WALK_JUNCTION_BUSSTOP,
558
GNE_TAG_WALK_JUNCTION_TRAINSTOP,
559
GNE_TAG_WALK_JUNCTION_CONTAINERSTOP,
560
GNE_TAG_WALK_JUNCTION_CHARGINGSTATION,
561
GNE_TAG_WALK_JUNCTION_PARKINGAREA,
562
GNE_TAG_WALK_BUSSTOP_EDGE,
563
GNE_TAG_WALK_BUSSTOP_TAZ,
564
GNE_TAG_WALK_BUSSTOP_JUNCTION,
565
GNE_TAG_WALK_BUSSTOP_BUSSTOP,
566
GNE_TAG_WALK_BUSSTOP_TRAINSTOP,
567
GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP,
568
GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION,
569
GNE_TAG_WALK_BUSSTOP_PARKINGAREA,
570
GNE_TAG_WALK_TRAINSTOP_EDGE,
571
GNE_TAG_WALK_TRAINSTOP_TAZ,
572
GNE_TAG_WALK_TRAINSTOP_JUNCTION,
573
GNE_TAG_WALK_TRAINSTOP_BUSSTOP,
574
GNE_TAG_WALK_TRAINSTOP_TRAINSTOP,
575
GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP,
576
GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION,
577
GNE_TAG_WALK_TRAINSTOP_PARKINGAREA,
578
GNE_TAG_WALK_CONTAINERSTOP_EDGE,
579
GNE_TAG_WALK_CONTAINERSTOP_TAZ,
580
GNE_TAG_WALK_CONTAINERSTOP_JUNCTION,
581
GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP,
582
GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP,
583
GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP,
584
GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION,
585
GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA,
586
GNE_TAG_WALK_CHARGINGSTATION_EDGE,
587
GNE_TAG_WALK_CHARGINGSTATION_TAZ,
588
GNE_TAG_WALK_CHARGINGSTATION_JUNCTION,
589
GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP,
590
GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP,
591
GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP,
592
GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION,
593
GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA,
594
GNE_TAG_WALK_PARKINGAREA_EDGE,
595
GNE_TAG_WALK_PARKINGAREA_TAZ,
596
GNE_TAG_WALK_PARKINGAREA_JUNCTION,
597
GNE_TAG_WALK_PARKINGAREA_BUSSTOP,
598
GNE_TAG_WALK_PARKINGAREA_TRAINSTOP,
599
GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP,
600
GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION,
601
GNE_TAG_WALK_PARKINGAREA_PARKINGAREA,
602
GNE_TAG_WALK_EDGES,
603
GNE_TAG_WALK_ROUTE,
604
// @brief rides
605
GNE_TAG_RIDE_EDGE_EDGE,
606
GNE_TAG_RIDE_EDGE_BUSSTOP,
607
GNE_TAG_RIDE_EDGE_TRAINSTOP,
608
GNE_TAG_RIDE_EDGE_CONTAINERSTOP,
609
GNE_TAG_RIDE_EDGE_CHARGINGSTATION,
610
GNE_TAG_RIDE_EDGE_PARKINGAREA,
611
GNE_TAG_RIDE_BUSSTOP_EDGE,
612
GNE_TAG_RIDE_BUSSTOP_BUSSTOP,
613
GNE_TAG_RIDE_BUSSTOP_TRAINSTOP,
614
GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP,
615
GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION,
616
GNE_TAG_RIDE_BUSSTOP_PARKINGAREA,
617
GNE_TAG_RIDE_TRAINSTOP_EDGE,
618
GNE_TAG_RIDE_TRAINSTOP_BUSSTOP,
619
GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP,
620
GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP,
621
GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION,
622
GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA,
623
GNE_TAG_RIDE_CONTAINERSTOP_EDGE,
624
GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP,
625
GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP,
626
GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP,
627
GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION,
628
GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA,
629
GNE_TAG_RIDE_CHARGINGSTATION_EDGE,
630
GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP,
631
GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP,
632
GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP,
633
GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION,
634
GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA,
635
GNE_TAG_RIDE_PARKINGAREA_EDGE,
636
GNE_TAG_RIDE_PARKINGAREA_BUSSTOP,
637
GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP,
638
GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP,
639
GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION,
640
GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA,
641
// @brief person stops
642
GNE_TAG_STOPPERSON,
643
GNE_TAG_STOPPERSON_EDGE,
644
GNE_TAG_STOPPERSON_BUSSTOP,
645
GNE_TAG_STOPPERSON_TRAINSTOP,
646
GNE_TAG_STOPPERSON_CONTAINERSTOP,
647
GNE_TAG_STOPPERSON_CHARGINGSTATION,
648
GNE_TAG_STOPPERSON_PARKINGAREA,
649
// @brief transports
650
GNE_TAG_TRANSPORT_EDGE_EDGE,
651
GNE_TAG_TRANSPORT_EDGE_BUSSTOP,
652
GNE_TAG_TRANSPORT_EDGE_TRAINSTOP,
653
GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP,
654
GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION,
655
GNE_TAG_TRANSPORT_EDGE_PARKINGAREA,
656
GNE_TAG_TRANSPORT_BUSSTOP_EDGE,
657
GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP,
658
GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP,
659
GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP,
660
GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION,
661
GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA,
662
GNE_TAG_TRANSPORT_TRAINSTOP_EDGE,
663
GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP,
664
GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP,
665
GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP,
666
GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION,
667
GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA,
668
GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE,
669
GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP,
670
GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP,
671
GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP,
672
GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION,
673
GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA,
674
GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE,
675
GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP,
676
GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP,
677
GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP,
678
GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION,
679
GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA,
680
GNE_TAG_TRANSPORT_PARKINGAREA_EDGE,
681
GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP,
682
GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP,
683
GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP,
684
GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION,
685
GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA,
686
// @brief tranships
687
GNE_TAG_TRANSHIP_EDGE_EDGE,
688
GNE_TAG_TRANSHIP_EDGE_BUSSTOP,
689
GNE_TAG_TRANSHIP_EDGE_TRAINSTOP,
690
GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP,
691
GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION,
692
GNE_TAG_TRANSHIP_EDGE_PARKINGAREA,
693
GNE_TAG_TRANSHIP_BUSSTOP_EDGE,
694
GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP,
695
GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP,
696
GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP,
697
GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION,
698
GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA,
699
GNE_TAG_TRANSHIP_TRAINSTOP_EDGE,
700
GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP,
701
GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP,
702
GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP,
703
GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION,
704
GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA,
705
GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE,
706
GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP,
707
GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP,
708
GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP,
709
GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION,
710
GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA,
711
GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE,
712
GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP,
713
GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP,
714
GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP,
715
GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION,
716
GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA,
717
GNE_TAG_TRANSHIP_PARKINGAREA_EDGE,
718
GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP,
719
GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP,
720
GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP,
721
GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION,
722
GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA,
723
GNE_TAG_TRANSHIP_EDGES,
724
// @brief container stops
725
GNE_TAG_STOPCONTAINER,
726
GNE_TAG_STOPCONTAINER_EDGE,
727
GNE_TAG_STOPCONTAINER_BUSSTOP,
728
GNE_TAG_STOPCONTAINER_TRAINSTOP,
729
GNE_TAG_STOPCONTAINER_CONTAINERSTOP,
730
GNE_TAG_STOPCONTAINER_CHARGINGSTATION,
731
GNE_TAG_STOPCONTAINER_PARKINGAREA,
732
// @brief netedit sets
733
GNE_TAG_SUPERMODE_NETWORK,
734
GNE_TAG_SUPERMODE_DEMAND,
735
GNE_TAG_SUPERMODE_DATA,
736
GNE_TAG_STOPPINGPLACES,
737
GNE_TAG_DETECTORS,
738
GNE_TAG_SHAPES,
739
GNE_TAG_TAZS,
740
GNE_TAG_WIRES,
741
GNE_TAG_JUPEDSIM,
742
GNE_TAG_FLOWS,
743
GNE_TAG_STOPS,
744
GNE_TAG_PERSONPLANS,
745
GNE_TAG_PERSONTRIPS,
746
GNE_TAG_RIDES,
747
GNE_TAG_WALKS,
748
GNE_TAG_PERSONSTOPS,
749
GNE_TAG_CONTAINERPLANS,
750
GNE_TAG_TRANSPORTS,
751
GNE_TAG_TRANSHIPS,
752
GNE_TAG_CONTAINERSTOPS,
753
GNE_TAG_DATAS,
754
// @brief attributes
755
GNE_TAG_ATTRIBUTES_ALL,
756
/// @}
757
758
/// @brief tag used for indicate that there is an error (usually loading elements in handlers)
759
SUMO_TAG_ERROR,
760
/// @brief invalid tag, must be the last one
761
SUMO_TAG_NOTHING,
762
};
763
764
typedef std::bitset<96> SumoXMLAttrMask;
765
766
/**
767
* @enum SumoXMLAttr
768
* @brief Numbers representing SUMO-XML - attributes
769
* @see GenericSAXHandler
770
* @see SUMOSAXHandler
771
*/
772
enum SumoXMLAttr {
773
/// @name meanData output attributes
774
/// @note: sorted first to simplify filtering written attributes with bit operations
775
/// @{
776
SUMO_ATTR_DEFAULT = 1,
777
/// MSMeanData_Net
778
SUMO_ATTR_SAMPLEDSECONDS = 2,
779
SUMO_ATTR_DENSITY = 3,
780
SUMO_ATTR_LANEDENSITY = 4,
781
SUMO_ATTR_OCCUPANCY = 5,
782
SUMO_ATTR_WAITINGTIME = 6,
783
SUMO_ATTR_TIMELOSS = 7,
784
SUMO_ATTR_SPEED = 8,
785
SUMO_ATTR_SPEEDREL = 9,
786
SUMO_ATTR_DEPARTED = 10,
787
SUMO_ATTR_ARRIVED = 11,
788
SUMO_ATTR_ENTERED = 12,
789
SUMO_ATTR_LEFT = 13,
790
SUMO_ATTR_VAPORIZED = 14,
791
SUMO_ATTR_TELEPORTED = 15,
792
SUMO_ATTR_TRAVELTIME = 16,
793
SUMO_ATTR_LANECHANGEDFROM = 17,
794
SUMO_ATTR_LANECHANGEDTO = 18,
795
SUMO_ATTR_OVERLAPTRAVELTIME = 19,
796
/// MSMeanData_Emissions
797
SUMO_ATTR_CO_ABS = 20,
798
SUMO_ATTR_CO2_ABS = 21,
799
SUMO_ATTR_HC_ABS = 22,
800
SUMO_ATTR_PMX_ABS = 23,
801
SUMO_ATTR_NOX_ABS = 24,
802
SUMO_ATTR_FUEL_ABS = 25,
803
SUMO_ATTR_ELECTRICITY_ABS = 26,
804
SUMO_ATTR_CO_NORMED = 27,
805
SUMO_ATTR_CO2_NORMED = 28,
806
SUMO_ATTR_HC_NORMED = 29,
807
SUMO_ATTR_PMX_NORMED = 30,
808
SUMO_ATTR_NOX_NORMED = 31,
809
SUMO_ATTR_FUEL_NORMED = 32,
810
SUMO_ATTR_ELECTRICITY_NORMED = 33,
811
SUMO_ATTR_CO_PERVEH = 34,
812
SUMO_ATTR_CO2_PERVEH = 35,
813
SUMO_ATTR_HC_PERVEH = 36,
814
SUMO_ATTR_PMX_PERVEH = 37,
815
SUMO_ATTR_NOX_PERVEH = 38,
816
SUMO_ATTR_FUEL_PERVEH = 39,
817
SUMO_ATTR_ELECTRICITY_PERVEH = 40,
818
/// MSMeanData_Harmonoise
819
SUMO_ATTR_NOISE = 41,
820
/// MSMeanData_Amitran
821
SUMO_ATTR_AMOUNT = 42,
822
SUMO_ATTR_AVERAGESPEED = 43,
823
// FCD-Output
824
SUMO_ATTR_X = 44,
825
SUMO_ATTR_Y = 45,
826
SUMO_ATTR_Z = 46,
827
SUMO_ATTR_ANGLE = 47,
828
SUMO_ATTR_TYPE = 48,
829
SUMO_ATTR_POSITION = 49,
830
SUMO_ATTR_EDGE = 50,
831
SUMO_ATTR_LANE = 51,
832
SUMO_ATTR_SLOPE = 52,
833
SUMO_ATTR_SIGNALS = 53,
834
SUMO_ATTR_ACCELERATION = 54,
835
SUMO_ATTR_ACCELERATION_LAT = 55,
836
SUMO_ATTR_DISTANCE = 56,
837
SUMO_ATTR_LEADER_ID = 57,
838
SUMO_ATTR_LEADER_SPEED = 58,
839
SUMO_ATTR_LEADER_GAP = 59,
840
SUMO_ATTR_VEHICLE = 60,
841
SUMO_ATTR_ODOMETER = 61,
842
SUMO_ATTR_POSITION_LAT = 62,
843
SUMO_ATTR_SPEED_LAT = 63,
844
845
// only usable with SumoXMLAttrMask
846
SUMO_ATTR_ARRIVALDELAY = 64,
847
848
// emission-output
849
SUMO_ATTR_CO = 65,
850
SUMO_ATTR_CO2 = 66,
851
SUMO_ATTR_HC = 67,
852
SUMO_ATTR_PMX = 68,
853
SUMO_ATTR_NOX = 69,
854
SUMO_ATTR_FUEL = 70,
855
SUMO_ATTR_ELECTRICITY = 71,
856
SUMO_ATTR_ROUTE = 72,
857
SUMO_ATTR_ECLASS = 73,
858
SUMO_ATTR_WAITING = 74,
859
860
// meso-attributes
861
SUMO_ATTR_SEGMENT = 75,
862
SUMO_ATTR_QUEUE = 76,
863
SUMO_ATTR_ENTRYTIME = 77,
864
SUMO_ATTR_EVENTTIME = 78,
865
SUMO_ATTR_BLOCKTIME = 79,
866
867
// write the tag name
868
SUMO_ATTR_TAG = 80,
869
SUMO_ATTR_OVERLAPDENSITY = 81,
870
SUMO_ATTR_FLOW = 82,
871
872
/// @}
873
874
/// @name common attributes
875
/// @{
876
SUMO_ATTR_ID,
877
SUMO_ATTR_REFID,
878
SUMO_ATTR_NAME,
879
SUMO_ATTR_VERSION,
880
SUMO_ATTR_PRIORITY,
881
SUMO_ATTR_NUMLANES,
882
SUMO_ATTR_FRICTION,
883
SUMO_ATTR_ONEWAY,
884
SUMO_ATTR_WIDTH,
885
SUMO_ATTR_WIDTHRESOLUTION,
886
SUMO_ATTR_MAXWIDTH,
887
SUMO_ATTR_MINWIDTH,
888
SUMO_ATTR_SIDEWALKWIDTH,
889
SUMO_ATTR_BIKELANEWIDTH,
890
SUMO_ATTR_REMOVE,
891
SUMO_ATTR_LENGTH,
892
SUMO_ATTR_BIDI,
893
SUMO_ATTR_ROUTINGTYPE,
894
SUMO_ATTR_ID_BEFORE,
895
SUMO_ATTR_ID_AFTER,
896
SUMO_ATTR_CENTER,
897
SUMO_ATTR_CENTER_X,
898
SUMO_ATTR_CENTER_Y,
899
SUMO_ATTR_CENTER_Z,
900
/// @}
901
902
/// @name sumo-junction attributes
903
/// @{
904
SUMO_ATTR_KEY,
905
SUMO_ATTR_REQUESTSIZE,
906
SUMO_ATTR_REQUEST,
907
SUMO_ATTR_RESPONSE,
908
SUMO_ATTR_PROGRAMID,
909
SUMO_ATTR_PHASE,
910
SUMO_ATTR_OFFSET,
911
SUMO_ATTR_ENDOFFSET,
912
SUMO_ATTR_INCLANES,
913
SUMO_ATTR_INTLANES,
914
/// @}
915
916
/// @name the weight of a district's source or sink
917
/// @{
918
SUMO_ATTR_WEIGHT,
919
SUMO_ATTR_NODE,
920
/// @}
921
922
/// @brief the edges of a route
923
SUMO_ATTR_EDGES,
924
925
/// @name vehicle attributes
926
/// @{
927
SUMO_ATTR_DEPART,
928
SUMO_ATTR_DEPARTLANE,
929
SUMO_ATTR_DEPARTPOS,
930
SUMO_ATTR_DEPARTPOS_LAT,
931
SUMO_ATTR_DEPARTSPEED,
932
SUMO_ATTR_DEPARTEDGE,
933
SUMO_ATTR_ARRIVALLANE,
934
SUMO_ATTR_ARRIVALPOS,
935
SUMO_ATTR_ARRIVALPOS_RANDOMIZED,
936
SUMO_ATTR_ARRIVALPOS_LAT,
937
SUMO_ATTR_ARRIVALSPEED,
938
SUMO_ATTR_ARRIVALEDGE,
939
SUMO_ATTR_MAXSPEED,
940
SUMO_ATTR_DESIRED_MAXSPEED,
941
SUMO_ATTR_MAXSPEED_LAT,
942
SUMO_ATTR_LATALIGNMENT,
943
SUMO_ATTR_MINGAP_LAT,
944
SUMO_ATTR_ACCEL,
945
SUMO_ATTR_DECEL,
946
SUMO_ATTR_EMERGENCYDECEL,
947
SUMO_ATTR_APPARENTDECEL,
948
SUMO_ATTR_MAXACCEL_PROFILE,
949
SUMO_ATTR_DESACCEL_PROFILE,
950
SUMO_ATTR_ACTIONSTEPLENGTH,
951
SUMO_ATTR_VCLASS,
952
SUMO_ATTR_VCLASSES,
953
SUMO_ATTR_EXCEPTIONS,
954
SUMO_ATTR_REPNUMBER,
955
SUMO_ATTR_SPEEDFACTOR,
956
SUMO_ATTR_SPEEDDEV,
957
SUMO_ATTR_LANE_CHANGE_MODEL,
958
SUMO_ATTR_CAR_FOLLOW_MODEL,
959
SUMO_ATTR_MINGAP,
960
SUMO_ATTR_COLLISION_MINGAP_FACTOR,
961
SUMO_ATTR_BOARDING_DURATION,
962
SUMO_ATTR_LOADING_DURATION,
963
SUMO_ATTR_BOARDING_FACTOR,
964
SUMO_ATTR_SCALE,
965
SUMO_ATTR_INSERTIONCHECKS,
966
SUMO_ATTR_TIME_TO_TELEPORT,
967
SUMO_ATTR_TIME_TO_TELEPORT_BIDI,
968
SUMO_ATTR_SPEEDFACTOR_PREMATURE,
969
/// @brief Class specific timing values for vehicle maneuvering through angle ranges
970
SUMO_ATTR_MANEUVER_ANGLE_TIMES,
971
SUMO_ATTR_PARKING_BADGES,
972
/// @}
973
974
/// @name elecHybrid output attributes
975
/// @{
976
/// @brief power charging from overhead wire to battery if the battery SoC is not full
977
SUMO_ATTR_OVERHEADWIRECHARGINGPOWER,
978
/// @}
979
980
/// @name overheadWire attributes
981
/// @{
982
SUMO_ATTR_OVERHEAD_WIRE_SEGMENT,
983
SUMO_ATTR_OVERHEAD_WIRE_SEGMENTS,
984
/// @brief voltage of the traction substation [V]
985
SUMO_ATTR_VOLTAGE,
986
/// @brief a voltage source on the overhead wire segment [bool]
987
SUMO_ATTR_VOLTAGESOURCE,
988
/// @brief current limit of the traction substation [A]
989
SUMO_ATTR_CURRENTLIMIT,
990
/// @brief id of a traction substation substation
991
SUMO_ATTR_SUBSTATIONID,
992
/// @brief resistivity of overhead wires
993
SUMO_ATTR_OVERHEAD_WIRE_RESISTIVITY,
994
/// @brief forbidden lanes for overhead wire segment
995
SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN,
996
/// @brief overhead wire clamps for overhead wire segment
997
SUMO_ATTR_OVERHEAD_WIRE_CLAMPS,
998
/// @brief id of the overhead wire segment, to the start of which the overhead wire clamp is connected
999
SUMO_ATTR_OVERHEAD_WIRE_CLAMP_START,
1000
/// @brief id of the overhead wire segment, to the end of which the overhead wire clamp is connected
1001
SUMO_ATTR_OVERHEAD_WIRE_CLAMP_END,
1002
/// @brief id of the overhead wire, to the start of which the overhead wire clamp is connected
1003
SUMO_ATTR_OVERHEAD_WIRECLAMP_START,
1004
/// @brief id of the overhead wire, to the end of which the overhead wire clamp is connected
1005
SUMO_ATTR_OVERHEAD_WIRECLAMP_END,
1006
/// @brief id of the overhead wire lane, to the start of which the overhead wire clamp is connected
1007
SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART,
1008
/// @brief id of the overhead wire lane, to the end of which the overhead wire clamp is connected
1009
SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND,
1010
/// @}
1011
1012
/// @name charging stations attributes
1013
/// @{
1014
/// @brief charge in W/s of the Charging Stations
1015
SUMO_ATTR_CHARGINGPOWER,
1016
/// @brief total charge in W/s of the Charging Stations
1017
SUMO_ATTR_TOTALPOWER,
1018
/// @brief Eficiency of the charge in Charging Stations
1019
SUMO_ATTR_EFFICIENCY,
1020
/// @brief Allow/disallow charge in transit in Charging Stations
1021
SUMO_ATTR_CHARGEINTRANSIT,
1022
/// @brief Delay in the charge of charging stations (different of waiting time)
1023
SUMO_ATTR_CHARGEDELAY,
1024
/// @brief Charge type (fuel or electric)
1025
SUMO_ATTR_CHARGETYPE,
1026
/// @}
1027
1028
/// @name battery device parameters
1029
/// @{
1030
/// @brief Actual battery capacity
1031
SUMO_ATTR_ACTUALBATTERYCAPACITY, // deprecated
1032
SUMO_ATTR_CHARGELEVEL,
1033
/// @brief Maxium battery capacity
1034
SUMO_ATTR_MAXIMUMBATTERYCAPACITY, // deprecated
1035
/// @brief Maximum Power
1036
SUMO_ATTR_MAXIMUMCHARGERATE,
1037
/// @brief Charge curve axis values
1038
SUMO_ATTR_CHARGELEVELTABLE,
1039
/// @brief Charge curve
1040
SUMO_ATTR_CHARGECURVETABLE,
1041
/// @brief Maximum Power
1042
SUMO_ATTR_MAXIMUMPOWER,
1043
/// @brief Vehicle mass
1044
SUMO_ATTR_VEHICLEMASS,
1045
/// @brief Mass equivalent of rotating elements
1046
SUMO_ATTR_ROTATINGMASS,
1047
/// @brief Front surface area
1048
SUMO_ATTR_FRONTSURFACEAREA,
1049
/// @brief Air drag coefficient
1050
SUMO_ATTR_AIRDRAGCOEFFICIENT,
1051
/// @brief Internal moment of inertia
1052
SUMO_ATTR_INTERNALMOMENTOFINERTIA,
1053
/// @brief Radial drag coefficient
1054
SUMO_ATTR_RADIALDRAGCOEFFICIENT,
1055
/// @brief Roll Drag coefficient
1056
SUMO_ATTR_ROLLDRAGCOEFFICIENT,
1057
/// @brief Constant Power Intake
1058
SUMO_ATTR_CONSTANTPOWERINTAKE,
1059
/// @brief Propulsion efficiency
1060
SUMO_ATTR_PROPULSIONEFFICIENCY,
1061
/// @brief Recuperation efficiency (constant)
1062
SUMO_ATTR_RECUPERATIONEFFICIENCY,
1063
/// @brief Recuperation efficiency (by deceleration)
1064
SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION,
1065
/// @brief Stopping threshold
1066
SUMO_ATTR_STOPPINGTHRESHOLD,
1067
/// @}
1068
1069
/// @name tripinfo output attributes
1070
/// @{
1071
SUMO_ATTR_WAITINGCOUNT,
1072
SUMO_ATTR_STOPTIME,
1073
/// @}
1074
1075
/// @name elecHybrid device export parameters
1076
/// @{
1077
// @brief Overhead Wire Segment ID
1078
SUMO_ATTR_OVERHEADWIREID,
1079
// @brief Traction substation ID
1080
SUMO_ATTR_TRACTIONSUBSTATIONID,
1081
// @brief Electric current drawn from overhead wire
1082
SUMO_ATTR_CURRENTFROMOVERHEADWIRE,
1083
// @brief Voltage of overhead wire (above the vehicle)
1084
SUMO_ATTR_VOLTAGEOFOVERHEADWIRE,
1085
// @brief Circuit solver alpha parameter
1086
SUMO_ATTR_ALPHACIRCUITSOLVER,
1087
// @brief Recuperate the excess energy into overhead wires (0/1)
1088
SUMO_ATTR_RECUPERATIONENABLE,
1089
/// @}
1090
1091
/// @name battery export parameters
1092
/// @{
1093
/// @brief charging status
1094
SUMO_ATTR_CHARGING_STATUS,
1095
/// @brief Energy consumed
1096
SUMO_ATTR_ENERGYCONSUMED,
1097
/// @brief Total energy consumed
1098
SUMO_ATTR_TOTALENERGYCONSUMED,
1099
/// @brief Total energy regenerated
1100
SUMO_ATTR_TOTALENERGYREGENERATED,
1101
/// @brief Charging Station ID
1102
SUMO_ATTR_CHARGINGSTATIONID,
1103
/// @brief tgotal of Energy charged
1104
SUMO_ATTR_ENERGYCHARGED,
1105
/// @brief Energy charged in transit
1106
SUMO_ATTR_ENERGYCHARGEDINTRANSIT,
1107
/// @brief Energy charged stopped
1108
SUMO_ATTR_ENERGYCHARGEDSTOPPED,
1109
/// @brief Position on lane
1110
SUMO_ATTR_POSONLANE,
1111
/// @brief Time stopped
1112
SUMO_ATTR_TIMESTOPPED,
1113
/// @}
1114
1115
/// @name MMPEVEM parameters
1116
/// @{
1117
/// @brief Wheel radius
1118
SUMO_ATTR_WHEELRADIUS,
1119
/// @brief Maximum torque
1120
SUMO_ATTR_MAXIMUMTORQUE,
1121
/// @brief Maximum speed
1122
SUMO_ATTR_MAXIMUMSPEED,
1123
/// @brief Gear efficiency
1124
SUMO_ATTR_GEAREFFICIENCY,
1125
/// @brief Gear ratio
1126
SUMO_ATTR_GEARRATIO,
1127
/// @brief Maximum recuperation torque
1128
SUMO_ATTR_MAXIMUMRECUPERATIONTORQUE,
1129
/// @brief Maximum recuperation power
1130
SUMO_ATTR_MAXIMUMRECUPERATIONPOWER,
1131
/// @brief Internal battery resistance
1132
SUMO_ATTR_INTERNALBATTERYRESISTANCE,
1133
/// @brief Nominal battery voltage
1134
SUMO_ATTR_NOMINALBATTERYVOLTAGE,
1135
/// @brief A string encoding the power loss map
1136
SUMO_ATTR_POWERLOSSMAP,
1137
/// @}
1138
1139
/// @name chargingStations export parameters
1140
/// @{
1141
/// @brief total energy charged by charging station
1142
SUMO_ATTR_TOTALENERGYCHARGED,
1143
/// @brief number of steps that a vehicle is charging
1144
SUMO_ATTR_CHARGINGSTEPS,
1145
/// @brief total energy charged into a single vehicle
1146
SUMO_ATTR_TOTALENERGYCHARGED_VEHICLE,
1147
/// @brief timestep in which charging begins
1148
SUMO_ATTR_CHARGINGBEGIN,
1149
/// @brief timesteps in which charging ends
1150
SUMO_ATTR_CHARGINGEND,
1151
/// @brief energy provided by charging station at certain timestep
1152
SUMO_ATTR_PARTIALCHARGE,
1153
/// @brief minimum charging power encountered during the charging event
1154
SUMO_ATTR_MINPOWER,
1155
/// @brief minimum energy charged during one time step of the charging event
1156
SUMO_ATTR_MINCHARGE,
1157
/// @brief maximum energy charged during one time step of the charging event
1158
SUMO_ATTR_MAXCHARGE,
1159
/// @brief minimum charging efficiency encountered during the charging event
1160
SUMO_ATTR_MINEFFICIENCY,
1161
/// @brief maximum charging efficiency encountered during the charging event
1162
SUMO_ATTR_MAXEFFICIENCY,
1163
/// @}
1164
1165
/// @name general emission / consumption parameters
1166
/// @{
1167
/// @brief engine gets switched off if remaining planned stop duration exceeds value
1168
SUMO_ATTR_SHUT_OFF_STOP,
1169
/// @brief engine gets switched off if stopping duration exceeds value
1170
SUMO_ATTR_SHUT_OFF_AUTO,
1171
/// @brief additional mass loaded on the vehicle
1172
SUMO_ATTR_LOADING,
1173
/// @}
1174
1175
/// @name Car following model attributes
1176
/// @{
1177
SUMO_ATTR_SIGMA, // used by: Krauss
1178
SUMO_ATTR_SIGMA_STEP, // used by: Krauss
1179
SUMO_ATTR_STARTUP_DELAY,
1180
SUMO_ATTR_TAU,
1181
SUMO_ATTR_TMP1,
1182
SUMO_ATTR_TMP2,
1183
SUMO_ATTR_TMP3,
1184
SUMO_ATTR_TMP4,
1185
SUMO_ATTR_TMP5,
1186
// Car Following Model attributes of the Extended IDM
1187
SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS,
1188
SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD,
1189
SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE,
1190
SUMO_ATTR_CF_EIDM_T_REACTION,
1191
SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE,
1192
SUMO_ATTR_CF_EIDM_C_COOLNESS,
1193
SUMO_ATTR_CF_EIDM_SIG_LEADER,
1194
SUMO_ATTR_CF_EIDM_SIG_GAP,
1195
SUMO_ATTR_CF_EIDM_SIG_ERROR,
1196
SUMO_ATTR_CF_EIDM_JERK_MAX,
1197
SUMO_ATTR_CF_EIDM_EPSILON_ACC,
1198
SUMO_ATTR_CF_EIDM_T_ACC_MAX,
1199
SUMO_ATTR_CF_EIDM_M_FLATNESS,
1200
SUMO_ATTR_CF_EIDM_M_BEGIN,
1201
SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW,
1202
/// @}
1203
1204
// @name Train ACC model attributes
1205
/// @{
1206
SUMO_ATTR_SC_GAIN,
1207
SUMO_ATTR_GCC_GAIN_SPEED,
1208
SUMO_ATTR_GCC_GAIN_SPACE,
1209
SUMO_ATTR_GC_GAIN_SPEED,
1210
SUMO_ATTR_GC_GAIN_SPACE,
1211
SUMO_ATTR_CA_GAIN_SPEED,
1212
SUMO_ATTR_CA_GAIN_SPACE,
1213
SUMO_ATTR_CA_OVERRIDE,
1214
/// @}
1215
1216
// @name Train CACC model attributes
1217
/// @{
1218
SUMO_ATTR_SC_GAIN_CACC,
1219
SUMO_ATTR_GCC_GAIN_GAP_CACC,
1220
SUMO_ATTR_GCC_GAIN_GAP_DOT_CACC,
1221
SUMO_ATTR_GC_GAIN_GAP_CACC,
1222
SUMO_ATTR_GC_GAIN_GAP_DOT_CACC,
1223
SUMO_ATTR_CA_GAIN_GAP_CACC,
1224
SUMO_ATTR_CA_GAIN_GAP_DOT_CACC,
1225
SUMO_ATTR_HEADWAY_TIME_CACC_TO_ACC,
1226
SUMO_ATTR_SC_MIN_GAP,
1227
SUMO_ATTR_APPLYDRIVERSTATE,
1228
/// @}
1229
1230
1231
/// @name Train model attributes
1232
/// @{
1233
SUMO_ATTR_TRAIN_TYPE, //used by: Rail
1234
SUMO_ATTR_SPEED_TABLE, // list of speeds for traction and resistance value tables
1235
SUMO_ATTR_TRACTION_TABLE, // list of traction values for the speeds table
1236
SUMO_ATTR_RESISTANCE_TABLE, // list of resistance values for the speeds table
1237
SUMO_ATTR_MASSFACTOR,
1238
SUMO_ATTR_MAXPOWER,
1239
SUMO_ATTR_MAXTRACTION,
1240
SUMO_ATTR_RESISTANCE_COEFFICIENT_CONSTANT,
1241
SUMO_ATTR_RESISTANCE_COEFFICIENT_LINEAR,
1242
SUMO_ATTR_RESISTANCE_COEFFICIENT_QUADRATIC,
1243
1244
SUMO_ATTR_LCA_STRATEGIC_PARAM,
1245
SUMO_ATTR_LCA_COOPERATIVE_PARAM,
1246
SUMO_ATTR_LCA_SPEEDGAIN_PARAM,
1247
SUMO_ATTR_LCA_KEEPRIGHT_PARAM,
1248
SUMO_ATTR_LCA_SUBLANE_PARAM,
1249
SUMO_ATTR_LCA_OPPOSITE_PARAM,
1250
SUMO_ATTR_LCA_PUSHY,
1251
SUMO_ATTR_LCA_PUSHYGAP,
1252
SUMO_ATTR_LCA_STRATEGIC_LOOKAHEAD,
1253
SUMO_ATTR_LCA_ASSERTIVE,
1254
SUMO_ATTR_LCA_IMPATIENCE,
1255
SUMO_ATTR_LCA_TIME_TO_IMPATIENCE,
1256
SUMO_ATTR_LCA_ACCEL_LAT,
1257
SUMO_ATTR_LCA_LOOKAHEADLEFT,
1258
SUMO_ATTR_LCA_SPEEDGAINRIGHT,
1259
SUMO_ATTR_LCA_SPEEDGAIN_LOOKAHEAD,
1260
SUMO_ATTR_LCA_SPEEDGAIN_REMAIN_TIME,
1261
SUMO_ATTR_LCA_SPEEDGAIN_URGENCY,
1262
SUMO_ATTR_LCA_COOPERATIVE_ROUNDABOUT,
1263
SUMO_ATTR_LCA_COOPERATIVE_SPEED,
1264
SUMO_ATTR_LCA_COOPERATIVE_HELPTIME,
1265
SUMO_ATTR_LCA_MAXSPEEDLATSTANDING,
1266
SUMO_ATTR_LCA_MAXSPEEDLATFACTOR,
1267
SUMO_ATTR_LCA_MAXDISTLATSTANDING,
1268
SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE,
1269
SUMO_ATTR_LCA_OVERTAKE_RIGHT,
1270
SUMO_ATTR_LCA_LANE_DISCIPLINE,
1271
SUMO_ATTR_LCA_SIGMA,
1272
SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME,
1273
SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR,
1274
SUMO_ATTR_LCA_CONTRIGHT,
1275
SUMO_ATTR_LCA_EXPERIMENTAL1,
1276
/// @}
1277
1278
/// @name Junction model attributes
1279
/// @{
1280
SUMO_ATTR_JM_CROSSING_GAP,
1281
SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME,
1282
SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME,
1283
SUMO_ATTR_JM_DRIVE_RED_SPEED,
1284
SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME,
1285
SUMO_ATTR_JM_IGNORE_FOE_SPEED,
1286
SUMO_ATTR_JM_IGNORE_FOE_PROB,
1287
SUMO_ATTR_JM_IGNORE_JUNCTION_FOE_PROB,
1288
SUMO_ATTR_JM_SIGMA_MINOR,
1289
SUMO_ATTR_JM_STOPLINE_GAP,
1290
SUMO_ATTR_JM_STOPLINE_GAP_MINOR,
1291
SUMO_ATTR_JM_STOPLINE_CROSSING_GAP,
1292
SUMO_ATTR_JM_TIMEGAP_MINOR,
1293
SUMO_ATTR_JM_EXTRA_GAP,
1294
SUMO_ATTR_JM_ADVANCE,
1295
SUMO_ATTR_JM_STOPSIGN_WAIT,
1296
SUMO_ATTR_JM_ALLWAYSTOP_WAIT,
1297
SUMO_ATTR_JM_IGNORE_IDS,
1298
SUMO_ATTR_JM_IGNORE_TYPES,
1299
SUMO_ATTR_CF_IGNORE_IDS,
1300
SUMO_ATTR_CF_IGNORE_TYPES,
1301
/// @}
1302
SUMO_ATTR_FLEX_ARRIVAL,
1303
1304
/// @name route alternatives / distribution attributes
1305
/// @{
1306
SUMO_ATTR_LAST,
1307
SUMO_ATTR_COST,
1308
SUMO_ATTR_COSTS,
1309
SUMO_ATTR_SAVINGS,
1310
SUMO_ATTR_EXITTIMES,
1311
SUMO_ATTR_PROB,
1312
SUMO_ATTR_REPLACED_AT_TIME,
1313
SUMO_ATTR_REPLACED_ON_INDEX,
1314
SUMO_ATTR_COUNT,
1315
SUMO_ATTR_PROBS,
1316
SUMO_ATTR_ROUTES,
1317
SUMO_ATTR_VTYPES,
1318
SUMO_ATTR_NEXT_EDGES,
1319
SUMO_ATTR_DETERMINISTIC,
1320
/// @}
1321
1322
/// @name trip definition attributes
1323
/// @{
1324
SUMO_ATTR_LANES,
1325
SUMO_ATTR_FROM,
1326
SUMO_ATTR_TO,
1327
SUMO_ATTR_FROMLONLAT,
1328
SUMO_ATTR_TOLONLAT,
1329
SUMO_ATTR_FROMXY,
1330
SUMO_ATTR_TOXY,
1331
SUMO_ATTR_FROM_JUNCTION,
1332
SUMO_ATTR_TO_JUNCTION,
1333
SUMO_ATTR_PERIOD,
1334
SUMO_ATTR_REPEAT,
1335
SUMO_ATTR_CYCLETIME,
1336
SUMO_ATTR_FROM_TAZ,
1337
SUMO_ATTR_TO_TAZ,
1338
SUMO_ATTR_REROUTE,
1339
SUMO_ATTR_PERSON_CAPACITY,
1340
SUMO_ATTR_CONTAINER_CAPACITY,
1341
SUMO_ATTR_PARKING_LENGTH,
1342
SUMO_ATTR_PERSON_NUMBER,
1343
SUMO_ATTR_CONTAINER_NUMBER,
1344
SUMO_ATTR_MODES,
1345
SUMO_ATTR_WALKFACTOR,
1346
/// @}
1347
1348
/// @name source definitions
1349
/// @{
1350
SUMO_ATTR_FUNCTION,
1351
SUMO_ATTR_FREQUENCY,
1352
SUMO_ATTR_STYLE,
1353
SUMO_ATTR_FILE,
1354
SUMO_ATTR_LOCAL,
1355
SUMO_ATTR_NUMBER,
1356
SUMO_ATTR_DURATION,
1357
SUMO_ATTR_UNTIL,
1358
SUMO_ATTR_ARRIVAL,
1359
SUMO_ATTR_EXTENSION,
1360
SUMO_ATTR_ROUTEPROBE,
1361
SUMO_ATTR_STARTED,
1362
SUMO_ATTR_ENDED,
1363
/// @}
1364
1365
/// @brief the edges crossed by a pedestrian crossing
1366
SUMO_ATTR_CROSSING_EDGES,
1367
/// @brief trigger: the time of the step
1368
SUMO_ATTR_TIME,
1369
/// @brief weights: time range begin
1370
SUMO_ATTR_BEGIN,
1371
/// @brief weights: time range end
1372
SUMO_ATTR_END,
1373
/// @brief link,node: the traffic light id responsible for this link
1374
SUMO_ATTR_TLID,
1375
/// @brief node: the type of traffic light
1376
SUMO_ATTR_TLTYPE,
1377
/// @brief node: the layout of the traffic light program
1378
SUMO_ATTR_TLLAYOUT,
1379
/// @brief link: the index of the link within the traffic light
1380
SUMO_ATTR_TLLINKINDEX,
1381
/// @brief link: the index of the opposite direction link of a pedestrian crossing
1382
SUMO_ATTR_TLLINKINDEX2,
1383
/// @brief edge: the shape in xml-definition
1384
SUMO_ATTR_SHAPE,
1385
/// @brief edge: the outline shape in xml-definition
1386
SUMO_ATTR_OUTLINESHAPE,
1387
/// @brief The information about how to spread the lanes from the given position
1388
SUMO_ATTR_SPREADTYPE,
1389
/// @brief The turning radius at an intersection in m
1390
SUMO_ATTR_RADIUS,
1391
/// @brief Whether vehicles must keep the junction clear
1392
SUMO_ATTR_KEEP_CLEAR,
1393
/// @brief Whether this connection is an indirect (left) turn
1394
SUMO_ATTR_INDIRECT,
1395
/// @brief How to compute right of way
1396
SUMO_ATTR_RIGHT_OF_WAY,
1397
/// @brief Fringe type of node
1398
SUMO_ATTR_FRINGE,
1399
/// @brief Roundabout type of node
1400
SUMO_ATTR_ROUNDABOUT,
1401
/// @brief whether a given shape is user-defined
1402
SUMO_ATTR_CUSTOMSHAPE,
1403
/// @brief A color information
1404
SUMO_ATTR_COLOR,
1405
/// @brief The abstract direction of a link
1406
SUMO_ATTR_DIR,
1407
/// @brief The state of a link
1408
SUMO_ATTR_STATE,
1409
/// @brief The state of the lanechange model
1410
SUMO_ATTR_LCSTATE,
1411
/// @brief foe visibility distance of a link
1412
SUMO_ATTR_VISIBILITY_DISTANCE,
1413
/// @brief icon
1414
SUMO_ATTR_ICON,
1415
/// @brief A layer number
1416
SUMO_ATTR_LAYER,
1417
/// @brief Fill the polygon
1418
SUMO_ATTR_FILL,
1419
SUMO_ATTR_LINEWIDTH,
1420
SUMO_ATTR_PREFIX,
1421
SUMO_ATTR_DISCARD,
1422
1423
SUMO_ATTR_FROM_LANE,
1424
SUMO_ATTR_TO_LANE,
1425
SUMO_ATTR_DEST,
1426
SUMO_ATTR_SOURCE,
1427
SUMO_ATTR_VIA,
1428
SUMO_ATTR_VIALONLAT,
1429
SUMO_ATTR_VIAXY,
1430
SUMO_ATTR_VIAJUNCTIONS,
1431
/// @brief a list of node ids, used for controlling joining
1432
SUMO_ATTR_NODES,
1433
1434
/// @name Attributes for actuated traffic lights:
1435
/// @{
1436
/// @brief minimum duration of a phase
1437
SUMO_ATTR_MINDURATION,
1438
/// @brief maximum duration of a phase
1439
SUMO_ATTR_MAXDURATION,
1440
/// @brief The minimum time within the cycle for switching (for coordinated actuation)
1441
SUMO_ATTR_EARLIEST_END,
1442
/// @brief The maximum time within the cycle for switching (for coordinated actuation)
1443
SUMO_ATTR_LATEST_END,
1444
/// @brief The condition expression for an early switch into this phase
1445
SUMO_ATTR_EARLY_TARGET,
1446
/// @brief The condition expression for switching into this phase when the active phase must end
1447
SUMO_ATTR_FINAL_TARGET,
1448
/// @brief The expression for a condition assignment
1449
SUMO_ATTR_CHECK,
1450
/// @brief The number of arguments for a condition function
1451
SUMO_ATTR_NARGS,
1452
/// @brief vehicle extension time of a phase
1453
SUMO_ATTR_VEHICLEEXTENSION,
1454
/// @brief yellow duration of a phase
1455
SUMO_ATTR_YELLOW,
1456
/// @brief red duration of a phase
1457
SUMO_ATTR_RED,
1458
/// @brief succesor phase index
1459
SUMO_ATTR_NEXT,
1460
/// @}
1461
1462
/// @name Attributes for junction-internal lanes
1463
/// @{
1464
/// @brief Information within the junction logic which internal lanes block external
1465
SUMO_ATTR_FOES,
1466
/// @}
1467
SUMO_ATTR_CONSTRAINTS,
1468
SUMO_ATTR_RAIL,
1469
1470
SUMO_ATTR_DETECTORS,
1471
SUMO_ATTR_CONDITIONS,
1472
SUMO_ATTR_SAVE_DETECTORS,
1473
SUMO_ATTR_SAVE_CONDITIONS,
1474
1475
/// @name Attributes for detectors
1476
/// @{
1477
/// @brief Information whether the detector shall be continued on the folowing lanes
1478
SUMO_ATTR_CONT,
1479
SUMO_ATTR_CONTPOS,
1480
SUMO_ATTR_HALTING_TIME_THRESHOLD,
1481
SUMO_ATTR_HALTING_SPEED_THRESHOLD,
1482
SUMO_ATTR_JAM_DIST_THRESHOLD,
1483
SUMO_ATTR_SHOW_DETECTOR,
1484
SUMO_ATTR_OPEN_ENTRY,
1485
SUMO_ATTR_EXPECT_ARRIVAL,
1486
/// @}
1487
1488
SUMO_ATTR_WAUT_ID,
1489
SUMO_ATTR_JUNCTION_ID,
1490
SUMO_ATTR_PROCEDURE,
1491
SUMO_ATTR_SYNCHRON,
1492
SUMO_ATTR_REF_TIME,
1493
SUMO_ATTR_START_PROG,
1494
1495
SUMO_ATTR_OFF,
1496
SUMO_ATTR_FRIENDLY_POS,
1497
SUMO_ATTR_SPLIT_VTYPE,
1498
SUMO_ATTR_UNCONTROLLED,
1499
SUMO_ATTR_PASS,
1500
SUMO_ATTR_BUS_STOP,
1501
SUMO_ATTR_TRAIN_STOP,
1502
SUMO_ATTR_CONTAINER_STOP,
1503
SUMO_ATTR_PARKING_AREA,
1504
SUMO_ATTR_ROADSIDE_CAPACITY,
1505
SUMO_ATTR_ACCEPTED_BADGES,
1506
SUMO_ATTR_ONROAD,
1507
SUMO_ATTR_CHARGING_STATION,
1508
SUMO_ATTR_GROUP,
1509
SUMO_ATTR_LINE,
1510
SUMO_ATTR_LINES,
1511
SUMO_ATTR_TRIP_ID,
1512
SUMO_ATTR_SPLIT,
1513
SUMO_ATTR_JOIN,
1514
SUMO_ATTR_INTENDED,
1515
SUMO_ATTR_ONDEMAND,
1516
SUMO_ATTR_JUMP,
1517
SUMO_ATTR_JUMP_UNTIL,
1518
SUMO_ATTR_USED_ENDED,
1519
SUMO_ATTR_COLLISION,
1520
SUMO_ATTR_VALUE,
1521
SUMO_ATTR_PROHIBITOR,
1522
SUMO_ATTR_PROHIBITED,
1523
SUMO_ATTR_ALLOW,
1524
SUMO_ATTR_DISALLOW,
1525
SUMO_ATTR_PREFER,
1526
SUMO_ATTR_CHANGE_LEFT,
1527
SUMO_ATTR_CHANGE_RIGHT,
1528
SUMO_ATTR_CONTROLLED_INNER,
1529
SUMO_ATTR_VEHSPERHOUR,
1530
SUMO_ATTR_PERSONSPERHOUR,
1531
SUMO_ATTR_CONTAINERSPERHOUR,
1532
SUMO_ATTR_PERHOUR,
1533
SUMO_ATTR_DONE,
1534
SUMO_ATTR_OUTPUT,
1535
SUMO_ATTR_HEIGHT,
1536
SUMO_ATTR_GUISHAPE,
1537
SUMO_ATTR_OSGFILE,
1538
SUMO_ATTR_IMGFILE,
1539
SUMO_ATTR_EMISSIONCLASS,
1540
SUMO_ATTR_MASS,
1541
SUMO_ATTR_IMPATIENCE,
1542
SUMO_ATTR_STARTPOS,
1543
SUMO_ATTR_ENDPOS,
1544
SUMO_ATTR_TRIGGERED,
1545
SUMO_ATTR_CONTAINER_TRIGGERED,
1546
SUMO_ATTR_PARKING,
1547
SUMO_ATTR_EXPECTED,
1548
SUMO_ATTR_PERMITTED,
1549
SUMO_ATTR_EXPECTED_CONTAINERS,
1550
SUMO_ATTR_INDEX,
1551
1552
SUMO_ATTR_ENTERING,
1553
SUMO_ATTR_EXCLUDE_EMPTY,
1554
SUMO_ATTR_WITH_INTERNAL,
1555
SUMO_ATTR_TRACK_VEHICLES,
1556
SUMO_ATTR_DETECT_PERSONS,
1557
SUMO_ATTR_MAX_TRAVELTIME,
1558
SUMO_ATTR_MIN_SAMPLES,
1559
SUMO_ATTR_WRITE_ATTRIBUTES,
1560
SUMO_ATTR_EDGESFILE,
1561
SUMO_ATTR_AGGREGATE,
1562
SUMO_ATTR_NUMEDGES,
1563
1564
SUMO_ATTR_LON,
1565
SUMO_ATTR_LAT,
1566
SUMO_ATTR_ACTION,
1567
SUMO_ATTR_GEO,
1568
SUMO_ATTR_GEOSHAPE,
1569
SUMO_ATTR_K,
1570
SUMO_ATTR_V,
1571
SUMO_ATTR_REF,
1572
SUMO_ATTR_HREF,
1573
SUMO_ATTR_ZOOM,
1574
SUMO_ATTR_INTERPOLATED,
1575
SUMO_ATTR_THRESHOLD,
1576
1577
SUMO_ATTR_NET_OFFSET,
1578
SUMO_ATTR_CONV_BOUNDARY,
1579
SUMO_ATTR_ORIG_BOUNDARY,
1580
SUMO_ATTR_ORIG_PROJ,
1581
1582
/// @name car-following model attributes
1583
/// @{
1584
SUMO_ATTR_CF_PWAGNER2009_TAULAST,
1585
SUMO_ATTR_CF_PWAGNER2009_APPROB,
1586
SUMO_ATTR_CF_IDM_DELTA,
1587
SUMO_ATTR_CF_IDM_STEPPING,
1588
SUMO_ATTR_CF_IDMM_ADAPT_FACTOR,
1589
SUMO_ATTR_CF_IDMM_ADAPT_TIME,
1590
SUMO_ATTR_CF_KERNER_PHI,
1591
SUMO_ATTR_CF_WIEDEMANN_SECURITY,
1592
SUMO_ATTR_CF_WIEDEMANN_ESTIMATION,
1593
SUMO_ATTR_CF_W99_CC1,
1594
SUMO_ATTR_CF_W99_CC2,
1595
SUMO_ATTR_CF_W99_CC3,
1596
SUMO_ATTR_CF_W99_CC4,
1597
SUMO_ATTR_CF_W99_CC5,
1598
SUMO_ATTR_CF_W99_CC6,
1599
SUMO_ATTR_CF_W99_CC7,
1600
SUMO_ATTR_CF_W99_CC8,
1601
SUMO_ATTR_CF_W99_CC9,
1602
1603
SUMO_ATTR_CF_CC_CCDECEL,
1604
SUMO_ATTR_CF_CC_CONSTSPACING,
1605
SUMO_ATTR_CF_CC_KP,
1606
SUMO_ATTR_CF_CC_LAMBDA,
1607
SUMO_ATTR_CF_CC_C1,
1608
SUMO_ATTR_CF_CC_XI,
1609
SUMO_ATTR_CF_CC_OMEGAN,
1610
SUMO_ATTR_CF_CC_TAU,
1611
SUMO_ATTR_CF_CC_LANES_COUNT,
1612
SUMO_ATTR_CF_CC_CCACCEL,
1613
SUMO_ATTR_CF_CC_PLOEG_KP,
1614
SUMO_ATTR_CF_CC_PLOEG_KD,
1615
SUMO_ATTR_CF_CC_PLOEG_H,
1616
SUMO_ATTR_CF_CC_FLATBED_KA,
1617
SUMO_ATTR_CF_CC_FLATBED_KV,
1618
SUMO_ATTR_CF_CC_FLATBED_KP,
1619
SUMO_ATTR_CF_CC_FLATBED_D,
1620
SUMO_ATTR_CF_CC_FLATBED_H,
1621
/// @}
1622
1623
SUMO_ATTR_GENERATE_WALKS,
1624
SUMO_ATTR_ACTTYPE,
1625
SUMO_ATTR_CORNERDETAIL,
1626
SUMO_ATTR_LINKDETAIL,
1627
SUMO_ATTR_RECTANGULAR_LANE_CUT,
1628
SUMO_ATTR_WALKINGAREAS,
1629
SUMO_ATTR_LEFTHAND,
1630
SUMO_ATTR_LIMIT_TURN_SPEED,
1631
SUMO_ATTR_CHECKLANEFOES_ALL,
1632
SUMO_ATTR_CHECKLANEFOES_ROUNDABOUT,
1633
SUMO_ATTR_TLS_IGNORE_INTERNAL_JUNCTION_JAM,
1634
SUMO_ATTR_AVOID_OVERLAP,
1635
SUMO_ATTR_HIGHER_SPEED,
1636
SUMO_ATTR_INTERNAL_JUNCTIONS_VEHICLE_WIDTH,
1637
SUMO_ATTR_JUNCTIONS_MINIMAL_SHAPE,
1638
SUMO_ATTR_JUNCTIONS_ENDPOINT_SHAPE,
1639
SUMO_ATTR_COMMAND,
1640
1641
SUMO_ATTR_ACTORCONFIG,
1642
SUMO_ATTR_STARTTIME,
1643
SUMO_ATTR_VEHICLECLASS,
1644
SUMO_ATTR_ORIGIN,
1645
SUMO_ATTR_DESTINATION,
1646
SUMO_ATTR_VISIBLE,
1647
SUMO_ATTR_MAIN,
1648
SUMO_ATTR_SIDING,
1649
SUMO_ATTR_MINSAVING,
1650
SUMO_ATTR_DEFER,
1651
SUMO_ATTR_LIMIT,
1652
SUMO_ATTR_ACTIVE,
1653
SUMO_ATTR_ARRIVALTIME,
1654
SUMO_ATTR_ARRIVALTIMEBRAKING,
1655
SUMO_ATTR_ARRIVALSPEEDBRAKING,
1656
SUMO_ATTR_OPTIONAL,
1657
SUMO_ATTR_VEHICLES,
1658
1659
/// @name ActivityGen Tags
1660
/// @{
1661
1662
/// @name general object
1663
/// @{
1664
AGEN_ATTR_INHABITANTS,
1665
AGEN_ATTR_HOUSEHOLDS,
1666
AGEN_ATTR_CHILDREN,
1667
AGEN_ATTR_RETIREMENT,
1668
AGEN_ATTR_CARS,
1669
AGEN_ATTR_UNEMPLOYEMENT,
1670
AGEN_ATTR_LABORDEMAND,
1671
AGEN_ATTR_MAX_FOOT_DIST,
1672
AGEN_ATTR_IN_TRAFFIC,
1673
AGEN_ATTR_OUT_TRAFFIC,
1674
/// @}
1675
1676
/// @name streets object
1677
/// @{
1678
//SUMO_ATTR_EDGE already defined
1679
AGEN_ATTR_POPULATION,
1680
AGEN_ATTR_OUT_WORKPOSITION,
1681
/// @}
1682
1683
/// @name workHours object
1684
/// @{
1685
AGEN_ATTR_HOUR,
1686
AGEN_ATTR_PROP,
1687
/// @}
1688
1689
/// @name school object
1690
/// @{
1691
//SUMO_ATTR_EDGE, SUMO_ATTR_POSITION, SUMO_ATTR_TYPE already defined
1692
AGEN_ATTR_CAPACITY,
1693
AGEN_ATTR_OPENING,
1694
AGEN_ATTR_CLOSING,
1695
/// @}
1696
1697
/// @name busStation and Bus objects
1698
/// @{
1699
// ID, EDGE, POSITION, REFID, BEGIN and END are already defined
1700
AGEN_ATTR_MAX_TRIP_DURATION,
1701
//AGEN_ATTR_ORDER,
1702
AGEN_ATTR_RATE,
1703
/// @}
1704
1705
/// @name population and children accompaniment brackets
1706
/// @{
1707
AGEN_ATTR_BEGINAGE,
1708
AGEN_ATTR_ENDAGE,
1709
AGEN_ATTR_PEOPLENBR,
1710
/// @}
1711
1712
/// @name parameters
1713
/// @{
1714
AGEN_ATTR_CARPREF,
1715
AGEN_ATTR_CITYSPEED,
1716
AGEN_ATTR_FREETIMERATE,
1717
AGEN_ATTR_UNI_RAND_TRAFFIC,
1718
AGEN_ATTR_DEP_VARIATION,
1719
/// @}
1720
1721
/// @name city gates
1722
/// @{
1723
AGEN_ATTR_INCOMING,
1724
AGEN_ATTR_OUTGOING,
1725
/// @}
1726
/// @}
1727
1728
/// @name SUMOConfig elements
1729
/// @brief config file
1730
SUMO_ATTR_CONFIGFILE,
1731
/// @brief net file
1732
SUMO_ATTR_NETFILE,
1733
/// @brief additional files
1734
SUMO_ATTR_ADDITIONALFILES,
1735
/// @brief route files
1736
SUMO_ATTR_ROUTEFILES,
1737
/// @brief route files
1738
SUMO_ATTR_DATAFILES,
1739
/// @brief meanData files
1740
SUMO_ATTR_MEANDATAFILES,
1741
///@}
1742
1743
//@name Netedit Attributes (used as virtual property holders, must be in SumoXMLAttr)
1744
//@{
1745
/// @brief element is selected
1746
GNE_ATTR_SELECTED,
1747
/// @brief whether a feature has been loaded,guessed,modified or approved
1748
GNE_ATTR_MODIFICATION_STATUS,
1749
/// @brief first coordinate of edge shape
1750
GNE_ATTR_SHAPE_START,
1751
/// @brief last coordinate of edge shape
1752
GNE_ATTR_SHAPE_END,
1753
/// @brief whether an edge is part of a bidirectional railway
1754
GNE_ATTR_BIDIR,
1755
/// @brief Close shape of a polygon (Used by GNEPolys)
1756
GNE_ATTR_CLOSE_SHAPE,
1757
/// @brief parent of an additional element
1758
GNE_ATTR_PARENT,
1759
/// @brief data set of a generic data
1760
GNE_ATTR_DATASET,
1761
/// @brief parameters "key1=value1|key2=value2|...|keyN=valueN"
1762
GNE_ATTR_PARAMETERS,
1763
/// @brief flow parameters (integer for mask end, number, etc...)
1764
GNE_ATTR_FLOWPARAMETERS,
1765
/// @brief min source (used only by TAZs)
1766
GNE_ATTR_MIN_SOURCE,
1767
/// @brief min sink (used only by TAZs)
1768
GNE_ATTR_MIN_SINK,
1769
/// @brief max source (used only by TAZs)
1770
GNE_ATTR_MAX_SOURCE,
1771
/// @brief max sink (used only by TAZs)
1772
GNE_ATTR_MAX_SINK,
1773
/// @brief average source (used only by TAZs)
1774
GNE_ATTR_AVERAGE_SOURCE,
1775
/// @brief average sink (used only by TAZs)
1776
GNE_ATTR_AVERAGE_SINK,
1777
/// @brief Color of TAZSources/TAZSinks
1778
GNE_ATTR_TAZCOLOR,
1779
/// @brief Flag to check if VType is a default VType
1780
GNE_ATTR_DEFAULT_VTYPE,
1781
/// @brief Flag to check if a default VType was modified
1782
GNE_ATTR_DEFAULT_VTYPE_MODIFIED,
1783
/// @brief Flag to check if we're using a default probability
1784
GNE_ATTR_DEFAULT_PROBABILITY,
1785
/// @brief flag to center camera after element creation
1786
GNE_ATTR_CENTER_AFTER_CREATION,
1787
/// @brief to busStop (used by personPlans)
1788
GNE_ATTR_OPPOSITE,
1789
/// @brief shift lane index (only used by elements over lanes)
1790
GNE_ATTR_SHIFTLANEINDEX,
1791
/// @brief stop offset (virtual, used by edge and lanes)
1792
GNE_ATTR_STOPOFFSET,
1793
/// @brief stop exceptions (virtual, used by edge and lanes)
1794
GNE_ATTR_STOPOEXCEPTION,
1795
/// @brief poisson definition (used in flow)
1796
GNE_ATTR_POISSON,
1797
/// @brief stop index (position in the parent's children
1798
GNE_ATTR_STOPINDEX,
1799
/// @brief stop index (position in the parent's path)
1800
GNE_ATTR_PATHSTOPINDEX,
1801
/// @brief person/container geometry start position
1802
GNE_ATTR_PLAN_GEOMETRY_STARTPOS,
1803
/// @brief person/container geometry end position
1804
GNE_ATTR_PLAN_GEOMETRY_ENDPOS,
1805
/// @brief from lane ID (used in GNEConnection)
1806
GNE_ATTR_FROM_LANEID,
1807
/// @brief to lane ID (used in GNEConnection)
1808
GNE_ATTR_TO_LANEID,
1809
/// @brief TAZ Center (uses to return the TAZ centroid if center is not defined)
1810
GNE_ATTR_TAZ_CENTROID,
1811
/// @brief flow terminating
1812
GNE_ATTR_FLOW_TERMINATE,
1813
/// @brief flow spacing
1814
GNE_ATTR_FLOW_SPACING,
1815
/// @brief reference position (used creating stoppingPlaces)
1816
GNE_ATTR_REFERENCE,
1817
/// @brief size (used in stopping places)
1818
GNE_ATTR_SIZE,
1819
/// @brief size (used in stopping places)
1820
GNE_ATTR_FORCESIZE,
1821
/// @brief size (used in stopping places)
1822
GNE_ATTR_LANELENGTH,
1823
/// @brief save file
1824
GNE_ATTR_SAVEFILE,
1825
// @brief virtual attributes for easier UI
1826
GNE_ATTR_FROM_BUSSTOP,
1827
GNE_ATTR_FROM_TRAINSTOP,
1828
GNE_ATTR_FROM_CONTAINERSTOP,
1829
GNE_ATTR_FROM_CHARGINGSTATION,
1830
GNE_ATTR_FROM_PARKINGAREA,
1831
GNE_ATTR_FROM_ROUTE,
1832
GNE_ATTR_IS_ROUNDABOUT,
1833
GNE_ATTR_FRONTELEMENT,
1834
/// @brief virtual attribute used for use edges within during TAZ creation
1835
GNE_ATTR_EDGES_WITHIN,
1836
/// @brief no common attributes
1837
GNE_ATTR_NOCOMMON,
1838
// @}
1839
1840
/// @name train parameters
1841
/// @{
1842
SUMO_ATTR_CARRIAGE_LENGTH,
1843
SUMO_ATTR_LOCOMOTIVE_LENGTH,
1844
SUMO_ATTR_CARRIAGE_GAP,
1845
SUMO_ATTR_CARRIAGE_DOORS,
1846
/// @}
1847
1848
SUMO_ATTR_TARGETLANE,
1849
SUMO_ATTR_CROSSING,
1850
SUMO_ATTR_XMLNS,
1851
SUMO_ATTR_SCHEMA_LOCATION,
1852
1853
//@name RNG state saving attributes
1854
// @{
1855
SUMO_ATTR_RNG_ROUTEHANDLER,
1856
SUMO_ATTR_RNG_INSERTIONCONTROL,
1857
SUMO_ATTR_RNG_DEVICE,
1858
SUMO_ATTR_RNG_DEVICE_BT,
1859
SUMO_ATTR_RNG_DEVICE_TOC,
1860
SUMO_ATTR_RNG_DRIVERSTATE,
1861
// @}
1862
1863
//@name further state saving attributes
1864
// @{
1865
SUMO_ATTR_BIKESPEED,
1866
SUMO_ATTR_PASTSPEED,
1867
SUMO_ATTR_PASTBIKESPEED,
1868
// @}
1869
1870
//@name meso edge type attributes
1871
// @{
1872
SUMO_ATTR_MESO_TAUFF,
1873
SUMO_ATTR_MESO_TAUFJ,
1874
SUMO_ATTR_MESO_TAUJF,
1875
SUMO_ATTR_MESO_TAUJJ,
1876
SUMO_ATTR_MESO_JUNCTION_CONTROL,
1877
SUMO_ATTR_MESO_TLS_PENALTY,
1878
SUMO_ATTR_MESO_TLS_FLOW_PENALTY,
1879
SUMO_ATTR_MESO_MINOR_PENALTY,
1880
SUMO_ATTR_MESO_OVERTAKING,
1881
SUMO_ATTR_MESO_EDGELENGHT,
1882
// @}
1883
1884
/// @brief invalid attribute, must be the last one
1885
SUMO_ATTR_NOTHING,
1886
};
1887
1888
/*
1889
* @brief definitions of special SumoXML-attribute values.
1890
* Since these enums shall be used in switch statements we keep them separated
1891
* @{
1892
*/
1893
1894
/**
1895
* SumoXMLParam Key Constants. Since all usage contexts needs strings rather
1896
* than enum values we do not bother with a StringBijection
1897
*/
1898
extern const std::string SUMO_PARAM_ORIGID;
1899
extern const std::string SUMO_PARAM_REMOVED_NODES;
1900
1901
/**
1902
* @enum SumoXMLNodeType
1903
* @brief Numbers representing special SUMO-XML-attribute values
1904
* for representing node- (junction-) types used in netbuild/netimport and netload
1905
*/
1906
enum class SumoXMLNodeType {
1907
UNKNOWN, // terminator
1908
TRAFFIC_LIGHT,
1909
TRAFFIC_LIGHT_NOJUNCTION, // junction controlled only by traffic light but without other prohibitions,
1910
TRAFFIC_LIGHT_RIGHT_ON_RED,
1911
RAIL_SIGNAL,
1912
RAIL_CROSSING,
1913
PRIORITY,
1914
PRIORITY_STOP, // like priority but all minor links have stop signs
1915
RIGHT_BEFORE_LEFT,
1916
LEFT_BEFORE_RIGHT,
1917
ALLWAY_STOP,
1918
ZIPPER,
1919
DISTRICT,
1920
NOJUNCTION,
1921
INTERNAL,
1922
DEAD_END,
1923
DEAD_END_DEPRECATED
1924
};
1925
1926
1927
/**
1928
* @enum SumoXMLEdgeFunc
1929
* @brief Numbers representing special SUMO-XML-attribute values
1930
* for representing edge functions used in netbuild/netimport and netload
1931
*/
1932
enum class SumoXMLEdgeFunc {
1933
UNKNOWN,
1934
NORMAL,
1935
CONNECTOR,
1936
CROSSING,
1937
WALKINGAREA,
1938
INTERNAL
1939
};
1940
1941
1942
/**
1943
* @enum LaneSpreadFunction
1944
* @brief Numbers representing special SUMO-XML-attribute values
1945
* Information how the edge's lateral offset shall be computed
1946
* In dependence to this value, lanes will be spread to the right side or
1947
* to both sides from the given edge geometry (Also used when node
1948
* positions are used as edge geometry).
1949
*/
1950
enum class LaneSpreadFunction {
1951
RIGHT = 0,
1952
ROADCENTER = 1,
1953
CENTER = 2
1954
};
1955
1956
/**
1957
* @enum ParkingType
1958
* @brief Numbers representing special SUMO-XML-attribute values
1959
* Information on whether a car is parking on the road or to the side of it
1960
*/
1961
enum class ParkingType {
1962
ONROAD = 0,
1963
OFFROAD = 1,
1964
OPPORTUNISTIC = 2
1965
};
1966
1967
/**
1968
* @enum AggregateType
1969
* @brief Numbers representing special SUMO-XML-attribute values
1970
* Information on edgeData/laneData output should aggregate over all edges or over loaded taz
1971
*/
1972
enum class AggregateType {
1973
NO = 0,
1974
YES = 1,
1975
TAZ = 2
1976
};
1977
1978
/**
1979
* @enum ChargeType
1980
* @brief Charging types of charging stations
1981
*/
1982
enum class ChargeType {
1983
NORMAL = 0,
1984
BATTERY_ECHANGE = 1,
1985
FUEL = 2,
1986
};
1987
1988
/// @brief algorithms for computing right of way
1989
enum class RightOfWay {
1990
DEFAULT,
1991
EDGEPRIORITY,
1992
MIXEDPRIORITY,
1993
ALLWAYSTOP,
1994
};
1995
1996
/// @brief classifying boundary nodes
1997
enum class FringeType {
1998
// outer border of the network
1999
OUTER,
2000
// fringe edge within the network (i.e. due to pruning some road types)
2001
INNER,
2002
// not fringe (nothing is cut off)
2003
DEFAULT
2004
};
2005
2006
/// @brief classifying roundabout type for nodes
2007
enum class RoundaboutType {
2008
// forced to be roundabout
2009
YES,
2010
// forced to not be roundabout
2011
NO,
2012
// computed
2013
DEFAULT
2014
};
2015
2016
/// @brief travel modes for persons
2017
enum class PersonMode {
2018
NONE = 0,
2019
WALK_FORWARD = 1,
2020
WALK_BACKWARD = 2,
2021
WALK = 3,
2022
BICYCLE = 1 << 2,
2023
CAR = 1 << 3,
2024
PUBLIC = 1 << 4,
2025
TAXI = 1 << 5
2026
};
2027
2028
/**
2029
* @enum LinkState
2030
* @brief The right-of-way state of a link between two lanes
2031
* used when constructing a NBTrafficLightLogic, in MSLink and GNEInternalLane
2032
*
2033
* This enumerations holds the possible right-of-way rules a link
2034
* may have. Beyond the righ-of-way rules, this enumeration also
2035
* holds the possible traffic light states.
2036
*
2037
* enum values are assigned so that chars can be cast back to linkstates
2038
* @todo fix redundancy
2039
*/
2040
enum LinkState {
2041
/// @brief The link has green light, may pass
2042
LINKSTATE_TL_GREEN_MAJOR = 'G',
2043
/// @brief The link has green light, has to brake
2044
LINKSTATE_TL_GREEN_MINOR = 'g',
2045
/// @brief The link has red light (must brake)
2046
LINKSTATE_TL_RED = 'r',
2047
/// @brief The link has red light (must brake) but indicates upcoming green
2048
LINKSTATE_TL_REDYELLOW = 'u',
2049
/// @brief The link has yellow light, may pass
2050
LINKSTATE_TL_YELLOW_MAJOR = 'Y',
2051
/// @brief The link has yellow light, has to brake anyway
2052
LINKSTATE_TL_YELLOW_MINOR = 'y',
2053
/// @brief The link is controlled by a tls which is off and blinks, has to brake
2054
LINKSTATE_TL_OFF_BLINKING = 'o',
2055
/// @brief The link is controlled by a tls which is off, not blinking, may pass
2056
LINKSTATE_TL_OFF_NOSIGNAL = 'O',
2057
/// @brief This is an uncontrolled, major link, may pass
2058
LINKSTATE_MAJOR = 'M',
2059
/// @brief This is an uncontrolled, minor link, has to brake
2060
LINKSTATE_MINOR = 'm',
2061
/// @brief This is an uncontrolled, right-before-left link
2062
LINKSTATE_EQUAL = '=',
2063
/// @brief This is an uncontrolled, minor link, has to stop
2064
LINKSTATE_STOP = 's',
2065
/// @brief This is an uncontrolled, all-way stop link.
2066
LINKSTATE_ALLWAY_STOP = 'w',
2067
/// @brief This is an uncontrolled, zipper-merge link
2068
LINKSTATE_ZIPPER = 'Z',
2069
/// @brief This is a dead end link
2070
LINKSTATE_DEADEND = '-'
2071
};
2072
2073
/**
2074
* @enum LinkDirection
2075
* @brief The different directions a link between two lanes may take (or a
2076
* stream between two edges).
2077
* used in netbuild (formerly NBMMLDirection) and MSLink
2078
*/
2079
enum class LinkDirection {
2080
/// @brief The link is a (hard) right direction
2081
RIGHT = 1 << 0,
2082
/// @brief The link is a partial right direction
2083
PARTRIGHT = 1 << 1,
2084
/// @brief The link is a straight direction
2085
STRAIGHT = 1 << 2,
2086
/// @brief The link is a partial left direction
2087
PARTLEFT = 1 << 3,
2088
/// @brief The link is a (hard) left direction
2089
LEFT = 1 << 4,
2090
/// @brief The link is a 180 degree turn
2091
TURN = 1 << 5,
2092
/// @brief The link is a 180 degree turn (left-hand network)
2093
TURN_LEFTHAND = 1 << 6,
2094
/// @brief The link has no direction (is a dead end link)
2095
NODIR = 1 << 7
2096
};
2097
2098
2099
/// @enum TrafficLightType
2100
enum class TrafficLightType {
2101
STATIC,
2102
RAIL_SIGNAL,
2103
RAIL_CROSSING,
2104
ACTUATED,
2105
NEMA,
2106
DELAYBASED,
2107
SOTL_PHASE,
2108
SOTL_PLATOON,
2109
SOTL_REQUEST,
2110
SOTL_WAVE,
2111
SOTL_MARCHING,
2112
SWARM_BASED,
2113
HILVL_DETERMINISTIC,
2114
OFF,
2115
INVALID //< must be the last one
2116
};
2117
2118
/// @enum TrafficLightLayout
2119
enum class TrafficLightLayout {
2120
OPPOSITES,
2121
INCOMING,
2122
ALTERNATE_ONEWAY,
2123
DEFAULT //< must be the last one
2124
};
2125
2126
2127
/// @brief different checking levels for vehicle insertion
2128
enum class InsertionCheck {
2129
NONE = 0,
2130
COLLISION = 1 << 0,
2131
LEADER_GAP = 1 << 1,
2132
FOLLOWER_GAP = 1 << 2,
2133
JUNCTION = 1 << 3,
2134
STOP = 1 << 4,
2135
ARRIVAL_SPEED = 1 << 5,
2136
ONCOMING_TRAIN = 1 << 6,
2137
SPEED_LIMIT = 1 << 7,
2138
PEDESTRIAN = 1 << 8,
2139
BIDI = 1 << 9,
2140
LANECHANGE = 1 << 10,
2141
ALL = ((1 << 11) - 1) // <- must be the last one
2142
};
2143
2144
2145
/** @enum LaneChangeAction
2146
* @brief The state of a vehicle's lane-change behavior
2147
*/
2148
enum LaneChangeAction {
2149
/// @name currently wanted lane-change action
2150
/// @{
2151
/// @brief No action desired
2152
LCA_NONE = 0,
2153
/// @brief Needs to stay on the current lane
2154
LCA_STAY = 1 << 0,
2155
/// @brief Wants go to the left
2156
LCA_LEFT = 1 << 1,
2157
/// @brief Wants go to the right
2158
LCA_RIGHT = 1 << 2,
2159
/// @brief The action is needed to follow the route (navigational lc)
2160
LCA_STRATEGIC = 1 << 3,
2161
/// @brief The action is done to help someone else
2162
LCA_COOPERATIVE = 1 << 4,
2163
/// @brief The action is due to the wish to be faster (tactical lc)
2164
LCA_SPEEDGAIN = 1 << 5,
2165
/// @brief The action is due to the default of keeping right "Rechtsfahrgebot"
2166
LCA_KEEPRIGHT = 1 << 6,
2167
/// @brief The action is due to a TraCI request
2168
LCA_TRACI = 1 << 7,
2169
/// @brief The action is urgent (to be defined by lc-model)
2170
LCA_URGENT = 1 << 8,
2171
/// @brief The action has not been determined
2172
LCA_UNKNOWN = 1 << 30,
2173
/// @}
2174
2175
/// @name External state
2176
/// @{
2177
/// @brief The vehicle is blocked by left leader
2178
LCA_BLOCKED_BY_LEFT_LEADER = 1 << 9,
2179
/// @brief The vehicle is blocked by left follower
2180
LCA_BLOCKED_BY_LEFT_FOLLOWER = 1 << 10,
2181
/// @brief The vehicle is blocked by right leader
2182
LCA_BLOCKED_BY_RIGHT_LEADER = 1 << 11,
2183
/// @brief The vehicle is blocked by right follower
2184
LCA_BLOCKED_BY_RIGHT_FOLLOWER = 1 << 12,
2185
/// @brief The vehicle is blocked being overlapping
2186
LCA_OVERLAPPING = 1 << 13,
2187
/// @brief The vehicle does not have enough space to complete a continuous change before the next turn
2188
LCA_INSUFFICIENT_SPACE = 1 << 14,
2189
/// @brief used by the sublane model
2190
LCA_SUBLANE = 1 << 15,
2191
/// @brief Vehicle is too slow to complete a continuous lane change (in case that maxSpeedLatStanding==0)
2192
LCA_INSUFFICIENT_SPEED = 1 << 28,
2193
/// @brief lane can change
2194
LCA_WANTS_LANECHANGE = LCA_LEFT | LCA_RIGHT,
2195
/// @brief lane can change or stay
2196
LCA_WANTS_LANECHANGE_OR_STAY = LCA_WANTS_LANECHANGE | LCA_STAY,
2197
/// @brief blocked left
2198
LCA_BLOCKED_LEFT = LCA_BLOCKED_BY_LEFT_LEADER | LCA_BLOCKED_BY_LEFT_FOLLOWER,
2199
/// @brief blocked right
2200
LCA_BLOCKED_RIGHT = LCA_BLOCKED_BY_RIGHT_LEADER | LCA_BLOCKED_BY_RIGHT_FOLLOWER,
2201
/// @brief blocked by leader
2202
LCA_BLOCKED_BY_LEADER = LCA_BLOCKED_BY_LEFT_LEADER | LCA_BLOCKED_BY_RIGHT_LEADER,
2203
/// @brief blocker by follower
2204
LCA_BLOCKED_BY_FOLLOWER = LCA_BLOCKED_BY_LEFT_FOLLOWER | LCA_BLOCKED_BY_RIGHT_FOLLOWER,
2205
/// @brief blocked in all directions
2206
LCA_BLOCKED = LCA_BLOCKED_LEFT | LCA_BLOCKED_RIGHT | LCA_INSUFFICIENT_SPACE | LCA_INSUFFICIENT_SPEED,
2207
/// @brief reasons of lane change
2208
LCA_CHANGE_REASONS = (LCA_STRATEGIC | LCA_COOPERATIVE | LCA_SPEEDGAIN | LCA_KEEPRIGHT | LCA_SUBLANE | LCA_TRACI),
2209
// LCA_BLOCKED_BY_CURRENT_LEADER = 1 << 28
2210
// LCA_BLOCKED_BY_CURRENT_FOLLOWER = 1 << 29
2211
/// @}
2212
2213
/// @name originally model specific states (migrated here since
2214
/// they were duplicated in all current models)
2215
/// @{
2216
LCA_AMBLOCKINGLEADER = 1 << 16,
2217
LCA_AMBLOCKINGFOLLOWER = 1 << 17,
2218
LCA_MRIGHT = 1 << 18,
2219
LCA_MLEFT = 1 << 19,
2220
// !!! never set LCA_UNBLOCK = 1 << 20,
2221
LCA_AMBLOCKINGFOLLOWER_DONTBRAKE = 1 << 21,
2222
// !!! never used LCA_AMBLOCKINGSECONDFOLLOWER = 1 << 22,
2223
LCA_CHANGE_TO_HELP = 1 << 23,
2224
// !!! never read LCA_KEEP1 = 1 << 24,
2225
// !!! never used LCA_KEEP2 = 1 << 25,
2226
LCA_AMBACKBLOCKER = 1 << 26,
2227
LCA_AMBACKBLOCKER_STANDING = 1 << 27
2228
/// @}
2229
};
2230
2231
2232
/// @enum LaneChangeModel
2233
enum class LaneChangeModel {
2234
DK2008,
2235
LC2013,
2236
LC2013_CC,
2237
SL2015,
2238
DEFAULT
2239
};
2240
2241
/// @enum train types
2242
enum class TrainType {
2243
CUSTOM,
2244
NGT400,
2245
NGT400_16,
2246
RB425,
2247
RB628,
2248
ICE1,
2249
REDOSTO7,
2250
FREIGHT,
2251
ICE3,
2252
MIREOPLUSB,
2253
MIREOPLUSH,
2254
UNKNOWN
2255
};
2256
2257
/// @brief POI icons
2258
enum class POIIcon {
2259
PIN = 1,
2260
NATURE = 2,
2261
HOTEL = 3,
2262
FUEL = 4,
2263
CHARGING_STATION = 5,
2264
NONE = 0,
2265
};
2266
2267
/// @brief Exclude empty
2268
enum class ExcludeEmpty {
2269
TRUES,
2270
FALSES,
2271
DEFAULTS,
2272
};
2273
2274
/// @brief Reference position
2275
enum class ReferencePosition {
2276
LEFT,
2277
RIGHT,
2278
CENTER,
2279
};
2280
2281
/// @enum mean data type
2282
enum class MeanDataType {
2283
TRAFFIC,
2284
EMISSIONS,
2285
HARMONOISE,
2286
AMITRAN,
2287
DEFAULT,
2288
};
2289
2290
/// @brief XML extension
2291
enum class XMLFileExtension {
2292
XML,
2293
ALL,
2294
};
2295
2296
/// @brief TXT extension
2297
enum class TXTFileExtension {
2298
TXT,
2299
ALL,
2300
};
2301
2302
/// @brief CSV extension
2303
enum class CSVFileExtension {
2304
CSV,
2305
ALL,
2306
};
2307
2308
/// @brief OSG extension
2309
enum class OSGFileExtension {
2310
OSG,
2311
ALL,
2312
};
2313
2314
/// @brief image extension
2315
enum class ImageFileExtension {
2316
IMG,
2317
GIF,
2318
BMP,
2319
XPM,
2320
PCX,
2321
ICO,
2322
RGB,
2323
XBM,
2324
TGA,
2325
PNG,
2326
JPG,
2327
TIF,
2328
PS,
2329
EPS,
2330
PDF,
2331
SVG,
2332
TEX,
2333
PGF,
2334
ALL,
2335
};
2336
2337
/// @brief image and video extension
2338
enum class ImageVideoFileExtension {
2339
IMG,
2340
VIDEO,
2341
H264,
2342
HEVC,
2343
MP4,
2344
GIF,
2345
BMP,
2346
XPM,
2347
PCX,
2348
ICO,
2349
RGB,
2350
XBM,
2351
TGA,
2352
PNG,
2353
JPG,
2354
TIF,
2355
PS,
2356
EPS,
2357
PDF,
2358
SVG,
2359
TEX,
2360
PGF,
2361
ALL,
2362
};
2363
2364
/// @brief output file extension
2365
enum class OutputFileExtension {
2366
XML,
2367
TXT,
2368
ALL,
2369
};
2370
2371
/// @brief view settings file extension
2372
enum class ViewSettingsFileExtension {
2373
XML,
2374
ALL,
2375
};
2376
2377
/// @brief State file extension
2378
enum class StateFileExtension {
2379
XML_GZ,
2380
XML,
2381
ALL,
2382
};
2383
2384
/// @brief sumo file extension
2385
enum class SumoConfigFileExtension {
2386
SUMOCONF,
2387
XML,
2388
ALL,
2389
};
2390
2391
/// @brief netedit file extension
2392
enum class NeteditConfigFileExtension {
2393
NETECFG,
2394
XML,
2395
ALL,
2396
};
2397
2398
/// @brief netconvert file extension
2399
enum class NetconvertConfigFileExtension {
2400
NETCCFG,
2401
XML,
2402
ALL,
2403
};
2404
2405
/// @brief OSM file extension
2406
enum class OSMFileExtension {
2407
OSM,
2408
XML,
2409
ALL,
2410
};
2411
2412
/// @brief net file extension
2413
enum class NetFileExtension {
2414
NET_XML,
2415
XML,
2416
ALL,
2417
};
2418
2419
/// @brief TLS file extension
2420
enum class TLSFileExtension {
2421
TTL_XML,
2422
XML,
2423
ALL,
2424
};
2425
2426
/// @brief Junction file extension
2427
enum class JunctionFileExtension {
2428
NOD_XML,
2429
XML,
2430
ALL,
2431
};
2432
2433
/// @brief Edge type file extension
2434
enum class EdgeTypeFileExtension {
2435
TYP_XML,
2436
XML,
2437
ALL,
2438
};
2439
2440
/// @brief additional file extension
2441
enum class AdditionalFileExtension {
2442
ADD_XML,
2443
XML,
2444
ALL,
2445
};
2446
2447
/// @brief additional file extension
2448
enum class ShapesFileExtension {
2449
XML,
2450
ALL,
2451
};
2452
2453
/// @brief route file extension
2454
enum class RouteFileExtension {
2455
ROU_XML,
2456
XML,
2457
ALL,
2458
};
2459
2460
/// @brief edge data file extension
2461
enum class EdgeDataFileExtension {
2462
XML,
2463
ALL,
2464
};
2465
2466
/// @brief mean data file extension
2467
enum class MeanDataFileExtension {
2468
ADD,
2469
XML,
2470
ALL,
2471
};
2472
2473
// @}
2474
2475
/**
2476
* @class SUMOXMLDefinitions
2477
* @brief class for maintaining associations between enums and xml-strings
2478
*/
2479
class SUMOXMLDefinitions {
2480
2481
public:
2482
/// @brief The names of SUMO-XML elements (for passing to GenericSAXHandler)
2483
static SequentialStringBijection::Entry tags[];
2484
2485
/// @brief The names of SUMO-XML attributes (for passing to GenericSAXHandler)
2486
static SequentialStringBijection::Entry attrs[];
2487
2488
/// @brief The names of SUMO-XML elements for use in netbuild
2489
static SequentialStringBijection Tags;
2490
2491
/// @brief The names of SUMO-XML attributes for use in netbuild
2492
static SequentialStringBijection Attrs;
2493
2494
/// @name Special values of SUMO-XML attributes
2495
/// @{
2496
2497
/// @brief node types
2498
static StringBijection<SumoXMLNodeType> NodeTypes;
2499
2500
/// @brief edge functions
2501
static StringBijection<SumoXMLEdgeFunc> EdgeFunctions;
2502
2503
/// @brief lane spread functions
2504
static StringBijection<LaneSpreadFunction> LaneSpreadFunctions;
2505
2506
/// @brief parking types
2507
static StringBijection<ParkingType> ParkingTypes;
2508
2509
/// @brief charge type
2510
static StringBijection<ChargeType> ChargeTypes;
2511
2512
/// @brief righ of way algorithms
2513
static StringBijection<RightOfWay> RightOfWayValues;
2514
2515
/// @brief fringe types
2516
static StringBijection<FringeType> FringeTypeValues;
2517
2518
/// @brief fringe types
2519
static StringBijection<RoundaboutType> RoundaboutTypeValues;
2520
2521
/// @brief person modes
2522
static StringBijection<PersonMode> PersonModeValues;
2523
2524
/// @brief link states
2525
static StringBijection<LinkState> LinkStates;
2526
2527
/// @brief link directions
2528
static StringBijection<LinkDirection> LinkDirections;
2529
2530
/// @brief traffic light types
2531
static StringBijection<TrafficLightType> TrafficLightTypes;
2532
2533
/// @brief traffic light layouts
2534
static StringBijection<TrafficLightLayout> TrafficLightLayouts;
2535
2536
/// @brief traffic light layouts
2537
static StringBijection<InsertionCheck> InsertionChecks;
2538
2539
/// @brief lane change models
2540
static StringBijection<LaneChangeModel> LaneChangeModels;
2541
2542
/// @brief car following models
2543
static StringBijection<SumoXMLTag> CarFollowModels;
2544
2545
/// @brief lane change actions
2546
static StringBijection<LaneChangeAction> LaneChangeActions;
2547
2548
/// @brief train types
2549
static StringBijection<TrainType> TrainTypes;
2550
2551
/// @brief POI icon values
2552
static StringBijection<POIIcon> POIIcons;
2553
2554
/// @brief exclude empty values
2555
static StringBijection<ExcludeEmpty> ExcludeEmptys;
2556
2557
/// @brief reference positions (used creating certain elements in netedit)
2558
static StringBijection<ReferencePosition> ReferencePositions;
2559
2560
/// @brief reference positions (used creating certain elements in netedit)
2561
static StringBijection<MeanDataType> MeanDataTypes;
2562
2563
/// @brief XML file Extensions
2564
static StringBijection<XMLFileExtension> XMLFileExtensions;
2565
2566
/// @brief TXT file Extensions
2567
static StringBijection<TXTFileExtension> TXTFileExtensions;
2568
2569
/// @brief CSV file Extensions
2570
static StringBijection<CSVFileExtension> CSVFileExtensions;
2571
2572
/// @brief OSG file Extensions
2573
static StringBijection<OSGFileExtension> OSGFileExtensions;
2574
2575
/// @brief image file extensions
2576
static StringBijection<ImageFileExtension> ImageFileExtensions;
2577
2578
/// @brief image and videofile extensions
2579
static StringBijection<ImageVideoFileExtension> ImageVideoFileExtensions;
2580
2581
/// @brief output file extensions
2582
static StringBijection<OutputFileExtension> OutputFileExtensions;
2583
2584
/// @brief view settings file extensions
2585
static StringBijection<ViewSettingsFileExtension> ViewSettingsFileExtensions;
2586
2587
/// @brief state file extensions
2588
static StringBijection<StateFileExtension> StateFileExtensions;
2589
2590
/// @brief sumo config file extensions
2591
static StringBijection<SumoConfigFileExtension> SumoConfigFileExtensions;
2592
2593
/// @brief netedit config file extensions
2594
static StringBijection<NeteditConfigFileExtension> NeteditConfigFileExtensions;
2595
2596
/// @brief netconvert config file extensions
2597
static StringBijection<NetconvertConfigFileExtension> NetconvertConfigFileExtensions;
2598
2599
/// @brief OSM file extensions
2600
static StringBijection<OSMFileExtension> OSMFileExtensions;
2601
2602
/// @brief net file extensions
2603
static StringBijection<NetFileExtension> NetFileExtensions;
2604
2605
/// @brief TLS file extensions
2606
static StringBijection<TLSFileExtension> TLSFileExtensions;
2607
2608
/// @brief juntion file extensions
2609
static StringBijection<JunctionFileExtension> JunctionFileExtensions;
2610
2611
/// @brief edge file extensions
2612
static StringBijection<EdgeTypeFileExtension> EdgeTypeFileExtensions;
2613
2614
/// @brief additional file extensions
2615
static StringBijection<AdditionalFileExtension> AdditionalFileExtensions;
2616
2617
/// @brief additional file extensions
2618
static StringBijection<ShapesFileExtension> ShapesFileExtensions;
2619
2620
/// @brief route file extensions
2621
static StringBijection<RouteFileExtension> RouteFileExtensions;
2622
2623
/// @brief edgedata file extensions
2624
static StringBijection<EdgeDataFileExtension> EdgeDataFileExtensions;
2625
2626
/// @brief mean data file extensions
2627
static StringBijection<MeanDataFileExtension> MeanDataFileExtensions;
2628
2629
/// @}
2630
2631
/// @name Helper functions for ID-string manipulations
2632
/// @{
2633
2634
/// @brief whether the given string is a valid id for a network element
2635
static bool isValidNetID(const std::string& value);
2636
2637
/// @brief whether the given string is a valid id for a vehicle or flow
2638
static bool isValidVehicleID(const std::string& value);
2639
2640
/// @brief whether the given string is a valid id for an edge or vehicle type
2641
static bool isValidTypeID(const std::string& value);
2642
2643
/// @brief whether the given string is a valid id for an additional object
2644
static bool isValidAdditionalID(const std::string& value);
2645
2646
/// @brief whether the given string is a valid id for an detector
2647
static bool isValidDetectorID(const std::string& value);
2648
2649
/// @brief whether the given string is a valid attribute for a certain key (for example, a name)
2650
static bool isValidAttribute(const std::string& value);
2651
2652
/// @brief whether the given string is a valid attribute for a filename (for example, a name)
2653
static bool isValidFilename(const std::string& value);
2654
2655
/// @brief whether the given string is a valid list of id for a network (empty aren't allowed)
2656
static bool isValidListOfNetIDs(const std::string& value);
2657
2658
/// @brief whether the given string is a valid list of ids for an edge or vehicle type (empty aren't allowed)
2659
static bool isValidListOfTypeID(const std::string& value);
2660
2661
/// @brief whether the given list of strings is a valid list of ids for an edge or vehicle type (empty aren't allowed)
2662
static bool isValidListOfTypeID(const std::vector<std::string>& typeIDs);
2663
2664
/// @brief whether the given string is a valid key for a parameter
2665
static bool isValidParameterKey(const std::string& value);
2666
2667
/// @brief transform the given string into a valid id for a network element (or any other id)
2668
// Replaces all invalid characters for a netID by an underscore, this may violate uniqueness!
2669
// Since the netID has the most restrictions, the resulting ID should be valid for the other use cases too
2670
static std::string makeValidID(const std::string& value);
2671
2672
/// @brief return the junction id when given an edge of type internal, crossing or WalkingArea
2673
static std::string getJunctionIDFromInternalEdge(const std::string internalEdge);
2674
2675
/// @brief return edge id when given the lane ID
2676
static std::string getEdgeIDFromLane(const std::string laneID);
2677
2678
/// @brief return lane index when given the lane ID
2679
static int getIndexFromLane(const std::string laneID);
2680
2681
/// @}
2682
2683
/// @brief all allowed characters for phase state
2684
static const std::string ALLOWED_TLS_LINKSTATES;
2685
2686
private:
2687
/// @brief containers for the different SUMOXMLDefinitions
2688
/// @{
2689
2690
/// @brief node type values
2691
static StringBijection<SumoXMLNodeType>::Entry sumoNodeTypeValues[];
2692
2693
/// @brief edge function values
2694
static StringBijection<SumoXMLEdgeFunc>::Entry sumoEdgeFuncValues[];
2695
2696
/// @brief lane spread function values
2697
static StringBijection<LaneSpreadFunction>::Entry laneSpreadFunctionValues[];
2698
2699
/// @brief lane spread function values
2700
static StringBijection<ParkingType>::Entry parkingTypeValues[];
2701
2702
/// @brief charge type values
2703
static StringBijection<ChargeType>::Entry chargeTypeValues[];
2704
2705
/// @brief lane spread function values
2706
static StringBijection<RightOfWay>::Entry rightOfWayValuesInitializer[];
2707
2708
/// @brief lane spread function values
2709
static StringBijection<FringeType>::Entry fringeTypeValuesInitializer[];
2710
2711
/// @brief lane spread function values
2712
static StringBijection<RoundaboutType>::Entry roundaboutTypeValuesInitializer[];
2713
2714
/// @brief person mode values
2715
static StringBijection<PersonMode>::Entry personModeValuesInitializer[];
2716
2717
/// @brief link state values
2718
static StringBijection<LinkState>::Entry linkStateValues[];
2719
2720
/// @brief link direction values
2721
static StringBijection<LinkDirection>::Entry linkDirectionValues[];
2722
2723
/// @brief traffic light types values
2724
static StringBijection<TrafficLightType>::Entry trafficLightTypesValues[];
2725
2726
/// @brief traffic light layout values
2727
static StringBijection<TrafficLightLayout>::Entry trafficLightLayoutValues[];
2728
2729
/// @brief traffic light layout values
2730
static StringBijection<InsertionCheck>::Entry insertionCheckValues[];
2731
2732
/// @brief lane change model values
2733
static StringBijection<LaneChangeModel>::Entry laneChangeModelValues[];
2734
2735
/// @brief car follwing model values
2736
static StringBijection<SumoXMLTag>::Entry carFollowModelValues[];
2737
2738
/// @brief lane change action values
2739
static StringBijection<LaneChangeAction>::Entry laneChangeActionValues[];
2740
2741
/// @brief train type values
2742
static StringBijection<TrainType>::Entry trainTypeValues[];
2743
2744
/// @brief POI icon values
2745
static StringBijection<POIIcon>::Entry POIIconValues[];
2746
2747
/// @brief Exclude empty values
2748
static StringBijection<ExcludeEmpty>::Entry excludeEmptyValues[];
2749
2750
/// @brief Reference position values
2751
static StringBijection<ReferencePosition>::Entry referencePositionValues[];
2752
2753
/// @brief Mean data type values
2754
static StringBijection<MeanDataType>::Entry meanDataTypeValues[];
2755
2756
/// @brief XML file extension values
2757
static StringBijection<XMLFileExtension>::Entry XMLFileExtensionValues[];
2758
2759
/// @brief TXT file extension values
2760
static StringBijection<TXTFileExtension>::Entry TXTFileExtensionValues[];
2761
2762
/// @brief CSV file extension values
2763
static StringBijection<CSVFileExtension>::Entry CSVFileExtensionValues[];
2764
2765
/// @brief OSG file extension values
2766
static StringBijection<OSGFileExtension>::Entry OSGFileExtensionValues[];
2767
2768
/// @brief image file extension values
2769
static StringBijection<ImageFileExtension>::Entry imageFileExtensionValues[];
2770
2771
/// @brief image and video file extension values
2772
static StringBijection<ImageVideoFileExtension>::Entry imageVideoFileExtensionValues[];
2773
2774
/// @brief output file extension values
2775
static StringBijection<OutputFileExtension>::Entry outputFileExtensionValues[];
2776
2777
/// @brief view settings file extension values
2778
static StringBijection<ViewSettingsFileExtension>::Entry viewSettingsFileExtensionValues[];
2779
2780
/// @brief state file extension values
2781
static StringBijection<StateFileExtension>::Entry stateFileExtensionValues[];
2782
2783
/// @brief sumo config file extension values
2784
static StringBijection<SumoConfigFileExtension>::Entry sumoConfigFileExtensionValues[];
2785
2786
/// @brief netedit config file extension values
2787
static StringBijection<NeteditConfigFileExtension>::Entry neteditConfigFileExtensionValues[];
2788
2789
/// @brief netconvert config file extension values
2790
static StringBijection<NetconvertConfigFileExtension>::Entry netconvertConfigFileExtensionValues[];
2791
2792
/// @brief OSM file extension values
2793
static StringBijection<OSMFileExtension>::Entry osmFileExtensionValues[];
2794
2795
/// @brief net file extension values
2796
static StringBijection<NetFileExtension>::Entry netFileExtensionValues[];
2797
2798
/// @brief TLS file extension values
2799
static StringBijection<TLSFileExtension>::Entry TLSFileExtensionValues[];
2800
2801
/// @brief junction file extension values
2802
static StringBijection<JunctionFileExtension>::Entry junctionFileExtensionValues[];
2803
2804
/// @brief edge file extension values
2805
static StringBijection<EdgeTypeFileExtension>::Entry edgeTypeFileExtensionValues[];
2806
2807
/// @brief additional file extension values
2808
static StringBijection<AdditionalFileExtension>::Entry additionalFileExtensionValues[];
2809
2810
/// @brief additional file extension values
2811
static StringBijection<ShapesFileExtension>::Entry shapesFileExtensionValues[];
2812
2813
/// @brief route file extension values
2814
static StringBijection<RouteFileExtension>::Entry routeFileExtensionsValues[];
2815
2816
/// @brief edge data file extension values
2817
static StringBijection<EdgeDataFileExtension>::Entry edgeDataFileExtensionsValues[];
2818
2819
/// @brief mean data file extension values
2820
static StringBijection<MeanDataFileExtension>::Entry meanDataFileExtensionsValues[];
2821
2822
/// @}
2823
2824
/// @brief all allowed characters for phase state
2825
static const char AllowedTLS_linkStatesInitializer[];
2826
};
2827
2828