Difference between revisions of "Specification/Persons"

From Sumo
Jump to navigation Jump to search
Line 1: Line 1:
 +
=Persons=
 +
A person moves through the net by walking or using vehicles. It has at least one plan as child element. If it has multiple plans it chooses one at random where the probability may be given in the plan definition. If the person has exactly one plan the explicit "plan" may be omitted, e.g.
 +
<person id="x">
 +
    <plan>
 +
    ...
 +
    </plan>
 +
</person>
 +
is equivalent to
 +
<person id="x">
 +
    ...
 +
</person>
 +
{|border="1" cellpadding="5" cellspacing="0"
 +
!Attribute !!Type      !!Range        !!Default!!Remark
 +
|-
 +
|id        ||string    ||valid XML ids||-||
 +
|-
 +
|depart    ||float(s)  ||&ge;0        ||-      ||
 +
|-
 +
|departpos ||float(m)/string  ||&ge;0<sup>(1)</sup>,"random"||0||
 +
|-
 +
|arrivalpos||float(m)/string  ||&ge;0<sup>(1)</sup>,"random","max"||"max"||
 +
|}
 +
 +
* (1): in fact, negative positions are currently allowed, too. In this case, this value is added to the lane's length. This means, the position is counted from the end of the lane. Values lying beyond the edge borders (positive and negative) are silently moved to the closest edge border.
 +
 +
=Plans=
 +
A plan is a sequence of trips and [[Specification#Stops|stops]] if it serves as a router input or of walks, rides and [[Specification#Stops|stops]] if it serves as simulation input.
 +
{|border="1" cellpadding="5" cellspacing="0"
 +
!Attribute !!Type      !!Range        !!Default!!Remark
 +
|-
 +
|probability||float  ||&ge;0          ||1      ||this is only evaluated if a person has multiple plans, the probability values of all plans do not have to add to 1, they are scaled accordingly before choosing
 +
|-
 +
|generateWalks||bool ||true,false    ||false  ||if the source edge of a trip, walk, ride or stop does not match the destination of the previous one, the default behavior is to "beam" the person (transfer without time loss). If this option is set, a walk is generated
 +
|}
 +
 
= Router input =
 
= Router input =
 
==Trips==
 
==Trips==
Line 44: Line 79:
 
At least one attribute of "speed" and "duration" has to be given. If both are given, the walk will
 
At least one attribute of "speed" and "duration" has to be given. If both are given, the walk will
 
last at least "duration" but it may take longer if the "speed" is low.
 
last at least "duration" but it may take longer if the "speed" is low.
 
==Persons==
 
A person moves through the net by walking or using vehicles.
 
It has rides, walks, and [[Specification#Stops|stops]] as child elements.
 
{|border="1" cellpadding="5" cellspacing="0"
 
!Attribute !!Type      !!Range        !!Default!!Remark
 
|-
 
|id        ||string    ||valid XML ids||-||
 
|-
 
|depart    ||float(s)  ||&ge;0        ||-      ||
 
|-
 
|departlane ||int/string      ||&ge;0,"random","free","departlane"||"departlane"||"free" is the least occupied lane (by sum of the vehicle lengths)
 
|-
 
|departpos  ||float(m)/string  ||&ge;0<sup>(1)</sup>,"random","free","random_free"||0||"free" means the point closest to the start of the departlane where it is possible to insert the vehicle. "random_free" tries forcefully to find a free random position and if that fails, places the vehicle at the next "free" position.
 
|-
 
|departspeed||float(m/s)/string||&ge;0,"random","max"||0||"max" refers to the maximum velocity the vehicle can achieve when being inserted
 
|-
 
|arrivallane  ||int/string      ||&ge;0,"current"  ||"current"||
 
|-
 
|arrivalpos    ||float(m)/string  ||&ge;0<sup>(1)</sup>,"random","max"||"max"||
 
|-
 
|arrivalspeed  ||float(m/s)/string||&ge;0,"current"  ||"current"||
 
|}
 
 
* (1): in fact, negative positions are currently allowed, too. In this case, this value is added to the lane's length. This means, the position is counted from the end of the lane. Values lying beyond the edge borders (positive and negative) are silently moved to the closest edge border.
 

Revision as of 09:16, 19 March 2010

Persons

A person moves through the net by walking or using vehicles. It has at least one plan as child element. If it has multiple plans it chooses one at random where the probability may be given in the plan definition. If the person has exactly one plan the explicit "plan" may be omitted, e.g.

<person id="x">
    <plan>
    ...
    </plan>
</person>

is equivalent to

<person id="x">
    ...
</person>
Attribute Type Range Default Remark
id string valid XML ids -
depart float(s) ≥0 -
departpos float(m)/string ≥0(1),"random" 0
arrivalpos float(m)/string ≥0(1),"random","max" "max"
  • (1): in fact, negative positions are currently allowed, too. In this case, this value is added to the lane's length. This means, the position is counted from the end of the lane. Values lying beyond the edge borders (positive and negative) are silently moved to the closest edge border.

Plans

A plan is a sequence of trips and stops if it serves as a router input or of walks, rides and stops if it serves as simulation input.

Attribute Type Range Default Remark
probability float ≥0 1 this is only evaluated if a person has multiple plans, the probability values of all plans do not have to add to 1, they are scaled accordingly before choosing
generateWalks bool true,false false if the source edge of a trip, walk, ride or stop does not match the destination of the previous one, the default behavior is to "beam" the person (transfer without time loss). If this option is set, a walk is generated

Router input

Trips

Trips define the start and end point of a movement with optional changes in mode.

In definition they are identical to vehicles except for the missing route information (no route attribute and no route child is allowed). Instead they have the following attributes

Attribute Type Range Default Remark
from string valid edge ids - id of the start edge
to string valid edge ids - id of the destination edge

Simulation input

Rides

Rides define the start and end point of a movement with a single mode of transport (e.g. a car or a bus). They are child elements of person definitions.

Attribute Type Range Default Remark
from string valid edge ids - id of the start edge
to string valid edge ids - id of the destination edge
lines list valid flow or vehicle ids - list of vehicle alternatives to take for the ride

the route to take is defined by the vehicle.

Walks

Walks define a pedestrian movement. They are child elements of person definitions.

Attribute Type Range Default Remark
edges list valid edge ids - id of the edges to walk
duration float(s) >0 -
speed float(m/s) >0 -

The "edges" are traveled in the listed order. They do not need to be joined in the net. If they are not, a shortest path calculation is done between two consecutive list members. If there is no path connecting the two edges the linear distance is taken. At least one attribute of "speed" and "duration" has to be given. If both are given, the walk will last at least "duration" but it may take longer if the "speed" is low.