STIC:STIC III (2018)/Physicalisation de statistiques au hockey sur glace

De EduTech Wiki
Aller à la navigation Aller à la recherche

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Description du projet

Le but de ce projet est de partir des données saisies par les statisticiens de la ligue pour proposer des visualisations parlantes.

Objectifs

Il y a plusieurs objectifs dans ce projet.

  • En premier lieu il faudra récupérer les données saisies sous un format utilisable par l'ordinateur (actuellement elles sont sous une forme visuelle)
  • Dans un deuxième temps il faudra développer un algorithme d'interprétation des données.

Projet 1 - Heatmap en 3D des tirs cadrés

Dans ce projet je vais imprimer en 3D une réplique de patinoire dont la topographie indiquera l'emplacement et la quantité de tirs cadrés.

Les données statistiques sont exportées au format XML. Le fichier obtenu ressemble à ce qui suit.

<GAMEACTION>
			<TEAM>Genève-Servette HC</TEAM>
			<TIME>3756</TIME>
			<TYPE>SHOT</TYPE>
			<DETAIL>SOG</DETAIL>
			<SS>5-5</SS>
			<SCORER>24</SCORER>
			<PLUS1>3</PLUS1>
			<PLUS2>11</PLUS2>
			<PLUS3>16</PLUS3>
			<PLUS4>25</PLUS4>
			<PLUS5>24</PLUS5>
			<PLUS6>14</PLUS6>
			<GK>14</GK>
			<GK_OPPONENT>149</GK_OPPONENT>
			<DATETIME>1541271623</DATETIME>
			<PERIOD>1</PERIOD>
			<POSITION_X>4.691489</POSITION_X>
			<POSITION_Y>20.90425</POSITION_Y>
			<POSITION>L-POINT</POSITION>
			<ZONE>OFFENSIVE</ZONE>
		</GAMEACTION>

Pour réaliser ma heatmap je vais avoir besoin des éléments suivants :

  • <DETAIL> pour identifier si il s'agi d'un tir cadré
  • <POSITION_X> et <POSITION_Y> pour pouvoir y situer sur la surface de jeu.

Il y a là un premier problème, je ne sais pas à quoi correspondent ces valeurs. Où se trouve le 0 ? Quel est le maximum ? Après avoir placé des données dans les coins de la patinoire j'ai pu déterminer que les positions vont de 0 à 30 sur l'axe des X (petit côté de la patinoire) et de 0 à 60 pour l'axe des Y (long côté). C'est assez logique puisque une patinoire européenne fait 30m*60m.

L'algorithme que je vais mettre en place devra donc extraire les positions X et Y de tous les tirs cadrés (SOG).

Démarche

La première étape est la collecte de données, ces données ayant déjà été collectées je peux passer à l'étape suivante qui consiste à extraire les données pertinentes. Pour ce faire je vais coder un algorithme utilisant XPath qui me permettra de cibler les GAMEACTION correspondant à un tir cadré, puis à en récupérer la position.

Ressources