Local Track Studioの使い方

この記事はLocal Track Studioのヘルプページです。FIT、GPX、TrackJSONなどの経路データを読み込み、変換、結合、プライバシー加工、ダウンサンプリング、地図表示、分析を行い、各種形式で保存する方法を説明します。

概要

Local Track Studioは、GPS機器やサイクルコンピュータなどで記録した経路データを、Webブラウザ上で確認・変換・分析するためのツールです。FIT、GPX、TrackJSON、圧縮TrackJSONを共通の経路データとして読み込み、地図、走行概要、グラフ、各種統計を確認できます。

読み込んだ経路は、必要に応じて複数ファイルを1本へ結合したり、先頭と末尾を時間で切り取ったり、自宅などを隠すために始点・終点付近の座標を難読化したり、経路点数を減らしたりできます。処理後のデータはTrackJSON、圧縮TrackJSON、GPX、FITとして保存できます。

主要な経路変換と分析処理はブラウザ内で行います。TrackJSONに始点、終点、中心点などの地名ラベルを付ける際には、STGYの逆ジオコーディング機能を利用する場合があります。結果はSTGYの経路ストレージへ自動保存されないので、必要なファイルはDownloadしてください。

基本的な使い方

Local Track Studioを開き、「Track files」から経路ファイルを1個以上選びます。対応形式はFIT、GPX、TrackJSON、TRJGZです。TrackJSONは .trj のほか .json や .geojson の拡張子でも読み込めます。

通常は何も追加設定せず、「Convert and preview」を押せば変換できます。変換後は地図、Ride summary、Download欄が表示されます。「Show analysis」がオンなら、その下に詳しいAnalysisも表示されます。

経路の一部を切り取りたい場合には「Trim activity」、自宅や勤務先の位置を隠したい場合には「Obfuscate privacy」、経路点数を減らしたい場合には「Downsample」を変換前に有効にします。複数ファイルを選んだ場合には、まず1本のActivityへ結合してから、Trim、Privacy、Downsampleの順に処理されます。

設定や選択ファイルを最初の状態に戻すには「Reset」を押します。

入力形式

Local Track Studioは、次の経路形式を読み込めます。

  • FIT:Garminなどのサイクルコンピュータやスポーツ機器で広く使われるバイナリ形式です。GPS座標のほか、心拍数、ケイデンス、パワー、温度など多数のセンサー値を格納できます。
  • GPX:GPS経路をXMLで表す一般的な交換形式です。GPS座標や標高、時刻などを扱えます。
  • TrackJSON:STGYで経路表示に使うJSON形式です。拡張子は主に .trj です。GeoJSONを基礎として、時刻、距離、標高、心拍数、ケイデンス、パワーなどの系列とActivityのメタデータを持てます。
  • TRJGZ:TrackJSONをgzip圧縮した形式です。拡張子は .trjgz です。

どの形式を読み込んでも、内部では共通のActivity表現へ変換してから、その後の結合、加工、統計、表示、書き出しを行います。そのため、例えばFITをGPXへ変換したり、GPXをTrackJSONへ変換したりできます。

TRJGZの読み込みにはブラウザのgzip展開機能を使います。対応していない古いブラウザではTRJGZを読み込めない場合があります。

複数ファイルの結合

「Track files」では複数のファイルを同時に選択できます。複数選ぶと、それぞれを解析した後に1つのActivityへ結合します。FITとGPX、TrackJSONなど、異なる形式を混ぜて選ぶこともできます。

結合時には各ファイルの経路点を共通の時間・距離表現へ整理し、Activity全体として扱えるようにします。結果のタイトルは最初のファイル名を基にした merged 付きの名前になります。Downloadされる各形式も、この結合後のActivityから生成されます。

複数日にまたがるファイルや、本来は別のActivityとして扱うべきファイルを結合すると、地図や統計も1本分として扱われます。単に複数ファイルをまとめて一括変換したいだけの場合には、別々に処理してください。

Trim activity

「Trim activity」をオンにすると、Activityの先頭と末尾を秒単位で切り取れます。「Start seconds」は先頭から除外する秒数、「End seconds」は末尾から除外する秒数です。

例えば、記録開始から2分間を削除したい場合にはStart secondsを120にします。終了後に記録を止め忘れた3分間を削除したい場合にはEnd secondsを180にします。両方を同時に指定することもできます。

Trimは単に地図上で非表示にするだけではありません。指定範囲の経路点そのものを除外し、残ったActivityを先頭からの時間・距離として正規化し直します。総距離、経過時間、移動時間、各種統計も残った区間から再計算されます。

