t2g3 Project - GPSデータからGoogle Maps用データ作成

■動機

trk2googlemaps という公開当初は大変高機能&便利な旅アルバム作成ソフトがあり、バイクツーリング・旅の軌跡や写真アルバムの作成に大変お世話になっていました。(個人情報満載なので非公開)
trk2googlemapsを実際にアルバム作成として使い始めたのは2006/9/16、現時点(2021.5)で15年ほど使用させていただいています。

trk2googlemapsが出力したHTMLだと軌跡と写真データが羅列されるだけの味気ないものなのですが、そこにScript(当時はPerl)を作成してHTMLを変換、レイアウトを若干変更、コメントを自由に付けられるようにして、ギリギリ人様に見ていただけるアルバム作成ツールとしていました。

当時としては非常に高機能なtracking viewerだったのですが、Googleの仕様変更などが続いて次第に使える機能が減っていき、ついには一番肝心のGoogle Mapが表示できなくなってしまいました(trk2googlemapsがAPI v2だったため、すべてのアルバムを再作成!)。
そこでScriptを使ってAPI呼び出しをv2→v3に変換し、なんとか食いつないでいました。

しかし、この変態的なやり方を続けていても新たな限界が出てきそうですし、trk2googlemapsでの作成作業もコマンド一発!と言うにはほど遠い、マウスでふらふらといくつかのステップを踏まなければならず、、、一念発起して同様のものを作成することにしました。(いわゆる車輪の再発明)

現時点では作成作業が(少し)大変なだけなので、自由時間を食い潰してまでも作り直す必要は、、という自主的ブレーキはあるものの、
・自由に拡張できる
・関連の技術を学べる
・コマンド一発で作成できるのは嬉しい
ということでダメ元で作ってみることにしました。

■目的

trk2googlemaps と同等機能+αを考えていますが、ギリギリ人様に見せられるアルバム作成ツールを目指します。

似たようなアプリはすでにあるようで、山登りをしている人であれば YAMAP を使用されているのではないかと思います。
YAMAPを使えば、trk2googlemaps同等の機能はもちろん、SNS的な機能もあり、遙かに高機能であるためわざわざ自作する必要性はほぼゼロです。。

■サンプル

■Download

t2g3-202106xx.zip まだβ版

使用環境:Windows/Linuxで動作確認。Macでも動くと思う。
対応GPSフォーマット:GPX, NMEA

使用方法:

※わからないところはGoogle先生に★
※Windowsを前提に説明しています
※書いてみると説明は長いし、覚えなければならないことはやや多いし、キーボードだけですべて操作できると思うけど、写真とコメントの対応が面倒なので、慣れたとしてもこのツールはあまりお勧めしないかな(笑)
 何年も使っている私でさえ、表示したくない写真の選択をよく間違えます。。(これさえ改善できれば悪くないのだけど)

セットアップ

日々のアルバムの作成

コメントファイルの書式 comment.txt

※比較的重要な項目は太字

項目名 説明
date 日付の指定 YYYY/M/D(自動生成される)
prev_date 前日へのリンクを作成します。
autoを指定すると日付は自動生成。指定したい場合は date と同じ形式
next_date 翌日へのリンクを作成します。
それ以外はprev_dateと同じ
cost 費用の記入。タブ区切りで各項目を記入。
例:
高速<tab>東京〜横浜<tab>1200
ガソリン<tab>xx給油所<tab>2300<tab>25L<tab>カード
※合計金額は自動計算されます
kcal 消費カロリーを記載。(ハイカー、チャリダー向け?)
例:
kcal
2300
coursetime コースタイム(標準所要時間)をH:MMの書式で記載。
例:
coursetime
3:50
photo 追加の写真のファイル名
例:
photo
DSC_2121
DSC_2133x
※ファイル名は拡張子を省略。jpgが前提
※写真のGPSデータ・時刻は見ないので地図上にはマークが表示されません
※これは面倒なので省略できるようにしたいところ
photo以降 写真のファイル名が並ぶ。(ここが一番複雑)
例:
DSC_1234
タイトル
説明(複数行可能、HTML使用可)

