The aim is to have a single underlying Polars structure for all sports (currently Soccer and American Football, but hopefully at some point other invasion sports too). This should allow us to apply a standard GraphConverter on any of the datasets, and to apply PressingIntensity (and other models in the future) to any of the sports.
Most importantly this means we need to update KloppyPolarsDataset and BigDataBowlDataset datasets.
Some difference (none exhaustive):
BigDataBowlDataset does not have vx and vy but rather has dir (direction) as an angle.
BigDataBowlDataset does has possessionTeam and KloppyPolarsDataset has ball_owning_team_id
BigDataBowlDataset does has officialPosition and KloppyPolarsDataset has position_name
BigDataBowlDataset has no z
BigDataBowlDataset team_id for the ball object is "football" and for Soccer it is "ball"
All available columns for BigDataBowlDataset can be found here and all available columns for KloppyPolarsDataset can be found here.
All of these current differences result from directly loading the Big Data Bowl data without changing too much in the underlying naming schemes.
In case we align we should favor the Soccer implementation. So, for example, we would extract vx and vy from dir. For any values that are not very descriptive (o) we should rename them to body_angle or shoulder_angle. These angles should be normed to -pi, pi.
We should keep track of these additional columns, that are not shared between multiple datasets somewhere.
The aim is to have a single underlying Polars structure for all sports (currently Soccer and American Football, but hopefully at some point other invasion sports too). This should allow us to apply a standard
GraphConverteron any of the datasets, and to applyPressingIntensity(and other models in the future) to any of the sports.Most importantly this means we need to update
KloppyPolarsDatasetandBigDataBowlDatasetdatasets.Some difference (none exhaustive):
BigDataBowlDatasetdoes not havevxandvybut rather hasdir(direction) as an angle.BigDataBowlDatasetdoes haspossessionTeamandKloppyPolarsDatasethasball_owning_team_idBigDataBowlDatasetdoes hasofficialPositionandKloppyPolarsDatasethasposition_nameBigDataBowlDatasethas nozBigDataBowlDatasetteam_id for the ball object is"football"and for Soccer it is"ball"All available columns for
BigDataBowlDatasetcan be found here and all available columns forKloppyPolarsDatasetcan be found here.All of these current differences result from directly loading the Big Data Bowl data without changing too much in the underlying naming schemes.
In case we align we should favor the Soccer implementation. So, for example, we would extract
vxandvyfromdir. For any values that are not very descriptive (o) we should rename them tobody_angleorshoulder_angle. These angles should be normed to-pi, pi.We should keep track of these additional columns, that are not shared between multiple datasets somewhere.