SUMO - Simulation of Urban MObility
SUMOXMLDefinitions.cpp
Go to the documentation of this file.
1 /****************************************************************************/
12 // Definitions of elements and attributes known by SUMO
13 /****************************************************************************/
14 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
15 // Copyright (C) 2002-2015 DLR (http://www.dlr.de/) and contributors
16 /****************************************************************************/
17 //
18 // This file is part of SUMO.
19 // SUMO is free software: you can redistribute it and/or modify
20 // it under the terms of the GNU General Public License as published by
21 // the Free Software Foundation, either version 3 of the License, or
22 // (at your option) any later version.
23 //
24 /****************************************************************************/
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #ifdef _MSC_VER
31 #include <windows_config.h>
32 #else
33 #include <config.h>
34 #endif
35 
36 #include <cassert>
37 #include "SUMOXMLDefinitions.h"
39 
40 #ifdef CHECK_MEMORY_LEAKS
41 #include <foreign/nvwa/debug_new.h>
42 #endif // CHECK_MEMORY_LEAKS
43 
44 
45 // ===========================================================================
46 // definitions
47 // ===========================================================================
48 
50  { "net", SUMO_TAG_NET },
51  { "edge", SUMO_TAG_EDGE },
52  { "lane", SUMO_TAG_LANE },
53  { "poi", SUMO_TAG_POI },
54  { "poly", SUMO_TAG_POLY },
55  { "junction", SUMO_TAG_JUNCTION },
56  { "e1Detector", SUMO_TAG_E1DETECTOR },
57  { "inductionLoop", SUMO_TAG_INDUCTION_LOOP },
58  { "e2Detector", SUMO_TAG_E2DETECTOR },
59  { "laneAreaDetector", SUMO_TAG_LANE_AREA_DETECTOR },
60  { "e3Detector", SUMO_TAG_E3DETECTOR },
61  { "entryExitDetector", SUMO_TAG_ENTRY_EXIT_DETECTOR },
62  { "edgeData", SUMO_TAG_MEANDATA_EDGE },
63  { "laneData", SUMO_TAG_MEANDATA_LANE },
64 
65  { "detEntry", SUMO_TAG_DET_ENTRY },
66  { "detExit", SUMO_TAG_DET_EXIT },
67  { "edgeFollowDetector", SUMO_TAG_EDGEFOLLOWDETECTOR },
68  { "instantInductionLoop", SUMO_TAG_INSTANT_INDUCTION_LOOP },
69  { "variableSpeedSign", SUMO_TAG_VSS },
70  { "calibrator", SUMO_TAG_CALIBRATOR },
71  { "rerouter", SUMO_TAG_REROUTER },
72  { "busStop", SUMO_TAG_BUS_STOP },
73  { "containerStop", SUMO_TAG_CONTAINER_STOP },
74  { "vTypeProbe", SUMO_TAG_VTYPEPROBE },
75  { "routeProbe", SUMO_TAG_ROUTEPROBE },
76  { "routes", SUMO_TAG_ROUTES },
77  { "vehicle", SUMO_TAG_VEHICLE },
78  { "vType", SUMO_TAG_VTYPE },
79  { "route", SUMO_TAG_ROUTE },
80  { "request", SUMO_TAG_REQUEST },
81  { "source", SUMO_TAG_SOURCE },
82  { "taz", SUMO_TAG_TAZ },
83  { "tazSource", SUMO_TAG_TAZSOURCE },
84  { "tazSink", SUMO_TAG_TAZSINK },
85  { "tlLogic", SUMO_TAG_TLLOGIC },
86  { "phase", SUMO_TAG_PHASE },
87  { "trip", SUMO_TAG_TRIP },
88  { "flow", SUMO_TAG_FLOW },
89  { "step", SUMO_TAG_STEP },
90  { "interval", SUMO_TAG_INTERVAL },
91  { "timedEvent", SUMO_TAG_TIMEDEVENT },
92  { "fromEdge", SUMO_TAG_FROMEDGE },
93  { "toEdge", SUMO_TAG_TOEDGE },
94  { "sink", SUMO_TAG_SINK },
95  { "param", SUMO_TAG_PARAM },
96  { "WAUT", SUMO_TAG_WAUT },
97  { "wautSwitch", SUMO_TAG_WAUT_SWITCH },
98  { "wautJunction", SUMO_TAG_WAUT_JUNCTION },
99  { "segment", SUMO_TAG_SEGMENT },
100  { "delete", SUMO_TAG_DELETE },
101  { "stop", SUMO_TAG_STOP },
102  { "destProbReroute", SUMO_TAG_DEST_PROB_REROUTE },
103  { "closingReroute", SUMO_TAG_CLOSING_REROUTE },
104  { "routeProbReroute", SUMO_TAG_ROUTE_PROB_REROUTE },
105  { "polygonType", SUMO_TAG_POLYTYPE },
106  { "connection", SUMO_TAG_CONNECTION },
107  { "prohibition", SUMO_TAG_PROHIBITION },
108  { "split", SUMO_TAG_SPLIT },
109  { "node", SUMO_TAG_NODE },
110  { "type", SUMO_TAG_TYPE },
111  { "detectorDefinition", SUMO_TAG_DETECTOR_DEFINITION },
112  { "routeDistribution", SUMO_TAG_ROUTE_DISTRIBUTION },
113  { "vTypeDistribution", SUMO_TAG_VTYPE_DISTRIBUTION },
114  { "vaporizer", SUMO_TAG_VAPORIZER },
115  { "roundabout", SUMO_TAG_ROUNDABOUT },
116  { "join", SUMO_TAG_JOIN },
117  { "joinExclude", SUMO_TAG_JOINEXCLUDE },
118  { "crossing", SUMO_TAG_CROSSING },
119  { "customShape", SUMO_TAG_CUSTOMSHAPE },
120 
121  { "way", SUMO_TAG_WAY },
122  { "nd", SUMO_TAG_ND },
123  { "tag", SUMO_TAG_TAG },
124  { "relation", SUMO_TAG_RELATION },
125  { "member", SUMO_TAG_MEMBER },
126 
127  { "viewsettings", SUMO_TAG_VIEWSETTINGS },
128  { "decal", SUMO_TAG_VIEWSETTINGS_DECAL },
129  { "light", SUMO_TAG_VIEWSETTINGS_LIGHT },
130  { "scheme", SUMO_TAG_VIEWSETTINGS_SCHEME },
131  { "opengl", SUMO_TAG_VIEWSETTINGS_OPENGL },
132  { "background", SUMO_TAG_VIEWSETTINGS_BACKGROUND },
133  { "edges", SUMO_TAG_VIEWSETTINGS_EDGES },
134  { "vehicles", SUMO_TAG_VIEWSETTINGS_VEHICLES },
135  { "persons", SUMO_TAG_VIEWSETTINGS_PERSONS },
136  { "containers", SUMO_TAG_VIEWSETTINGS_CONTAINERS },
137  { "junctions", SUMO_TAG_VIEWSETTINGS_JUNCTIONS },
138  { "additionals", SUMO_TAG_VIEWSETTINGS_ADDITIONALS },
139  { "pois", SUMO_TAG_VIEWSETTINGS_POIS },
140  { "polys", SUMO_TAG_VIEWSETTINGS_POLYS },
141  { "legend", SUMO_TAG_VIEWSETTINGS_LEGEND },
142  { "event", SUMO_TAG_VIEWSETTINGS_EVENT },
144  { "include", SUMO_TAG_INCLUDE },
145  { "delay", SUMO_TAG_DELAY },
146  { "viewport", SUMO_TAG_VIEWPORT },
147  { "snapshot", SUMO_TAG_SNAPSHOT },
148  { "breakpoints-file", SUMO_TAG_BREAKPOINTS_FILE },
149  { "location", SUMO_TAG_LOCATION },
150  { "colorScheme", SUMO_TAG_COLORSCHEME },
151  { "scalingScheme", SUMO_TAG_SCALINGSCHEME },
152  { "entry", SUMO_TAG_ENTRY },
153 
154  { "carFollowing-IDM", SUMO_TAG_CF_IDM },
155  { "carFollowing-IDMM", SUMO_TAG_CF_IDMM },
156  { "carFollowing-Krauss", SUMO_TAG_CF_KRAUSS },
157  { "carFollowing-KraussPS", SUMO_TAG_CF_KRAUSS_PLUS_SLOPE },
158  { "carFollowing-KraussAB", SUMO_TAG_CF_KRAUSS_ACCEL_BOUND },
159  { "carFollowing-KraussOrig1", SUMO_TAG_CF_KRAUSS_ORIG1 },
160  { "carFollowing-SmartSK", SUMO_TAG_CF_SMART_SK },
161  { "carFollowing-Daniel1", SUMO_TAG_CF_DANIEL1 },
162  { "carFollowing-PWagner2009", SUMO_TAG_CF_PWAGNER2009 },
163  { "carFollowing-BKerner", SUMO_TAG_CF_BKERNER },
164  { "carFollowing-Wiedemann", SUMO_TAG_CF_WIEDEMANN },
165 
166  { "person", SUMO_TAG_PERSON },
167  { "ride", SUMO_TAG_RIDE },
168  { "walk", SUMO_TAG_WALK },
169 
170  { "container", SUMO_TAG_CONTAINER },
171  { "transport", SUMO_TAG_TRANSPORT },
172  { "tranship", SUMO_TAG_TRANSHIP },
173 
174  { "trajectories", SUMO_TAG_TRAJECTORIES },
175  { "timestep", SUMO_TAG_TIMESTEP },
176  { "timeSlice", SUMO_TAG_TIMESLICE },
177  { "actorConfig", SUMO_TAG_ACTORCONFIG },
178  { "motionState", SUMO_TAG_MOTIONSTATE },
179  { "odPair", SUMO_TAG_OD_PAIR },
180 
181  // ActivityGen statistics file
182  { "general", AGEN_TAG_GENERAL },
183  { "street", AGEN_TAG_STREET },
184  { "workHours", AGEN_TAG_WORKHOURS },
185  { "opening", AGEN_TAG_OPENING },
186  { "closing", AGEN_TAG_CLOSING },
187  { "schools", AGEN_TAG_SCHOOLS },
188  { "school", AGEN_TAG_SCHOOL },
189  { "busStation", AGEN_TAG_BUSSTATION },
190  { "busLine", AGEN_TAG_BUSLINE },
191  { "stations", AGEN_TAG_STATIONS },
192  { "revStations", AGEN_TAG_REV_STATIONS },
193  { "station", AGEN_TAG_STATION },
194  { "frequency", AGEN_TAG_FREQUENCY },
195  { "population", AGEN_TAG_POPULATION },
196  { "bracket", AGEN_TAG_BRACKET },
197  { "cityGates", AGEN_TAG_CITYGATES },
198  { "entrance", AGEN_TAG_ENTRANCE },
199  { "parameters", AGEN_TAG_PARAM },
200 
201  { "", SUMO_TAG_NOTHING }
202 };
203 
204 
206  { "id", SUMO_ATTR_ID },
207  { "refId", SUMO_ATTR_REFID },
208  { "name", SUMO_ATTR_NAME },
209  { "type", SUMO_ATTR_TYPE },
210  { "priority", SUMO_ATTR_PRIORITY },
211  { "numLanes", SUMO_ATTR_NUMLANES },
212  { "speed", SUMO_ATTR_SPEED },
213  { "oneway", SUMO_ATTR_ONEWAY },
214  { "width", SUMO_ATTR_WIDTH },
215  { "sidewalkWidth", SUMO_ATTR_SIDEWALKWIDTH },
216  { "remove", SUMO_ATTR_REMOVE },
217 
218  { "length", SUMO_ATTR_LENGTH },
219 
220  { "x", SUMO_ATTR_X },
221  { "y", SUMO_ATTR_Y },
222  { "z", SUMO_ATTR_Z },
223  { "centerX", SUMO_ATTR_CENTER_X },
224  { "centerY", SUMO_ATTR_CENTER_Y },
225  { "centerZ", SUMO_ATTR_CENTER_Z },
226 
227  { "key", SUMO_ATTR_KEY },
228  { "requestSize", SUMO_ATTR_REQUESTSIZE },
229  { "request", SUMO_ATTR_REQUEST },
230  { "response", SUMO_ATTR_RESPONSE },
231  { "programID", SUMO_ATTR_PROGRAMID },
232  { "offset", SUMO_ATTR_OFFSET },
233  { "endOffset", SUMO_ATTR_ENDOFFSET },
234  { "incLanes", SUMO_ATTR_INCLANES },
235  { "intLanes", SUMO_ATTR_INTLANES },
236 
237  { "weight", SUMO_ATTR_WEIGHT },
238  { "node", SUMO_ATTR_NODE },
239  { "edge", SUMO_ATTR_EDGE },
240  { "edges", SUMO_ATTR_EDGES },
241 
242  { "depart", SUMO_ATTR_DEPART },
243  { "departLane", SUMO_ATTR_DEPARTLANE },
244  { "departPos", SUMO_ATTR_DEPARTPOS },
245  { "departSpeed", SUMO_ATTR_DEPARTSPEED },
246  { "arrivalLane", SUMO_ATTR_ARRIVALLANE },
247  { "arrivalPos", SUMO_ATTR_ARRIVALPOS },
248  { "arrivalSpeed", SUMO_ATTR_ARRIVALSPEED },
249  { "route", SUMO_ATTR_ROUTE },
250  { "maxSpeed", SUMO_ATTR_MAXSPEED },
251  { "accel", SUMO_ATTR_ACCEL },
252  { "decel", SUMO_ATTR_DECEL },
253  { "vClass", SUMO_ATTR_VCLASS },
254  { "repno", SUMO_ATTR_REPNUMBER },
255  { "speedFactor", SUMO_ATTR_SPEEDFACTOR },
256  { "speedDev", SUMO_ATTR_SPEEDDEV },
257  { "laneChangeModel", SUMO_ATTR_LANE_CHANGE_MODEL },
258  { "minGap", SUMO_ATTR_MINGAP },
259  { "boardingDuration", SUMO_ATTR_BOARDING_DURATION },
260  { "loadingDuration", SUMO_ATTR_LOADING_DURATION },
261 
262  { "sigma", SUMO_ATTR_SIGMA },
263  { "tau", SUMO_ATTR_TAU },
264  { "tmp1", SUMO_ATTR_TMP1 },
265  { "tmp2", SUMO_ATTR_TMP2 },
266  { "tmp3", SUMO_ATTR_TMP3 },
267  { "tmp4", SUMO_ATTR_TMP4 },
268  { "tmp5", SUMO_ATTR_TMP5 },
269 
270  { "last", SUMO_ATTR_LAST },
271  { "cost", SUMO_ATTR_COST },
272  { "probability", SUMO_ATTR_PROB },
273  { "probabilities", SUMO_ATTR_PROBS },
274  { "routes", SUMO_ATTR_ROUTES },
275  { "vTypes", SUMO_ATTR_VTYPES },
276 
277  { "lane", SUMO_ATTR_LANE },
278  { "lanes", SUMO_ATTR_LANES },
279  { "from", SUMO_ATTR_FROM },
280  { "to", SUMO_ATTR_TO },
281  { "period", SUMO_ATTR_PERIOD },
282  { "fromTaz", SUMO_ATTR_FROM_TAZ },
283  { "toTaz", SUMO_ATTR_TO_TAZ },
284  { "reroute", SUMO_ATTR_REROUTE },
285  { "personCapacity", SUMO_ATTR_PERSON_CAPACITY },
286  { "containerCapacity", SUMO_ATTR_CONTAINER_CAPACITY },
287  { "personNumber", SUMO_ATTR_PERSON_NUMBER },
288  { "containerNumber", SUMO_ATTR_CONTAINER_NUMBER },
289 
290  { "function", SUMO_ATTR_FUNCTION },
291  { "pos", SUMO_ATTR_POSITION },
292  { "freq", SUMO_ATTR_FREQUENCY },
293  { "style", SUMO_ATTR_STYLE },
294  { "file", SUMO_ATTR_FILE },
295  { "junction", SUMO_ATTR_JUNCTION },
296  { "number", SUMO_ATTR_NUMBER },
297  { "duration", SUMO_ATTR_DURATION },
298  { "until", SUMO_ATTR_UNTIL },
299  { "routeProbe", SUMO_ATTR_ROUTEPROBE },
300  { "crossingEdges", SUMO_ATTR_CROSSING_EDGES },
301 
302  { "time", SUMO_ATTR_TIME },
303  { "begin", SUMO_ATTR_BEGIN },
304  { "end", SUMO_ATTR_END },
305  { "tl", SUMO_ATTR_TLID },
306  { "tlType", SUMO_ATTR_TLTYPE },
307  { "linkIndex", SUMO_ATTR_TLLINKINDEX },
308  { "shape", SUMO_ATTR_SHAPE },
309  { "spreadType", SUMO_ATTR_SPREADTYPE },
310  { "radius", SUMO_ATTR_RADIUS },
311  { "customShape", SUMO_ATTR_CUSTOMSHAPE },
312  { "color", SUMO_ATTR_COLOR },
313  { "dir", SUMO_ATTR_DIR },
314  { "state", SUMO_ATTR_STATE },
315  { "layer", SUMO_ATTR_LAYER },
316  { "fill", SUMO_ATTR_FILL },
317  { "prefix", SUMO_ATTR_PREFIX },
318  { "discard", SUMO_ATTR_DISCARD },
319 
320  { "fromLane", SUMO_ATTR_FROM_LANE },
321  { "toLane", SUMO_ATTR_TO_LANE },
322  { "dest", SUMO_ATTR_DEST },
323  { "source", SUMO_ATTR_SOURCE },
324  { "via", SUMO_ATTR_VIA },
325  { "nodes", SUMO_ATTR_NODES },
326 
327  { "minDur", SUMO_ATTR_MINDURATION },
328  { "maxDur", SUMO_ATTR_MAXDURATION },
329  { "foes", SUMO_ATTR_FOES },
330 
331  { "cont", SUMO_ATTR_CONT },
332  { "timeThreshold", SUMO_ATTR_HALTING_TIME_THRESHOLD },
333  { "speedThreshold", SUMO_ATTR_HALTING_SPEED_THRESHOLD },
334  { "jamThreshold", SUMO_ATTR_JAM_DIST_THRESHOLD },
335 
336  { "wautID", SUMO_ATTR_WAUT_ID },
337  { "junctionID", SUMO_ATTR_JUNCTION_ID },
338  { "procedure", SUMO_ATTR_PROCEDURE },
339  { "synchron", SUMO_ATTR_SYNCHRON },
340  { "refTime", SUMO_ATTR_REF_TIME },
341  { "startProg", SUMO_ATTR_START_PROG },
342  { "off", SUMO_ATTR_OFF },
343  { "friendlyPos", SUMO_ATTR_FRIENDLY_POS },
344  { "splitByType", SUMO_ATTR_SPLIT_VTYPE },
345  { "uncontrolled", SUMO_ATTR_UNCONTROLLED },
346  { "pass", SUMO_ATTR_PASS },
347  { "busStop", SUMO_ATTR_BUS_STOP },
348  { "containerStop", SUMO_ATTR_CONTAINER_STOP },
349  { "line", SUMO_ATTR_LINE },
350  { "lines", SUMO_ATTR_LINES },
351  { "value", SUMO_ATTR_VALUE },
352  { "prohibitor", SUMO_ATTR_PROHIBITOR },
353  { "prohibited", SUMO_ATTR_PROHIBITED },
354  { "allow", SUMO_ATTR_ALLOW },
355  { "disallow", SUMO_ATTR_DISALLOW },
356  { "prefer", SUMO_ATTR_PREFER },
357  { "controlledInner", SUMO_ATTR_CONTROLLED_INNER },
358  { "vehsPerHour", SUMO_ATTR_VEHSPERHOUR },
359  { "output", SUMO_ATTR_OUTPUT },
360  { "height", SUMO_ATTR_HEIGHT },
361  { "guiShape", SUMO_ATTR_GUISHAPE },
362  { "osgFile", SUMO_ATTR_OSGFILE },
363  { "imgFile", SUMO_ATTR_IMGFILE },
364  { "angle", SUMO_ATTR_ANGLE },
365  { "emissionClass", SUMO_ATTR_EMISSIONCLASS },
366  { "impatience", SUMO_ATTR_IMPATIENCE },
367  { "startPos", SUMO_ATTR_STARTPOS },
368  { "endPos", SUMO_ATTR_ENDPOS },
369  { "triggered", SUMO_ATTR_TRIGGERED },
370  { "containerTriggered", SUMO_ATTR_CONTAINER_TRIGGERED },
371  { "parking", SUMO_ATTR_PARKING },
372  { "expected", SUMO_ATTR_EXPECTED },
373  { "expectedContainers", SUMO_ATTR_EXPECTED_CONTAINERS },
374  { "index", SUMO_ATTR_INDEX },
375 
376  { "entering", SUMO_ATTR_ENTERING },
377  { "excludeEmpty", SUMO_ATTR_EXCLUDE_EMPTY },
378  { "withInternal", SUMO_ATTR_WITH_INTERNAL },
379  { "trackVehicles", SUMO_ATTR_TRACK_VEHICLES },
380  { "maxTraveltime", SUMO_ATTR_MAX_TRAVELTIME },
381  { "minSamples", SUMO_ATTR_MIN_SAMPLES },
382 
383  { "lon", SUMO_ATTR_LON },
384  { "lat", SUMO_ATTR_LAT },
385  { "geo", SUMO_ATTR_GEO },
386  { "k", SUMO_ATTR_K },
387  { "v", SUMO_ATTR_V },
388  { "ref", SUMO_ATTR_REF },
389  { "href", SUMO_ATTR_HREF },
390  { "zoom", SUMO_ATTR_ZOOM },
391  { "interpolated", SUMO_ATTR_INTERPOLATED },
392  { "threshold", SUMO_ATTR_THRESHOLD },
393 
394  { "netOffset", SUMO_ATTR_NET_OFFSET },
395  { "convBoundary", SUMO_ATTR_CONV_BOUNDARY },
396  { "origBoundary", SUMO_ATTR_ORIG_BOUNDARY },
397  { "projParameter", SUMO_ATTR_ORIG_PROJ },
398 
399  { "tauLast", SUMO_ATTR_CF_PWAGNER2009_TAULAST },
400  { "apProb", SUMO_ATTR_CF_PWAGNER2009_APPROB },
401  { "delta", SUMO_ATTR_CF_IDM_DELTA },
402  { "stepping", SUMO_ATTR_CF_IDM_STEPPING },
403  { "adaptFactor", SUMO_ATTR_CF_IDMM_ADAPT_FACTOR },
404  { "adaptTime", SUMO_ATTR_CF_IDMM_ADAPT_TIME },
405  { "phi", SUMO_ATTR_CF_KERNER_PHI },
406 
407  { "security", SUMO_ATTR_CF_WIEDEMANN_SECURITY },
408  { "estimation", SUMO_ATTR_CF_WIEDEMANN_ESTIMATION },
409 
410  { "generateWalks", SUMO_ATTR_GENERATE_WALKS },
411  { "actType", SUMO_ATTR_ACTTYPE },
412  { "slope", SUMO_ATTR_SLOPE },
413  { "version", SUMO_ATTR_VERSION },
414 
415  { "actorConfig", SUMO_ATTR_ACTORCONFIG },
416  { "vehicle", SUMO_ATTR_VEHICLE },
417  { "startTime", SUMO_ATTR_STARTTIME },
418  { "vehicleClass", SUMO_ATTR_VEHICLECLASS },
419  { "fuel", SUMO_ATTR_FUEL },
420  { "acceleration", SUMO_ATTR_ACCELERATION },
421  { "amount", SUMO_ATTR_AMOUNT },
422  { "origin", SUMO_ATTR_ORIGIN },
423  { "destination", SUMO_ATTR_DESTINATION },
424 
425 #ifndef WIN32
426  { "commandPosix", SUMO_ATTR_COMMAND },
427 #else
428  { "commandWindows", SUMO_ATTR_COMMAND },
429 #endif
430 
431  // ActivityGen statistics file
432  { "inhabitants", AGEN_ATTR_INHABITANTS },
433  { "households", AGEN_ATTR_HOUSEHOLDS },
434  { "childrenAgeLimit", AGEN_ATTR_CHILDREN },
435  { "retirementAgeLimit", AGEN_ATTR_RETIREMENT },
436  { "carRate", AGEN_ATTR_CARS },
437  { "unemploymentRate", AGEN_ATTR_UNEMPLOYEMENT },
438  { "footDistanceLimit", AGEN_ATTR_MAX_FOOT_DIST },
439  { "incomingTraffic", AGEN_ATTR_IN_TRAFFIC },
440  { "incoming", AGEN_ATTR_INCOMING },
441  { "outgoingTraffic", AGEN_ATTR_OUT_TRAFFIC },
442  { "outgoing", AGEN_ATTR_OUTGOING },
443  { "population", AGEN_ATTR_POPULATION },
444  { "workPosition", AGEN_ATTR_OUT_WORKPOSITION },
445  { "hour", AGEN_ATTR_HOUR },
446  { "proportion", AGEN_ATTR_PROP },
447  { "capacity", AGEN_ATTR_CAPACITY },
448  { "opening", AGEN_ATTR_OPENING },
449  { "closing", AGEN_ATTR_CLOSING },
450  { "maxTripDuration", AGEN_ATTR_MAX_TRIP_DURATION },
451  { "rate", AGEN_ATTR_RATE },
452  { "beginAge", AGEN_ATTR_BEGINAGE },
453  { "endAge", AGEN_ATTR_ENDAGE },
454  { "peopleNbr", AGEN_ATTR_PEOPLENBR },
455  { "carPreference", AGEN_ATTR_CARPREF },
456  { "meanTimePerKmInCity", AGEN_ATTR_CITYSPEED },
457  { "freeTimeActivityRate", AGEN_ATTR_FREETIMERATE },
458  { "uniformRandomTraffic", AGEN_ATTR_UNI_RAND_TRAFFIC},
459  { "departureVariation", AGEN_ATTR_DEP_VARIATION},
460 
461  { "modificationStatusNotForPrinting", GNE_ATTR_MODIFICATION_STATUS},
462  { "shapeStartNotForPrinting", GNE_ATTR_SHAPE_START},
463  { "shapeEndNotForPrinting", GNE_ATTR_SHAPE_END},
464 
465  { "", SUMO_ATTR_NOTHING }
466 };
467 
468 
470  {"traffic_light", NODETYPE_TRAFFIC_LIGHT},
471  {"traffic_light_unregulated", NODETYPE_TRAFFIC_LIGHT_NOJUNCTION},
472  {"rail_signal", NODETYPE_RAIL_SIGNAL},
473  {"priority", NODETYPE_PRIORITY},
474  {"priority_stop", NODETYPE_PRIORITY_STOP},
475  {"right_before_left", NODETYPE_RIGHT_BEFORE_LEFT},
476  {"allway_stop", NODETYPE_ALLWAY_STOP},
477  {"district", NODETYPE_DISTRICT},
478  {"unregulated", NODETYPE_NOJUNCTION},
479  {"internal", NODETYPE_INTERNAL},
480  {"dead_end", NODETYPE_DEAD_END},
481  {"DEAD_END", NODETYPE_DEAD_END_DEPRECATED},
482 
483  {"unknown", NODETYPE_UNKNOWN}
484 };
485 
486 
488  {"normal", EDGEFUNC_NORMAL},
489  {"connector", EDGEFUNC_CONNECTOR},
490  {"sink", EDGEFUNC_SINK},
491  {"source", EDGEFUNC_SOURCE},
492  {"crossing", EDGEFUNC_CROSSING},
493  {"walkingarea", EDGEFUNC_WALKINGAREA},
494 
495  {"internal", EDGEFUNC_INTERNAL}
496 };
497 
498 
500  {"right", LANESPREAD_RIGHT}, // default
501  {"center", LANESPREAD_CENTER}
502 };
503 
504 
506  { "G", LINKSTATE_TL_GREEN_MAJOR },
507  { "g", LINKSTATE_TL_GREEN_MINOR },
508  { "r", LINKSTATE_TL_RED },
509  { "u", LINKSTATE_TL_REDYELLOW },
510  { "Y", LINKSTATE_TL_YELLOW_MAJOR },
511  { "y", LINKSTATE_TL_YELLOW_MINOR },
512  { "o", LINKSTATE_TL_OFF_BLINKING },
513  { "O", LINKSTATE_TL_OFF_NOSIGNAL },
514  { "M", LINKSTATE_MAJOR },
515  { "m", LINKSTATE_MINOR },
516  { "=", LINKSTATE_EQUAL },
517  { "s", LINKSTATE_STOP },
518  { "w", LINKSTATE_ALLWAY_STOP },
519  { "-", LINKSTATE_DEADEND }
520 };
521 
522 
524  { "s", LINKDIR_STRAIGHT },
525  { "t", LINKDIR_TURN },
526  { "l", LINKDIR_LEFT },
527  { "r", LINKDIR_RIGHT },
528  { "L", LINKDIR_PARTLEFT },
529  { "R", LINKDIR_PARTRIGHT },
530  { "invalid", LINKDIR_NODIR }
531 };
532 
533 
535  { "static", TLTYPE_STATIC },
536  { "rail", TLTYPE_RAIL },
537  { "actuated", TLTYPE_ACTUATED },
538 };
539 
540 
542  { "DK2008", LCM_DK2008 },
543  { "LC2013", LCM_LC2013 },
544  { "JE2013", LCM_JE2013 },
545 };
546 
548  SUMOXMLDefinitions::tags, SUMO_TAG_NOTHING);
549 
551  SUMOXMLDefinitions::attrs, SUMO_ATTR_NOTHING);
552 
554  SUMOXMLDefinitions::sumoNodeTypeValues, NODETYPE_UNKNOWN);
555 
557  SUMOXMLDefinitions::sumoEdgeFuncValues, EDGEFUNC_INTERNAL);
558 
560  SUMOXMLDefinitions::laneSpreadFunctionValues, LANESPREAD_CENTER);
561 
563  SUMOXMLDefinitions::linkStateValues, LINKSTATE_DEADEND);
564 
566  SUMOXMLDefinitions::linkDirectionValues, LINKDIR_NODIR);
567 
569  SUMOXMLDefinitions::trafficLightTypesVales, TLTYPE_ACTUATED);
570 
572  SUMOXMLDefinitions::laneChangeModelValues, LCM_JE2013);
573 
574 
575 std::string
576 SUMOXMLDefinitions::getJunctionIDFromInternalEdge(const std::string internalEdge) {
577  assert(internalEdge[0] == ':');
578  return internalEdge.substr(1, internalEdge.rfind('_') - 1);
579 }
580 
581 std::string
582 SUMOXMLDefinitions::getEdgeIDFromLane(const std::string laneID) {
583  return laneID.substr(0, laneID.rfind('_') - 1);
584 }
585 
586 /****************************************************************************/
587 
The information about how to spread the lanes from the given position.
static StringBijection< LaneChangeModel >::Entry laneChangeModelValues[]
The link is a partial left direction.
The link has green light, may pass.
static StringBijection< SumoXMLNodeType > NodeTypes
static StringBijection< LinkDirection >::Entry linkDirectionValues[]
a list of node ids, used for controlling joining
minimum duration of a phase
whether a given shape is user-defined
static StringBijection< int >::Entry attrs[]
The names of SUMO-XML attributes (for passing to GenericSAXHandler)
static StringBijection< LinkState >::Entry linkStateValues[]
Outgoing edge specification (jtrrouter)
static StringBijection< LaneSpreadFunction >::Entry laneSpreadFunctionValues[]
static StringBijection< LaneSpreadFunction > LaneSpreadFunctions
A layer number.
The link has green light, has to brake.
This is an uncontrolled, minor link, has to stop.
static std::string getJunctionIDFromInternalEdge(const std::string internalEdge)
return the junction id when given an edge of type internal, crossing or WalkingArea ...
The link is a 180 degree turn.
This is a dead end link.
the weight of a district's source or sink
This is an uncontrolled, right-before-left link.
maximum duration of a phase
static StringBijection< LinkState > LinkStates
static StringBijection< SumoXMLNodeType >::Entry sumoNodeTypeValues[]
The link is controlled by a tls which is off, not blinking, may pass.
This is an uncontrolled, all-way stop link.
The link is a (hard) left direction.
Sink(s) specification.
The link is a straight direction.
The state of a link.
static StringBijection< LinkDirection > LinkDirections
The definition of a periodic event.
The turning radius at an intersection in m.
the edges of a route
An instantenous induction loop.
static StringBijection< TrafficLightType > TrafficLightTypes
This is an uncontrolled, minor link, has to brake.
An edge-following detector.
Information within the junction logic which internal lanes block external.
Incoming edge specification (jtrrouter)
The link is a (hard) right direction.
The link is a partial right direction.
static StringBijection< int >::Entry tags[]
The names of SUMO-XML elements (for passing to GenericSAXHandler)
The link has yellow light, may pass.
The link is controlled by a tls which is off and blinks, has to brake.
static StringBijection< int > Attrs
The names of SUMO-XML attributes for use in netbuild.
The link has red light (must brake)
This is an uncontrolled, major link, may pass.
The abstract direction of a link.
A variable speed sign.
static StringBijection< TrafficLightType >::Entry trafficLightTypesVales[]
static StringBijection< int > Tags
The names of SUMO-XML elements for use in netbuild.
static StringBijection< SumoXMLEdgeFunc >::Entry sumoEdgeFuncValues[]
The link has yellow light, has to brake anyway.
static std::string getEdgeIDFromLane(const std::string laneID)
return edge id when given the lane ID
static StringBijection< SumoXMLEdgeFunc > EdgeFunctions
Information whether the detector shall be continued on the folowing lanes.
A color information.
The link has red light (must brake) but indicates upcoming green.
static StringBijection< LaneChangeModel > LaneChangeModels
Fill the polygon.
The link has no direction (is a dead end link)