智能交通(1)——杭州交通数据集

赛题简介

在本地赛题中,参赛团队需要在平台提供的仿真交通场景下,通过算法模型驱动交通信号灯,以在各种交通状况(高峰期、雨天等)下都能最大程度地服务车辆,使其在模拟环境中获得综合最大得分。

数据集

来源:Reinforcement Learning for Traffic Signal Control

杭州交通数据集    

 这些数据集基于杭州的摄像头数据。由于缺乏转弯车辆的记录,每个数据集的转弯比例是固定的,10% 为左转,60% 为直行,30% 为右转。由于右转车辆不受交通信号灯控制,因此将其舍弃。每个道路网的每个方向都有一条左转车道和一条直行车道。        

每个数据集都包括道路网络(roadnet.json)和交通流文件(flow.json),其格式分别定义为道路网络文件格式和交通流文件格式。      

此外,每个场景的名称都表达了该场景的位置、时间和交通流量。例如,"hangzhou_bc_tyc_1h_8_9_2231 "定义了这样一个场景:交叉口位置索引为杭州的 "bc_tyc",交通流从早上 8 点开始到 9 点结束,在这一个小时内有 2231 辆车进入该场景。

字段说明

数据处理

import json

filename = 'roadnet.json'

# 读取并解析JSON文件
with open(filename, 'r') as file:
    roadnet_data = json.load(file)

def analyze_roadnet_data(data):
    print(f"总共有 {len(data.get('intersections', []))} 个交叉点。")
    for intersection in data['intersections']:
        intersection_id = intersection['id']
        print(f"\n交叉点ID: {intersection_id}")
        point = intersection['point']
        print(f" 坐标: x={point['x']}, y={point['y']}")
        width = intersection['width']
        print(f" 宽度: {width}")
        roads = intersection['roads']
        print(f" 连接的道路: {', '.join(roads)}")
        
        # 信号灯信息
        traffic_light = intersection['trafficLight']
        lightphases = traffic_light['lightphases']
        print(f"  信号灯阶段数: {len(lightphases)}")
        for idx, phase in enumerate(lightphases):
            print(f"    阶段 {idx + 1}: 持续时间 {phase.get('time')}秒")
            available_road_links = phase.get('availableRoadLinks', [])
            print(f"    可通行道路链接索引: {', '.join(map(str, available_road_links))}")

    print(f"\n总共有 {len(data.get('roads', []))} 条道路。")
    for road in data['roads']:
        road_id = road['id']
        print(f"\n道路ID: {road_id}")
        points = road['points']
        print(f"  起点坐标: x={points[0]['x']}, y={points[0]['y']}")
        print(f"  终点坐标: x={points[1]['x']}, y={points[1]['y']}")
        lanes = road['lanes']
        print(f"  车道信息:")
        for lane in lanes:
            print(f"    车道宽度: {lane['width']}m, 最高速度: {lane['maxSpeed']}m/s")
        
        start_intersection = road['startIntersection']
        end_intersection = road['endIntersection']
        print(f"  起点交叉点: {start_intersection}, 终点交叉点: {end_intersection}")

# 运行脚本
if __name__ == "__main__":
    analyze_roadnet_data(roadnet_data)

import json

# 假设您的JSON数据存储在名为flow.json的文件中
filename = 'flow.json'

# 读取JSON文件
with open(filename, 'r') as file:
    data = json.load(file)

# 遍历数据中的每个车辆信息
for vehicle_data in data:
    # 获取车辆的起始时间和结束时间
    start_time = vehicle_data['startTime']
    end_time = vehicle_data['endTime']
    
    # 检查是否是同一个时间段
    if start_time == end_time:
        print(f"车辆在时间 {start_time} 启动并结束")
    
    # 打印车辆的路线信息
    route = vehicle_data['route']
    print(f"车辆的路线: {route}")

    # 访问车辆的具体参数
    vehicle = vehicle_data['vehicle']
    print(f"车辆参数 - 长度: {vehicle['length']}m, 宽度: {vehicle['width']}m, 最大速度: {vehicle['maxSpeed']}km/h")

# 可以添加更多的数据处理逻辑,例如筛选、排序、统计等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/754916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker 部署 MariaDB 数据库 与 Adminer 数据库管理工具

文章目录 MariaDBmariadb.cnf开启 binlog Adminerdocker-compose.ymlAdminer 连接 MariaDB MariaDB MariaDB是一个流行的开源关系型数据库管理系统(RDBMS),它是MySQL的一个分支和替代品。 官网:https://mariadb.com/镜像&#xff…

GPU算力是什么,哪些行业需要用到GPU算力?

近两年,计算能力已成为推动各行各业发展的关键因素。而GPU(图形处理器)算力,作为现代计算技术的重要分支,正逐渐在多个领域展现出其强大的潜力和价值。尚云将简要介绍GPU算力的定义和基本原理,并探讨其在哪…

对于CDA一级考试该咋准备??!

一、了解考试内容和结构 CDA一级考试主要涉及的内容包括:数据分析概述与职业操守、数据结构、数据库基础与数据模型、数据可视化分析与报表制作、Power BI应用、业务数据分析与报告编写等。 CDA Level Ⅰ 认证考试大纲:https://edu.cda.cn/group/4/thread/174335 …

从架构设计的角度分析ios自带网络库和AFNetworking

