当前位置: 首页 > news >正文

石景山富阳网站建设saas电商平台

石景山富阳网站建设,saas电商平台,广州做网站报价,北京产品网站建设CBEngine 是一个微观交通模拟引擎,可以支持城市规模的道路网络交通模拟。CBEngine 能够快速模拟拥有数千个交叉路口和数十万辆车辆的道路网络交通。 以下内容基本翻译自CBEngine — CBLab 1.0.0 documentation 1 模拟演示 1.0 模拟演示结构 config.cfg 定义了 roa…
  • CBEngine 是一个微观交通模拟引擎,可以支持城市规模的道路网络交通模拟。
  • CBEngine 能够快速模拟拥有数千个交叉路口和数十万辆车辆的道路网络交通。

以下内容基本翻译自CBEngine — CBLab 1.0.0 documentation

1 模拟演示

1.0 模拟演示结构

  • config.cfg 定义了 roadnet.txtflow.txt 的路径,并包含了一些 CBEngine 的设置。
  • roadnet.txtflow.txt 为模拟数据。
  • utils.py 包含 Dataloader 工具类,用于数据加载。
  • main.py 为运行模拟的脚本。

1.1 启动演示

在安装了 CBEngine 的环境中运行以下命令

python main.py

1.2 理解演示代码

1.2.1 定义模拟参数

roadnet_file = './data/roadnet.txt'
flow_file = './data/flow.txt'
cfg_file = './cfgs/config.cfg'
dataloader = Dataloader(roadnet_file, flow_file, cfg_file)

1.2.2 创建模拟器实例

running_step = 300                      # 模拟时长
phase_time = 30                         # 交通信号周期时长
engine = cbengine.Engine(cfg_file, 12)  # 创建模拟器实例

1.2.3 启动模拟器

  • engine.next_step() 用于模拟器迭代一个时间步长(默认为 1 秒)。
  • 在循环中,我们可以操作交通元素并观测模拟情况:
print('Simulation starts ...')
start_time = time.time()
for step in range(running_step):for intersection in dataloader.intersections.keys():                                            # 遍历每个交通信号engine.set_ttl_phase(intersection, (int(engine.get_current_time()) // phase_time) % 4 + 1)  # 修改交通信号相位engine.next_step()                                                                              # 模拟器前进一步print(" time step: {}, number of vehicles: {}".format(step, engine.get_vehicle_count()))        
# 打印当前车辆数
end_time = time.time()
print('Simulation finishes. Runtime: ', end_time - start_time)

 相位错位的解释:

2 数据格式

2.1 配置文件格式(config.cfg

# 模拟器的配置文件# 时间参数
start_time_epoch = 0               # 模拟开始时间
max_time_epoch = 3600              # 模拟最大结束时间# 数据路径
road_file_addr : ./data/roadnet.txt    # 路网数据文件路径
vehicle_file_addr : ./data/flow.txt    # 交通流数据文件路径# 日志
report_log_mode : normal
report_log_addr : ./log/
report_log_rate = 10
warning_stop_time_log = 100

2.2  路网文件格式(roadnet.txt

包括以下三部分

2.2.1 交叉口数据

包括经纬度、交叉口 ID 及信号灯安装信息。

92344 // 交叉口总数
30.2795476000 120.1653304000 25926073 1 // 纬度,经度,交叉口ID,是否有信号灯

2.2.2 道路数据

包括道路长度、限速、车道数及通行方向。

每条道路有两个方向(如果只有一个则是单行道)

2105 // 道路段总数
28571560 4353988632 93.2000000000 20 3 3 1 2
//起始交叉口id 终止交叉口id 路段长度 路段限速 起->止车道数 止->起车道数
//起->止车道ID 止->起车道ID 
1 0 0 0 1 0 0 1 1 // 起->止车道的通行权限
1 0 0 0 1 0 0 1 1 // 止->起车道的通行权限
//通行权限每三个一组,所以上面的三个车道是(左、直行、直行加右转)

2.2.3 交通信号数据

描述交叉口与道路的连接性

107 // 有信号灯的交叉口总数
1317137908 724 700 611 609 
// 交叉口ID及四个方向道路段ID(北、东、南、西)

2.3 流量文件格式(flow.txt

流量文件定义了模拟中的车辆流量配置。每个流量(flow)由一个元组表示:
(start_time, end_time, vehicle_interval, route)

  • start_time: 流量开始时间。
  • end_time: 流量结束时间。
  • vehicle_interval: 每辆车之间的间隔时间(单位:秒)。
  • route: 流量的行驶路线(由道路段IDs组成,而非交叉口IDs)。

流量文件包含以下部分:

  1. 第一行:流量数量 n
  2. 后续的 3 行:每个流量的3行配置:
    • 第一行:start_time, end_time, vehicle_interval
    • 第二行:路线包含的道路段数 k。
    • 第三行:路线详细,包含 k个道路段ID。

12 // 流量数量 n = 12
0 100 5 // 流量1的开始时间、结束时间和车辆间隔
2       // 流量1的路线包含2段道路
2 3     // 流量1的道路段ID//0~100s内 每5s一辆车,路线是2->3

3 其他的api

4 其他 

CBEngine允许用户定制以下两大模块:

  1. 驾驶模块(Driving Module): 控制车辆的驾驶行为。
  2. 路径规划模块(Routing Module): 根据交通条件动态调整车辆路线。

模块定制需用C++实现,通过覆盖 src/modules/driving.cc src/modules/routing.cc 中的默认实现来实现自定义逻辑。

http://www.yayakq.cn/news/831152/

相关文章:

  • 常州本地网站网站建设方面的书籍
  • 检查网站的死链接wordpress纯静态化插件
  • 北京网站外包公司论述网站推广的方法与技巧
  • 简述制作网站的流程百度seo最成功的优化
  • 网站备案完成后淘宝网站推广怎么做
  • 民间it网站建设模板制作过程
  • 阿里图标库谁做的网站百度网址大全官网
  • 什么软件做高级网站网站设计制作推荐
  • 做网站建设价格包头网站设计公司
  • 免费建立个人网站官网免费国外网站模板
  • 中国电信网站备案系统重复打开同一个网站怎么做
  • 相对于网站根目录的的绝对路径中国品牌vi设计公司
  • 中英双语网站源码青海媒体网站建设公司
  • 庐江住房建设局网站电商运营转行后悔了
  • 设计公司灰白色调网站网站建设投标评分标准
  • 西安网站建设网站建设推荐做问卷的网站
  • 做网站更新维护工资高吗网站手机app开发
  • 济南网站制作工具手机网站的制作
  • 公司网站制作设计报价俱乐部网站模板
  • 网站策划编辑的工作内容上海小程序搭建
  • 如何做专题网站网站做代码图像显示不出来的
  • 网站侧边菜单聊城住房建设局网站
  • 企业官网如何建设百度手机seo软件
  • 个人博客网站搭建交互式网站备案
  • 外贸平台网站易观数据app排行
  • 做网站开发人员架构做私活的网站
  • 青海汽车网站建设如何做好购物网站
  • 外贸网站建设书籍东莞大岭山注册公司
  • 网站建设教程详解网站主域名是什么
  • tp框架做餐饮网站建网站做站长