コース・ルートを共有できるサイトを作りました

TL;DR

oshare.o-app.net

f:id:cola119:20190505163354g:plain

下絵地図をアップロードしてOCADのようにコースを組むことができます。
コースを公開することで地図読み練習やレッグ解説に使うことができます。
また、ルートを描いて投稿することができます。投稿されたルートを比較でき、良いと思ったルートには投票することができます。
ルートを募ったり、投票を募集することでルートの良し悪しを判断できます。

f:id:cola119:20190505222604p:plain

できること

  • コース作成・公開・共有
  • ルート作成・公開・共有
  • ルート比較
  • ルートへのコメント・いいね(投票)
  • ルート付き画像をダウンロード
  • SNSシェア

ユーザー登録する

  1. ログインページにアクセス。
  2. ログイン方式を選択します。
    • メールアドレス・パスワード認証
    • Googleアカウント認証
    • Twitterアカウント認証
  3. それぞれの方式に応じてログインしてください。 f:id:cola119:20190504114921p:plain

画像をアップロードする

  1. ログインする
  2. マイページの「画像をアップロードする」ボタンを押してファイルを選択します。
  3. 切り取り画面が表示されるので、必要な部分のみを選択してください。
    • なるべく必要な部分のみになるようにしてください。
    • すでにコースが書かれている場合、回転させると見やすいと思います。
    • ファイルサイズは5MB制限です。 f:id:cola119:20190504115212p:plain
  4. CUTボタンで切り取ります。
  5. 画像名を入力し、アップロードボタンでアップロードします。
    • 画像名は自動的に取得されます。
    • 画像名は公開されません。
  6. アップロードに成功すると数秒後にマイページにサムネイルが表示されます。 f:id:cola119:20190504115437p:plain

※ 一人5枚までアップロード可能です(5月1日現在)

コースを作る

  1. コースを組みたい画像をクリックします。
  2. クリックモードでコントロールを設置する。
    • エディタ画面には2つのモードがあります。
      • ドラッグモードでは画像の移動・拡大縮小ができますが、クリックイベントは発生しません。
      • クリックモードではクリックイベントが発生しますが、画像のドラッグはできません。
      • f:id:cola119:20190504115849p:plainf:id:cola119:20190504115839p:plain
    • 「左クリック」で追加、「右クリック」で削除、「ドラッグ」で移動
    • 左上のスライダーで円の大きさや太さを調節できます。
  3. レッグを作成する
    • レッグ名を入力するとコントロール選択モードになります。
    • 「クリックモード」でコントロールを順番にクリックします。
  4. 最後にコース名を入力して保存します。 f:id:cola119:20190504115729p:plain

ルートを書く

  1. ルートを書きたいレッグを選択します。
  2. ルート名を入力します。
  3. 「クリックモード」でクリックすると、クリックした場所まで直線が引かれます。
  4. 同様に、「左クリック」でポイント追加、「右クリック」でポイント削除

f:id:cola119:20190504123708g:plain

github.com

LapCenterの成績を可視化できるサイトを作りました。

こんにちは。LapCenterの過去の成績をまとめてグラフ化することで、傾向分析したり眺めてにやにやしたりしたりできるサイトをつくりました。

lcsearch.o-app.net

使い方

成績を検索する

検索するだけならユーザー登録しなくても利用できます。トップページから名前・所属を入力してください。

f:id:cola119:20190304015303p:plain

成績は毎週月曜日の19時に追加されます。

成績を追加する

ユーザー登録すると、自分の成績を追加(保存)することができます。まずはこちらからユーザー登録してください。

ログインした状態で成績を検索すると、「追加」というボタンが表示されます。

f:id:cola119:20190304015221p:plain
追加 をクリックすることで成績を保存できます

削除する場合も同様に、「削除」ボタンをクリックします。

成績のグラフを見る

マイページでは、追加した成績に対応した各種グラフが表示されます。

f:id:cola119:20190304015614p:plain

成績一覧をCSVでダウンロードする

マイページでは追加した成績をcsv形式としてダウンロードできます。より細かな解析をしたい方向けです。

今後の予定

