# -*- coding: utf-8 -*-
# Eclipse SUMO, Simulation of Urban MObility; see
# Copyright (C) 2011-2020 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
# 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
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later



class PersonDomain(traci.domain.Domain)
     Methods defined here:
add(self, personID, edgeID, pos, depart=-3, typeID='DEFAULT_PEDTYPE')
add(string, string, double, double, string)
Inserts a new person to the simulation at the given edge, position and
time (in s). This function should be followed by appending Stages or the person
will immediately vanish on departure.
appendDrivingStage(self, personID, toEdge, lines, stopID='')
appendDrivingStage(string, string, string, string)
Appends a driving stage to the plan of the given person
The lines parameter should be a space-separated list of line ids
appendStage(self, personID, stage)
appendStage(string, stage)
Appends a stage object to the plan of the given person
Such an object is obtainable using getStage
appendWaitingStage(self, personID, duration, description='waiting', stopID='')
appendWaitingStage(string, float, string, string)
Appends a waiting stage with duration in s to the plan of the given person
appendWalkingStage(self, personID, edges, arrivalPos, duration=-1, speed=-1, stopID='')
appendWalkingStage(string, stringList, double, double, double, string)
Appends a walking stage to the plan of the given person
The walking speed can either be specified, computed from the duration parameter (in s) or taken from the
type of the person
getAngle(self, personID)
getAngle(string) -> double
Returns the angle in degrees of the named person within the last step.
getColor(self, personID)
getColor(string) -> (integer, integer, integer, integer)
Returns the person's rgba color.
getEdges(self, personID, nextStageIndex=0)
getEdges(string, int) -> list(string)
Returns a list of all edges in the nth next stage.
For waiting stages this is a single edge
For walking stages this is the complete route
For driving stages this is [origin, destination]
nextStageIndex 0 retrieves value for the current stage.
nextStageIndex must be lower then value of getRemainingStages(personID)
getLaneID(self, personID)
getLaneID(string) -> string
Returns the id of the lane the named person was at within the last step.
If the current person stage does not provide a lane, "" is returned.
getLanePosition(self, personID)
getLanePosition(string) -> double
The position of the person along the lane measured in m.
getLength(self, personID)
getLength(string) -> double
Returns the length in m of the given person.
getMinGap(self, personID)
getMinGap(string) -> double
Returns the offset (gap to front person if halting) of this person.
getNextEdge(self, personID)
getNextEdge() -> string
If the person is walking, returns the next edge on the persons route
(including crossing and walkingareas). If there is no further edge or the
person is in another stage, returns the empty string.
getPosition(self, personID)
getPosition(string) -> (double, double)
Returns the position of the named person within the last step [m,m].
getPosition3D(self, personID)
getPosition(string) -> (double, double, double)
Returns the position of the named person within the last step [m,m,m].
getRemainingStages(self, personID)
getStage(string) -> int
Returns the number of remaining stages (at least 1)
getRoadID(self, personID)
getRoadID(string) -> string
Returns the id of the edge the named person was at within the last step.
getSlope(self, personID)
getSlope(string) -> double
Returns the slope at the current position of the person in degrees
getSpeed(self, personID)
getSpeed(string) -> double
Returns the speed in m/s of the named person within the last step.
getStage(self, personID, nextStageIndex=0)
getStage(string, int) -> int
Returns the type of the nth next stage
  0 for not-yet-departed
  1 for waiting
  2 for walking
  3 for driving
  4 for access to busStop or trainStop
  5 for personTrip
