本文档重点介绍交通模拟的主要部分,即街道(边缘),包括车道、路口(节点)和车辆及其路线。它不包含任何关于交通信号灯、探测器、可视化或类似的东西。另一方面,本文档旨在提供精确的描述,作为实现的模板以及输入文件的 xml 模式。因此,所有允许的属性及其类型(可能还有单位)都有一个表格。如果该属性不是强制性的,则还定义一个默认值。所有元素和属性的名称仅由字母(小写或驼峰大写)和下划线组成。请记住,作为 id 的属性的值应仅由字母、数字和下划线、连字符、点和冒号组成,以字母或下划线开头(以下称为“有效 XML id”)。
一、汽车
单个车辆是没有被建模的,它总是在旅途中的车辆,这意味着一旦车辆到达目的地,它就会从系统中删除,不能再被引用。车辆的物理参数是根据其类型定义的,类型也定义了其在某些车辆类别中的成员关系。车辆的定义包括其类型和路线,以及指定开始和结束行为的参数。其他参数,如颜色,仅用于可视化目的。车辆可以将路线和站点作为子元素。
Attribute | Type | Range | Default | Remark | 备注 |
---|---|---|---|---|---|
id ID | string | valid XML ids | - | ||
route 路线 | string | roate or routeedist id | - | either this id or a route child element are mandatory 这个id或路由子元素都是必需的。 id 或者 路线都是必须的子元素 | 不知道是不是这么理解 |
type 种类 | string | vType or vTypeDistribution id | default type | ||
depart 出发 | float(s)/string | ≥0;"triggered" 触发 | |||
departLane 出发车道 | int/string | ≥0,"random","free" | 0 | "free"是最少被占用的车道(根据全部路段的车流长度计算) | |
departPos 出发点 | float(m)/string | ≥0,"random","free", "random_free","base" | "base" | “free”指离出发车道的起点最近且可插入车辆的地点。 “random_free”会强制找到一个空闲的随机位置,如果失败,则将车辆放置在下一个“空闲”位置。 “base”将车辆出发位置设置为车辆长度+ eps (eps=.1m),这意味着车辆完全处于出发车道的起始位置。 | |
departSpeed 出发速度 | float(m/s)/string | ≥0,"random","max" | 0 | ||
arrivalLane 到达车道 | int/string | ≥0,"current" | "current" | 这个不太了解的说 | |
arrivalPos 到达地点 | float(m)/string | ≥0(2),"random","max" | "max" | ||
arrivalSpeed 到达速度 | float(m/s)/string | ≥0,"current" | "current" |
ps:对于出发点和到达点,事实上,负数也是暂时允许的。在这种情况下,这个值被加到车道的长度上。这意味着,位置会从车道的末端开始计算。边界之外的值(无论正负)会被默认移动到最近的边界上。
二、车流(重复插入)
重复的车辆插入与单一车辆的属性和子元素是相同了,除了出发。车流有以下附加属性:
Attribute | Type | Range | Default | Remark | 备注 |
---|---|---|---|---|---|
begin 开始 | float(s) | ≥0 | simulattion begin | ||
end 结束 | float(s) | ≥begin | simulation end | ||
vehsPerHour | float(#/h) | ≥0 | - | ||
period | float(s) | ≥0 | - | ||
number | int(#) | ≥0 | - |
“vehsPerHour”和“period”中最多只能给定一个。如果给出其中一个,则不允许定义“period”和“end”。车辆在时间间隔内均匀分布。插入的车辆数(如果没有给出“no”)等于(“end”-“begin”)/“period”并四舍五入到最近的整数,因此如果“period”足够小,可能根本就没有车辆。此外“period”= 3600 /“vehsPerHour”。第一辆车(如果有的话)总是在“begin”创建。创建的车辆的id为“flowld.running Number”。
先写这么多,已经督促自己搞清了。