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

news2024/10/7 14:27:02

赛题简介

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

数据集

来源: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")

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 SpringBoot + Vue 的图书购物商城项目

本项目是一个基于 SpringBoot 和 Vue 的图书购物商城系统。系统主要实现了用户注册、登录,图书浏览、查询、加购,购物车管理,订单结算,会员折扣,下单,个人订单管理,书籍及分类管理,用…

subline设置打开文件重启一个新的窗口

问题 打开文件后,用的是同一个窗口的子tab页面 想要打开一个新的窗口 解决 点解preferences->setting 在右边的配置文件新增一行 “open_files_in_new_window”: “always” 保存 搞定!

聊聊啥项目适合做自动化测试

作为测试从业者,你是否遇到过这样的场景,某天公司大Boss找你谈话。 老板:小李,最近工作辛苦了 小李:常感谢您的认可,这不仅是对我个人的鼓励,更是对我们整个团队努力的认可。我们的成果离不开每…

建筑可视化中使用云渲染的几大理由

在建筑行业中,可视化技术已成为不可或缺的一部分。无论是设计方案的展示、施工进度的模拟,还是最终效果的呈现,建筑可视化都发挥着至关重要的作用。 建筑可视化是指通过计算机技术和图形学算法,将建筑设计、规划和施工过程中的数据…

three.js实现雪花场景效果

点击获取雪花图片素材 提取码:lywa // 雪花效果 import * as THREE from "three" export function getsnowEffect(th) {console.log(th, th) // this 场景var that th// 创建一个BufferGeometry对象,用于存储顶点数据 const geometry new THREE.Buffe…

同城小商城货到付款系统源码小程序

:便捷购物新选择 🚀 一、快速便捷,同城直达 在这个快节奏的时代,时间就是金钱。你是否曾因为等待快递而焦虑不安?现在,有了“同城商城货到付款小程序”,这一切都变得不再是问题。它专注于同城…

2024年科技型中小企业申报指南

01 什么是科技型中小企业 科技型中小企业是指依托一定数量的科技人员从事科学技术研究开发活动,取得自主知识产权并将其转化为高新技术产品或服务,从而实现可持续发展的中小企。 02 申请“科技型中小企业”的好处 一、政策扶持与优惠 1.税收减免&…

根据肥胖类型选择减调方向收获窈窕身材

我们生活中胖子很多,从胖到瘦的人也不少,但瘦了后对自己身材满意的人却是不多的,很多人瘦了也只是减掉了身上的赘肉而已,大体的身形却是没有变化的,因此,并不感到满意。因为他们本身的形体是固定的&#xf…

恭喜!Apache SeaTunnel2024开源之夏学生中选名单出炉!

经过严格的筛选,开源之夏组委会及导师已经选出并录取项目对应的学生,社区联合中科院开展的开源之夏活动也进入到了激动人心的中选公示阶段。 在这里,我们恭喜下面的同学,已成功匹配到Apache SeaTunnel社区的项目,即将开…

关于vue创建项目失败报错(镜像过期)的解决方案

在新建vue项目时出现以下错误: 原因: npm.taobao.org和registry.npm.taobao.org旧域名于2021年官方公告域名更换事件,已于2022年05月31日零时起停止服务,域名HTTPS证书于2024年1月22日正式到期,不可再用。 解决方案:…

选型应用:Ampleon的BLF884PS功率晶体管

Ampleon的BLF884PS,一个高性能的射频功率晶体管,在射频微波领域,功率晶体管是关键组件之一,特别是在广播和通信系统中。就是这一技术的杰出代表。本文将深入介绍这一型号的特点及其制造商Ampleon的背景。 Ampleon的起源与专长 Am…

U盘数据被删,四个补救措施要收藏好!

在日常工作及学习过程中,大家都会频繁使用U盘进行数据储存与转移。然而因操作失误,如:手动误删、直接清空或格式化等,将会造成一些重要的数据遗失,并且在面临此状况时,就需要找到一个有效的方法去恢复了。那…

Excel表格转换Word文档的3个简单方法分享!

在日常办公中,我们经常需要将Excel表格中的数据转换为Word文档以便于编辑、排版或分享。然而,很多人可能并不清楚如何实现这一转换过程,或者只能采取复制粘贴的笨拙方式,导致格式错乱、效率低下。本文将详细介绍两种高效、便捷的E…

k8s集群node节点加入失败

出现这种情况: [preflight] FYI: You can look at this config file with kubectl -n kube-system get cm kubeadm-config -o yaml [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [kubelet-start] Writing kub…

49-5 内网渗透 - 服务注册表权限脆弱提权

一、服务注册表权限脆弱提权介绍 Windows操作系统中的注册表存储了每个系统服务的相关条目。注册表使用访问控制列表(ACL)来管理用户对其条目的访问权限。如果注册表的ACL配置不正确,可能导致低权限用户获得对服务注册表的写入权限。攻击者可以利用这一漏洞修改注册表内容,…

20240629 每日AI必读资讯

🚀 Google 深夜突袭,Gemma 2 狂卷 Llama 3 - Gemma2性能超越Llama3,提供9B和27B版本,性能接近70B模型但大小仅为其40% - Gemma2支持高效推理,单个GPU即可实现全精度推理,广泛的硬件支持 - Gemma2兼容多种…

AI基础:从线性回归到梯度下降

一个简单的问题: 如果此时你正站在迷路缭绕的山坡上,能见度不高,但是你又想去往最低的山谷的位置,怎么走? 很简单,哪里陡那就往那里走呗——而这就是梯度下降算法的思想。 古话说:“先发制于人…

Databricks是大数据开发平台的天花板了吧

Databricks 是一个基于 Apache Spark 的统一数据分析平台,为数据工程师、数据科学家和商业智能专家提供了简化的开发、操作和协作体验。2023 的新闻上都已经说他价值 430 亿美元了,做到了大数据开发平台的天花板。 在这篇博客文章中,我们将深…

Open AI Stream Completion Set Variable Inside Function PHP With Openai-php SDK

题意:使用 OpenAI 的 PHP SDK(例如 openai-php)来在函数内部设置和完成一个流(stream)相关的变量 问题背景: How to set variable inside this openai-php sdk function in stream completion ? I am usi…

系统设计中的垂直扩展和水平扩展,该如何选择?

在系统设计时,我们需要预估系统的容量,但是,随着系统流量的增大,我们会通过扩容来应对流量,常见的扩容方式是垂直扩展和水平扩展,因此,这本文章,我们将深入探讨这两种扩展策略的优缺…