open-data events 文档笔记
原文档 pdf 不方便查阅特做整理, 机器翻译手动整理结构
v4.0
本文档描述了StatsBomb开放事件数据的JSON格式。
data/events 目录中的比赛文件将采用 JSON 格式。文件名将采用 1234.json 格式,其中 1234 是比赛 ID。内容是一个包含两支球队的事件信息的数组。一些元素有子元素(通常是名称/ID 对)或子数组(这些将在文档后面详细介绍)。
-
id: uuid, 每个事件的唯一标识符
-
index: int, 每场比赛中事件排序的序列符号。自增的整数
- preiod: int, 时间戳对应的比赛部分
- 1: 1st Half
- 2: 2nd Half
- 3: 3rd Period
- 4: 4th Period
- 5: Penalty Shootout
-
timestamp: timestamp, 比赛中事件发生的时间,精确到毫秒。
-
minute: int, 事件发生时时钟上的分钟数。半场结束时重置为 45 分钟,加时赛开始时重置为 90 分钟。
-
second: int, timestamp 的第二部分
- type: object, (id: int, name: str), event 事件类型的 ID/名称。
- 42, Ball Receipt, 接到传球
- 2, Ball Recovery, 尝试夺回球权
- 3, Dispossessed, 球员被防守球员拦截而带球失败,因此丢失球权
- 4, Duel, 比赛中对立双方两名球员之间 50 对 50 的较量
- 5, Camera On, 发出信号停止摄像机捕捉比赛过程以进行重播/视频剪辑
- 6, Block, 站在球的路径上阻挡球
- 8, Offside, 越位。由射门或解围(非传球)导致的事件。对于造成越位的传球,请查看传球部分
- 9, Clearance, 防守球员为消除危险而采取的行动,并非有意将球传给队友
- 10, Interception, 通过移动到传球路线/做出反应进行拦截,阻止对手的传球到达队友手中
- 14, Dribble, 球员试图带球突破对手
- 16, Shot, 用身体任何(合法)部位试图进球
- 17, Pressure, 对接球、带球或传球的对方球员施加压迫
- 18, Half Start, 裁判吹哨开始一个部分的比赛
- 19, Substitution
- 20, Own Goal Against, 对方球员的乌龙球
- 21, Foul Won, 犯规获胜的定义是,一名球员在遭到对方球员犯规后,为本队赢得任意球或点球
- 22, Foul Committed, 任何被裁判判为犯规的违规行为, 越位不被视为犯规
- 23, Goal Keeper, 守门员可以执行的动作
- 24, Bad Behaviour, 当球员由于比赛之外的违规行为而收到黄牌时
- 25, Own Goal For, 该队进了一粒乌龙球
- 26, Player On, 球员离开事件发生后,球员返回球场
- 27, Player Off, 一名球员未经替换就离开/被抬出球场
- 28, Shield, 球员保护出界的球以防止对手继续比赛
- 30, Pass, 球在队友之间传递
- 33, 50/50, 两名球员争夺无球权的球
- 34, Half End, 向裁判发出哨声,表示某一场比赛部分结束
- 35, Starting XI, 标明首发 11 名球员、他们的位置以及球队阵型
- 36, Tactical Shift, 表示球队的战术变化,显示球员的新位置和球队的新阵型
- 37, Error, 当一名球员被判定犯下控球失误,从而导致射门时
- 38, Miscontrol, 球员因触球失误丢球
- 39, Dribbled Past, 球员被对手带球突破
- 40, Injury Stoppage, 因受伤而停止比赛
- 41, Referee Ball-Drop, 因伤病暂停后,裁判放下球,继续比赛
- 43, Carry, 球员在移动或站立时控制脚下的球
-
possession: int, 表示比赛中当前唯一的一次控球。一次控球表示在比赛期间,球处于比赛状态,并且由一支球队控制球
-
possession_team: object, (id: int), 开始控球的球队的 ID。请注意,即使在控球期间试图铲球等对手事件中,此 ID 也会显示
- play_pattern: object, (id: int, name: str), 与此事件相关的比赛模式的 ID/名称
- 1, Regular Play, 该事件不属于以下任何 play_patterns
- 2, From Corner, 该事件是角球之后比赛进程的一部分
- 3, From Free Kick, 该事件是任意球之后比赛过程的一部分
- 4, From Throw In, 此事件是界外球之后比赛过程的一部分
- 5, Other
- 6, From Counter 该事件是反击的一部分:
- 控球开始于反击球队最后三分之一区域外的一次常规比赛失误
- 控球至少有 75% 直接朝向球门(以我们的控球链指标衡量)
- 反击向球门前进了至少 18 码。
- 此定义不是收集的一部分,而是从上述逻辑中得出的
- 7, From Goal Kick, 该事件是球门球后比赛过程的一部分
- 8, From Keeper, 这一事件是守门员开球后比赛进程的一部分
- 9, From Kick Off, 该事件是开球后比赛进程的一部分
-
team: object, (id: int, name: str), 此事件所关联的球队的 ID/名称。仅当事件与特定球队相关时,才会显示对象
-
player: object, (id: int, name: str), 与该事件相关的球员的 ID/名称(仅当事件与特定球员相关时才会显示对象)
- position: object, (id: int, name: str), 事件发生时球员所处位置的 ID / 名称
- 1, GK, Goalkeeper
- 2, RB, Right Back
- 3, RCB, Right Center Back
- 4, CB, Center Back
- 5, LCB, Left Center Back
- 6, LB. Left Back
- 7, RWB, Right Wing Back
- 8, LWB, Left Wing Back
- 9, RDM, Right Defensive Midfield
- 10, CDM, Center Defensive Midfield
- 11, LDM, Left Defensive Midfield
- 12, RM, Right Midfield
- 13, RCM, Right Center Midfield
- 14, CM, Center Midfield
- 15, LCM, Left Center Midfield
- 16, LM, Left Midfield
- 17, RW, Right Wing
- 18, RAM, Right Attacking Midfield
- 19, CAM, Center Attacking Midfield
- 20, LAM, Left Attacking Midfield
- 21, LW, Left Wing
- 22, RCF, Right Center Forward
- 23, ST, Striker
- 24, LCF, Left Center Forward
- 25, SS, Sencondary Striker
-
location: array, (x: int, y: int), 包含两个整数值的数组。这些是事件的 x 和 y 坐标(仅当事件具有高度坐标时才显示)
-
duration: float, 如果相关,则事件持续的时间(以秒为单位)
-
under_pressure: bool, 该动作是在对手施加压力的情况下做出的
-
off_camera: bool: 事件发生时,摄像机处于关闭状态
-
out, bool, 如果事件的结果是球出界,则添加
-
related_events: array[uuid]
, 相关事件 ID 的逗号分隔列表。例如,射门可能与守门员事件和拦截事件相关。相应事件的 related_events 列中将包含射门的 ID
- tactics: object
- formation: int, 对于“首发 XI 或战术换班”类型的事件,添加了“战术”对象。阵型项目描述了正在使用的阵型, 433
- lineup:
array[player: object[id: int, name: str], position: object[id: int, name: str], jersey_number: int]
, 对于“首发 XI 或战术换人”类型的事件,添加了“战术”对象。阵容项描述了球员及其位置
Event Type Objects
如果事件属于具有附加详细信息的类型,则这些详细信息将嵌套在以该事件类型命名的对象中。例如,Shot 类型的事件将具有嵌套数据框,其中包含描述该事件类型的附加变量。以下是按字母顺序排列的嵌套数据框列表及其包含的变量。