-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
SUMOXMLDefinitions.cpp
1817 lines (1701 loc) · 104 KB
/
SUMOXMLDefinitions.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/****************************************************************************/
// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
// Copyright (C) 2002-2024 German Aerospace Center (DLR) and others.
// This program and the accompanying materials are made available under the
// terms of the Eclipse Public License 2.0 which is available at
// https://www.eclipse.org/legal/epl-2.0/
// This Source Code may also be made available under the following Secondary
// Licenses when the conditions for such availability set forth in the Eclipse
// Public License 2.0 are satisfied: GNU General Public License, version 2
// or later which is available at
// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
/****************************************************************************/
/// @file SUMOXMLDefinitions.cpp
/// @author Daniel Krajzewicz
/// @author Jakob Erdmann
/// @author Clemens Honomichl
/// @author Piotr Woznica
/// @author Michael Behrisch
/// @author Walter Bamberger
/// @date Sept 2002
///
// Definitions of elements and attributes known by SUMO
/****************************************************************************/
#include <config.h>
#include <algorithm>
#include <cassert>
#include <utils/common/StringTokenizer.h>
#include <utils/common/StringUtils.h>
#include "SUMOXMLDefinitions.h"
// ===========================================================================
// definitions
// ===========================================================================
SequentialStringBijection::Entry SUMOXMLDefinitions::tags[] = {
// Simulation elements
{ "net", SUMO_TAG_NET },
{ "edge", SUMO_TAG_EDGE },
{ "lane", SUMO_TAG_LANE },
{ "neigh", SUMO_TAG_NEIGH },
{ "poly", SUMO_TAG_POLY },
{ "poi", SUMO_TAG_POI },
{ "junction", SUMO_TAG_JUNCTION },
{ "restriction", SUMO_TAG_RESTRICTION },
{ "meso", SUMO_TAG_MESO },
{ "busStop", SUMO_TAG_BUS_STOP },
{ "trainStop", SUMO_TAG_TRAIN_STOP },
{ "ptLine", SUMO_TAG_PT_LINE },
{ "access", SUMO_TAG_ACCESS },
{ "containerStop", SUMO_TAG_CONTAINER_STOP },
{ "chargingStation", SUMO_TAG_CHARGING_STATION },
{ "chargingEvent", SUMO_TAG_CHARGING_EVENT },
{ "parkingArea", SUMO_TAG_PARKING_AREA },
{ "space", SUMO_TAG_PARKING_SPACE },
{ "e1Detector", SUMO_TAG_E1DETECTOR },
{ "inductionLoop", SUMO_TAG_INDUCTION_LOOP },
{ "e2Detector", SUMO_TAG_E2DETECTOR },
{ "laneAreaDetector", SUMO_TAG_LANE_AREA_DETECTOR },
{ "multiLaneAreaDetector", GNE_TAG_MULTI_LANE_AREA_DETECTOR },
{ "e3Detector", SUMO_TAG_E3DETECTOR },
{ "entryExitDetector", SUMO_TAG_ENTRY_EXIT_DETECTOR },
{ "detEntry", SUMO_TAG_DET_ENTRY },
{ "detExit", SUMO_TAG_DET_EXIT },
{ "edgeData", SUMO_TAG_MEANDATA_EDGE },
{ "laneData", SUMO_TAG_MEANDATA_LANE },
{ "edgeFollowDetector", SUMO_TAG_EDGEFOLLOWDETECTOR },
{ "instantInductionLoop", SUMO_TAG_INSTANT_INDUCTION_LOOP },
{ "routeProbe", SUMO_TAG_ROUTEPROBE },
{ "calibrator", SUMO_TAG_CALIBRATOR },
{ "calibratorLane", GNE_TAG_CALIBRATOR_LANE },
{ "calibratorFlow", GNE_TAG_CALIBRATOR_FLOW },
{ "rerouter", SUMO_TAG_REROUTER },
{ "rerouterSymbol", GNE_TAG_REROUTER_SYMBOL },
{ "interval", SUMO_TAG_INTERVAL },
{ "destProbReroute", SUMO_TAG_DEST_PROB_REROUTE },
{ "closingReroute", SUMO_TAG_CLOSING_REROUTE },
{ "closingLaneReroute", SUMO_TAG_CLOSING_LANE_REROUTE },
{ "routeProbReroute", SUMO_TAG_ROUTE_PROB_REROUTE },
{ "parkingAreaReroute", SUMO_TAG_PARKING_AREA_REROUTE },
{ "viaProbReroute", SUMO_TAG_VIA_PROB_REROUTE },
{ "step", SUMO_TAG_STEP },
{ "variableSpeedSign", SUMO_TAG_VSS },
{ "variableSpeedSignSymbol", GNE_TAG_VSS_SYMBOL },
{ "vaporizer", SUMO_TAG_VAPORIZER },
{ "tractionSubstation", SUMO_TAG_TRACTION_SUBSTATION },
{ "overheadWireSegment", SUMO_TAG_OVERHEAD_WIRE_SEGMENT }, // <- Deprecate
{ "overheadWire", SUMO_TAG_OVERHEAD_WIRE_SECTION },
{ "overheadWireClamp", SUMO_TAG_OVERHEAD_WIRE_CLAMP },
{ "vTypeProbe", SUMO_TAG_VTYPEPROBE },
{ "routes", SUMO_TAG_ROUTES },
{ "trip", SUMO_TAG_TRIP },
{ "tripJunctions", GNE_TAG_TRIP_JUNCTIONS },
{ "tripTAZs", GNE_TAG_TRIP_TAZS },
{ "vehicle", SUMO_TAG_VEHICLE },
{ "vehicleWithRoute", GNE_TAG_VEHICLE_WITHROUTE },
{ "flow", SUMO_TAG_FLOW },
{ "flowJunctions", GNE_TAG_FLOW_JUNCTIONS },
{ "flowTAZs", GNE_TAG_FLOW_TAZS },
{ "flowState", SUMO_TAG_FLOWSTATE },
{ "vType", SUMO_TAG_VTYPE },
{ "route", SUMO_TAG_ROUTE },
{ "routeEmbedded", GNE_TAG_ROUTE_EMBEDDED },
{ "request", SUMO_TAG_REQUEST },
{ "source", SUMO_TAG_SOURCE },
{ "taz", SUMO_TAG_TAZ },
{ "tazSource", SUMO_TAG_TAZSOURCE },
{ "tazSink", SUMO_TAG_TAZSINK },
{ "trafficLight", SUMO_TAG_TRAFFIC_LIGHT },
{ "tlLogic", SUMO_TAG_TLLOGIC },
{ "phase", SUMO_TAG_PHASE },
{ "condition", SUMO_TAG_CONDITION },
{ "assignment", SUMO_TAG_ASSIGNMENT },
{ "function", SUMO_TAG_FUNCTION },
{ "edgeControl", SUMO_TAG_EDGECONTROL },
{ "edgeRelation", SUMO_TAG_EDGEREL },
{ "tazRelation", SUMO_TAG_TAZREL },
{ "timedEvent", SUMO_TAG_TIMEDEVENT },
{ "fromEdge", SUMO_TAG_FROMEDGE },
{ "toEdge", SUMO_TAG_TOEDGE },
{ "sink", SUMO_TAG_SINK },
{ "param", SUMO_TAG_PARAM },
{ "WAUT", SUMO_TAG_WAUT },
{ "wautSwitch", SUMO_TAG_WAUT_SWITCH },
{ "wautJunction", SUMO_TAG_WAUT_JUNCTION },
{ "segment", SUMO_TAG_SEGMENT },
{ "delete", SUMO_TAG_DEL },
{ "connections", SUMO_TAG_CONNECTIONS },
{ "stop", SUMO_TAG_STOP },
{ "stopBusStop", GNE_TAG_STOP_BUSSTOP },
{ "stopTrainStop", GNE_TAG_STOP_TRAINSTOP },
{ "stopContainerStop", GNE_TAG_STOP_CONTAINERSTOP },
{ "stopChargingStation", GNE_TAG_STOP_CHARGINGSTATION },
{ "stopParkingArea", GNE_TAG_STOP_PARKINGAREA },
{ "stopLane", GNE_TAG_STOP_LANE },
{ "polygonType", SUMO_TAG_POLYTYPE },
{ "connection", SUMO_TAG_CONNECTION },
{ "conflict", SUMO_TAG_CONFLICT },
{ "prohibition", SUMO_TAG_PROHIBITION },
{ "split", SUMO_TAG_SPLIT },
{ "node", SUMO_TAG_NODE },
{ "type", SUMO_TAG_TYPE },
{ "laneType", SUMO_TAG_LANETYPE },
{ "detectorDefinition", SUMO_TAG_DETECTOR_DEFINITION },
{ "routeDistribution", SUMO_TAG_ROUTE_DISTRIBUTION },
{ "vTypeDistribution", SUMO_TAG_VTYPE_DISTRIBUTION },
{ "roundabout", SUMO_TAG_ROUNDABOUT },
{ "join", SUMO_TAG_JOIN },
{ "joinExclude", SUMO_TAG_JOINEXCLUDE },
{ "crossing", SUMO_TAG_CROSSING },
{ "walkingArea", SUMO_TAG_WALKINGAREA },
{ "stopOffset", SUMO_TAG_STOPOFFSET },
{ "railSignalConstraints", SUMO_TAG_RAILSIGNAL_CONSTRAINTS },
{ "predecessor", SUMO_TAG_PREDECESSOR },
{ "insertionPredecessor", SUMO_TAG_INSERTION_PREDECESSOR },
{ "foeInsertion", SUMO_TAG_FOE_INSERTION },
{ "insertionOrder", SUMO_TAG_INSERTION_ORDER },
{ "bidiPredecessor", SUMO_TAG_BIDI_PREDECESSOR },
{ "railSignalConstraintTracker", SUMO_TAG_RAILSIGNAL_CONSTRAINT_TRACKER },
{ "link", SUMO_TAG_LINK },
{ "approaching", SUMO_TAG_APPROACHING },
// OSM
{ "way", SUMO_TAG_WAY },
{ "nd", SUMO_TAG_ND },
{ "tag", SUMO_TAG_TAG },
{ "relation", SUMO_TAG_RELATION },
{ "member", SUMO_TAG_MEMBER },
// View
{ "viewsettings", SUMO_TAG_VIEWSETTINGS },
{ "view3D", SUMO_TAG_VIEWSETTINGS_3D },
{ "decal", SUMO_TAG_VIEWSETTINGS_DECAL },
{ "light", SUMO_TAG_VIEWSETTINGS_LIGHT },
{ "scheme", SUMO_TAG_VIEWSETTINGS_SCHEME },
{ "opengl", SUMO_TAG_VIEWSETTINGS_OPENGL },
{ "background", SUMO_TAG_VIEWSETTINGS_BACKGROUND },
{ "edges", SUMO_TAG_VIEWSETTINGS_EDGES },
{ "vehicles", SUMO_TAG_VIEWSETTINGS_VEHICLES },
{ "persons", SUMO_TAG_VIEWSETTINGS_PERSONS },
{ "containers", SUMO_TAG_VIEWSETTINGS_CONTAINERS },
{ "junctions", SUMO_TAG_VIEWSETTINGS_JUNCTIONS },
{ "additionals", SUMO_TAG_VIEWSETTINGS_ADDITIONALS },
{ "pois", SUMO_TAG_VIEWSETTINGS_POIS },
{ "polys", SUMO_TAG_VIEWSETTINGS_POLYS },
{ "legend", SUMO_TAG_VIEWSETTINGS_LEGEND },
{ "event", SUMO_TAG_VIEWSETTINGS_EVENT },
{ "jamTime", SUMO_TAG_VIEWSETTINGS_EVENT_JAM_TIME },
{ "include", SUMO_TAG_INCLUDE },
{ "delay", SUMO_TAG_DELAY },
{ "viewport", SUMO_TAG_VIEWPORT },
{ "snapshot", SUMO_TAG_SNAPSHOT },
{ "breakpoint", SUMO_TAG_BREAKPOINT },
{ "location", SUMO_TAG_LOCATION },
{ "colorScheme", SUMO_TAG_COLORSCHEME },
{ "scalingScheme", SUMO_TAG_SCALINGSCHEME },
{ "entry", SUMO_TAG_ENTRY },
{ "rngState", SUMO_TAG_RNGSTATE },
{ "rngLane", SUMO_TAG_RNGLANE },
{ "vehicleTransfer", SUMO_TAG_VEHICLETRANSFER },
{ "device", SUMO_TAG_DEVICE },
// Cars
{ "carFollowing-IDM", SUMO_TAG_CF_IDM },
{ "carFollowing-IDMM", SUMO_TAG_CF_IDMM },
{ "carFollowing-Krauss", SUMO_TAG_CF_KRAUSS },
{ "carFollowing-KraussPS", SUMO_TAG_CF_KRAUSS_PLUS_SLOPE },
{ "carFollowing-KraussOrig1", SUMO_TAG_CF_KRAUSS_ORIG1 },
{ "carFollowing-KraussX", SUMO_TAG_CF_KRAUSSX },
{ "carFollowing-EIDM", SUMO_TAG_CF_EIDM },
{ "carFollowing-SmartSK", SUMO_TAG_CF_SMART_SK },
{ "carFollowing-Daniel1", SUMO_TAG_CF_DANIEL1 },
{ "carFollowing-PWagner2009", SUMO_TAG_CF_PWAGNER2009 },
{ "carFollowing-BKerner", SUMO_TAG_CF_BKERNER },
{ "carFollowing-Wiedemann", SUMO_TAG_CF_WIEDEMANN },
{ "carFollowing-W99", SUMO_TAG_CF_W99 },
{ "carFollowing-Rail", SUMO_TAG_CF_RAIL },
{ "carFollowing-ACC", SUMO_TAG_CF_ACC },
{ "carFollowing-CACC", SUMO_TAG_CF_CACC },
{ "carFollowing-CC", SUMO_TAG_CF_CC },
// Person
{ "person", SUMO_TAG_PERSON },
{ "personTrip", SUMO_TAG_PERSONTRIP },
{ "ride", SUMO_TAG_RIDE },
{ "walk", SUMO_TAG_WALK },
{ "personFlow", SUMO_TAG_PERSONFLOW },
// Data (Netedit)
{ "dataSet", SUMO_TAG_DATASET },
{ "dataInterval", SUMO_TAG_DATAINTERVAL },
// Transport
{ "container", SUMO_TAG_CONTAINER },
{ "transport", SUMO_TAG_TRANSPORT },
{ "tranship", SUMO_TAG_TRANSHIP },
{ "containerFlow", SUMO_TAG_CONTAINERFLOW },
//Trajectories
{ "trajectories", SUMO_TAG_TRAJECTORIES },
{ "timestep", SUMO_TAG_TIMESTEP },
{ "timeSlice", SUMO_TAG_TIMESLICE },
{ "actorConfig", SUMO_TAG_ACTORCONFIG },
{ "motionState", SUMO_TAG_MOTIONSTATE },
{ "odPair", SUMO_TAG_OD_PAIR },
{ "transportables", SUMO_TAG_TRANSPORTABLES },
// ActivityGen statistics file
{ "general", AGEN_TAG_GENERAL },
{ "street", AGEN_TAG_STREET },
{ "workHours", AGEN_TAG_WORKHOURS },
{ "opening", AGEN_TAG_OPENING },
{ "closing", AGEN_TAG_CLOSING },
{ "schools", AGEN_TAG_SCHOOLS },
{ "school", AGEN_TAG_SCHOOL },
{ "busStation", AGEN_TAG_BUSSTATION },
{ "busLine", AGEN_TAG_BUSLINE },
{ "stations", AGEN_TAG_STATIONS },
{ "revStations", AGEN_TAG_REV_STATIONS },
{ "station", AGEN_TAG_STATION },
{ "frequency", AGEN_TAG_FREQUENCY },
{ "population", AGEN_TAG_POPULATION },
{ "bracket", AGEN_TAG_BRACKET },
{ "cityGates", AGEN_TAG_CITYGATES },
{ "entrance", AGEN_TAG_ENTRANCE },
{ "parameters", AGEN_TAG_PARAM },
// Netedit
{ "edgeData-edge", GNE_TAG_EDGEREL_SINGLE },
{ "internalLane", GNE_TAG_INTERNAL_LANE },
{ "poiLane", GNE_TAG_POILANE },
{ "poiGeo", GNE_TAG_POIGEO },
{ "jupedsim.walkable_area", GNE_TAG_JPS_WALKABLEAREA },
{ "jupedsim.obstacle", GNE_TAG_JPS_OBSTACLE },
{ "flowRoute", GNE_TAG_FLOW_ROUTE },
{ "flowWithRoute", GNE_TAG_FLOW_WITHROUTE },
// GNE waypoints
{ "waypoint", GNE_TAG_WAYPOINT },
{ "waypointLane", GNE_TAG_WAYPOINT_LANE },
{ "waypointBusStop", GNE_TAG_WAYPOINT_BUSSTOP },
{ "waypointTrainStop", GNE_TAG_WAYPOINT_TRAINSTOP },
{ "waypointContainerStop", GNE_TAG_WAYPOINT_CONTAINERSTOP },
{ "waypointChargingStation", GNE_TAG_WAYPOINT_CHARGINGSTATION },
{ "waypointParkingArea", GNE_TAG_WAYPOINT_PARKINGAREA },
// GNE Person trips
{ "persontrip: edge->edge", GNE_TAG_PERSONTRIP_EDGE_EDGE },
{ "persontrip: edge->taz", GNE_TAG_PERSONTRIP_EDGE_TAZ },
{ "persontrip: edge->junction", GNE_TAG_PERSONTRIP_EDGE_JUNCTION },
{ "persontrip: edge->busstop", GNE_TAG_PERSONTRIP_EDGE_BUSSTOP },
{ "persontrip: edge->trainstop", GNE_TAG_PERSONTRIP_EDGE_TRAINSTOP },
{ "persontrip: edge->containerstop", GNE_TAG_PERSONTRIP_EDGE_CONTAINERSTOP },
{ "persontrip: edge->chargingstation", GNE_TAG_PERSONTRIP_EDGE_CHARGINGSTATION },
{ "persontrip: edge->parkingarea", GNE_TAG_PERSONTRIP_EDGE_PARKINGAREA },
{ "persontrip: taz->edge", GNE_TAG_PERSONTRIP_TAZ_EDGE },
{ "persontrip: taz->taz", GNE_TAG_PERSONTRIP_TAZ_TAZ },
{ "persontrip: taz->junction", GNE_TAG_PERSONTRIP_TAZ_JUNCTION },
{ "persontrip: taz->busstop", GNE_TAG_PERSONTRIP_TAZ_BUSSTOP },
{ "persontrip: taz->trainstop", GNE_TAG_PERSONTRIP_TAZ_TRAINSTOP },
{ "persontrip: taz->containerstop", GNE_TAG_PERSONTRIP_TAZ_CONTAINERSTOP },
{ "persontrip: taz->chargingstation", GNE_TAG_PERSONTRIP_TAZ_CHARGINGSTATION },
{ "persontrip: taz->parkingarea", GNE_TAG_PERSONTRIP_TAZ_PARKINGAREA },
{ "persontrip: junction->edge", GNE_TAG_PERSONTRIP_JUNCTION_EDGE },
{ "persontrip: junction->taz", GNE_TAG_PERSONTRIP_JUNCTION_TAZ },
{ "persontrip: junction->junction", GNE_TAG_PERSONTRIP_JUNCTION_JUNCTION },
{ "persontrip: junction->busstop", GNE_TAG_PERSONTRIP_JUNCTION_BUSSTOP },
{ "persontrip: junction->trainstop", GNE_TAG_PERSONTRIP_JUNCTION_TRAINSTOP },
{ "persontrip: junction->containerstop", GNE_TAG_PERSONTRIP_JUNCTION_CONTAINERSTOP },
{ "persontrip: junction->chargingstation", GNE_TAG_PERSONTRIP_JUNCTION_CHARGINGSTATION },
{ "persontrip: junction->parkingarea", GNE_TAG_PERSONTRIP_JUNCTION_PARKINGAREA },
{ "persontrip: busstop->edge", GNE_TAG_PERSONTRIP_BUSSTOP_EDGE },
{ "persontrip: busstop->taz", GNE_TAG_PERSONTRIP_BUSSTOP_TAZ },
{ "persontrip: busstop->junction", GNE_TAG_PERSONTRIP_BUSSTOP_JUNCTION },
{ "persontrip: busstop->busstop", GNE_TAG_PERSONTRIP_BUSSTOP_BUSSTOP },
{ "persontrip: busstop->trainstop", GNE_TAG_PERSONTRIP_BUSSTOP_TRAINSTOP },
{ "persontrip: busstop->containerstop", GNE_TAG_PERSONTRIP_BUSSTOP_CONTAINERSTOP },
{ "persontrip: busstop->chargingstation", GNE_TAG_PERSONTRIP_BUSSTOP_CHARGINGSTATION },
{ "persontrip: busstop->parkingarea", GNE_TAG_PERSONTRIP_BUSSTOP_PARKINGAREA },
{ "persontrip: trainstop->edge", GNE_TAG_PERSONTRIP_TRAINSTOP_EDGE },
{ "persontrip: trainstop->taz", GNE_TAG_PERSONTRIP_TRAINSTOP_TAZ },
{ "persontrip: trainstop->junction", GNE_TAG_PERSONTRIP_TRAINSTOP_JUNCTION },
{ "persontrip: trainstop->busstop", GNE_TAG_PERSONTRIP_TRAINSTOP_BUSSTOP },
{ "persontrip: trainstop->trainstop", GNE_TAG_PERSONTRIP_TRAINSTOP_TRAINSTOP },
{ "persontrip: trainstop->containerstop", GNE_TAG_PERSONTRIP_TRAINSTOP_CONTAINERSTOP },
{ "persontrip: trainstop->chargingstation", GNE_TAG_PERSONTRIP_TRAINSTOP_CHARGINGSTATION },
{ "persontrip: trainstop->parkingarea", GNE_TAG_PERSONTRIP_TRAINSTOP_PARKINGAREA },
{ "persontrip: containerstop->edge", GNE_TAG_PERSONTRIP_CONTAINERSTOP_EDGE },
{ "persontrip: containerstop->taz", GNE_TAG_PERSONTRIP_CONTAINERSTOP_TAZ },
{ "persontrip: containerstop->junction", GNE_TAG_PERSONTRIP_CONTAINERSTOP_JUNCTION },
{ "persontrip: containerstop->busstop", GNE_TAG_PERSONTRIP_CONTAINERSTOP_BUSSTOP },
{ "persontrip: containerstop->trainstop", GNE_TAG_PERSONTRIP_CONTAINERSTOP_TRAINSTOP },
{ "persontrip: containerstop->containerstop", GNE_TAG_PERSONTRIP_CONTAINERSTOP_CONTAINERSTOP },
{ "persontrip: containerstop->chargingstation", GNE_TAG_PERSONTRIP_CONTAINERSTOP_CHARGINGSTATION },
{ "persontrip: containerstop->parkingarea", GNE_TAG_PERSONTRIP_CONTAINERSTOP_PARKINGAREA },
{ "persontrip: chargingstation->edge", GNE_TAG_PERSONTRIP_CHARGINGSTATION_EDGE },
{ "persontrip: chargingstation->taz", GNE_TAG_PERSONTRIP_CHARGINGSTATION_TAZ },
{ "persontrip: chargingstation->junction", GNE_TAG_PERSONTRIP_CHARGINGSTATION_JUNCTION },
{ "persontrip: chargingstation->busstop", GNE_TAG_PERSONTRIP_CHARGINGSTATION_BUSSTOP },
{ "persontrip: chargingstation->trainstop", GNE_TAG_PERSONTRIP_CHARGINGSTATION_TRAINSTOP },
{ "persontrip: chargingstation->containestop", GNE_TAG_PERSONTRIP_CHARGINGSTATION_CONTAINERSTOP },
{ "persontrip: chargingstation->chargingstation", GNE_TAG_PERSONTRIP_CHARGINGSTATION_CHARGINGSTATION },
{ "persontrip: chargingstation->parkingarea", GNE_TAG_PERSONTRIP_CHARGINGSTATION_PARKINGAREA },
{ "persontrip: parkingarea->edge", GNE_TAG_PERSONTRIP_PARKINGAREA_EDGE },
{ "persontrip: parkingarea->taz", GNE_TAG_PERSONTRIP_PARKINGAREA_TAZ },
{ "persontrip: parkingarea->junction", GNE_TAG_PERSONTRIP_PARKINGAREA_JUNCTION },
{ "persontrip: parkingarea->busstop", GNE_TAG_PERSONTRIP_PARKINGAREA_BUSSTOP },
{ "persontrip: parkingarea->trainstop", GNE_TAG_PERSONTRIP_PARKINGAREA_TRAINSTOP },
{ "persontrip: parkingarea->containerstop", GNE_TAG_PERSONTRIP_PARKINGAREA_CONTAINERSTOP },
{ "persontrip: parkingarea->chargingstation", GNE_TAG_PERSONTRIP_PARKINGAREA_CHARGINGSTATION },
{ "persontrip: parkingarea->parkingarea", GNE_TAG_PERSONTRIP_PARKINGAREA_PARKINGAREA },
// GNE Walks
{ "walk: edge->edge", GNE_TAG_WALK_EDGE_EDGE },
{ "walk: edge->taz", GNE_TAG_WALK_EDGE_TAZ },
{ "walk: edge->junction", GNE_TAG_WALK_EDGE_JUNCTION },
{ "walk: edge->busstop", GNE_TAG_WALK_EDGE_BUSSTOP },
{ "walk: edge->trainstop", GNE_TAG_WALK_EDGE_TRAINSTOP },
{ "walk: edge->containerstop", GNE_TAG_WALK_EDGE_CONTAINERSTOP },
{ "walk: edge->chargingstation", GNE_TAG_WALK_EDGE_CHARGINGSTATION },
{ "walk: edge->parkingarea", GNE_TAG_WALK_EDGE_PARKINGAREA },
{ "walk: taz->edge", GNE_TAG_WALK_TAZ_EDGE },
{ "walk: taz->taz", GNE_TAG_WALK_TAZ_TAZ },
{ "walk: taz->junction", GNE_TAG_WALK_TAZ_JUNCTION },
{ "walk: taz->busstop", GNE_TAG_WALK_TAZ_BUSSTOP },
{ "walk: taz->trainstop", GNE_TAG_WALK_TAZ_TRAINSTOP },
{ "walk: taz->containerstop", GNE_TAG_WALK_TAZ_CONTAINERSTOP },
{ "walk: taz->chargingstation", GNE_TAG_WALK_TAZ_CHARGINGSTATION },
{ "walk: taz->parkingarea", GNE_TAG_WALK_TAZ_PARKINGAREA },
{ "walk: junction->edge", GNE_TAG_WALK_JUNCTION_EDGE },
{ "walk: junction->taz", GNE_TAG_WALK_JUNCTION_TAZ },
{ "walk: junction->junction", GNE_TAG_WALK_JUNCTION_JUNCTION },
{ "walk: junction->busstop", GNE_TAG_WALK_JUNCTION_BUSSTOP },
{ "walk: junction->trainstop", GNE_TAG_WALK_JUNCTION_TRAINSTOP },
{ "walk: junction->containerstop", GNE_TAG_WALK_JUNCTION_CONTAINERSTOP },
{ "walk: junction->chargingstation", GNE_TAG_WALK_JUNCTION_CHARGINGSTATION },
{ "walk: junction->parkingarea", GNE_TAG_WALK_JUNCTION_PARKINGAREA },
{ "walk: busstop->edge", GNE_TAG_WALK_BUSSTOP_EDGE },
{ "walk: busstop->taz", GNE_TAG_WALK_BUSSTOP_TAZ },
{ "walk: busstop->junction", GNE_TAG_WALK_BUSSTOP_JUNCTION },
{ "walk: busstop->busstop", GNE_TAG_WALK_BUSSTOP_BUSSTOP },
{ "walk: busstop->trainstop", GNE_TAG_WALK_BUSSTOP_TRAINSTOP },
{ "walk: busstop->containerstop", GNE_TAG_WALK_BUSSTOP_CONTAINERSTOP },
{ "walk: busstop->chargingstation", GNE_TAG_WALK_BUSSTOP_CHARGINGSTATION },
{ "walk: busstop->parkingarea", GNE_TAG_WALK_BUSSTOP_PARKINGAREA },
{ "walk: trainstop->edge", GNE_TAG_WALK_TRAINSTOP_EDGE },
{ "walk: trainstop->taz", GNE_TAG_WALK_TRAINSTOP_TAZ },
{ "walk: trainstop->junction", GNE_TAG_WALK_TRAINSTOP_JUNCTION },
{ "walk: trainstop->busstop", GNE_TAG_WALK_TRAINSTOP_BUSSTOP },
{ "walk: trainstop->trainstop", GNE_TAG_WALK_TRAINSTOP_TRAINSTOP },
{ "walk: trainstop->containerstop", GNE_TAG_WALK_TRAINSTOP_CONTAINERSTOP },
{ "walk: trainstop->chargingstation", GNE_TAG_WALK_TRAINSTOP_CHARGINGSTATION },
{ "walk: trainstop->parkingarea", GNE_TAG_WALK_TRAINSTOP_PARKINGAREA },
{ "walk: containerstop->edge", GNE_TAG_WALK_CONTAINERSTOP_EDGE },
{ "walk: containerstop->taz", GNE_TAG_WALK_CONTAINERSTOP_TAZ },
{ "walk: containerstop->junction", GNE_TAG_WALK_CONTAINERSTOP_JUNCTION },
{ "walk: containerstop->busstop", GNE_TAG_WALK_CONTAINERSTOP_BUSSTOP },
{ "walk: containerstop->trainstop", GNE_TAG_WALK_CONTAINERSTOP_TRAINSTOP },
{ "walk: containerstop->containerstop", GNE_TAG_WALK_CONTAINERSTOP_CONTAINERSTOP },
{ "walk: containerstop->chargingstation", GNE_TAG_WALK_CONTAINERSTOP_CHARGINGSTATION },
{ "walk: containerstop->parkingarea", GNE_TAG_WALK_CONTAINERSTOP_PARKINGAREA },
{ "walk: chargingstation->edge", GNE_TAG_WALK_CHARGINGSTATION_EDGE },
{ "walk: chargingstation->taz", GNE_TAG_WALK_CHARGINGSTATION_TAZ },
{ "walk: chargingstation->junction", GNE_TAG_WALK_CHARGINGSTATION_JUNCTION },
{ "walk: chargingstation->busstop", GNE_TAG_WALK_CHARGINGSTATION_BUSSTOP },
{ "walk: chargingstation->trainstop", GNE_TAG_WALK_CHARGINGSTATION_TRAINSTOP },
{ "walk: chargingstation->containestop", GNE_TAG_WALK_CHARGINGSTATION_CONTAINERSTOP },
{ "walk: chargingstation->chargingstation", GNE_TAG_WALK_CHARGINGSTATION_CHARGINGSTATION },
{ "walk: chargingstation->parkingarea", GNE_TAG_WALK_CHARGINGSTATION_PARKINGAREA },
{ "walk: parkingarea->edge", GNE_TAG_WALK_PARKINGAREA_EDGE },
{ "walk: parkingarea->taz", GNE_TAG_WALK_PARKINGAREA_TAZ },
{ "walk: parkingarea->junction", GNE_TAG_WALK_PARKINGAREA_JUNCTION },
{ "walk: parkingarea->busstop", GNE_TAG_WALK_PARKINGAREA_BUSSTOP },
{ "walk: parkingarea->trainstop", GNE_TAG_WALK_PARKINGAREA_TRAINSTOP },
{ "walk: parkingarea->containerstop", GNE_TAG_WALK_PARKINGAREA_CONTAINERSTOP },
{ "walk: parkingarea->chargingstation", GNE_TAG_WALK_PARKINGAREA_CHARGINGSTATION },
{ "walk: parkingarea->parkingarea", GNE_TAG_WALK_PARKINGAREA_PARKINGAREA },
{ "walk: edges", GNE_TAG_WALK_EDGES },
{ "walk: route", GNE_TAG_WALK_ROUTE },
// GNE Rides
{ "ride: edge->edge", GNE_TAG_RIDE_EDGE_EDGE },
{ "ride: edge->taz", GNE_TAG_RIDE_EDGE_TAZ },
{ "ride: edge->junction", GNE_TAG_RIDE_EDGE_JUNCTION },
{ "ride: edge->busstop", GNE_TAG_RIDE_EDGE_BUSSTOP },
{ "ride: edge->trainstop", GNE_TAG_RIDE_EDGE_TRAINSTOP },
{ "ride: edge->containerstop", GNE_TAG_RIDE_EDGE_CONTAINERSTOP },
{ "ride: edge->chargingstation", GNE_TAG_RIDE_EDGE_CHARGINGSTATION },
{ "ride: edge->parkingarea", GNE_TAG_RIDE_EDGE_PARKINGAREA },
{ "ride: taz->edge", GNE_TAG_RIDE_TAZ_EDGE },
{ "ride: taz->taz", GNE_TAG_RIDE_TAZ_TAZ },
{ "ride: taz->junction", GNE_TAG_RIDE_TAZ_JUNCTION },
{ "ride: taz->busstop", GNE_TAG_RIDE_TAZ_BUSSTOP },
{ "ride: taz->trainstop", GNE_TAG_RIDE_TAZ_TRAINSTOP },
{ "ride: taz->containerstop", GNE_TAG_RIDE_TAZ_CONTAINERSTOP },
{ "ride: taz->chargingstation", GNE_TAG_RIDE_TAZ_CHARGINGSTATION },
{ "ride: taz->parkingarea", GNE_TAG_RIDE_TAZ_PARKINGAREA },
{ "ride: junction->edge", GNE_TAG_RIDE_JUNCTION_EDGE },
{ "ride: junction->taz", GNE_TAG_RIDE_JUNCTION_TAZ },
{ "ride: junction->junction", GNE_TAG_RIDE_JUNCTION_JUNCTION },
{ "ride: junction->busstop", GNE_TAG_RIDE_JUNCTION_BUSSTOP },
{ "ride: junction->trainstop", GNE_TAG_RIDE_JUNCTION_TRAINSTOP },
{ "ride: junction->containerstop", GNE_TAG_RIDE_JUNCTION_CONTAINERSTOP },
{ "ride: junction->chargingstation", GNE_TAG_RIDE_JUNCTION_CHARGINGSTATION },
{ "ride: junction->parkingarea", GNE_TAG_RIDE_JUNCTION_PARKINGAREA },
{ "ride: busstop->edge", GNE_TAG_RIDE_BUSSTOP_EDGE },
{ "ride: busstop->taz", GNE_TAG_RIDE_BUSSTOP_TAZ },
{ "ride: busstop->junction", GNE_TAG_RIDE_BUSSTOP_JUNCTION },
{ "ride: busstop->busstop", GNE_TAG_RIDE_BUSSTOP_BUSSTOP },
{ "ride: busstop->trainstop", GNE_TAG_RIDE_BUSSTOP_TRAINSTOP },
{ "ride: busstop->containerstop", GNE_TAG_RIDE_BUSSTOP_CONTAINERSTOP },
{ "ride: busstop->chargingstation", GNE_TAG_RIDE_BUSSTOP_CHARGINGSTATION },
{ "ride: busstop->parkingarea", GNE_TAG_RIDE_BUSSTOP_PARKINGAREA },
{ "ride: trainstop->edge", GNE_TAG_RIDE_TRAINSTOP_EDGE },
{ "ride: trainstop->taz", GNE_TAG_RIDE_TRAINSTOP_TAZ },
{ "ride: trainstop->junction", GNE_TAG_RIDE_TRAINSTOP_JUNCTION },
{ "ride: trainstop->busstop", GNE_TAG_RIDE_TRAINSTOP_BUSSTOP },
{ "ride: trainstop->trainstop", GNE_TAG_RIDE_TRAINSTOP_TRAINSTOP },
{ "ride: trainstop->containerstop", GNE_TAG_RIDE_TRAINSTOP_CONTAINERSTOP },
{ "ride: trainstop->chargingstation", GNE_TAG_RIDE_TRAINSTOP_CHARGINGSTATION },
{ "ride: trainstop->parkingarea", GNE_TAG_RIDE_TRAINSTOP_PARKINGAREA },
{ "ride: containerstop->edge", GNE_TAG_RIDE_CONTAINERSTOP_EDGE },
{ "ride: containerstop->taz", GNE_TAG_RIDE_CONTAINERSTOP_TAZ },
{ "ride: containerstop->junction", GNE_TAG_RIDE_CONTAINERSTOP_JUNCTION },
{ "ride: containerstop->busstop", GNE_TAG_RIDE_CONTAINERSTOP_BUSSTOP },
{ "ride: containerstop->trainstop", GNE_TAG_RIDE_CONTAINERSTOP_TRAINSTOP },
{ "ride: containerstop->containerstop", GNE_TAG_RIDE_CONTAINERSTOP_CONTAINERSTOP },
{ "ride: containerstop->chargingstation", GNE_TAG_RIDE_CONTAINERSTOP_CHARGINGSTATION },
{ "ride: containerstop->parkingarea", GNE_TAG_RIDE_CONTAINERSTOP_PARKINGAREA },
{ "ride: chargingstation->edge", GNE_TAG_RIDE_CHARGINGSTATION_EDGE },
{ "ride: chargingstation->taz", GNE_TAG_RIDE_CHARGINGSTATION_TAZ },
{ "ride: chargingstation->junction", GNE_TAG_RIDE_CHARGINGSTATION_JUNCTION },
{ "ride: chargingstation->busstop", GNE_TAG_RIDE_CHARGINGSTATION_BUSSTOP },
{ "ride: chargingstation->trainstop", GNE_TAG_RIDE_CHARGINGSTATION_TRAINSTOP },
{ "ride: chargingstation->containestop", GNE_TAG_RIDE_CHARGINGSTATION_CONTAINERSTOP },
{ "ride: chargingstation->chargingstation", GNE_TAG_RIDE_CHARGINGSTATION_CHARGINGSTATION },
{ "ride: chargingstation->parkingarea", GNE_TAG_RIDE_CHARGINGSTATION_PARKINGAREA },
{ "ride: parkingarea->edge", GNE_TAG_RIDE_PARKINGAREA_EDGE },
{ "ride: parkingarea->taz", GNE_TAG_RIDE_PARKINGAREA_TAZ },
{ "ride: parkingarea->junction", GNE_TAG_RIDE_PARKINGAREA_JUNCTION },
{ "ride: parkingarea->busstop", GNE_TAG_RIDE_PARKINGAREA_BUSSTOP },
{ "ride: parkingarea->trainstop", GNE_TAG_RIDE_PARKINGAREA_TRAINSTOP },
{ "ride: parkingarea->containerstop", GNE_TAG_RIDE_PARKINGAREA_CONTAINERSTOP },
{ "ride: parkingarea->chargingstation", GNE_TAG_RIDE_PARKINGAREA_CHARGINGSTATION },
{ "ride: parkingarea->parkingarea", GNE_TAG_RIDE_PARKINGAREA_PARKINGAREA },
// GNE Person Stops
{ "stopPerson", GNE_TAG_STOPPERSON },
{ "stopPerson: edge", GNE_TAG_STOPPERSON_EDGE },
{ "stopPerson: busStop", GNE_TAG_STOPPERSON_BUSSTOP },
{ "stopPerson: trainStop", GNE_TAG_STOPPERSON_TRAINSTOP },
{ "stopPerson: containerStop", GNE_TAG_STOPPERSON_CONTAINERSTOP },
{ "stopPerson: chargingStation", GNE_TAG_STOPPERSON_CHARGINGSTATION },
{ "stopPerson: parkingArea", GNE_TAG_STOPPERSON_PARKINGAREA },
// GNE Transports
{ "transport: edge->edge", GNE_TAG_TRANSPORT_EDGE_EDGE },
{ "transport: edge->taz", GNE_TAG_TRANSPORT_EDGE_TAZ },
{ "transport: edge->junction", GNE_TAG_TRANSPORT_EDGE_JUNCTION },
{ "transport: edge->busstop", GNE_TAG_TRANSPORT_EDGE_BUSSTOP },
{ "transport: edge->trainstop", GNE_TAG_TRANSPORT_EDGE_TRAINSTOP },
{ "transport: edge->containerstop", GNE_TAG_TRANSPORT_EDGE_CONTAINERSTOP },
{ "transport: edge->chargingstation", GNE_TAG_TRANSPORT_EDGE_CHARGINGSTATION },
{ "transport: edge->parkingarea", GNE_TAG_TRANSPORT_EDGE_PARKINGAREA },
{ "transport: taz->edge", GNE_TAG_TRANSPORT_TAZ_EDGE },
{ "transport: taz->taz", GNE_TAG_TRANSPORT_TAZ_TAZ },
{ "transport: taz->junction", GNE_TAG_TRANSPORT_TAZ_JUNCTION },
{ "transport: taz->busstop", GNE_TAG_TRANSPORT_TAZ_BUSSTOP },
{ "transport: taz->trainstop", GNE_TAG_TRANSPORT_TAZ_TRAINSTOP },
{ "transport: taz->containerstop", GNE_TAG_TRANSPORT_TAZ_CONTAINERSTOP },
{ "transport: taz->chargingstation", GNE_TAG_TRANSPORT_TAZ_CHARGINGSTATION },
{ "transport: taz->parkingarea", GNE_TAG_TRANSPORT_TAZ_PARKINGAREA },
{ "transport: junction->edge", GNE_TAG_TRANSPORT_JUNCTION_EDGE },
{ "transport: junction->taz", GNE_TAG_TRANSPORT_JUNCTION_TAZ },
{ "transport: junction->junction", GNE_TAG_TRANSPORT_JUNCTION_JUNCTION },
{ "transport: junction->busstop", GNE_TAG_TRANSPORT_JUNCTION_BUSSTOP },
{ "transport: junction->trainstop", GNE_TAG_TRANSPORT_JUNCTION_TRAINSTOP },
{ "transport: junction->containerstop", GNE_TAG_TRANSPORT_JUNCTION_CONTAINERSTOP },
{ "transport: junction->chargingstation", GNE_TAG_TRANSPORT_JUNCTION_CHARGINGSTATION },
{ "transport: junction->parkingarea", GNE_TAG_TRANSPORT_JUNCTION_PARKINGAREA },
{ "transport: busstop->edge", GNE_TAG_TRANSPORT_BUSSTOP_EDGE },
{ "transport: busstop->taz", GNE_TAG_TRANSPORT_BUSSTOP_TAZ },
{ "transport: busstop->junction", GNE_TAG_TRANSPORT_BUSSTOP_JUNCTION },
{ "transport: busstop->busstop", GNE_TAG_TRANSPORT_BUSSTOP_BUSSTOP },
{ "transport: busstop->trainstop", GNE_TAG_TRANSPORT_BUSSTOP_TRAINSTOP },
{ "transport: busstop->containerstop", GNE_TAG_TRANSPORT_BUSSTOP_CONTAINERSTOP },
{ "transport: busstop->chargingstation", GNE_TAG_TRANSPORT_BUSSTOP_CHARGINGSTATION },
{ "transport: busstop->parkingarea", GNE_TAG_TRANSPORT_BUSSTOP_PARKINGAREA },
{ "transport: trainstop->edge", GNE_TAG_TRANSPORT_TRAINSTOP_EDGE },
{ "transport: trainstop->taz", GNE_TAG_TRANSPORT_TRAINSTOP_TAZ },
{ "transport: trainstop->junction", GNE_TAG_TRANSPORT_TRAINSTOP_JUNCTION },
{ "transport: trainstop->busstop", GNE_TAG_TRANSPORT_TRAINSTOP_BUSSTOP },
{ "transport: trainstop->trainstop", GNE_TAG_TRANSPORT_TRAINSTOP_TRAINSTOP },
{ "transport: trainstop->containerstop", GNE_TAG_TRANSPORT_TRAINSTOP_CONTAINERSTOP },
{ "transport: trainstop->chargingstation", GNE_TAG_TRANSPORT_TRAINSTOP_CHARGINGSTATION },
{ "transport: trainstop->parkingarea", GNE_TAG_TRANSPORT_TRAINSTOP_PARKINGAREA },
{ "transport: containerstop->edge", GNE_TAG_TRANSPORT_CONTAINERSTOP_EDGE },
{ "transport: containerstop->taz", GNE_TAG_TRANSPORT_CONTAINERSTOP_TAZ },
{ "transport: containerstop->junction", GNE_TAG_TRANSPORT_CONTAINERSTOP_JUNCTION },
{ "transport: containerstop->busstop", GNE_TAG_TRANSPORT_CONTAINERSTOP_BUSSTOP },
{ "transport: containerstop->trainstop", GNE_TAG_TRANSPORT_CONTAINERSTOP_TRAINSTOP },
{ "transport: containerstop->containerstop", GNE_TAG_TRANSPORT_CONTAINERSTOP_CONTAINERSTOP },
{ "transport: containerstop->chargingstation", GNE_TAG_TRANSPORT_CONTAINERSTOP_CHARGINGSTATION },
{ "transport: containerstop->parkingarea", GNE_TAG_TRANSPORT_CONTAINERSTOP_PARKINGAREA },
{ "transport: chargingstation->edge", GNE_TAG_TRANSPORT_CHARGINGSTATION_EDGE },
{ "transport: chargingstation->taz", GNE_TAG_TRANSPORT_CHARGINGSTATION_TAZ },
{ "transport: chargingstation->junction", GNE_TAG_TRANSPORT_CHARGINGSTATION_JUNCTION },
{ "transport: chargingstation->busstop", GNE_TAG_TRANSPORT_CHARGINGSTATION_BUSSTOP },
{ "transport: chargingstation->trainstop", GNE_TAG_TRANSPORT_CHARGINGSTATION_TRAINSTOP },
{ "transport: chargingstation->containestop", GNE_TAG_TRANSPORT_CHARGINGSTATION_CONTAINERSTOP },
{ "transport: chargingstation->chargingstation", GNE_TAG_TRANSPORT_CHARGINGSTATION_CHARGINGSTATION },
{ "transport: chargingstation->parkingarea", GNE_TAG_TRANSPORT_CHARGINGSTATION_PARKINGAREA },
{ "transport: parkingarea->edge", GNE_TAG_TRANSPORT_PARKINGAREA_EDGE },
{ "transport: parkingarea->taz", GNE_TAG_TRANSPORT_PARKINGAREA_TAZ },
{ "transport: parkingarea->junction", GNE_TAG_TRANSPORT_PARKINGAREA_JUNCTION },
{ "transport: parkingarea->busstop", GNE_TAG_TRANSPORT_PARKINGAREA_BUSSTOP },
{ "transport: parkingarea->trainstop", GNE_TAG_TRANSPORT_PARKINGAREA_TRAINSTOP },
{ "transport: parkingarea->containerstop", GNE_TAG_TRANSPORT_PARKINGAREA_CONTAINERSTOP },
{ "transport: parkingarea->chargingstation", GNE_TAG_TRANSPORT_PARKINGAREA_CHARGINGSTATION },
{ "transport: parkingarea->parkingarea", GNE_TAG_TRANSPORT_PARKINGAREA_PARKINGAREA },
// GNE Tranships
{ "tranship: edge->edge", GNE_TAG_TRANSHIP_EDGE_EDGE },
{ "tranship: edge->taz", GNE_TAG_TRANSHIP_EDGE_TAZ },
{ "tranship: edge->junction", GNE_TAG_TRANSHIP_EDGE_JUNCTION },
{ "tranship: edge->busstop", GNE_TAG_TRANSHIP_EDGE_BUSSTOP },
{ "tranship: edge->trainstop", GNE_TAG_TRANSHIP_EDGE_TRAINSTOP },
{ "tranship: edge->containerstop", GNE_TAG_TRANSHIP_EDGE_CONTAINERSTOP },
{ "tranship: edge->chargingstation", GNE_TAG_TRANSHIP_EDGE_CHARGINGSTATION },
{ "tranship: edge->parkingarea", GNE_TAG_TRANSHIP_EDGE_PARKINGAREA },
{ "tranship: taz->edge", GNE_TAG_TRANSHIP_TAZ_EDGE },
{ "tranship: taz->taz", GNE_TAG_TRANSHIP_TAZ_TAZ },
{ "tranship: taz->junction", GNE_TAG_TRANSHIP_TAZ_JUNCTION },
{ "tranship: taz->busstop", GNE_TAG_TRANSHIP_TAZ_BUSSTOP },
{ "tranship: taz->trainstop", GNE_TAG_TRANSHIP_TAZ_TRAINSTOP },
{ "tranship: taz->containerstop", GNE_TAG_TRANSHIP_TAZ_CONTAINERSTOP },
{ "tranship: taz->chargingstation", GNE_TAG_TRANSHIP_TAZ_CHARGINGSTATION },
{ "tranship: taz->parkingarea", GNE_TAG_TRANSHIP_TAZ_PARKINGAREA },
{ "tranship: junction->edge", GNE_TAG_TRANSHIP_JUNCTION_EDGE },
{ "tranship: junction->taz", GNE_TAG_TRANSHIP_JUNCTION_TAZ },
{ "tranship: junction->junction", GNE_TAG_TRANSHIP_JUNCTION_JUNCTION },
{ "tranship: junction->busstop", GNE_TAG_TRANSHIP_JUNCTION_BUSSTOP },
{ "tranship: junction->trainstop", GNE_TAG_TRANSHIP_JUNCTION_TRAINSTOP },
{ "tranship: junction->containerstop", GNE_TAG_TRANSHIP_JUNCTION_CONTAINERSTOP },
{ "tranship: junction->chargingstation", GNE_TAG_TRANSHIP_JUNCTION_CHARGINGSTATION },
{ "tranship: junction->parkingarea", GNE_TAG_TRANSHIP_JUNCTION_PARKINGAREA },
{ "tranship: busstop->edge", GNE_TAG_TRANSHIP_BUSSTOP_EDGE },
{ "tranship: busstop->taz", GNE_TAG_TRANSHIP_BUSSTOP_TAZ },
{ "tranship: busstop->junction", GNE_TAG_TRANSHIP_BUSSTOP_JUNCTION },
{ "tranship: busstop->busstop", GNE_TAG_TRANSHIP_BUSSTOP_BUSSTOP },
{ "tranship: busstop->trainstop", GNE_TAG_TRANSHIP_BUSSTOP_TRAINSTOP },
{ "tranship: busstop->containerstop", GNE_TAG_TRANSHIP_BUSSTOP_CONTAINERSTOP },
{ "tranship: busstop->chargingstation", GNE_TAG_TRANSHIP_BUSSTOP_CHARGINGSTATION },
{ "tranship: busstop->parkingarea", GNE_TAG_TRANSHIP_BUSSTOP_PARKINGAREA },
{ "tranship: trainstop->edge", GNE_TAG_TRANSHIP_TRAINSTOP_EDGE },
{ "tranship: trainstop->taz", GNE_TAG_TRANSHIP_TRAINSTOP_TAZ },
{ "tranship: trainstop->junction", GNE_TAG_TRANSHIP_TRAINSTOP_JUNCTION },
{ "tranship: trainstop->busstop", GNE_TAG_TRANSHIP_TRAINSTOP_BUSSTOP },
{ "tranship: trainstop->trainstop", GNE_TAG_TRANSHIP_TRAINSTOP_TRAINSTOP },
{ "tranship: trainstop->containerstop", GNE_TAG_TRANSHIP_TRAINSTOP_CONTAINERSTOP },
{ "tranship: trainstop->chargingstation", GNE_TAG_TRANSHIP_TRAINSTOP_CHARGINGSTATION },
{ "tranship: trainstop->parkingarea", GNE_TAG_TRANSHIP_TRAINSTOP_PARKINGAREA },
{ "tranship: containerstop->edge", GNE_TAG_TRANSHIP_CONTAINERSTOP_EDGE },
{ "tranship: containerstop->taz", GNE_TAG_TRANSHIP_CONTAINERSTOP_TAZ },
{ "tranship: containerstop->junction", GNE_TAG_TRANSHIP_CONTAINERSTOP_JUNCTION },
{ "tranship: containerstop->busstop", GNE_TAG_TRANSHIP_CONTAINERSTOP_BUSSTOP },
{ "tranship: containerstop->trainstop", GNE_TAG_TRANSHIP_CONTAINERSTOP_TRAINSTOP },
{ "tranship: containerstop->containerstop", GNE_TAG_TRANSHIP_CONTAINERSTOP_CONTAINERSTOP },
{ "tranship: containerstop->chargingstation", GNE_TAG_TRANSHIP_CONTAINERSTOP_CHARGINGSTATION },
{ "tranship: containerstop->parkingarea", GNE_TAG_TRANSHIP_CONTAINERSTOP_PARKINGAREA },
{ "tranship: chargingstation->edge", GNE_TAG_TRANSHIP_CHARGINGSTATION_EDGE },
{ "tranship: chargingstation->taz", GNE_TAG_TRANSHIP_CHARGINGSTATION_TAZ },
{ "tranship: chargingstation->junction", GNE_TAG_TRANSHIP_CHARGINGSTATION_JUNCTION },
{ "tranship: chargingstation->busstop", GNE_TAG_TRANSHIP_CHARGINGSTATION_BUSSTOP },
{ "tranship: chargingstation->trainstop", GNE_TAG_TRANSHIP_CHARGINGSTATION_TRAINSTOP },
{ "tranship: chargingstation->containestop", GNE_TAG_TRANSHIP_CHARGINGSTATION_CONTAINERSTOP },
{ "tranship: chargingstation->chargingstation", GNE_TAG_TRANSHIP_CHARGINGSTATION_CHARGINGSTATION },
{ "tranship: chargingstation->parkingarea", GNE_TAG_TRANSHIP_CHARGINGSTATION_PARKINGAREA },
{ "tranship: parkingarea->edge", GNE_TAG_TRANSHIP_PARKINGAREA_EDGE },
{ "tranship: parkingarea->taz", GNE_TAG_TRANSHIP_PARKINGAREA_TAZ },
{ "tranship: parkingarea->junction", GNE_TAG_TRANSHIP_PARKINGAREA_JUNCTION },
{ "tranship: parkingarea->busstop", GNE_TAG_TRANSHIP_PARKINGAREA_BUSSTOP },
{ "tranship: parkingarea->trainstop", GNE_TAG_TRANSHIP_PARKINGAREA_TRAINSTOP },
{ "tranship: parkingarea->containerstop", GNE_TAG_TRANSHIP_PARKINGAREA_CONTAINERSTOP },
{ "tranship: parkingarea->chargingstation", GNE_TAG_TRANSHIP_PARKINGAREA_CHARGINGSTATION },
{ "tranship: parkingarea->parkingarea", GNE_TAG_TRANSHIP_PARKINGAREA_PARKINGAREA },
{ "tranship: edges", GNE_TAG_TRANSHIP_EDGES },
// GNE Container Stops
{ "stopContainer", GNE_TAG_STOPCONTAINER },
{ "stopContainer: edge", GNE_TAG_STOPCONTAINER_EDGE },
{ "stopContainer: busStop", GNE_TAG_STOPCONTAINER_BUSSTOP },
{ "stopContainer: trainStop", GNE_TAG_STOPCONTAINER_TRAINSTOP },
{ "stopContainer: containerStop", GNE_TAG_STOPCONTAINER_CONTAINERSTOP },
{ "stopContainer: chargingStation", GNE_TAG_STOPCONTAINER_CHARGINGSTATION },
{ "stopContainer: parkingArea", GNE_TAG_STOPCONTAINER_PARKINGAREA },
// root file
{ "rootFile", SUMO_TAG_ROOTFILE },
// Last element
{ "", SUMO_TAG_NOTHING } // -> must be the last one
};
SequentialStringBijection::Entry SUMOXMLDefinitions::attrs[] = {
// meta value for attribute enum
{ "default", SUMO_ATTR_DEFAULT },
// meandata
{ "sampledSeconds", SUMO_ATTR_SAMPLEDSECONDS },
{ "density", SUMO_ATTR_DENSITY },
{ "laneDensity", SUMO_ATTR_LANEDENSITY },
{ "occupancy", SUMO_ATTR_OCCUPANCY },
{ "waitingTime", SUMO_ATTR_WAITINGTIME },
{ "timeLoss", SUMO_ATTR_TIMELOSS },
{ "speed", SUMO_ATTR_SPEED },
{ "speedRelative", SUMO_ATTR_SPEEDREL },
{ "departed", SUMO_ATTR_DEPARTED },
{ "arrived", SUMO_ATTR_ARRIVED },
{ "entered", SUMO_ATTR_ENTERED },
{ "left", SUMO_ATTR_LEFT },
{ "vaporized", SUMO_ATTR_VAPORIZED },
{ "teleported", SUMO_ATTR_TELEPORTED },
{ "traveltime", SUMO_ATTR_TRAVELTIME },
{ "laneChangedFrom", SUMO_ATTR_LANECHANGEDFROM },
{ "laneChangedTo", SUMO_ATTR_LANECHANGEDTO },
{ "overlapTraveltime", SUMO_ATTR_OVERLAPTRAVELTIME },
{ "CO_abs", SUMO_ATTR_CO_ABS },
{ "CO2_abs", SUMO_ATTR_CO2_ABS },
{ "HC_abs", SUMO_ATTR_HC_ABS },
{ "PMx_abs", SUMO_ATTR_PMX_ABS },
{ "NOx_abs", SUMO_ATTR_NOX_ABS },
{ "fuel_abs", SUMO_ATTR_FUEL_ABS },
{ "electricity_abs", SUMO_ATTR_ELECTRICITY_ABS },
{ "CO_normed", SUMO_ATTR_CO_NORMED },
{ "CO2_normed", SUMO_ATTR_CO2_NORMED },
{ "HC_normed", SUMO_ATTR_HC_NORMED },
{ "PMx_normed", SUMO_ATTR_PMX_NORMED },
{ "NOx_normed", SUMO_ATTR_NOX_NORMED },
{ "fuel_normed", SUMO_ATTR_FUEL_NORMED },
{ "electricity_normed", SUMO_ATTR_ELECTRICITY_NORMED },
{ "CO_perVeh", SUMO_ATTR_CO_PERVEH },
{ "CO2_perVeh", SUMO_ATTR_CO2_PERVEH },
{ "HC_perVeh", SUMO_ATTR_HC_PERVEH },
{ "PMx_perVeh", SUMO_ATTR_PMX_PERVEH },
{ "NOx_perVeh", SUMO_ATTR_NOX_PERVEH },
{ "fuel_perVeh", SUMO_ATTR_FUEL_PERVEH },
{ "electricity_perVeh", SUMO_ATTR_ELECTRICITY_PERVEH },
{ "noise", SUMO_ATTR_NOISE },
{ "amount", SUMO_ATTR_AMOUNT },
{ "averageSpeed", SUMO_ATTR_AVERAGESPEED },
// FCD
{ "x", SUMO_ATTR_X },
{ "y", SUMO_ATTR_Y },
{ "z", SUMO_ATTR_Z },
{ "angle", SUMO_ATTR_ANGLE },
{ "type", SUMO_ATTR_TYPE },
{ "pos", SUMO_ATTR_POSITION },
{ "edge", SUMO_ATTR_EDGE },
{ "lane", SUMO_ATTR_LANE },
{ "slope", SUMO_ATTR_SLOPE },
{ "signals", SUMO_ATTR_SIGNALS },
{ "acceleration", SUMO_ATTR_ACCELERATION },
{ "accelerationLat", SUMO_ATTR_ACCELERATION_LAT },
{ "distance", SUMO_ATTR_DISTANCE },
{ "leaderID", SUMO_ATTR_LEADER_ID },
{ "leaderSpeed", SUMO_ATTR_LEADER_SPEED },
{ "leaderGap", SUMO_ATTR_LEADER_GAP },
{ "vehicle", SUMO_ATTR_VEHICLE },
{ "odometer", SUMO_ATTR_ODOMETER },
{ "posLat", SUMO_ATTR_POSITION_LAT },
{ "speedLat", SUMO_ATTR_SPEED_LAT },
// only usable with SumoXMLAttrMask
{ "arrivalDelay", SUMO_ATTR_ARRIVALDELAY },
// emission-output
{ "CO", SUMO_ATTR_CO },
{ "CO2", SUMO_ATTR_CO2 },
{ "HC", SUMO_ATTR_HC },
{ "PMx", SUMO_ATTR_PMX },
{ "NOx", SUMO_ATTR_NOX },
{ "fuel", SUMO_ATTR_FUEL },
{ "electricity", SUMO_ATTR_ELECTRICITY },
{ "route", SUMO_ATTR_ROUTE },
{ "eclass", SUMO_ATTR_ECLASS },
{ "waiting", SUMO_ATTR_WAITING },
// Edge
{ "id", SUMO_ATTR_ID },
{ "refId", SUMO_ATTR_REFID },
{ "name", SUMO_ATTR_NAME },
{ "version", SUMO_ATTR_VERSION },
{ "priority", SUMO_ATTR_PRIORITY },
{ "numLanes", SUMO_ATTR_NUMLANES },
{ "friction", SUMO_ATTR_FRICTION },
{ "oneway", SUMO_ATTR_ONEWAY },
{ "width", SUMO_ATTR_WIDTH },
{ "widthResolution", SUMO_ATTR_WIDTHRESOLUTION },
{ "maxWidth", SUMO_ATTR_MAXWIDTH },
{ "minWidth", SUMO_ATTR_MINWIDTH },
{ "sidewalkWidth", SUMO_ATTR_SIDEWALKWIDTH },
{ "bikeLaneWidth", SUMO_ATTR_BIKELANEWIDTH },
{ "remove", SUMO_ATTR_REMOVE },
{ "length", SUMO_ATTR_LENGTH },
{ "bidi", SUMO_ATTR_BIDI },
// Split
{ "idBefore", SUMO_ATTR_ID_BEFORE },
{ "idAfter", SUMO_ATTR_ID_AFTER },
// Positions
{ "center", SUMO_ATTR_CENTER },
{ "centerX", SUMO_ATTR_CENTER_X },
{ "centerY", SUMO_ATTR_CENTER_Y },
{ "centerZ", SUMO_ATTR_CENTER_Z },
{ "key", SUMO_ATTR_KEY },
{ "requestSize", SUMO_ATTR_REQUESTSIZE },
{ "request", SUMO_ATTR_REQUEST },
{ "response", SUMO_ATTR_RESPONSE },
{ "programID", SUMO_ATTR_PROGRAMID },
{ "phase", SUMO_ATTR_PHASE },
{ "offset", SUMO_ATTR_OFFSET },
{ "endOffset", SUMO_ATTR_ENDOFFSET },
{ "incLanes", SUMO_ATTR_INCLANES },
{ "intLanes", SUMO_ATTR_INTLANES },
{ "weight", SUMO_ATTR_WEIGHT },
{ "node", SUMO_ATTR_NODE },
{ "edges", SUMO_ATTR_EDGES },
// Vehicle
{ "depart", SUMO_ATTR_DEPART },
{ "departLane", SUMO_ATTR_DEPARTLANE },
{ "departPos", SUMO_ATTR_DEPARTPOS },
{ "departPosLat", SUMO_ATTR_DEPARTPOS_LAT },
{ "departSpeed", SUMO_ATTR_DEPARTSPEED },
{ "departEdge", SUMO_ATTR_DEPARTEDGE },
{ "arrivalLane", SUMO_ATTR_ARRIVALLANE },
{ "arrivalPos", SUMO_ATTR_ARRIVALPOS },
{ "arrivalPosLat", SUMO_ATTR_ARRIVALPOS_LAT },
{ "arrivalSpeed", SUMO_ATTR_ARRIVALSPEED },
{ "arrivalEdge", SUMO_ATTR_ARRIVALEDGE },
{ "maxSpeed", SUMO_ATTR_MAXSPEED },
{ "desiredMaxSpeed", SUMO_ATTR_DESIRED_MAXSPEED },
{ "maxSpeedLat", SUMO_ATTR_MAXSPEED_LAT },
{ "latAlignment", SUMO_ATTR_LATALIGNMENT },
{ "minGapLat", SUMO_ATTR_MINGAP_LAT },
{ "accel", SUMO_ATTR_ACCEL },
{ "decel", SUMO_ATTR_DECEL },
{ "emergencyDecel", SUMO_ATTR_EMERGENCYDECEL },
{ "apparentDecel", SUMO_ATTR_APPARENTDECEL },
{ "actionStepLength", SUMO_ATTR_ACTIONSTEPLENGTH },
{ "vClass", SUMO_ATTR_VCLASS },
{ "vClasses", SUMO_ATTR_VCLASSES },
{ "exceptions", SUMO_ATTR_EXCEPTIONS },
{ "repno", SUMO_ATTR_REPNUMBER },
{ "speedFactor", SUMO_ATTR_SPEEDFACTOR },
{ "speedDev", SUMO_ATTR_SPEEDDEV },
{ "laneChangeModel", SUMO_ATTR_LANE_CHANGE_MODEL },
{ "carFollowModel", SUMO_ATTR_CAR_FOLLOW_MODEL },
{ "minGap", SUMO_ATTR_MINGAP },
{ "collisionMinGapFactor", SUMO_ATTR_COLLISION_MINGAP_FACTOR },
{ "boardingDuration", SUMO_ATTR_BOARDING_DURATION },
{ "loadingDuration", SUMO_ATTR_LOADING_DURATION },
{ "boardingFactor", SUMO_ATTR_BOARDING_FACTOR },
{ "scale", SUMO_ATTR_SCALE },
{ "insertionChecks", SUMO_ATTR_INSERTIONCHECKS },
{ "timeToTeleport", SUMO_ATTR_TIME_TO_TELEPORT },
{ "timeToTeleportBidi", SUMO_ATTR_TIME_TO_TELEPORT_BIDI },
{ "speedFactorPremature", SUMO_ATTR_SPEEDFACTOR_PREMATURE },
{ "maneuverAngleTimes", SUMO_ATTR_MANEUVER_ANGLE_TIMES },
{ "parkingBadges", SUMO_ATTR_PARKING_BADGES },
// MSDevice_ElecHybrid
{ "overheadWireChargingPower", SUMO_ATTR_OVERHEADWIRECHARGINGPOWER },
// OverheadWire
{ "overheadWireSegment", SUMO_ATTR_OVERHEAD_WIRE_SEGMENT },
{ "segments", SUMO_ATTR_OVERHEAD_WIRE_SEGMENTS }, // <- deprecate
{ "voltage", SUMO_ATTR_VOLTAGE },
{ "voltageSource", SUMO_ATTR_VOLTAGESOURCE },
{ "currentLimit", SUMO_ATTR_CURRENTLIMIT },
{ "substationId", SUMO_ATTR_SUBSTATIONID },
{ "wireResistivity", SUMO_ATTR_OVERHEAD_WIRE_RESISTIVITY },
{ "forbiddenInnerLanes", SUMO_ATTR_OVERHEAD_WIRE_FORBIDDEN },
{ "clamps", SUMO_ATTR_OVERHEAD_WIRE_CLAMPS }, // <- deprecate
{ "idSegmentStartClamp", SUMO_ATTR_OVERHEAD_WIRE_CLAMP_START }, // <- deprecate
{ "idSegmentEndClamp", SUMO_ATTR_OVERHEAD_WIRE_CLAMP_END }, // <- deprecate
{ "wireClampStart", SUMO_ATTR_OVERHEAD_WIRECLAMP_START },
{ "wireClampEnd", SUMO_ATTR_OVERHEAD_WIRECLAMP_END },
{ "wireClampLaneStart", SUMO_ATTR_OVERHEAD_WIRECLAMP_LANESTART },
{ "wireClampLaneEnd", SUMO_ATTR_OVERHEAD_WIRECLAMP_LANEEND },
// Charging Station
{ "power", SUMO_ATTR_CHARGINGPOWER },
{ "efficiency", SUMO_ATTR_EFFICIENCY },
{ "chargeInTransit", SUMO_ATTR_CHARGEINTRANSIT },
{ "chargeDelay", SUMO_ATTR_CHARGEDELAY},
{ "chargeType", SUMO_ATTR_CHARGETYPE},
// MSDevice_Battery
{ "actualBatteryCapacity", SUMO_ATTR_ACTUALBATTERYCAPACITY },
{ "chargeLevel", SUMO_ATTR_CHARGELEVEL },
{ "maximumBatteryCapacity", SUMO_ATTR_MAXIMUMBATTERYCAPACITY },
{ "maximumChargeRate", SUMO_ATTR_MAXIMUMCHARGERATE },
{ "chargeLevelTable", SUMO_ATTR_CHARGELEVELTABLE },
{ "chargeCurveTable", SUMO_ATTR_CHARGECURVETABLE },
{ "maximumPower", SUMO_ATTR_MAXIMUMPOWER },
{ "vehicleMass", SUMO_ATTR_VEHICLEMASS },
{ "rotatingMass", SUMO_ATTR_ROTATINGMASS },
{ "frontSurfaceArea", SUMO_ATTR_FRONTSURFACEAREA },
{ "airDragCoefficient", SUMO_ATTR_AIRDRAGCOEFFICIENT },
{ "internalMomentOfInertia", SUMO_ATTR_INTERNALMOMENTOFINERTIA },
{ "radialDragCoefficient", SUMO_ATTR_RADIALDRAGCOEFFICIENT },
{ "rollDragCoefficient", SUMO_ATTR_ROLLDRAGCOEFFICIENT },
{ "constantPowerIntake", SUMO_ATTR_CONSTANTPOWERINTAKE },
{ "propulsionEfficiency", SUMO_ATTR_PROPULSIONEFFICIENCY },
{ "recuperationEfficiency", SUMO_ATTR_RECUPERATIONEFFICIENCY },
{ "recuperationEfficiencyByDecel", SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION },
{ "stoppingTreshold", SUMO_ATTR_STOPPINGTHRESHOLD },
// MSDevice_Tripinfo
{ "waitingCount", SUMO_ATTR_WAITINGCOUNT },
{ "stopTime", SUMO_ATTR_STOPTIME },
// MSElecHybridExport
{ "overheadWireId", SUMO_ATTR_OVERHEADWIREID },
{ "tractionSubstationId", SUMO_ATTR_TRACTIONSUBSTATIONID },
{ "current", SUMO_ATTR_CURRENTFROMOVERHEADWIRE },
{ "circuitVoltage", SUMO_ATTR_VOLTAGEOFOVERHEADWIRE },
{ "alphaCircuitSolver", SUMO_ATTR_ALPHACIRCUITSOLVER },
{ "recuperationEnabled", SUMO_ATTR_RECUPERATIONENABLE },
// MSBatteryExport
{ "energyConsumed", SUMO_ATTR_ENERGYCONSUMED },
{ "totalEnergyConsumed", SUMO_ATTR_TOTALENERGYCONSUMED },
{ "totalEnergyRegenerated", SUMO_ATTR_TOTALENERGYREGENERATED },
{ "chargingStationId", SUMO_ATTR_CHARGINGSTATIONID },
{ "energyCharged", SUMO_ATTR_ENERGYCHARGED },
{ "energyChargedInTransit", SUMO_ATTR_ENERGYCHARGEDINTRANSIT },
{ "energyChargedStopped", SUMO_ATTR_ENERGYCHARGEDSTOPPED },
{ "posOnLane", SUMO_ATTR_POSONLANE },
{ "timeStopped", SUMO_ATTR_TIMESTOPPED },
// MMPEVEM
{ "wheelRadius", SUMO_ATTR_WHEELRADIUS },
{ "maximumTorque", SUMO_ATTR_MAXIMUMTORQUE },
{ "maximumSpeed", SUMO_ATTR_MAXIMUMSPEED },
{ "gearEfficiency", SUMO_ATTR_GEAREFFICIENCY },
{ "gearRatio", SUMO_ATTR_GEARRATIO },
{ "maximumRecuperationTorque", SUMO_ATTR_MAXIMUMRECUPERATIONTORQUE },
{ "maximumRecuperationPower", SUMO_ATTR_MAXIMUMRECUPERATIONPOWER },
{ "internalBatteryResistance", SUMO_ATTR_INTERNALBATTERYRESISTANCE },
{ "nominalBatteryVoltage", SUMO_ATTR_NOMINALBATTERYVOLTAGE },
{ "powerLossMap", SUMO_ATTR_POWERLOSSMAP },
// ChargingStation output
{ "chargingStatus", SUMO_ATTR_CHARGING_STATUS },
{ "totalEnergyCharged", SUMO_ATTR_TOTALENERGYCHARGED },
{ "chargingSteps", SUMO_ATTR_CHARGINGSTEPS },
{ "totalEnergyChargedIntoVehicle", SUMO_ATTR_TOTALENERGYCHARGED_VEHICLE },
{ "chargingBegin", SUMO_ATTR_CHARGINGBEGIN },
{ "chargingEnd", SUMO_ATTR_CHARGINGEND },
{ "partialCharge", SUMO_ATTR_PARTIALCHARGE },
{ "minPower", SUMO_ATTR_MINPOWER },
{ "minCharge", SUMO_ATTR_MINCHARGE },
{ "maxCharge", SUMO_ATTR_MAXCHARGE },
{ "minEfficiency", SUMO_ATTR_MINEFFICIENCY },
{ "maxEfficiency", SUMO_ATTR_MAXEFFICIENCY },
// general emission / consumption
{ "shutOffStopDuration", SUMO_ATTR_SHUT_OFF_STOP },
{ "shutOffAutoDuration", SUMO_ATTR_SHUT_OFF_AUTO },
{ "loading", SUMO_ATTR_LOADING },
/// @name carFollow model attributes
{ "sigma", SUMO_ATTR_SIGMA },
{ "sigmaStep", SUMO_ATTR_SIGMA_STEP },
{ "startupDelay", SUMO_ATTR_STARTUP_DELAY },
{ "tau", SUMO_ATTR_TAU },
{ "tmp1", SUMO_ATTR_TMP1 },
{ "tmp2", SUMO_ATTR_TMP2 },
{ "tmp3", SUMO_ATTR_TMP3 },
{ "tmp4", SUMO_ATTR_TMP4 },
{ "tmp5", SUMO_ATTR_TMP5 },
{ "vehdynamics", SUMO_ATTR_CF_EIDM_USEVEHDYNAMICS },
{ "tpreview", SUMO_ATTR_CF_EIDM_T_LOOK_AHEAD },
{ "tPersDrive", SUMO_ATTR_CF_EIDM_T_PERSISTENCE_DRIVE },
{ "treaction", SUMO_ATTR_CF_EIDM_T_REACTION },
{ "tPersEstimate", SUMO_ATTR_CF_EIDM_T_PERSISTENCE_ESTIMATE },
{ "ccoolness", SUMO_ATTR_CF_EIDM_C_COOLNESS },
{ "sigmaleader", SUMO_ATTR_CF_EIDM_SIG_LEADER },
{ "sigmagap", SUMO_ATTR_CF_EIDM_SIG_GAP },
{ "sigmaerror", SUMO_ATTR_CF_EIDM_SIG_ERROR },
{ "jerkmax", SUMO_ATTR_CF_EIDM_JERK_MAX },
{ "epsilonacc", SUMO_ATTR_CF_EIDM_EPSILON_ACC },
{ "taccmax", SUMO_ATTR_CF_EIDM_T_ACC_MAX },
{ "Mflatness", SUMO_ATTR_CF_EIDM_M_FLATNESS },
{ "Mbegin", SUMO_ATTR_CF_EIDM_M_BEGIN },
{ "maxvehpreview", SUMO_ATTR_CF_EIDM_MAX_VEH_PREVIEW },
{ "speedControlGain", SUMO_ATTR_SC_GAIN },
{ "gapClosingControlGainSpeed", SUMO_ATTR_GCC_GAIN_SPEED },
{ "gapClosingControlGainSpace", SUMO_ATTR_GCC_GAIN_SPACE },
{ "gapControlGainSpeed", SUMO_ATTR_GC_GAIN_SPEED },
{ "gapControlGainSpace", SUMO_ATTR_GC_GAIN_SPACE },
{ "collisionAvoidanceGainSpeed", SUMO_ATTR_CA_GAIN_SPEED },
{ "collisionAvoidanceGainSpace", SUMO_ATTR_CA_GAIN_SPACE },
{ "collisionAvoidanceOverride", SUMO_ATTR_CA_OVERRIDE },
{ "speedControlGainCACC", SUMO_ATTR_SC_GAIN_CACC },
{ "gapClosingControlGainGap", SUMO_ATTR_GCC_GAIN_GAP_CACC },
{ "gapClosingControlGainGapDot", SUMO_ATTR_GCC_GAIN_GAP_DOT_CACC },
{ "gapControlGainGap", SUMO_ATTR_GC_GAIN_GAP_CACC },
{ "gapControlGainGapDot", SUMO_ATTR_GC_GAIN_GAP_DOT_CACC },
{ "collisionAvoidanceGainGap", SUMO_ATTR_CA_GAIN_GAP_CACC },
{ "collisionAvoidanceGainGapDot", SUMO_ATTR_CA_GAIN_GAP_DOT_CACC },
{ "tauCACCToACC", SUMO_ATTR_HEADWAY_TIME_CACC_TO_ACC },
{ "speedControlMinGap", SUMO_ATTR_SC_MIN_GAP },
{ "applyDriverState", SUMO_ATTR_APPLYDRIVERSTATE },
{ "trainType", SUMO_ATTR_TRAIN_TYPE },
{ "speedTable", SUMO_ATTR_SPEED_TABLE },
{ "tractionTable", SUMO_ATTR_TRACTION_TABLE },
{ "resistanceTable", SUMO_ATTR_RESISTANCE_TABLE },
{ "massFactor", SUMO_ATTR_MASSFACTOR },
{ "maxPower", SUMO_ATTR_MAXPOWER },
{ "maxTraction", SUMO_ATTR_MAXTRACTION },
{ "resCoef_constant", SUMO_ATTR_RESISTANCE_COEFFICIENT_CONSTANT },
{ "resCoef_linear", SUMO_ATTR_RESISTANCE_COEFFICIENT_LINEAR },
{ "resCoef_quadratic", SUMO_ATTR_RESISTANCE_COEFFICIENT_QUADRATIC },
/// @}
/// @name Lane changing model attributes
/// @{
{ "lcStrategic", SUMO_ATTR_LCA_STRATEGIC_PARAM },
{ "lcCooperative", SUMO_ATTR_LCA_COOPERATIVE_PARAM },
{ "lcSpeedGain", SUMO_ATTR_LCA_SPEEDGAIN_PARAM },
{ "lcKeepRight", SUMO_ATTR_LCA_KEEPRIGHT_PARAM },
{ "lcSublane", SUMO_ATTR_LCA_SUBLANE_PARAM },
{ "lcOpposite", SUMO_ATTR_LCA_OPPOSITE_PARAM },
{ "lcPushy", SUMO_ATTR_LCA_PUSHY },
{ "lcPushyGap", SUMO_ATTR_LCA_PUSHYGAP },
{ "lcAssertive", SUMO_ATTR_LCA_ASSERTIVE },
{ "lcImpatience", SUMO_ATTR_LCA_IMPATIENCE },
{ "lcTimeToImpatience", SUMO_ATTR_LCA_TIME_TO_IMPATIENCE },
{ "lcAccelLat", SUMO_ATTR_LCA_ACCEL_LAT },
{ "lcTurnAlignmentDistance", SUMO_ATTR_LCA_TURN_ALIGNMENT_DISTANCE },
{ "lcOvertakeRight", SUMO_ATTR_LCA_OVERTAKE_RIGHT },
{ "lcLookaheadLeft", SUMO_ATTR_LCA_LOOKAHEADLEFT },
{ "lcSpeedGainRight", SUMO_ATTR_LCA_SPEEDGAINRIGHT },
{ "lcSpeedGainLookahead", SUMO_ATTR_LCA_SPEEDGAIN_LOOKAHEAD },
{ "lcCooperativeRoundabout", SUMO_ATTR_LCA_COOPERATIVE_ROUNDABOUT },
{ "lcCooperativeSpeed", SUMO_ATTR_LCA_COOPERATIVE_SPEED },
{ "lcMaxSpeedLatStanding", SUMO_ATTR_LCA_MAXSPEEDLATSTANDING },
{ "lcMaxSpeedLatFactor", SUMO_ATTR_LCA_MAXSPEEDLATFACTOR },
{ "lcMaxDistLatStanding", SUMO_ATTR_LCA_MAXDISTLATSTANDING },
{ "lcLaneDiscipline", SUMO_ATTR_LCA_LANE_DISCIPLINE },
{ "lcSigma", SUMO_ATTR_LCA_SIGMA },
{ "lcKeepRightAcceptanceTime", SUMO_ATTR_LCA_KEEPRIGHT_ACCEPTANCE_TIME },
{ "lcOvertakeDeltaSpeedFactor", SUMO_ATTR_LCA_OVERTAKE_DELTASPEED_FACTOR },
{ "lcExperimental1", SUMO_ATTR_LCA_EXPERIMENTAL1 },
/// @}
/// @name junction model attributes
/// @{
{ "jmCrossingGap", SUMO_ATTR_JM_CROSSING_GAP },
{ "jmDriveAfterYellowTime", SUMO_ATTR_JM_DRIVE_AFTER_YELLOW_TIME },
{ "jmDriveAfterRedTime", SUMO_ATTR_JM_DRIVE_AFTER_RED_TIME },
{ "jmDriveRedSpeed", SUMO_ATTR_JM_DRIVE_RED_SPEED },
{ "jmIgnoreKeepClearTime", SUMO_ATTR_JM_IGNORE_KEEPCLEAR_TIME },
{ "jmIgnoreFoeSpeed", SUMO_ATTR_JM_IGNORE_FOE_SPEED },
{ "jmIgnoreFoeProb", SUMO_ATTR_JM_IGNORE_FOE_PROB },
{ "jmIgnoreJunctionFoeProb", SUMO_ATTR_JM_IGNORE_JUNCTION_FOE_PROB },
{ "jmSigmaMinor", SUMO_ATTR_JM_SIGMA_MINOR },
{ "jmStoplineGap", SUMO_ATTR_JM_STOPLINE_GAP },
{ "jmStoplineCrossingGap", SUMO_ATTR_JM_STOPLINE_CROSSING_GAP },
{ "jmTimegapMinor", SUMO_ATTR_JM_TIMEGAP_MINOR },
{ "jmStopSignWait", SUMO_ATTR_JM_STOPSIGN_WAIT },
{ "jmAllwayStopWait", SUMO_ATTR_JM_ALLWAYSTOP_WAIT },
{ "junctionModel.ignoreIDs", SUMO_ATTR_JM_IGNORE_IDS },
{ "junctionModel.ignoreTypes", SUMO_ATTR_JM_IGNORE_TYPES },
{ "carFollowModel.ignoreIDs", SUMO_ATTR_CF_IGNORE_IDS },
{ "carFollowModel.ignoreTypes", SUMO_ATTR_CF_IGNORE_TYPES },
/// @}
{ "flexArrival", SUMO_ATTR_FLEX_ARRIVAL },