まだ簡単な機能しか実装されていませんが、これから機能を追加していく予定です。

  • 成績のグループ化
    成績を追加する際にグループを選択できるようにし、グループごとにグラフを表示したりcsvをダウンロードできるようにします。これによって、一つのアカウントで複数人の成績推移を調べたり、クラブ単位での推移を調べることができます。
  • 成績に属性追加
    公認大会・フォレスト・スプリント・練習会といった属性を追加します。属性ごとの解析ができれば、自分の競技スタイルがわかるかもしれません。
  • 成績の共有
    他のユーザーの成績推移を見れるようにします。設定で成績を公開するか否かを選択できるようにする予定です。

github.com

LINE botを使ってLINEトークでトレーニングを記録・管理する

tl;dr

入力がめんどくさい人のために、LINE Messaging API を使ってLINEトークでメッセージを送るとトレーニングを記録してくれるbotを作りました。

f:id:cola119:20190228172617j:plain

部内のトレーニング管理システム(既存)

東工大OLTでは、不定期でトレキャンと呼ばれるトレーニンコンペティションが開催されます。トレキャン期間では、走行距離や筋トレ回数を記録してポイント化し、総ポイント数を競います。上位3名には賞金がでるので、良いモチベーションとなっています。

ランニングは1pt/km、オリエンテーリングは3pt/km、筋トレは100回/ptなど種目ごとに得られるポイントが異なり、水曜練や金曜練には参加ポイントが付与されます。

このように、独自のポイントシステムでトレを管理するには専用のサイトが必要です。代々引き継がれてきた管理サイトはCGIで構成されており、良くも悪くも時代を感じる構成となっています。

f:id:cola119:20190228004354p:plain
トレキャンサイト

それっぽく改良

これはこれで味があって悪くないと思いますが、他人の記録を編集できてしまうなど微妙な点がありました(部内で使うだけなら問題ないけど)。あとは任意の期間でのトレーニング記録を参照したかったりグラフで表示したかったりしたので、それっぽく改良することにしました。

f:id:cola119:20190228005628p:plain
PHPフレームワークにはLaravel、グラフ表示にはD3.jsをを採用しました。

任意の期間で集計したり、種目ごとのポイントでランキング付けできるようになっています。トレキャン期間だけでなく、日々のトレーニング記録サイトとして部内で使ってもらっています。

トレガチ部

さらに2018年度から、部員・OBの競技派から構成されるトレーニング推進グループ(通称トレガチ部)が発足しました(させました)。ある程度の強制力をもって継続的にトレを続けられるように、3週間に1週40km走るというルールが設けられています。みんな頑張ってトレーニングしようね。

f:id:cola119:20190228010827p:plain
40km/週は簡単・・?

みんな入力してくれない

こんな感じでユーザー登録して管理できるシステムを作ったわけですが、いざ運用してみると皆入力してくれないんですよね。ブラウザ起動→ログイン→入力画面→日付・走行距離・種目など入力→submitの手順をめんどくさいと感じてしまうらしいです。(気持ちはわかる)

トレガチ部のグループLINEが存在し、トークでトレ募集したり今週の走行距離の報告をしていました。LINEは気軽に開くものなので、LINEグループで発言したら自動でサイトに記録されると便利だなと思い、LINE botの開発にとりかかりました。

LINE Messaging API で発言を取得し文字列を解析し、ポイントを計算してデータベースに保存します。この方式ならわざわざブラウザを立ち上げてログインして入力する手間がなくなり、またトークで皆が走っていることを把握できるためモチベーションの維持にも繋がります。

f:id:cola119:20190228180303j:plain:w300
ラン・オリエン・トレランに対応

f:id:cola119:20190228172617j:plain

現状では当日のデータの挿入しかできないので、走ったらすぐトークで発言する必要があります。これはこれで入力漏れがなくなっていいと思っています。

さいごに

  • 頻繁に開くLINEを使って気軽に成績を記録できるのでハードルが下がる
  • グループトークで皆が走ってるのを確認できてモチベーションに繋がる
  • 個人でもLINE botを使えるのは便利
  • ジョグノートもLINEで登録できれば楽

参考

developers.line.biz

www.islog.jp

Sports Analyst Meetup #1に参加しました #spoana

