GIS奮闘記

現役GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

ArcGIS Pro でサッカーのヒートマップを作ってみよう

本日はArcGIS Pro でサッカーのヒートマップを作ってみようと思います。久しぶりのサッカーネタですね。以前は高校サッカーでしたが今度はプロの試合を分析してみようと思います。

www.gis-py.com

ただ、今回はプログラムなしで、ArcGIS Pro オンリーで行きたいと思います。

データに関して

かなり前からサッカー関連のデータを色々探していたのですが、なかなか見つからず途方に暮れていたところ、ついにいい感じのデータを見つけてしまいました!Soccer video and player position datasetというサイトがそのデータを公開していて、学術関係の論文発表の際に作成されたデータのようです。論文に関してはこちらを参照してください。http://home.ifi.uio.no/paalh/publications/files/mmsys2014-dataset.pdf

QGISで同じようなことをしていらっしゃる方がいましたので、そちらを参考にさせていただきました。

qiita.com

出典

"Soccer video and player position dataset": S. A. Pettersen, D. Johansen, H. Johansen, V. Berg-Johansen, V. R. Gaddam, A. Mortensen, R. Langseth, C. Griwodz, H. K. Stensland, and P. Halvorsen, in Proceedings of the International Conference on Multimedia Systems (MMSys), Singapore, March 2014, pp. 18-23

ちなみに、このデータを使用する場合は出典を明記する必要がありますので、お気を付けください。

データの概要

  1. サッカーの試合でプレイヤートラッキングシステムを使ってボールとプレイヤーの位置関係を抽出したもの
  2. 場所はアールヴヘイム・スタディオン(ノルウェー一部リーグに所属するトロムソILのホームスタジアム)
  3. データは3試合分公開(前半と後半にデータが分かれている)
  4. CSVで提供されている

使用するデータ

データはこのように公開されています。上から三つ目までがCSVになっています。20Hzが0.05秒間隔で1Hzが1秒間隔で選手とボールの位置を抽出しています。今回はZXY data raw (20Hz)を使用します。
f:id:sanvarie:20190705223233p:plain

※ZXY data raw (20Hz)はセンサーから受け取ったそのままのデータ、ZXY data interpolated (20Hz)はその後処理加工されたデータみたいですね。

試合について

使用するデータですが、トロムソIL vs FCアンジ・マハチカラのものです。

※FCアンジ・マハチカラはロシア・プレミアリーグ所属。かつてロベルト・カルロスも所属していたチームですね。

データを開いてみた

データを開いてみると前半部分に355553件、後半部分に360677件のデータがあることがわかりました。
f:id:sanvarie:20190705225119p:plain

ヘッダーがないので、以下のようにヘッダーをつけました。

f:id:sanvarie:20190705225929p:plain

ArcGIS Pro でCSVの取り込み

XYテーブル→ポイントのジオプロセシングツールを使います。
f:id:sanvarie:20190705231110p:plain

そうすると、このように取り込みができました。それっぽい感じですね。
f:id:sanvarie:20190705231414p:plain

特定の選手を抽出

tag_idというカラムが選手を表しているらしいのですが、どのtag_idがどの選手と紐づいているかは匿名性のため公表してないそうです。なので、とりあえず今回はtag_idが10の選手にフォーカスをあててみたいと思います。

まずはレイヤプロパティ画面でtag_id=10の選手のみが抽出されるように設定します。
f:id:sanvarie:20190705234446p:plain

それっぽい感じになりましたね。
f:id:sanvarie:20190705234529p:plain

ヒートマップの作成

次にシンボル設定でヒートマップを選択します。
f:id:sanvarie:20190705234626p:plain

このようになりました。
f:id:sanvarie:20190705234824p:plain

背景の作成

参考サイトと同様にFile:Football pitch metric.svg - Wikimedia Commonsの画像を使用します。

f:id:sanvarie:20190705235918p:plain

ArcGIS Proに画像を取り込みましたが、位置があっていませんね。
f:id:sanvarie:20190706000231p:plain

そこでジオリファレンスですね。ジオリファレンスについてはArcGIS Pro の画像処理機能紹介 その 1 ~ジオリファレンス~ | ArcGISブログを参照してください。

f:id:sanvarie:20190706000317p:plain


かなりそれっぽくなりましたね!
f:id:sanvarie:20190706000821p:plain

3D上でのヒートマップ

ArcGIS Proの特徴の一つでもある3Dの機能を使ってヒートマップを確認してみようと思います。

ローカル シーンに変換します。
f:id:sanvarie:20190706001128p:plain

そして、「3D シンボルを実世界の単位で表示」をオフにします。
f:id:sanvarie:20190706002235p:plain

ばっちりですね!
f:id:sanvarie:20190706003715p:plain



後半も表示してみました。
f:id:sanvarie:20190706003631p:plain

感想

思ったよりも簡単にヒートマップを作成することができました。さすがはArcGIS Proといったところでしょうか。できればこういったデータがもっとたくさん転がっているいいのですが。好きな選手の動きとかを自分で分析したりするのはとても楽しそうですしね。また何かいいデータがあったらサッカーネタで何か書きたいと思います。本日は以上です。