UTMBで使用するGPSについての考察(その3:SUUNTO GPSログファイル解析編)

さていよいよ核心に迫ってきました。
UTMBで使用するGPSはSUUNTO Ambit2に決定したので、今度は最適なセッティングを見つけてみましょう。

対象となるログファイルを取得するために先週「記録間隔:1秒、GPS精度:良い - 24hバッテリー寿命、心拍数ベルトあり」というセッティングにて塔ノ岳ピストン(14km、3時間ちょうど、累積標高1300m)を走ってきました。


このセッティングでのGPSログは、「あとで軌跡を楽しむ」 という用途を十分に満足するものです。

ログファイルの置き場はこのへんに書いてあります(まあmac使いならここしか無いのはお分かりかと思いますけれど)
Moveslinkのバージョンが上がったどこかの時点で保存されるファイル形式が変わってます。
いままではjsonファイルをZIPしたものだったのですが、.sml形式(SUUNTO Markup Language?)という独自のXMLファイルになっています。
改行コードがLFですが、普通のテキストなので興味あれば皆さん御覧ください。

んでファイルを除くと以下の様な要素が見られます。
<SampleType>xxxxxx</SampleType>
GPS情報や気温、気圧などの情報を書き込む際は上のタグが必ず付いています。
そしてxxxxxの部分で種類を分けることが出来そうです。その内訳は
gps-base
gps-small
gps-tiny
periodic
の4種類でした。
上の3つ「gps-」が付いたものはGPSからの緯度経度情報を書き込む際に使う要素で、電波の状態により出てくる頻度と割合が変わりました。
例を見せます。
gps-base:
            <Sample>
                <NavType>0x0204</NavType>
                <NavValid>validated</NavValid>
                <NavTypeExplanation>4 or more SV KF solution, overdetermined</NavTypeExplanation>
                <Satellites>
                    <Satellite>
                        <SV>5</SV>
                        <SNR>35</SNR>
                        <CodeLocked>true</CodeLocked>
                        <Ephemeris>true</Ephemeris>
                        <Custom>State 0xad</Custom>
                    </Satellite>
                    <Satellite>
                        <SV>15</SV>
                        <SNR>33</SNR>
                        <CodeLocked>true</CodeLocked>
                        <Ephemeris>true</Ephemeris>
                        <Custom>State 0xad</Custom>
                    </Satellite>
~ 中略 ~
                    <Satellite>
                        <SV>8</SV>
                        <SNR>0</SNR>
                        <CodeLocked>false</CodeLocked>
                        <Ephemeris>false</Ephemeris>
                        <Custom>State 0</Custom>
                    </Satellite>
                </Satellites>
                <GPSAltitude>305.54</GPSAltitude>
                <GPSHeading>4.956211476888298</GPSHeading>
                <GPSSpeed>2.3</GPSSpeed>
                <GpsHDOP>1</GpsHDOP>
                <NumberOfSatellites>8</NumberOfSatellites>
                <Latitude>0.6179517409640226</Latitude>
                <Longitude>2.428929660835209</Longitude>
                <EHPE>7.39</EHPE>
                <Time>87.98700000000001</Time>
                <UTC>2015-04-11T22:48:02Z</UTC>
                <SampleType>gps-base</SampleType>
            </Sample>

gps-small:
            <Sample>
                <NumberOfSatellites>9</NumberOfSatellites>
                <Latitude>0.6179297550514352</Latitude>
                <Longitude>2.428950704270001</Longitude>
                <EHPE>7</EHPE>
                <Time>13.988</Time>
                <UTC>2015-04-11T22:46:48Z</UTC>
                <SampleType>gps-small</SampleType>
            </Sample>

gps-tiny:
            <Sample>
                <Latitude>0.6179505017802537</Latitude>
                <Longitude>2.428921300708093</Longitude>
                <EHPE>7</EHPE>
                <Time>107.988</Time>
                <UTC>2015-04-11T22:48:22Z</UTC>
                <SampleType>gps-tiny</SampleType>
            </Sample>
3時間のログのうち、GPS関連の要素が出てくる出現間隔をグラフにすると以下のようになりました。


Ambit2のマニュアルには24hモードでは5秒以下という設定になっているという記述がありますが、だいたい5秒から15秒おきに書き込んでいることが分かりました。

さて、では「periodic」という要素は何を記録しているかというと、中を見てみると
            <Sample>
                <VerticalSpeed>-0.03</VerticalSpeed>
                <HR>1.966666666666667</HR>
                <EnergyConsumption>69.78</EnergyConsumption>
                <Temperature>298.45</Temperature>
                <SeaLevelPressure>102980</SeaLevelPressure>
                <Speed>0</Speed>
                <Time>0.055</Time>
                <SampleType>periodic</SampleType>
                <UTC>2015-04-11T22:46:33.001Z</UTC>
            </Sample>
こういうのが1秒おきに延々と書き込まれています。
どうやら心拍や気温、高度といったGPSとは関係ない環境情報です。
セッティングの図で言う「記録間隔:1秒」はこれだったんですね。
レースの時は心拍数モニタなんて付けないし、あとで楽しむために気温とかも要らないので「記録間隔:10秒」の設定にしたほうがメモリと消費電力の削減が出来そうです。

そして、smlファイルの中には他にも「<Events>」タグと頭とお尻に1回だけ書き込まれるオーバーヘッドが少しだけあります。
            <Sample>
                <Time>774.634</Time>
                <Events>
                    <Distance>
                        <Source>Gps</Source>
                        <UTC>2015-04-11T22:59:27.580Z</UTC>
                    </Distance>
                </Events>
                <UTC>2015-04-11T22:59:27.580Z</UTC>
            </Sample>
EventsはGPSと時計の同期を取っているようで、これを減らす方法は無いみたいです。
オーバーヘッド部分も減らせません。

さて、ではそれぞれの要素が出てくる頻度を今回の3時間をモデルとして、48時間に拡張した場合のログ容量を計算しましょう。
その時に「periodic」要素は不要なので「記録間隔:10秒」の設定にしたとして計算します。

3時間のログの中でそれぞれの要素を抜き出して容量を見てみると

3h 回数 容量(Kb)
gps-base 186 507.4
gps-tiny 499 120.9
gps-small 400 114
Events 778 172.9
periodic 10981 5000.7
overhead 1 121.2
all   6037.1

となります。
periodicは頻度が10分の1になるので、この容量を48時間(16倍)にした表は

48h 回数 容量(Kb)
gps-base 2976 8118.4
gps-tiny 7984 1934.4
gps-small 6400 1824
Events 12448 2766.4
periodic 17570 8001.1
overhead 1 121.2
all   22765.5

となり、約23MBとなりました。
Ambit2のメモリ容量は約48MBですので、安全マージンを取っても余裕があります。
電波状態の悪い場所ではgps-baseの割合も多くなるかも知れませんし、GPS精度は「最良 - 16h」まではする必要は無いのかなという感じです。

というわけで、長々とお付き合いいただいて有難うございます。
UTMBでのAmbit2の運用は
  • 記録間隔:10秒
  • GPS精度:良い - 24h
  • 心拍計:なし
  • USB充電池により追加充電
という運用に決定しました。
よろしければ、どうぞ参考になさってください。

コメント

人気の投稿

PVアクセスランキング にほんブログ村