スポーツ分析ミートアップ、Sports Analyst Meetup #1に参加してきました。

connpass.com

何気なくTwitterを見てたら回ってきて、予定もなかったので参加応募してみました。connpassのイベントやミートアップに参加するのは初めてだったので良い経験となりました。

内容は主にスポーツ×データ分析についてで、サッカーから野球、F1や登山に至るまで様々なスポーツが取り上げられていました。私は趣味でオリエンテーリングをやっているので、オリエンテーリングのラップ解析にも活かせる技術がないかと考えながら聴いていました。

以下特に印象に残った発表をメモがてら取り上げさせていただきます。

F1のラップ解析

F1については詳しくありませんが、すべてのコースは3つの区画(セクタ)に分かれていて、それぞれのラップが取られているようです。それぞれのセクタには特徴があって、コーナーが続いたり長い直線であったりするようです。

因子分析という手法を用いて車・ドライバーの得手不得手を分析していました。この結果、コーナリングに強い車や加速力のある車など、各車の特徴が解析されていてとても面白かったです。オリエンテーリングもラップタイムが主データとなっているため、因子分析を適用してみると面白い結果が得られると思いました。

あと、トップ3の車は除外して解析するというのが面白かったです。トップ3が速すぎて、含めてしまうと「速い車は速い」という結果が得られるようです。

サッカー

選手の動きをトラッキングして、空間の占有率や移動量を測定しているなんて知りませんでした。トラッキングにはGPSや画像認識が用いられているようです。最適なパスコースの決定や最適な選手の配置を決定できるらしい。

似たようなことをしているので、サッカーにおけるGPSラッキングはとても興味深いので調べてみようと思いました。

登山

登山の「つらさ」を定量的に分析することを目標としていました。コースタイムや獲得標高、高度などの要因から、高尾山を1としてつらさを表現していました。どうやら富士山は高尾山の22倍しんどいらしいです。

データとの付き合い方

データ解析の数理的なアプローチだけではなく、よりスポーツ視点に重点を置いた発表もありました。データアナリストは選手にデータを提示するだけではなく、選手との信頼関係を築くことが大切であり、時には泥臭いこともしなければならないなど。

また、データ分析が発展するにつれ、スポーツ選手は正しいとされるデータを再現するエージェントとなってしまうかもしれない。スポーツの立ち位置を考えなければならない、といった先進的な視点からの意見もありとても勉強になりました。

さいごに

スポーツ好き、データ好きの方々の発表はとても興味深く、勉強になりました。またの機会があれば是非参加したいと思いました。いずれは発表者側にもなりたいです。

LapCenterの成績を可視化する

ラップデータの解析は、オリエンテーリングの魅力の一つだと思います。総合タイムや順位、各レッグのタイム ぐらいは他の陸上スポーツにもあるデータだと思いますが、桜井・羽鳥メソッドによってミスタイム・巡航速度の解析はオリエンテーリング特有のものでしょう。

レース後は当然のようにラップデータを見てレースの反省をすると思います。しかし、これはある1レースにおけるそのレースの参加者間での相対評価です。前回のレース成績を思い出して、なんとなく巡航が落ちた・ミス率が上がったという評価はできるかもしれませんがそれはなんとなくに過ぎないでしょう。

そこでLapCenterの成績を時系列でまとめることで違った視点で反省ができると思いました。巡航・ミス率の推移をグラフ化することでトレーニングの効果を確かめることができたり、スプリント・ロング・ミドルどの競技タイプが得意・苦手なのか、登りや距離と巡航速度の相関もわかりそうです。

今のLapCenterのマイページ機能には自分の成績をまとめてグラフ化する機能はありません。加えて名前でのイベント検索もできません。今後の追加に期待ですが、どうせなら自分で作ってしまえばいいと思い、作りました。

3月4日追記:サイトを公開しました。

cola119.hatenablog.com

データの収集

(技術的な話になるので興味ない人は飛ばしてください)

LapCenterには4700ものイベントが掲載されています。その一つ一つを手動でまとめるほど暇ではないので、今回はPythonを使ってスクレイピングしました。退屈なことはPythonにやらせましょう