Trimを利用するには、経路点に時刻情報が必要です。StartとEndの合計がActivity全体の時間を超える場合や、全ての点が消えてしまう設定では変換できません。

Obfuscate privacy

サイクリングやランニングのログでは、自宅や勤務先が経路の始点・終点になりやすく、そのまま公開すると位置を推測されることがあります。「Obfuscate privacy」は、このような場所を隠すための機能です。

「Start m」は始点側、「End m」は終点側で難読化する距離です。初期値はそれぞれ1000mです。例えばStart mを1000にすると、始点から1000mまでに含まれる経路点の座標を、1000m付近の境界点の座標へまとめます。End mも同様に終点側から処理します。

この処理は経路点そのものを削除するのではなく、その範囲の緯度・経度を境界の座標へ置き換えます。時刻、心拍数、パワーなど、座標以外の測定値は残ります。指定した始点側と終点側の距離が経路全体より大きい場合には、位置情報の大部分が1地点へまとめられるため、設定値には注意してください。

Privacy処理はDownsampleより前に行われます。変換後の地図だけでなく、DownloadするTrackJSON、TRJGZ、GPX、FITにも加工後の座標が使われます。公開用ファイルを作る場合には、Download後の地図も確認してください。

同じ出発地点から毎回まったく同じ距離だけ難読化すると、複数のログを比較して元の場所を推測される可能性があります。公開の目的や経路に応じて距離を変えることも検討してください。

Downsample

GPS機器が1秒ごとに記録すると、長時間のActivityには数万点の経路点が含まれます。全点を残す必要がない場合には「Downsample」をオンにして、経路点数を減らせます。

「Max points」は変換後に残す最大点数です。初期値は10000です。元の点数がMax points以下なら、必要以上に点を増減しません。

「Strategy」には「Uniform」と「Aggregate」があります。「Uniform」は元の経路点からほぼ均等な間隔で点を選びます。選ばれた点の値をそのまま残すため、元のサンプルを忠実に間引きたい場合に分かりやすい方式です。

「Aggregate」は区間ごとに代表点を作り、センサー値などを集約します。大量の点を減らしながら、その区間の測定値の傾向を残したい場合に向いています。Local Track Studioの初期設定はAggregateです。

「Preserve endpoints」をオンにすると、Downsampleしても元の始点と終点を必ず残します。通常はオンのままにしておくとよいでしょう。

Downsampleは表示だけに適用される設定ではありません。DownloadされるTrackJSON、TRJGZ、GPX、FITもDownsample後の点から生成されます。元の全サンプルを保持したファイルも必要な場合は、変換前の原本を別に保存しておいてください。

Convert and preview

設定が終わったら「Convert and preview」を押します。Local Track Studioは入力形式を解析し、必要なら複数ファイルを結合し、Trim、Privacy、Downsampleを順に適用します。その後、TrackJSON、GPX、FITの出力データを作り、地図と統計を表示します。

TrackJSONには、経路の始点、終点、中間点、中心点、始点から最も遠い地点などの代表点を持たせることができます。Local Track Studioでは、利用できる場合にはそれらの座標を逆ジオコーディングし、ブラウザの言語設定に合わせた地名ラベルを付けます。

処理後、地図の見出しには入力形式の内訳と表示点数が表示されます。例えば複数形式を混ぜた場合には、FIT、GPX、TrackJSONなどの個数が組み合わせて表示されます。

地図表示

変換後の経路は地図上に表示されます。Local Track StudioではCyclOSMを初期背景地図として使い、STGYの経路レンダラによってルート、代表点、測定値グラフなどを表示します。

地図はドラッグして移動し、ズームして細部を確認できます。地図のレイヤーコントロールから、利用可能な背景地図へ切り替えることもできます。経路に標高、心拍数、ケイデンス、パワー、速度などの系列が含まれる場合には、地図と連動したグラフも利用できます。

グラフでは横軸を距離、時間、サンプル位置などから選び、縦軸をデータに含まれる測定値へ切り替えられます。地図上の位置とグラフ上の位置を対応させて、ある場所でどの程度の速度、心拍数、パワーだったかを確認できます。

入力データに存在しない測定値は表示されません。GPXのようにGPS座標と標高だけのデータでは、FITのようなセンサー情報を使った表示はできません。

Ride summary

地図の横には「Ride summary」が表示されます。入力データに値が存在する項目だけがカードとして表示されます。

代表的な項目には、経路の代表座標、開始時刻、終了時刻、Elapsed time、Moving time、Total distance、Average speed、獲得標高や下降量、Average HR、Average power、Normalized power、Work、Calories、Average temperatureなどがあります。