・タイトルを-(ハイフン)のみにするとタイトルは省略、前後の写真と並べて表示。
・タイトルを*(アスタリスク)のみにするとその写真は非表示
・タイトルを改行のみは不可(別の写真と認識)
・説明は写真の下に表示。長い文になると写真の横に表示される。
・説明の先頭が/(スラッシュ)だと強制的に写真の横に表示。
・説明を写真の下や横だけではなく、タイトルの下に横幅一杯に表示したい場合:
DSC_1234a ←ファイル名の最後にaを追加
タイトル
タイトルの下に表示する説明
<改行のみ>
DSC_1234
- (ハイフンのみ)
写真の下・横に表示する説明
※ちょっと複雑なのでもう少し簡単にしたいところ
last 写真の後に表示される追加のコメント。(HTML使用可)
例:
last
タイトル
説明
add lastの次に表示される追加のコメント。(HTML使用可)
書式はlastと同じ
comment addの次に表示される追加のコメント。(HTML使用可)
書式はlastと同じ

t2g3.pyのオプション

一番最初、すべて作り直す場合 t2g3.py *.gpx *.log *.jpg
写真のファイル名を表示したい場合 t2g3.py *.gpx *.log *.jpg -p
comment.txtだけを更新した場合 t2g3.py -l -c
comment.txtが更新されたら自動的に処理を開始したい場合 t2g3.py -l -c -w (詳細後述)
最新の地点データ(後述)をダウンロード・更新 t2g3.py -u
※他のオプションと同時利用可能
GPSデータ、地点データが更新された場合
※サムネイルの作成に一番時間がかかるのでその処理だけ省略。
t2g3.py *.gpx *.log *.jpg -n
写真が追加・変更された場合 最初からやり直してください
写真が追加・変更され、かつcomment.txtが編集済みの場合 comment.txtはバックアップを取り、
最初から作り直し、
comment.txtをマージしてください。

comment.txtの自動更新

comment.txt編集時、comment.txtの編集作業とt2g3.pyの実行を行ったり来たりするのは面倒です。そこで-wオプションを使用するとcomment.txtとブラウザのリロードの操作のみで済むので楽になります。
t2g3.py -l -c -w
バッチファイルと組み合わせれば常に自動的に更新できるようになります。

■地点データ

地点データを集めています。
現在は山頂データのみ。

こちらで地点データを入力してください。

もしすでにあるよ!っていう情報をお持ちの方、下記連絡先までお願いします。
1003山はすでに国土地理院から出ていますが、それ以外のデータは見つかりません。。

■進捗

trk2googlemaps同等の機能を実現するには色々とやらなければいけないのですが、Pythonを使うと比較的簡単にでき、順調に進んでいます。
今のところgpxデータからグラフ作成でき、ある程度の目処が立ったのでこのhomepageを立ち上げました。(2021.5.12)

最終的には公開する予定ですが、誰かに使っていただこうというつもりはありません。
(使いたい人がいればもちろんサポートはしますが、たぶんいないでしょう)

2021年の夏頃には完成させたいところ。

2021.5.14 意外と進捗が良いので、α版レベルは数日でできそう
2021.5.15 Pythonのソースコードは現時点で1500行程度。そのくらいでtrk2googlemapsと同等(?)の機能が実現できるんだからPython恐るべし。
2021.5.16 とりあえずできた!まだ精度などに若干の問題はあるけど、α版としては十分。

2021.5.19
こういうプログラミングは楽しくてかなりいいレベルまで来ました。個人的にはもう少しで実用レベル。ただよくわからないのが、trk2googlemapsで作成した写真の緯度・経度と微妙に異なること。どういう計算しているんだろう。

2021.5.30
ようやくtrk2googlemapsとほぼ同等の機能が実現できました!さらに登山用に、コースタイムを与えればコースタイムと実際の山行時間との比率、休憩時間の表示、(小さいものを含めた)ピークの数、大小のピークの上り下りの総高低差など、統計的な数値結果を出せるようになっています。
一般的なアプリにするにはこれをいかにわかりやすく表示するのか、っていうところですが、デザインスキルがゼロなので。。
YAMAPみたいなアプリだと一般の人に理解できない機能はリリースできないはずなので、ここは自分用に作ったアプリのいいところ。でもYAMAPは遙か先に行っているので、自作のアドバンテージはほとんど無さそうですけど。

2021.6.2
さらに欲が出てきて、路程に経由した山名などを表示したくなってきた。(ほとんどYAMAP)
山のデータはネット上にある、と思ったけど意外と国土地理院の1003山くらいしか見つからなかった。
自分の歩いたところの情報があれば良いので、地道に入力していくことにしようかな。
ここはクリックした高度・緯度・経度がわかるので便利。
こういうのはみんなで作って共有すれば良いと思うけど、すでに誰かがやっていないかな?キーワードがわからない。。

2021.6.8頃
β版公開


連絡先: