# Metaflow_C **Repository Path**: Axerr/Metaflow_C ## Basic Information - **Project Name**: Metaflow_C - **Description**: 基于Cityflow的交通仿真模拟器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-25 - **Last Updated**: 2024-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Metaflow_C #### 介绍 基于Cityflow的交通仿真模拟器,采用与 cityFlow 同类型输入文件格式,兼容 cityFlow 各类 API,通过修改结构设计来实现更快的交通仿真模拟的速度。 #### 配置文件 configFile 格式 ``` { "interval": 1, // 每 step 的时间间隔 "seed": 42, // 随机数种子 "dir": "src/test/resources/manhattan/", // roadnetFile 与 flowFile 所在文件夹相对地址 "roadnetFile": "manhattan.json", // roadnet 文件名 "flowFile": "manhattan_31217.json", // flow 文件名 "rlTrafficLight": false, // 是否开启强化学习接口 "laneChange": true, // 是否开启变道 "saveReplay": true, // 是否保存 "roadnetLogFile": "replay_manhattan.json", // 保存的 roadnet 文件名,用于可视化 "replayLogFile": "replay_manhattan_31217_LaneChange.txt" // 保存的 log 文件名, 用于可视化 "vehicleRecord": false, // 可选,开启部分 API,详见 example/metaFlow.py "allowPassingCross": false // 可选,开启后车辆在路口中被阻拦时允许满足穿过 } ``` #### API 可参考[Cityflow控制API](https://cityflow.readthedocs.io/en/latest/start.html#control-api) 我们的添加包括: 1、设定指定道路是否可通行,canGo: bool ``` set_road_canGo(roadId, canGo) ``` 2、设定指定车道是否可通行 ``` set_lane_canGo(roadId, index, canGo) ``` 3、获取道路历史通行数据,返回 map>:车辆在 list[0] 进入道路,在 list[1]离开,需 config 文件内设置 "vehicleRecord: true" ``` get_road_record(roadId) ``` 4、设置对应车辆路程, anchorId: list ``` change_vehicle_routeList(vehicleId, anchorId) ```