まずイベントトップページ(https://mulka2.com/lapcenter/index.jsp?event=EVENTID)から大会名・日付・掲載者・テレインなどを取得します。これは簡単にできますね。

次に個人成績を取得したいのですが、これは2つの方法が考えられました。一つはイベントページにあるLapCombat2用ファイル(https://mulka2.com/lapcenter-static/EVENTID/XXXX/lap.lxm)を読み込んでそのデータを解析する方法。もう一つはラップ解析ページ(https://mulka2.com/lapcenter/lapcombat2/split-list.jsp?event=EVENTID&file=X&class=X&content=analysis)から取得する方法です。

LapCombat2用ファイルはXML形式なので解析は簡単です。さらにEカード番号も書かれているのでEカード番号も収集することができます。しかし、巡航速度・ミス率のデータが書かれていないので、あとからこちらで巡航速度・ミス率を計算する必要があります。

2つ目の方法では巡航速度・ミス率も取得できるので計算する必要はありませんが、Eカード番号を取得することができません。あとひとつ目の方法よりページ遷移が多く複雑な解析になりがちです。

はじめは1つ目の方法でスクレイピングをしていたのですが、あとから巡航速度・ミス率を計算する段階で挫折しました。ラップ解析のアルゴリズム通り実装してもペナであったりユニット不良などの例外処理でうまく計算値が合いませんでした。なのでEカード番号は諦めて、2つ目の方法でスクレイピングしました。

2001年から2018年で、個人成績数は50万弱でした。

最大ミス率 大巡航速度
f:id:cola119:20181225032544p:plain:w300 f:id:cola119:20181225032559p:plain:w300

可視化する

大会数の推移

まずは大会数の推移をグラフにしてみようと思います。身内イベントを含むLapCenterに掲載されているイベントの数≒大会数とします。

f:id:cola119:20181224205457p:plain
掲載大会数(身内イベントを含む)
結構な勢いで右肩上がりに増え続けていることがわかりました。ここ数年はイベントのバッティングが増えている印象なので、このまま右肩上がりに増え続けるかはわかりませんね。
f:id:cola119:20181224211000p:plain
2016,2017,2018年の大会数
月ごとの大会数ですが、わかりやすい傾向はあまりないように見えます。強いて言えば1月4月10月は少ない傾向にあります。ですが2018年は4月8月のイベントが多く、これは新歓イベントが増えたこととインカレが9月開催だったからかもしれません(適当)

個人成績の推移

本来の目的である個人成績の推移を見ていきます。 まずはある3選手の巡航速度(speed)とミス率(loss_rate)の相関を見てみます。1

f:id:cola119:20181225024326p:plain

このグラフから3選手のタイプを判断してみます。 赤い選手は左上の図から、巡航速度が遅いということがわかります。また、左下の図から巡航速度の変化に対してミス率の変化量が少ないです。よって、フィジカルが弱く、その弱さを低ミス率でカバーしているような選手と言えます。
青い選手は左上の図より巡航速度が速い傾向にありますが、右下の図よりミス率も高い傾向にあります。巡航とミス率の相関も強く、だめなレースはとことんミスを重ねてしまうような選手でしょう。
紫の選手は巡航は100~105の割合が非常に多く、テールも短いので分散が小さく安定している選手と言えます。

安定して好成績を残している選手は紫のような分布(左上・右下の図)になると思います。赤い選手は巡航速度を上げるようトレを積むべきであり、青い選手はミス率を抑えるよう意識すると紫の分布に近づくでしょう。

次にコース距離・登距離との関係を見てみます。

f:id:cola119:20181225030225p:plain

赤い選手は距離・登りが増えるとミス率が下がる傾向にあります。また、やはり紫の選手は非常に安定していることがわかります。

作ったサイト

せっかくなのでウェブサイトで成績を検索して簡単なグラフを表示できるサイトを作りました。まだ簡単なグラフを表示する機能しかないのであまり面白いものではないです。
名前・クラブ名などで検索して成績を追加します。本来はecard番号で検索できるようにしたかった。

f:id:cola119:20181225031128p:plain:w300
成績検索

追加するとマイページからグラフを見ることができます。

散布図 時系列
f:id:cola119:20181225031245p:plain:w300 f:id:cola119:20181225031301p:plain:w300

PHPフレームワークにはLaravelを用いました。初めて書いたので良い勉強になりました。グラフ描画はD3.jsです。

現在はラップデータは個人情報と主張する方がいるみたいなので非公開(部内のみ公開)にしています

まとめ

分かる人はわかると思いますが、かなり適当な分析しかできませんでした。せっかくデータをまとめられたのでもっと真面目な解析をできればと思っています。例えば、スプリント・ロング・ミドル別の解析、トレーニング量との相関、団体の強さの定量化、レースの難易度の定量化、など。
あとは今流行りのオリエンティアランキングへの応用もできればいいなと思います。今後もこのブログで書いていこうと思うのでよろしくお願いします。

ちなみに例で挙げた3選手は○○さんと○○くんと○○です。


  1. 回帰直線を引くにはデータ数が少なすぎるので、この分析はかなり適当なものです。特にコース距離・登距離は記載されていないイベントが多く、十分なデータ数になっていません。統計に自信ニキさんごめんなさい。

スマートフォンを用いたリアルタイムGPSトラッキングシステムを開発しました

こんにちは。東京工業大学4年の上野です。

この記事はオリエンティアAdvent Calendar 16日目の記事です。 タイトルにある通り、スマートフォンを用いたリアルタイムGPSラッキングシステム「trako」を開発しました。オリエンティアAdvent Calendarを活用して広く拡散できればいいと思い記事にしました。記事を執筆する機会を与えてくれてありがとうございます。

リアルタイムGPSラッキングの現状

皆さんは国際大会のGPSラッキングを見たことがあるでしょうか。今年のJWOC,WOC,WUOCでもGPSラッキングが利用され、Twitterなどでリアルタイムに日本選手の応援をすることができました。これは非常に面白くオリエンテーリングの様子を伝えるのにも役立つので、日本でも実現できればもっとオリエンテーリング界隈が活気づきそうですよね。

f:id:cola119:20181027024450p:plain
WOC2018 Middle distance Men

海外のGPSラッキング技術は主にこの会社によるものだと思います。ここでイベント一覧を参照することができます。2010年から始まっていて毎週のように利用されていることに驚きです。

このシステムの完成度には驚きです。動作は安定していて精度もよく、デサインも洗礼されています。イベント後はリプレイを見ることができたり軌跡をgpxデータとしてダウンロードすることもできます。

そんな中、昨年度からインカレでもGPSラッキングが導入されました。ですが、更新頻度や精度、UI/UX面で多くの課題が残っているように思いました。(もちろんGPSラッキングの導入を否定しているわけではありません。)

インカレで使用したGPSラッキングシステムは日本ロゲイニング協会からレンタルしたものだと記憶しています。ロゲイニングをトラッキングする場合であれば選手の大体の位置がわかれば十分であり、毎秒更新であったり高い精度を求める必要はないのかもしれません。

f:id:cola119:20181027024645p:plain
インカレロング2018

開発のきっかけ

やっぱり海外のシステムのような高精度で高品質なトラッキングを実現して、インカレの観戦がもっと盛り上がって欲しいものです。

運良く私は少しばかりパソコンに詳しくプログラミングができたので、海外のもののようなシステムは簡単ではないが開発できると思いました。ですが、開発する上でネックとなったのはGPS端末です。私には半導体の知識はなく、GPS端末を自作するとなると時間・費用・やる気の面でかなりのコストがかかってしまいます。 個人がロゲイニング協会からレンタルするのも難しそうです。

そこで色々調べて考えたのですが、GPS技術を使った身近なデバイスとしてスマートフォンがあることに気づきました。Android,iOSともにアプリ開発に大したコストはかからず、しかも4G回線をデフォルトで利用できます。難しいことは考えずとりあえずシステムを開発するには十分であると思い開発に取り掛かりました。

今回開発したシステム

f:id:cola119:20181213190757p:plain:w500

前述の通り、選手の位置情報を送信する端末はスマートフォンを用います。スマホで専用アプリを起動しておくと、スマホが位置情報を取得するたびに4G回線を使って用意しておいたデータベースに位置情報が送信されます。このデータを受信するたびにトラッキングサイトの描画を更新します。この流れをリアルタイムに行えればいいわけです。

①今回はスマートフォンとしてiPhoneを用いました。iOSアプリ開発にはSwiftを用います。中身はとても単純なものですが、Swiftの仕様上、位置情報受信間隔は最短1秒となりました。Androidの場合はもっと短い間隔で受信できるかもしれません。

SwiftのGPS関係(LocationService)を触るのは初めてでしたが割と簡単に実装できました。次のサイトが非常に参考になりました。

medium.com

②データベースとのデータのやり取りですが、ここもリアルタイムでやらなければなりません。というか、ここをリアルタイムで実現することがリアルタイムGPSラッキングの全てと言っても過言ではありませんね。

ここの実現が一番むずかしいと思っていましたが、Firebase Realtime Databaseを用いることでとても簡単に実装できました。これはその名の通り、一つのRealtime Databaseインスタンスを共有すれば各プラットフォームでリアルタイムでデータを同期することが来ます。更に素晴らしいことに、デバイスがオフラインになってもローカルにデータを保存していて、オンラインに戻ったときにオフライン中のデータを自動的にマージすることもやってくれます。深い沢やヤブの中、そもそもキャリア回線が整備されていないエリアで使用したとしても、GPS信号さえ受信できていればGPSロガーとして機能するということです。レース後に電波のある場所へ行けば軌跡を復元できます。

③選手の位置情報を(ほぼ)リアルタイムで取得できたので、あとはこれをもとに選手の分身を移動させるだけです。ここではD3.jsとGoogle Map APIを用いて実装しました。しっぽの移動が難しかったです。

実験

フォレストでの実験

鳥追窪で行われた部内の練習会のときにはじめての実地での実験を行いました。使用した端末はiPhone8pulsです。 トレランザックの外ポケットに入れて走ってもらいました。

www.youtube.com

電波状況を心配していたのですが、ほとんどの区間で途切れることなく送受信できていました。下絵(O-map)とGoogle Mapの重ね合わせでズレが若干生じた部分があったものの、トラッキングとしては十分な精度だと思います。

f:id:cola119:20181214000806j:plain:w400
軌跡をあとから確認できる

さっきも書いた通り、途中で電波を失って送信できなくなったとしても、ローカル(端末側)は位置情報を保持していて次に電波を測位したら自動的に圏外区間の位置情報も送信してくれます。なので軌跡をあとから確認した場合は抜けなく表示することができます。

複数ユーザーの表示

上の実験ではアプリをインストールした端末を1台しか用意していなかったので一人しか表示されていませんが、複数人表示もできます。

www.youtube.com

Xcodeのシミュレータなので米国AppleStoreの周りを移動しています。海外のもののように、端末が圏外になったときは色が薄くなるようにしています。

今後の課題

今回はスマートフォンを用いてリアルタイムGPSラッキングシステムを実装しました。まだ本格的に運用するには不十分な完成度かなと思います。

GPS端末にスマートフォンを用いるということ

スマートフォンは大きくて重いです。持って走るには結構厳しいですよね。この世界最小のスマホを使えば解決するかもしれません。 また、GPS精度は端末側に依存しますが、安価で軽く小さいスマホGPS精度が悪い傾向にあります。また、競技者が外部と通信できるデバイスを持っていることをよく思わない人がいるかも知れません。

山中での電波状況

ご存知の通り、必ずしも山中で4G,3G回線が通じているとは限りません。ぶっちゃけこれはどうしようもない問題のような気もします(電波が通じない場所じゃそもそも観戦もできない)。 ただ世の中には便利なものがあって、LPWA (Low Power, Wide Area)という無線規格が存在します。これは適当な言い方をすると遠距離でも通信できるBluetoothみたいなもので、ゲートウェイを設置することで4G回線を使わずデバイスと通信することができます。 山岳遭難を防ぐために導入された事例もあるようです。

soracom.jp

海外のトラッキングはかなり安定して通信できているので、もしかしたらこの技術を使っているのかもしれません。LoRaやSigfoxといったLPWA規格はヨーロッパで広く使われているみたいで、最近日本にも普及し始めているようです。LPWAについてはまだよくわかっていないのでこれから調べていこうと思います。

ランニングコスト

1選手を1レーストラッキングするのに必要な費用を考えてみました。

  1. スマホGPS端末):私物なら0円
  2. 開発費
    • iOSアプリはストアに公開する場合、年間99ドル(11,000円)
    • FIrebase利用料:様々なプランがありますが、一月あたり1GB保存、10GBダウンロードまでは無料です。座標情報を扱っているだけなら十分な範囲だと思います。
    • Google Map API利用料:料金体系がよくわかっていないのですが、月200ドルまで無料なので大丈夫でしょう(適当)。とりあえずGoogle Mapを使っただけなのでLeaflet.jsを使えばフリーで運用できると思います。

考えてみたものの、スマホを使えばほとんどお金をかけずに運用できそうです。

O-mapの公開範囲

これはあまり本質的ではありませんが、日本ではO-mapは著作物でありパブリックにするべきではないと考えている人が多いようです。僕はむしろもっとパブリックにした方がいいと思います。

開発

今後需要がありそうならさらに開発を続けていこうと思っています。UIを改善して、リプレイやGPXエクスポート機能をつければ最低限、海外のものに近づけると思います。あとはApple WatchのCellularモデルは腕時計単体でモバイル通信が可能なので、Apple Watch専用アプリを作ればスマホを持たずにトラッキングができそうです。腕時計なら競技中につけてても違和感ないので、まさに理想のトラッキング環境と言えるでしょう。ただApple Watchは6,7万するのでなかなか手が出ないのと、6,7万の腕時計をつけて森を走り回るのはちょっとだけ勇気が必要です。卒論の闇から開放されたら色々試してみようと思います。

今後

スマートフォンGPSでも最低限のトラッキングを実現することができました。

現在、作ったアプリは一般に公開していません。今後どうするかは考え中です。練習会でトラッキングを使ったとして、面白いかもしれませんがただそれだけな気がします。それに練習会ではスマホを見ずに練習したほうがいいと思います。 すぐにルートを振り返えれるという点では良いかもしれません。

普及という面では、オリエンテーリングを初めて体験する人にスマホを持って森に入ってもらうのはいいかもしれません。スマホでアプリを起動しながらトラッキングサイトを開けば、今自分がいる場所をリアルタイムでO-map上で確認することができます(地図アプリみたいな感じ)。競技性は失われますが、一人で森に入るのが怖い人でもスマホを持っていれば現在地を確認したり、外部に連絡を取ることができます。 フィニッシュしてすぐにどこを通ってきたのかを確認できるので、レースの振り返りにも最適だと思います。体験会に来てくれた人が事後にルートを思い出して分析するのって結構難しいことだと思います。このシステムなら、全員のルートが同時に見れるので参加者全体にアドバイスしたりお互いに反省しあうことができます。こうやってレース後に振り返ってもらうことで、次の参加へのインセンティブになるんじゃないかなとも思います。

大会で使うことを考えると、今年のCCMやインカレのように会場に観戦者がいるような大会が向いていると思います。ただ競技性を重視するとスマートフォンより専用の端末の方がいいですね。

終わりに

オリエンテーリングは競技中の様子を捉えるのが困難な上に、言葉でナビゲーションの面白さ・難しさを伝えにくいです。しかしうさぎのアジトさんの記事にもあるように、オリエンテーリングはかっこいい競技だと思います。GPSラッキングが身近なものになって誰でも簡単に選手の動きを見れるようになれば、オリエンテーリングのかっこよさをちょっとは伝えられるんじゃないかなと思います。

GPSラッキングサイトをもっとより良いものにできると思います。 また、GPS端末の仕様や現行のビジネスモデルを知りたいです。

  • 演出好きな運営者様へ

ちょっとしたイベントでGPSラッキングを試してみたいです。ロゲイニング協会からレンタルしたGPS端末を使ってももっといい表示にできると思います。

  • 半導体・電気電子の知識がある人へ

協力してGPSラッキング事業を始めませんか。Androidアプリを開発できる人、通信・GPSモジュールを使って位置情報送信デバイスを開発できる人いませんか。

もし何か聞きたいことがあれば気軽に連絡してください!