nextStageIndex 0 retrieves value for the current stage.
nextStageIndex must be lower then value of getRemainingStages(personID)
getTaxiReservations(self, onlyNew)
getTaxiReservations(int) -> list(Stage)
Returns all reservations. If onlyNew is 1, each reservation is returned
only once
getTypeID(self, personID)
getTypeID(string) -> string
Returns the id of the type of the named person.
getVehicle(self, personID)
getVehicle(string) -> string
Returns the id of the current vehicle if the person is in stage driving
and has entered a vehicle.
Return the empty string otherwise
getWaitingTime(self, personID)
getWaitingTime() -> double
The waiting time of a person is defined as the time (in seconds) spent with a
speed below 0.1m/s since the last time it was faster than 0.1m/s.
(basically, the waiting time of a person is reset to 0 every time it moves).
getWidth(self, personID)
getWidth(string) -> double
Returns the width in m of this person.
moveToXY(self, personID, edgeID, x, y, angle=-1073741824.0, keepRoute=1)
Place person at the given x,y coordinates and force it's angle to
the given value (for drawing).
If the angle is set to INVALID_DOUBLE_VALUE, the vehicle assumes the
natural angle of the edge on which it is driving.
If keepRoute is set to 1, the closest position
within the existing route is taken. If keepRoute is set to 0, the vehicle may move to
any edge in the network but it's route then only consists of that edge.
If keepRoute is set to 2 the person has all the freedom of keepRoute=0
but in addition to that may even move outside the road network.
edgeID is an optional placement hint to resolve ambiguities
removeStage(self, personID, nextStageIndex)
removeStage(string, int)
Removes the nth next stage
nextStageIndex must be lower then value of getRemainingStages(personID)
nextStageIndex 0 immediately aborts the current stage and proceeds to the next stage
removeStages(self, personID)
Removes all stages of the person. If no new phases are appended,
the person will be removed from the simulation in the next simulationStep().
replaceStage(self, personID, stageIndex, stage)
replaceStage(string, int, stage)
Replaces the nth subsequent stage with the given stage object
Such an object is obtainable using getStage
rerouteTraveltime(self, personID)
rerouteTraveltime(string) -> None Reroutes a pedestrian (walking person).
setColor(self, personID, color)
setColor(string, (integer, integer, integer, integer))
Sets the color for the vehicle with the given ID, i.e. (255,0,0) for the color red.
The fourth component (alpha) is optional.
setHeight(self, personID, height)
setHeight(string, double) -> None
Sets the height in m for this person.
setLength(self, personID, length)
setLength(string, double) -> None
Sets the length in m for the given person.
setMinGap(self, personID, minGap)
setMinGap(string, double) -> None
Sets the offset (gap to front person if halting) for this vehicle.
setSpeed(self, personID, speed)
setSpeed(string, double) -> None
Sets the maximum speed in m/s for the named person for subsequent step.
setType(self, personID, typeID)
setType(string, string) -> None
Sets the id of the type for the named person.
setWidth(self, personID, width)
setWidth(string, double) -> None
Sets the width in m for this person.

Methods inherited from traci.domain.Domain:
getAllSubscriptionResults() -> dict(string: dict(integer: <value_type>))
Returns the subscription results for the last time step and all objects of the domain.
It is not possible to retrieve older subscription results than the ones
from the last time step.
getContextSubscriptionResults(self, objectID)
getIDCount() -> integer
Returns the number of currently loaded objects.
getIDList() -> list(string)
Returns a list of all objects in the network.
getParameter(self, objID, param)
getParameter(string, string) -> string
Returns the value of the given parameter for the given objID
getParameterWithKey(self, objID, param)
getParameterWithKey(string, string) -> (string, string)
Returns the (key, value) tuple of the given parameter for the given objID
getSubscriptionResults(self, objectID)
getSubscriptionResults(string) -> dict(integer: <value_type>)
Returns the subscription results for the last time step and the given object.
If the object id is unknown or the subscription did for any reason return no data,
'None' is returned.
It is not possible to retrieve older subscription results than the ones
from the last time step.
setParameter(self, objID, param, value)
setParameter(string, string, string) -> None
Sets the value of the given parameter to value for the given objID
subscribe(self, objectID, varIDs=None, begin=-1073741824.0, end=-1073741824.0, parameters=None)
subscribe(string, list(integer), double, double, map(string->tuple)) -> None
Subscribe to one or more object values for the given interval.
subscribeContext(self, objectID, domain, dist, varIDs=None, begin=-1073741824.0, end=-1073741824.0, parameters=None)
subscribeContext(string, int, double, list(integer), double, double) -> None
Subscribe to objects of the given domain (specified as domain=traci.constants.CMD_GET_<DOMAIN>_VARIABLE),
which are closer than dist to the object specified by objectID.
subscribeParameterWithKey(self, objID, key, begin=-1073741824.0, end=-1073741824.0)
subscribeParameterWithKey(string, string) -> None
Subscribe for a generic parameter with the given key.
unsubscribe(self, objectID)
unsubscribe(string) -> None
Unsubscribe from receiving object values.
unsubscribeContext(self, objectID, domain, dist)

class Reservation(__builtin__.object)
     Methods defined here:
__attr_repr__(self, attrname, default='')
__init__(self, id, persons, group, fromEdge, toEdge, departPos, arrivalPos, depart, reservationTime)

Data descriptors defined here:
dictionary for instance variables (if defined)
list of weak references to the object (if defined)

        absolute_import = _Feature((2, 5, 0, 'alpha', 1), (3, 0, 0, 'alpha', 0), 16384)