
更に更に「GPS機能」の話題を続けます。
多くの方々が興味の対象外だとは思いますが、当方のblog(特に)
GPSロガー ホラックス HOLUX m-241の不具合解消 この件のPVレポート数が未だに一定数を保っており、予想外に好評なようで、今回もGPSの一般的データ(GPX)について、データの結合ファイルの作成について記載したいと思います。
・
https://summercold13.net/archives/5602
こういう方法で【データファイルの結合】をされておられるようです。
中々説明が詳細で、根気が必要のようです。
Garmin Connect(Express)以外の方は扱えないし、理解困難かも知れませんね。
勿論、スマートなGPSデータの編集ソフト(アプリ)による加工方法もあると思いますが、私にはフィットする感触のものがイマイチ見つけられなかったので、当方は「Windows標準のメモ帳(実際の加工はテキストエディタ)」のみで編集加工しようと思いついたものです。
大した内容でもありませんが、GPSデータに興味ある方はご覧ください。
GPXファイルでしたら、アプリによりまして多少の記載事項(方法も)が異なるかも知れませんが、5種類のアプリデータをみたところ、どれでも共通に扱えたので、当方の知らない機器やアプリによるGPXデータも、以下記載の方法でデータの結合が出来ると思います。
参考:
https://ja.wikipedia.org/wiki/GPX
GPXは、XML Schemaベース、ウェイポイントや軌跡、ルートなどを記述。
GPXファイルに必要な最小限のプロパティは、単一ポイントの緯度経度情報で、それ以外の情報はすべて任意である。…と記載されています。
そもそも、何故複数のGPXファイルをひとつに纏めようと思ったのかと言いますと…
所用があったのですが、自転車で運動を兼ねて出かけました。
出発時にGPSスマートウォッチでデータ取りしながら走行し、第一所用地で1時間の滞在があったので、一旦データを保存しました。
スマートウォッチはスマホと連動していますから、データはスマホへ、そしてメーカーの管理サーバーへ。
第二所用地に向けて再スタートでまたデータ取りです。第二所用地でデータ保存、そして滞在後に第三所用地へ、そして保存、また1時間半の滞在を経て次の目的地へ。
最後に帰宅の折には6つ目のデータ保存になりました。
その6つのデータは個々の運動としてではなく、一連の運動としてデータ保存したいので、6つのデータの連結(結合)を思いついたワケです。
さてさて、ここから具体的【結合】方法です。
大雑把な作業イメージは…
1.LoggerなどGPS機器が保有しているGPXデータを作業ファイルにDLする。
又はGarminとかYAMAPとか管理サーバーに保有のデータからGPXデータをDLする。
2.データ取得の順に(仮に)01.gpx、02.gpx、03.gpx…06.gpxという名称にする。
3.gpxファイルはテキストデータなので、メモ帳で加工作業しやすいように、拡張子の「gpx」を一旦全てのgpxデータファイルを「txt」に変える。
【順に01.txt、02.txt、03.txt…06.txtという名称に変更する。】
参考:
https://kurage.ready.jp/w_map/trans/gpxfile.html
1.GPX ファイルとは
GPSデータを交換するための XML文書の一形式です。
2.GPX ファイルの構造
書式(XML Schemaで定義)には大きく、ウェイポイント(<wpt>要素),ルート(<rte>要素),トラック(<trk>要素)の3種類があり,通常作業軌跡はトラックデータとして記録されます。
このトラックデータ(<trk>要素)はさらに複数のトラックセグメント(<trkseg>要素)から構成され,セグメントの中に個々のトラックポイントデータ(<trkpt>要素)が記録されます。
トラックポイントはウェイポイントと同じデータ型(wptType型)で,属性値として緯度・経度,子要素として標高やジオイド高,GPS受信状況・精度などが記録されます。
…という説明が記載されています。
3.01.txt~06.txtを加工しながら一つのtxtファイルにするのですが、…
大事なのは、個々のトラックポイントのデータです。…
簡素で上手く説明しているページがありました。
参考:
http://tancro.e-central.tv/grandmaster/gpx/yamareco-gpx.html
ここのページの例でいいますと…
<trkpt lat="36.415416275733136" lon="139.4245576551685">
●説明 Track Pointの始まり宣言があり、緯度(lat)経度(lon)
●説明 ここの少数点以下の数字は精度のきめ細かさです。
●説明 (データ精度のことは、後程アプリ毎の例で説明します。)
<ele>253</ele>
●説明 高度(m)ですが、これもアプリの重要視によって、少数点以下もあります。
<time>2010-09-18T23:08:00Z</time>
●説明 年月日とグリニッジ時刻ですが、ここの書き方もアプリによって様々です。
+9時間で日本時間になります。
</trkpt>
●説明 ひとつのデータ(Track Point)のお終いを宣言していますが、…
●説明 中には…
<extensions> <●:TrackPointExtension/> </extensions> などの拡張機能
例えば、温度とか、心拍数とか、ケイデンス(自転車のクランク回転数)とかが加わります。
4.01.txt(最初のデータファイル)の具体的作業に
ヘッド部とTrack Point部はそのままコピーして、最後のデータ終了部のみカットして新しいファイル(適当な名前)でtxt保存します。仮に「123456data.txt」に貼り付け保存します。
カットするのは(上の例でいいますと)…最後の…
</trkseg></trk></gpx> ←このend部分です。
なお、ヘッド部は参考に、この例でいいますと…
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/0" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<trk><name>仙人ヶ岳</name>
<number>1</number> ●正確にはここまでですが、…
<trkseg> ●今回の作業では、この部分(Track Segment)までヘッド部と呼ぶことにします。
◆類似GPXデータ写真(形式を参考に)です。クリックで拡大します。
5.02.txt~05.txtの具体的作業に
上記説明の個々のトラックデータ
<trkpt lat="36.○○○" lon="139.○○○"> ~ <ele>○</ele> ~ <time>2010-09-18T○○○</time> ~ </trkpt>
これらのデータ部を全てコピーして、「123456data.txt」ファイルのお尻に貼り付けます。02、03、04、05ファイルと繰り返し、全てのトラックデータを貼り付けます。
あとでデータの繋ぎ部分をみる必要がある場合は、繋ぎ部分に複数の改行をいれておくと探し出し易いかも知れませんね。
6.06.txt(最後のデータファイル)の具体的作業に
上記説明のヘッド部を省いて、…
トラックデータ部の全てとend部(ファイルの最後まで)までコピーして、「123456data.txt」ファイルのお尻に貼り付けます。
そうすると、…
ヘッド部がひとつあって、トラックデータが従来の01~06.txtまでが順に並び(繋がり)、最後のend部もひとつという風になり、「123456data.txt」ファイルの上書き保存です。
7.「123456data.txt」ファイルの拡張子を「gpx」に書き換えます。(gpxデータファイルに戻す)
「123456data.gpx」になり、これで編集加工データの「gpx」ファイルが完成です。
カシミール3D辺りの標準的なソフトウェアで編集加工データの確認をしていただけます。
■では、GPS閲覧アプリや Garmin connect とか YAMAP とか、そのアプリのアップロード方法でGPXデータをアップすると、上手く整形編集加工一体結合データになっているのが確認出来るハズです。
Garmin connect(Express)では…
1.データ編集画面
2.データのインポート(雲形マーク)
3.編集した結合GPXデータをドラッグ&ドロップ
4.詳細確認
5.分類 と タイトルの記入
6.一覧表確認
7.設定から編集保存
これでアップ完了となる。
YAMAP では
1.活動日記の作成・編集
2.マップ選択、活動種別、公開の可否
3.タイトル、活動メモ、写真のドラッグ&ドロップ
写真コメントやタイトル写真の選定など
4.変更内容を保存
5.編集
6.軌跡 上級者向け GPXファイルを追加
7.現在の軌跡を削除して、新規で登録にチェック
8.GPXファイルを選択し 登録
9.変更内容を保存 =完了
---------------------------------------------------
■ついでなので、アプリによるGPXデータの中身について、少々…
GPS GPX Track Pointデータの中身分析
参考(再掲):
https://ja.wikipedia.org/wiki/GPX
…ポイントデータの中身は、GPXファイルに必要な最小限のプロパティ(データ形式)は、単一のポイントの緯度経度情報で、GPS取得アプリによって異なり、それ以外の情報はすべて任意で、Data精度も任意になっているようです。
…個々のアプリのデータの中身を調べてみました。
(※緯度経度の桁数は.も1桁と数えました。)
●GARMIN GPS ウォッチ は緯度(32桁)、経度(33桁)、高度(0.m16桁)、時間
GARMIN 拡張機能
外部機器の導入でGPXプラグイン 温度、心拍、ケイデンス表示が可能
●Holux GPS Logger は緯度(10桁)、経度(11桁)、高度(0.1m)、時間
●yamareko は緯度(17桁)、経度(18桁)、高度(m)、時間
●旧スマホ みんなどこ は緯度( 9桁)、経度(10桁)、高度(0.1m)、時間
●旧スマホ yamap は緯度(10桁)、経度(10桁)、高度(0.m12桁)、時間
●新スマホ yamap は緯度(10桁)、経度(11桁)、高度(0.m12桁)、時間
このようになっていました。
■保存データの精度は様々です。
■GARMINは細部までデータ取りをしており、個々のデータの精度が高いのでしょうね。
その分、電池も消耗し、データ取りの時間感覚が長く、私のGPSウォッチではデータの取得時間調整が出来ません。
■GARMIN以外はデータに拡張機能がなく、緯度・経度・高度・時間情報になっています。
■旧スマホでは、過去に「yamap」と「みんなどこ」でデータ取りをしていましたが、アプリによって、高度など重要視しているデータが異なるようでした。
---------------------------------------------------
追記 20200516(土)
参考:GPXファイルの結合についての記載HPがありました。
この方はセグメントを残していますが、当方と同じ作業のようです。
(前段の Garmin Connect の説明がない方が解かり易いでしょうね。)
・https://cycle.photo-blog.jp/archives/22869
この方はカシミール3Dで結合する方法が書いていますね。
・https://www.yamareco.com/modules/yamanote/detail.php?nid=202
この方は、轍(wadachi)を使っていますね。
・https://blog.hopelaboratory.net/silentdream/?p=2071
この方も、結局は当方と同じ手法のようです。
(前後のSTRAVAへの扱い説明がない方が解かり易いかも、ですね。)
・https://cycle-tv.com/post-2019
Garmin Connect、Strava、からDLしたデータを轍 Wadachi で結合ですね。
・https://tourdekimamani.com/impression_wadachi_gps_linking/
■…当方より解かり易い書き方説明の方もおられますので、理解し易い方法で編集結合(連結)作業をしていただいたら、いいかと思います。
---------------------------------------------------
今回の写真は以下のフォトギャラリーにアップしました。
・20200515 GPS Data GPX Track Pointデータファイルの【結合】など…・1頁(01~07)