# FlowGenerator **Repository Path**: metacrowd/flow-generator ## Basic Information - **Project Name**: FlowGenerator - **Description**: 可根据设定的路网各出入口的车流量分布与每分钟进入路网的平均车辆数,生成车流用于模拟与训练。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-06 - **Last Updated**: 2023-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FlowGenerator 功能介绍: 可根据设定的路网各出入口的车流量分布与每分钟进入路网的平均车辆数,生成车流用于模拟与训练。 ## 一、运行所需内容获取 ``` git clone https://gitee.com/metacrowd/flow-generator.git ``` 获取源码,于 build/libs 内获取 lib 文件夹与 FlowGenerator-x.x.x.jar 或于 release 处下载 lib 与 jar 包 ## 二、环境配置 配置 Java 环境,输入 java -version 后显示 Java 版本即为配置成功 ## 三、config 文件 注:输入的 roadnet 文件与输出的 flow 文件与 metaFlow、Cityflow 所需文件格式一致 ``` { "dir": "src/main/resources/2x2/", "roadNetworkFileName": "roadnet_2_2.json", "flowFileName": "flow_2x2.json", "basicInfo": { "length": 5.0, "width": 2.0, "maxPosAcc": 2.0, "maxNegAcc": 4.5, "usualPosAcc": 2.0, "usualNegAcc": 4.5, "minGap": 2, "maxSpeed": 20, "headwayTime": 2 }, "vehicleInRate": 100, "inRateDistribution": [0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0], "outRateDistribution": [0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25], "duration": 3600 } ``` **dir**:路网文件在 config 文件所处目录下的相对路径 **roadNetworkFileName**:路网文件名 **flowFileName**:生成的车流文件名 **basicInfo**: 车辆基本信息 **vehicleInRate**:路网每分钟平均进入车辆数 **inRateDistribution**:路网各边界入口 Road (车流起点) 进入的车辆数占比,所表示的 Road 顺序与 roadNetworkFile 内 Road 顺序一致, 占比和为 1 **outRateDistribution**:路网各边界出口 Road 作为终点的占比,所表示的 Road 顺序与 roadNetworkFile 内 Road 顺序一致,占比和为 1 **duration**:车流持续时间([0, duration]),单位:秒 ## 四、使用 将 lib 文件夹与 FlowGenerator-x.x.x.jar, config.json 置于同一目录下,完成 config 文件的修改后命令行输入: ``` java -jar FlowGenerator-x.x.x.jar config.json ``` 显示: ``` -------------------------------------------------------------------- roadNetworkFileName: roadnet_2_2.json flowFileName: flow_2x2.json vehicle number per min: 100 flow duration: 3600 s flow count: 5984 generation cost: 217ms -------------------------------------------------------------------- ``` 即为生成成功。 example 内可试用。 ## 现有问题与 TODO: **问题:** 1. inRateDistribution 与 outRateDistribution 需手动输入,当前仅适用于小型路网的设定 2. inRateDistribution 与 outRateDistribution 每个元素分别对应哪条 Road 的指示并不清晰,当前顺序为输入的 roadnet 文件内的顺序 3. 路网每分钟平均进入车辆数暂不可变 4. 车辆路径仅为 OD **TODO**: 1. 解决上述问题 2. 新增拟合功能,提供部分(全部) Road 的道路内车辆数、车辆平均速度、流量随时间变化的数据后,生成相应车流