見出し画像

私のゴルフデータ管理法~ガーミンとグラフDBがつなぐショット履歴~

週末ゴルファーの行き着く先は、時にデータベース構築という奇異な領域にまで及ぶ。今回ご紹介するのは、そんな私の歪んだゴルフ愛の産物――ゴルフのデータベースである。

このデータベースは、市販のアプリでは飽き足らず、私が自ら構築したもので、Garmin Approachで取得したショットデータを、グラフ型データベースという新しいテクノロジーを用いて格納している。システムの技術的な詳細については、別途、沼にハマりたいIT系ゴルファー向けに解説記事を用意する予定だ。

まずは、現物をご覧いただこう。(図1,図2)

図1.1ラウンド分の全てのショットデータ


図2.1打目のショットデータ

これは、2024年12月1日、つくばねカントリークラブでの私のラウンドデータ(スコア82)である。図1は1ラウンド分の全ショットデータ、図2は1ショット分の詳細である。

緑の円は飛距離、水色はクラブ、赤または青はショットの評価(青:成功、赤:失敗)を表している。つまり、一つのショットは、緑、水色、赤/青の3つの円で構成されている。

図1には、82個のショットデータが表現されていることになる。(※1)

図3.ショットノードの詳細

そして、それぞれの円には詳細なデータが格納されている。
例えば、緑の円をクリックすると(図3)、

courseName: つくばねカントリークラブ

distance: 258

holeName: アウト

holeNumber: 1

shotNumber: 1

comment: グリップを引っ張って…

score: 4

shotId: 20241201011

といった情報が表示される。つまり、この緑の円は「2024年12月1日、つくばねカントリークラブ、アウト1番ホール(パー4)の第1打、飛距離258ヤード。『グリップを引っ張って…』という状況(考えたことやショット環境)で打った」というデータを表している。

図4.クラブノードの詳細

次に水色の円(図4)。ここには、

clubType: 2h

clubTypeJapanese: 2番ハイブリッド

clubName: 18度_JUT_attas75s

といったクラブの情報が格納されている。ヘッドやシャフトの交換という、ゴルファー特有の収集癖に対応するため、クラブの種類だけでなく、具体的な製品名まで記録している。この場合、jBEAMのj-UT 18度を使用している。

図5.評価ノードの詳細

そして、青色の円(図5)。これは、

  • evaluation: OK

と、至極シンプルな成功の証。

これらの情報を組み合わせると、「2024年12月1日、つくばねカントリークラブ、アウト1番ホール(パー4)の第1打。2番ハイブリッド(18度_JUT_attas75s)で258ヤード。『グリップを引っ張って…』という状況で打ったショットは、奇跡的にOK」という、一打の物語が浮かび上がる。ちなみに、このホールは打ち下ろしでフォロー。普段は258ヤードも飛ばない。

1番ホールの全ショットを表示すると、図5のようになる。

図5.1番ホールの全ショット

これを見ると、

1打目:2番ハイブリッド、258ヤード、OK。
2打目:ギャップウェッジ、118ヤード、NG
3打目:サンドウェッジ、20ヤード、OK。
4打目:パター、OK。

という流れが分かる。

図6.2打目の評価ノード詳細

2打目のミスショット(赤色の円:図6)をクリックすると、「GPSがおかしかった。100ヤードくらいからレーザー距離計を使用した方が良いかもしれない」という、自己弁護にも似た反省点が記録されている。これはショット時の状況とは別に記録された、次ラウンドへの戒めである。

このデータベースの真の目的は、ショット単位での詳細なデータ記録にある。ホールごとのスコアならGDOなどの既存のアプリで事足りる。しかし、私の探求心はそんなものでは満たされない。

データ登録は、ラウンド終了後、Garmin Connectにアップロードされたデータから、スクレイピング技術を用いて情報を抽出し、データベースに流し込む。このあたりの技術的な解説は、後日、一部のマニア向けに公開することにしよう。

次回は、このデータからスコアアップへの糸口を見つけられるのか。その挑戦の記録を公開する。

※1 パッティングデータは、入力の手間とGarmin CT10センサー装着時の違和感から、1打単位でデータ化することはしなかった。ノード数が82というのは、わかりやすく解説するための便宜上の数字。

いいなと思ったら応援しよう!