入力形式や記録機器によって含まれる情報は異なります。例えばパワーメーターのないFITや一般的なGPXではPower関連の項目は表示されません。表示されない項目があること自体は変換エラーではありません。

Show analysis、FTP、LTHR

「Show analysis」がオンの場合、Ride summaryより詳しい「Analysis」が表示されます。不要な場合にはオフにできます。

「FTP W」はFunctional Threshold Powerをワット単位で指定し、Power zoneの計算に使います。初期値は223Wです。「LTHR bpm」はLactate Threshold Heart Rateを1分あたりの心拍数で指定し、Heart-rate zoneの計算に使います。初期値は151bpmです。

FTPやLTHRはあなた自身の値に合わせて設定してください。これらの値は経路ファイルそのものを書き換えるための値ではなく、Analysisや地図上のゾーン表示を計算するための基準です。

Analysis

Analysisには、Activityに含まれるデータに応じて複数の分析が表示されます。

「Metadata」には、開始・終了時刻、距離、機器情報、各種統計など、経路から得られたメタデータの要約が表示されます。

速度、ケイデンス、心拍数、パワーのデータがあれば、それぞれの分布をヒストグラム形式で確認できます。PowerデータとFTPがあればPower zones、心拍数とLTHRがあればHeart-rate zonesも表示され、各ゾーンに滞在した時間と割合を確認できます。

パワーデータが十分にあればPower curveも表示されます。短時間から長時間まで、各時間幅で維持できた最大平均パワーを確認するためのグラフです。

Scatter plot

Analysisの「Scatter plot」では、2種類の測定値をX軸とY軸に選んで、その関係を散布図で確認できます。表示には30秒の平滑化データを利用します。

データに含まれている場合、Speed、Cadence、Heart rate、Power、Cardio efficiency、Torque、Torque efficiency、Pedal smoothness、Grade、Altitudeなどを軸に選べます。例えばCadenceとSpeed、PowerとHeart rate、GradeとPowerなどを組み合わせられます。

右上にはPearsonの相関係数 r とサンプル数が表示されます。相関係数は2つの値の線形な関係の強さを確認するための指標ですが、因果関係を示すものではありません。

「Trim outliers (2–98%)」をオンにすると、極端な値によってグラフ全体が圧縮されないように、表示範囲を2パーセンタイルから98パーセンタイルへ絞ります。元データから点を削除する機能ではなく、散布図の表示範囲だけを変えます。

Download

変換後は、同じ加工済みActivityを4種類の形式で保存できます。

「TrackJSON」は非圧縮の .trj ファイルです。STGYの地図表示や、TrackJSONの構造を直接扱いたい場合に向いています。「Compressed」はTrackJSONをgzip圧縮した .trjgz ファイルで、同じ内容をより小さく保存できます。

「GPX」は一般的なGPSソフトウェアとの交換に使いやすいXML形式です。「FIT」はActivityをFIT形式へ再生成したものです。

FIT入力からFITをDownloadした場合でも、元のバイナリファイルをそのまま返すわけではありません。Local Track Studioはいったん共通のActivityへ変換し、そのActivityから新しいFITを生成します。このため、メーカー固有の未知のメッセージや、Local Track Studioの共通形式で保持していない情報は元ファイルと完全には同一になりません。原本が必要な場合は元のFITも別に保管してください。

同様に、Trim、Privacy、Downsample、複数ファイルのMergeを行った場合には、その加工結果が全てのDownload形式へ反映されます。

TrackJSONとSTGY

TrackJSONは、STGYが経路をWeb上で表示するために使う形式です。GeoJSONの FeatureCollection を基礎として、経路座標と同じ位置に時刻、距離、標高、心拍数、ケイデンス、パワー、速度などを対応させられます。

非圧縮の拡張子は .trj、gzip圧縮版は .trjgz です。Local Track Studioで作ったTrackJSONやTRJGZは、STGYの経路機能で利用できる形式です。ただし、この画面でDownloadしただけではSTGYへ自動登録されません。STGYで使う場合は、必要に応じて経路のアップロード機能から登録してください。

保存とプライバシーの確認

Local Track Studioで表示した結果や変換ファイルは、ページを閉じても自動保存されません。必要な形式をDownloadして保管してください。

公開用の経路を作る場合には、Privacy設定を有効にしただけで安心せず、変換後の地図を実際に確認してください。始点・終点以外にも自宅や勤務先が分かる寄り道、地名、ピン、時間情報などが含まれる可能性があります。

元ファイルを加工せず保存しておき、公開用のコピーをLocal Track Studioで作る運用にすると、後から別のPrivacy距離やDownsample設定で作り直しやすくなります。