总结(先说明文章分析出的一些‘认知’) 从本文中,我们可以总结出一些框架设计上的“认知”: 对于通用的常规配置信息方面的设计,我们可以通过定义一个“类似于NSURLSessionConfiguration、NSURLRequest”的类来完成设…

Python | Leetcode Python题解之第203题移除链表元素

题目: 题解: # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def removeElements(self, head: ListNode, val: int) -> Li…

ArkTS自定义组件

一、自定义组件基本结构 // 定义自定义组件 ButtonCom.ets Component export struct BtnCom{State msg: string "按钮";build() {Row(){Text(this.msg).onClick(() > {this.msg "测试"})}} } // 引入自定义组件 import {BtnCom} from "./Butto…

[Go Web] Kratos 使用的简单总结

文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。 API -&…

正版软件 | R-Drive Image:数据安全守护者,您的智能备份专家

在数字化时代,数据安全的重要性不言而喻。R-Drive Image 是一款功能强大的备份和恢复软件,为您提供了全面的解决方案,确保您的数据安全无忧。 精确备份,全面保护 R-Drive Image 能够创建硬盘驱动器的逐字节副本,无论是…

RabbitMQ 的经典问题

文章目录 前言一、防止消息丢失1.1 ConfirmCallback/ReturnCallback1.2 持久化1.3 消费者确认消息 二、防止重复消费三、处理消息堆积四、有序消费消息五、实现延时队列六、小结推荐阅读 前言 当设计和运维消息队列系统时,如 RabbitMQ,有几个关键问题需…

机器人控制系列教程之控制理论概述

经典控制理论 经典控制理论主要研究线性定常系统。所谓线性控制系统是指系统中各组成环节或元件的状态由线性微分方程描述的控制系统。如果描述该线性系统的微分方程系数是常数,则称为线性定常系统。描述自动控制系统输入量、输出量和内部量之间关系的数学表达式称为系统的数学…

夏令营1期-对话分角色要素提取挑战赛-第①次打卡

零基础入门大模型技术竞赛 简介: 本次学习是 Datawhale 2024 年 AI 夏令营第一期,学习活动基于讯飞开放平台“基于星火大模型的群聊对话分角色要素提取挑战赛”开展实践学习。 适合想 入门并实践大模型 API 开发、了解如何微调大模型的学习者参与 快来…

【RNN练习】LSTM-火灾温度预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前期准备工作 import torch.nn.functional as F import numpy as np import pandas as pd import torch from torch import nn1. 导入数据 data pd.read_cs…

[Leetcode刷题] - 栅栏涂漆DP类问题

题目描述 这一类题目通常会问给定一组房子n和一组染料k去涂漆,并且会加入限制条件比如:某种颜色只能使用1次,相相邻房子不能涂同一种颜色,或者最多不能超过连续3个房子涂想通过颜色等等,让我们列举所有可能性总和&…

如何评估CRM客户系统的功能是否满足助贷机构的需求?

评估 CRM 客户系统的功能是否满足助贷机构的需求,可以从以下几个方面入手: 1. 客户信息管理 - 检查系统能否全面、准确地记录客户的基本信息,如个人身份、财务状况、贷款需求等。 - 确认是否支持多维度的客户分类和标签功能,以…

STM32第七课:KQM6600空气质量传感器

文章目录 需求一、KQM6600模块及接线方法二、模块配置流程1.环境2.配置时钟和IO3.配置串口初始化,使能以及中断4.中断函数 三、数据处理四、关键代码总结 需求 能够在串口实时显示当前的VOC(挥发性有机化合物),甲醛和Co2浓度。 …

css 流动边框

一、背景流动边框 实现原理&#xff1a; 用背景进行旋转&#xff0c;超出我们想显示的范围则hidden&#xff0c;就有以上的效果&#xff0c;可以用after或者before元素来实现也可以。 <!DOCTYPE html> <html lang"en"><head><meta charset&qu…

【开发环境】MacBook M2安装git并拉取gitlab项目,解决gitlab出现Access Token使用无效的方法

文章目录 安装Homebrew安装git打开IDEA配置git打开IDEA拉取项目 安装Homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"在iTerm等命令行工具打开后&#xff0c;输入上面的命令 之后根据中文提示完成Homebrew的下载…

web项目打包成可以离线跑的exe软件

目录 引言打开PyCharm安装依赖创建 Web 应用运行应用程序打包成可执行文件结语注意事项 引言 在开发桌面应用程序时&#xff0c;我们经常需要将网页集成到应用程序中。Python 提供了多种方法来实现这一目标&#xff0c;其中 pywebview 是一个轻量级的库&#xff0c;它允许我们…

PyScript:在浏览器中释放Python的强大

PyScript&#xff1a;Python代码&#xff0c;直接在网页上运行。- 精选真开源&#xff0c;释放新价值。 概览 PyScript是一个创新的框架&#xff0c;它打破了传统编程环境的界限&#xff0c;允许开发者直接在浏览器中使用Python语言来创建丰富的网络应用。结合了HTML界面、Pyo…

把飞书云文档变成HTML邮件:问题挑战与解决历程

一、背景 云文档转HTML邮件 基于公司内部的飞书办公套件&#xff0c;早在去年6月&#xff0c;我们就建设了将飞书云文档转译成HTML邮件的能力&#xff0c;方便同学们在编写邮件文档和发送邮件时&#xff0c;都能有较好的体验和较高的效率。 当下问题 要被邮件客户端识别&am…