Skip to content

PFF

kloppy.pff

Functions for loading PFF FC data.

load_tracking

1
2
3
4
5
6
7
8
9
load_tracking(
    meta_data,
    roster_meta_data,
    raw_data,
    sample_rate=None,
    limit=None,
    coordinates=None,
    only_alive=True,
)

Load and deserialize tracking data from the provided metadata, roster metadata, and raw data files.

PARAMETER DESCRIPTION
meta_data

A file-like object containing metadata about the tracking data.

TYPE: FileLike

roster_meta_data

A file-like object containing roster metadata, such as player details.

TYPE: FileLike

raw_data

A file-like object containing the raw tracking data.

TYPE: FileLike

sample_rate

The sampling rate to downsample the data. If None, no downsampling is applied. Defaults to None.

TYPE: Optional[float] DEFAULT: None

limit

The maximum number of records to process. If None, all records are processed. Defaults to None.

TYPE: Optional[int] DEFAULT: None

coordinates

The coordinate system to use for the tracking data (e.g., "pff"). Defaults to None.

TYPE: Optional[str] DEFAULT: None

only_alive

Whether to include only sequences when the ball is in play. Defaults to True.

TYPE: Optional[bool] DEFAULT: True

RETURNS DESCRIPTION
TrackingDataset

A deserialized TrackingDataset object containing the processed tracking data.

TYPE: TrackingDataset

Source code in kloppy/_providers/pff.py
def load_tracking(
    meta_data: FileLike,
    roster_meta_data: FileLike,
    raw_data: FileLike,
    sample_rate: Optional[float] = None,
    limit: Optional[int] = None,
    coordinates: Optional[str] = None,
    only_alive: Optional[bool] = True,
) -> TrackingDataset:
    """
    Load and deserialize tracking data from the provided metadata, roster metadata, and raw data files.

    Args:
        meta_data (FileLike): A file-like object containing metadata about the tracking data.
        roster_meta_data (FileLike): A file-like object containing roster metadata, such as player details.
        raw_data (FileLike): A file-like object containing the raw tracking data.
        sample_rate (Optional[float], optional): The sampling rate to downsample the data. If None, no downsampling is applied. Defaults to None.
        limit (Optional[int], optional): The maximum number of records to process. If None, all records are processed. Defaults to None.
        coordinates (Optional[str], optional): The coordinate system to use for the tracking data (e.g., "pff"). Defaults to None.
        only_alive (Optional[bool], optional): Whether to include only sequences when the ball is in play. Defaults to True.

    Returns:
        TrackingDataset: A deserialized TrackingDataset object containing the processed tracking data.
    """
    deserializer = PFF_TrackingDeserializer(
        sample_rate=sample_rate,
        limit=limit,
        coordinate_system=coordinates,
        only_alive=only_alive,
    )
    with open_as_file(meta_data) as meta_data_fp, open_as_file(
        roster_meta_data
    ) as roster_meta_data_fp, open_as_file(raw_data) as raw_data_fp:
        return deserializer.deserialize(
            inputs=PFF_TrackingInputs(
                meta_data=meta_data_fp,
                roster_meta_data=roster_meta_data_fp,
                raw_data=raw_data_fp,
            )
        )