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