Chez Oslandia, nous comptons dans l’équipe plusieurs fans de sport (à la TV surtout…) et de football en particulier. A l’occasion de l’Euro 2020 2021, il nous est venu l’idée d’intégrer les données de matchs dans notre SIG Open Source préféré : QGIS !

Grâce au temps Open Source, nous nous sommes lancés dans le développement d’un plugin QGIS de dataviz sur les stats des matchs.

Après la présentation de QasketBall au QGIS Open Day de juin, place à QSoccer !

Chaussez vos géo-crampons

Le plugin est toujours à l’échauffement et n’est donc pas publié sur le dépôt officiel des plugins QGIS. Il vous faut donc ajouter l’URL des vestiaires Oslandia ci-dessous dans votre QGIS afin de pouvoir installer le plugin :

https://oslandia.gitlab.io/qgis/QSoccer/plugins.xml

Il vous faudra aussi installer votre dépendance à la carte d’abonnement de supporter : mplsoccer.

Afficher les stats d’un/e joueur/se

  1. Choisir la compétition
  2. Choisir le match
  3. Choisir son équipe
  4. Choisir un/e joueur/se
  5. Choisir le mode de représentation : `Passes` ou `Heatmap`

Coup d’envoi

De façon à obtenir une preuve de concept avec un résultat visuel rapide, nous avons choisi d’aller droit au but : représenter un terrain de foot dans un widget Qt sur lequel dessiner des premières statistiques.

  • Carte de chaleur de chaque joueur/se, pour avoir une idée de son activité au cours du match :

  • Carte directionnelle des passes exécutées par chaque joueur/se :

Deuxième mi-temps

Lors du retour des vestiaires, nous envisageons de pousser notre avantage sur les statistiques disponibles : les tirs, les buts, les actions défensives…

Pour ne pas se laisser déborder sur les ailes géographiques, l’objectif est de tirer parti du 4-3-3 (autrement appelé : le canevas de QGIS) pour y représenter directement le terrain et d’y ajouter un lien avec la localisation des matchs, le club des joueurs/se, etc.

On pourrait alors utiliser les outils de traitement de QGIS pour analyser ces données, par exemple en créant des polygones de Voronoï pour chaque joueur, et déterminer son influence sur le jeu en fonction de sa position.

Equipementiers

Un projet qui ne serait pas possible sans des passionnés qui publient des données en Open Data et des outils permettant de les gérer : Kloppy, mplsoccer, StatsBomb

Si vous êtes intéressé par ce projet, le code source et la documentation sont disponibles.