また山に行きたくなる。山の記録を楽しく共有できる。

Yamareco

HOME > ヤマノート > GPSログの時間を書き換える
更新日:2021年10月29日 訪問者数:3525
ジャンル共通 IT
GPSログの時間を書き換える
guchi999
 ChormeやFirefox等のブラウザ上で動く、GPSログ(GPXファイル)の時間を書き換えるツールです。
 (同じことは GPXログエディタ https://www.yamareco.com/modules/yamanote/detail.php?nid=3089 でもできますので、そちらを推奨します。)

 GPS機器の電池切れや操作ミスでログが飛んでしまった場合、ヤマプラや他のソフトで作った手書きのルートファイル(GPXファイル)で補完すると、ルートが飛んだり標高グラフが上手く出なかったりします。
 これはGPXファイルに時間情報が無い、あるいは情報があっても違う時間になっているからで、時間を書き換えれば上手く補完できます。
 また、手書きのルートファイルでレコを作成するとき、ルートファイルの時間を変更しておけば、コースタイムの入力や写真の地図配置の手助けになります。

このツールの特徴は次の通りです。
・Google Map等で作られた時間や標高データの無いGPXファイルにも対応。
・ 元のファイルは何の変更もせず、時間を変更したファイルを新たに作る。
・上り下りのスピードや傾斜設定を変えて自分の歩く速度に合わせれば、実際に歩いた時のコースタイムに近づけられる。
・ブラウザ上で動きますが、サーバーにはアクセスしないのでネットに繋がっていなくても動く。
・ソースコードが判るのでウィルスの心配はない。
・必要なものは通常使用しているブラウザと、HTMLファイル作成のためのメモ帳かテキストエディタのみ。

 Internae Explorerでは動きませんが Google Chorme、Firefox、Microsoft Edge で動作を確認してます。
一般的なJavaScriptで書いているので Opera や safari でも動くと思われます。ファイル名の設定等の一部を変更すれば Mac でも使えるかも知れません。

 このツールは、以前作った VBScript のツールを JavaScript で書き直したもので、基本な働きは同じです。VBScript のツールやGPSログの欠落補完については次のノートをご参照ください。
「GPXファイルの時間変更ツール & GPSログの欠落補完(Windows PC用)」
https://www.yamareco.com/modules/yamanote/detail.php?nid=1808

 GPSログ補完するためのGPXファイルの接続方法は、上記のノートに書いてありますが下記のツールでもできます。
「GPSログ(GPXファイル)の接続および挿入(Windows PC)」
https://www.yamareco.com/modules/yamanote/detail.php?nid=1824
1.準備(HTMLファイルのダウンロード)
次のURLに行ってファイルをダウンロードしてください。
パスワードは YR-guchi999 です。
https://www.axfc.net/u/4041644
このヤマノートは一般に公開されているからパスワードはあまり意味がないのですけど、まあ気分です。

 ファイルは 4041644.txt という名前のテキストでダウンロードされるので、ソースコードが見たければそのままメモ帳等のエディタで開けます。

 ファイル名をどこでも好きなフォルダに置き、適当な名前.htm に変更します。「.htm」は半角です。
「拡張子を変更するとファイルが使えなく可能性があります」という警告が出ますが無視して大丈夫です。
 これでアイコンが、図1のように標準で使っているブラウザのものになります。

 ファイル名の拡張子(.txt)が表示されない設定になっており、 4041644 とだけ表示されている場合は、エクスプローラーの左上の「表示」タブをクリックして、メニューバーにある「ファイル名拡張子」にチェックを入れれば、拡張子が表示されます。(windows10の場合)
 もしくは、エクスプローラーのフォルダーオプションで、出てくるのウインドウの「表示」タブの「詳細設定:」にある「登録されている拡張子は表示しない」という項目のチェックを外して「OK」します。
図1 標準のブラウザが Chorme の場合のアイコン
アイコンは使っている標準のブラウザによって異なります
2.使い方
 使い方は簡単で、GPXファイルを開き、変更したい時間を設定して、変更保存するだけです。
図2.時間変更ツールの画面
 図1のアイコンをダブルクリックすると標準のブラウザが開き、図2の画面になります。
 Javascriptが有効でないと動きませんので、無効になっている場合は有効にしてください。(普通は有効になっていると思います。)

 図2の破線のエリアにGPXファイルをドロップするか、「ファイルの選択」ボタン(Firefoxでは「参照」)をクリックして、出てきた「開く」のウインドウで時間を変更するGPXファイルを選択して開きます。
 GPXファイルであれば入力ファイルの内容が示され、入力ログの日付、開始時間、終了時間が出ます。(時間情報のないGPXファイルのときは出ません。)

 GPXファイルではないファイルを開くと「GPXファイルではありません」のメッセージが出ます。
OKをクリックすればメッセージは消えますので、再度、ファイルを選択してください。
画像ファイルのような大きなファイルを選ぶと、メッセージが出るまで時間がかかることがあります。

 入力ログ時間と入力ファイルの内容欄に示されたGPXファイル内の時間が違っていますが、UTC(世界標準時)と日本標準時の違いです。ログ変更時間の日付時間は日本標準時にしてください。

 ログ変更時間の日付、開始時間、終了時間を入力し、一番下の「時間を変更して保存」をクリックするとダウンロードフォルダに時間の変更されたファイルが元ファイル名_changeの名前で保存されます。

 Firefoxでは「時間を変更して保存」をクリックすると図3のウインドウが開きますので「ファイルを保存する(S)」をチェックして「OK」をクリックしてください。
図3.Firefoxのファイル保存ウインドウ
 変更されたファイルの各ポイント( trkpt )の時間は、開始時間から終了時間までの時間が、上り下りの速度に従って配分されています。元ファイルに標高データが無い場合は、各ポイントの距離に比例して配分されます。

 速度設定と傾斜設定は、必要に応じて自分の歩く速さに合わせて変えてください。設定の値を変えても、ツールを立ち上げる度に元の設定値になります。
 毎回、値を変えるのは面倒なので、htmファイルをエディタで開き、ソースコードの下記の部分のvalueの値を変えて上書き保存すれば、次からはその値で立ち上がります。
 なお、保存するときは、文字コードをUTF8(BOMなし)で保存してください。

<li>速度設定 (平地を1とした時の速度比率)</li>
<label for="entSrUp" >上り: </label><input size="8" type="text" name="entSrUp" value="0.8">
<label for="entSrDwn">下り: </label><input size="8" type="text" name="entSrDwn" value="1.15">
<label for="entSrUpS" >急な上り: </label><input size="8" type="text" name="entSrUpS" value="0.5">
<label for="entSrDwnS">急な下り: </label><input size="8" type="text" name="entSrDwnS" value="0.85">
<li>傾斜設定 (昇降値m/移動距離m 例:50m/100m = 0.5)</li>
<label for="entUpTh1" >上り: </label><input size="8" type="text" name="entUpTh1" value="0.02">
<label for="entDwnTh1">下り: </label><input size="8" type="text" name="entDwnTh1" value="-0.02">
<label for="entUpTh2" >急な上り: </label><input size="8" type="text" name="entUpTh2" value="0.5">
<label for="entDnTh2" >急な下り: </label><input size="8" type="text" name="entDwnTh2" value="-0.5"><br><br>
変更履歴
V1.0:2020/11/04 リリース
V2.0:2020/11/06 ファイル入力にドラッグ&ドロップ機能を追加
お気に入りした人
拍手で応援
拍手した人
拍手

※この記事はヤマレコの「ヤマノート」機能を利用して作られています。
どなたでも、山に関する知識や技術などのノウハウを簡単に残して共有できます。 ぜひご協力ください!

詳しくはこちら

コメント

すばらしいですね・・
guchi999さん こんにちは

とっても使いやすく作られてますね。(ってまだ使ってないんですけど・・(^_^;

早速、ファイルをダウンロードさせて頂きました。 後ほど試験使用させて頂きます。
ファイル名の改変は、ダウンロード後ではなく、ダウンロードのタイミングで任意のファイル名と拡張子(html)で名前を付けて保存すれば、拡張子非表示問題は気にしなくてもよさそうです。

使用後、感想とかありましたらまた報告させて頂きます。

便利なものをありがとうございました。m(__)m
2020/11/4 16:14
Re: すばらしいですね・・
Donaiさん、おはようございます。

今回はVBSのスクリプトで出ていた問題の解消と、多少使い勝手の改善を意識して作りました。
まだ、ドロップファイルでの対応とかを考えているのですが、そのあたりの理解ができていないので組み込んでいません。
(コードはネットを探せば出てくるけど、その動作の仕組みがよく分からないのです。)

ファイル名は、htmでアップローダーに登録すれば手間いらずなのですが、ファイルの中が気になる人や、ウイルスの問題を気にする人がいるかも知れないので、あえてテキストのかたちにしました。
名前の変更については、PCに慣れた人ならどのようにもできるでしょうけど、PCが苦手な人もいるので、標準的な手順を書いてます。

使ってみて何か問題があればご指摘ください。
ただちにとは行かないかも知れませんが、誠意対応いたします。
2020/11/5 9:55
Re[2]: すばらしいですね・・
guchi999さん こんにちは

お忙しい中、これだけ便利なものを作って頂いただけで充分です!
ホント感謝です。

>ドロップファイルでの対応とかを考えているのですが
と有りますが・・ 
ちょい お手伝いと言うかお節介で・・

<style> に以下の1行を追加していただき
#selfile { border: 2px dashed #bbb; padding: 30px; }

<input type="file" id="selfile"> の横に 「←または、ここにドロップ」
と付け加えるのはどうでしょうか?

これで、動作するように見えるのですが・・(検証不足ですいません m(__)m)
2020/11/5 16:29
Re[3]: すばらしいですね・・
Donaiさん、こんにちは。
アドバイス、ありがとうございます。

まだ、Javascriptは勉強中でありまして、はっきりと理解していないのですが・・・
jQueryを使う時はCDNを使うか、ライブラリをダウンロードするかしなければならず、サーバーに繋ぐ必要があるのじゃなかったでしょうか。
今回はサーバーに繋がなくても動くようにしたかったので、jQueryは使わないようにしてました。

それで、まだHTML5のファイルAPIの動作とかをよく理解していないので未実装なのです。
ある領域でhtmlをディゼーブルにして、イベントハンドラで、そこにファイルがドロップされたのを監視して・・・なんてのが、まだあやふやなんですね。
何か質問が入った時に答えられないと拙いので、もう少し理解してからにしたいのです。
2020/11/5 17:13
Re[4]: すばらしいですね・・
guchi999さん こんにちは

jQueryの外部ライブラリー参照とかそんな大層なものでは無いです。(^_^;)
当然 import も require も してませんので。

<style>内に追加したidのid名をguchi999さんが元々js内と<form>の<input>内で宣言されてるid名の"selfile”に統一しただけの、極々シンプルな実装なのです・・

自分の書き方が悪かったのでしょう・・

1604461258.txtの
8行目に以下の一行を追加して
#selfile { border: 2px dashed #bbb; padding: 30px; }
13行目の
<input type="file" id="selfile"><br>

<input type="file" id="selfile"> ←または、ここにドロップ<br>
に変更するだけのシンプルなものです。

つまり「1604461258.txt」の6行目から13行目まで(8行目と14(元13)行目のみ)を以下の様に変更るだでドロップエリアを表示させて、ドロップされたファイルを解析してくれるはずです。

6 <style>
7 body { width: 90%; max-width: 900px; min-width: 480px; margin: 0 auto; }
8 #selfile { border: 2px dashed #bbb; padding: 30px; }
9 </style>
10 </head>
11 <body>
12 <h2>GPXファイルの時間を変更 V1.0</h2>
13 <form name="entFil">
14 <input type="file" id="selfile"> ←または、ここにドロップ<br>

一度↑これに変更して表示させてみてください。 Chormeでは期待通りの動作が得られると思うのですが?
2020/11/5 18:26
Re[5]: すばらしいですね・・
Donaiさん、おはようございます。

ご丁寧な説明、ありがとうございます。
やってみました。あまりにも簡単にできるので、びっくりです!

#が入っていたり、コードが少ないのでjQueryかと思っていました。
この辺りが、素人たる由縁ですね。

もう少しいじくって、少し理解してからファイルを差し替えようと思います。
本当にありがとうございます。
2020/11/6 6:32
初歩的な質問で恐縮です。
初心者ですみません。1604646708.txt をダウンロードしましたが、拡張子を.htm に変更の仕方が判りません。
因みにMicrosoft Edgeを使っています。
2020/11/9 16:57
Re: 初歩的な質問で恐縮です。
ファイル名が 1604646708.txt と示されていたら、その名前をクリックして、1〜2秒たってもう一度クリックすると、 1604646708 の所だけ色が変わります。
そうしたら、ファイル名の後ろでマウスのボタンを押したまま前に持って行くと名前全体の色が変わりますから、好きな名前.htm に変更してください。

もし 1604646708 とだけ表示されていたら、エクスプローラの左上の「表示」タブをクリックして、右の方にある「オプション」をクリックするとフォルダーオプションのウインドウが開きます。
ファイルをデスクトップに置いていている場合は、エクスプローラを開いてください。
そのウインドウの「表示」タブをクリックしすると、
「詳細設定:」の下の方に「登録されている拡張子は表示しない」という項目があり、そこのチェックを外して「OK」で拡張子が表示されるようになりますから、後は上の手順で変更します。


本文に書いた拡張子が出ない時の名前変更のやり方は間違っていました、済みません。
本文も変更します。
2020/11/9 18:49
Re[2]: 初歩的な質問で恐縮です。
guchi999さん こんにちは

ファイル名変更の方法まで親切丁寧にレクチャーされてホントご苦労様です。
そして、ありがとうございます。 感謝です。

そこで、またまたお節介なのですが・・
ダウンロード後に保存するタイミングでファイル名を変更してしまう方法を紹介させてください。

1. 「1604646708.txt」のダウンロードサイトリンクをクリック
2. リンク先にて「あいことば(パスワード)」に入力後 [ダウンロード] ボタンクリック
3. [名前を付けて保存]ダイアログが表示されるので、[ファイル名(N):] のテキストボックスに「1604646708.txt」または「1604646708」と入力されてる事を確認
4. ↑確認後、ファイル名を任意の物に変更して保存する。 その場合、拡張子は [.html] とする。 拡張子の意味が解らない場合は、ファイル名の一番最後に半角にて [.html] と必ず付けて保存する。
例)「TimeChange.html」(文字はすべて半角にするのが幸せだと思う)とかにする。 この場合、拡張子を表示,非表示の設定はどちらでも関係ないのでエクスプローラの設定は考えなくていいです。
5. 保存後、保存ファイルをダブルクリックしてブラウザが起動すれば成功です。

こんな感じの方法も有りますがどうでしょ? 
またまた、お節介失礼しました。

この、システムはホントに良いシステムなので少しでも多くの人に活用してもらって、レコの地図上に、画像の配置とか、GPS軌跡を多く残して欲しいと思います。
2020/11/10 9:26
Re[2]: 初歩的な質問で恐縮です。
返答有難うございます。
ご指示の方法で解決致しました。
カシミール3Dで長年困っていた問題が解決できました。
2020/11/10 9:27
Re[3]: 初歩的な質問で恐縮です。
Donaiさん、おはようございます。
いつもアドバイス、ありがとうございます。

私の環境ではローダーのダウンロードをクリックすると、ChormeもFirefoxもすぐにダウンロードが始まってしまうのです。
おそらく、ダウンロード時にファイルの保存場所を確認する設定をoffにしているからだと思うのですが・・・
ファイル名の半角推奨は考える必要がありますね。

いずれにせよ、あといくつかGPSファイル関連のツールを考えていますので、Donaiさんのアドバイスを考慮してヤマノートに上げたいと思います。
これからも、ご指導くださるようお願いいたします。
2020/11/10 10:18
Re[3]: 初歩的な質問で恐縮です。
abetetsさん、

この手のツールを作る気になったのは、カシミール3D作るGPXファイルの時間の設定ができないからでした。
おなじような人は、他にもいそうですね。
解決したとの事で、何よりです。
2020/11/10 10:22
Re[4]: 初歩的な質問で恐縮です。
guchi999 さん こんにちは

>ローダーのダウンロードをクリックすると、ChormeもFirefoxもすぐにダウンロードが始まってしまうのです。
>
失礼しました。 この問題が有りました・・
最近のブラウザのデフォルト設定は名前を付けて保存のダイアログが出ないのを忘れてました。(^_^;)

先の投稿は忘れてください。 余計な事をスイマセン。m(__)m
2020/11/10 13:50
Re[5]: 初歩的な質問で恐縮です。
Donaiさん、

windowsやブラウザは昔から比べると使い勝手が変わりましたよね。
誰でも使えるようにという方向なのですが、少し違う事をやろうとすると設定をいじらなくてはならず、慣れていないと、それが良く分からないのが困りますね。

何にしても、Donaiさんのアドバイスは大変有難いので、これからも宜しくお願い致します。
2020/11/10 15:13
1604646708.txtgがダウンロードできません。ファイアーウォールを解除したりいろいろやりましたが出来ません。Windows10でWdgeです。
2021/8/18 11:55
ykitagoさん、
ファイルアップローダーが落ちているようです。
別のアップローダーに上げましたので、そちらからダウンロードしてくださ。
(本文のダウンロード先は変更してあります。)
2021/8/18 14:39
ありがとうございました。ダウンロードできました。
2021/8/18 14:44
guchi999さん
素晴らしい&面白いWebアプリを開発&公開していただきありがとうございます。
最近、昔の山行記録を振り返る機会がありまして、当時手動で描いたルートに誤りを見つけたので再度ヤマレコの地図上で手動で描いたところ、日時が山行開始と終了しか設定できなくなっていました。
昔のヤマレコでは通過地点の日時を記入でき、各通過地点間の未記入通過日時は自動計算されるようになっていたと思います。それがなくなっていました。
何か良いツールは無いだろうか?と探していたら、このguchi999さんのアプリに出会いました。勾配による速度変化も考慮されていて、大変興味深いです。
ソースも拝見しましたが、ヒュベニの公式はまったくの初耳。このような公式があるとは知りませんでした。
昔のヤマレコみたいな、読み込んだGPXファイルの地点をリスト形式で表示し、特定の地点の通過日時を手動で入力でき、それ以外の地点の通過日時は自動計算で補完するようなアプリを作りたいなーと思っているのですが、guchi999さんの当アプリのソースを参考にさせていただいても良いでしょうか?
公私共に忙しく、いつ取り組めるかはわかりませんが。。。
2023/11/9 8:23
メロンパンさん

緯度経度から距離を算出する方法は、地理院のページではもっと複雑な式を使って誤差を少なくしていますが、ログを操作する程度の事ではヒュベニの公式で十分だと思います。

ルートの中で幾つかのポイントの時間を設定し、その間のポイントの時間を補完するプログラムは、あれば確かに便利ですね。
私の作ったプログラムのソースコードやアルゴリズムは、商用目的でなければ自由にお使いいただいて構いません。
ただ、何らかのバグが残っている可能性もありますので、もしそういうのが見つかった場合にはお知らせいただけると有難いです。

なお、プログラムが完成する前に、とりあえず現在のルートの時間をポイント通過時間ごとに設定したいのであれば、手順が少し多くて手間ですがGPXログエディタを使えばできます。
1)ルートを各ポイントごとに分割する
2)分割したそれぞれの区間で時間を変更する
3)時間変更した区間を時系列で結合し、名前を付けて保存
2023/11/9 11:52
guchi999さん
正月の休みを利用して、「通過地点の日時を記入でき、各通過地点間の未記入通過日時は自動計算」ツールを作成し始めました。
WebブラウザーにGPXファイルを読み込ませる方法など、初歩的なことからわからないことだらけだったので、最初の一歩をChatGPTに聞いたところ基本的なHTMLやJSの内容を教えてくれたので大助かり。無料版ChatGPTを使っていますが、本当にすごいので有料版の契約を考え中です。
また、こちら↓のQiitaの記事によると、ヒュベニより航海算法の方が高精度らしいので、航海算法を使ってみようか検討中です。*
https://qiita.com/YasumiYasumi/items/3ed8ea69b85dac055381
私の制作中ソースコードはGitHubで公開していますが、MITライセンスやGPLライセンスでは商用利用を不可にすることはできないっぽいので(MITライセンスを選択しました)、guchiさんのソースコードを借用しないで進めようと思います。
https://github.com/bunatree/gpx-trail-editor
必要な機能が出来上がったらヤマノートで公開する予定です。いつまでかかるかわかりませんが。。。

*「ヒュベニの式は日本付近の緯度で、パスの長さの計算など2地点間が近い場合であれば7桁程度の精度が出る」そうなので、やっぱりヒュベニにするかもしれません。奥が深いですね。
https://www.330k.info/essay/precision-of-mathematica-geodistance-and-geographical-distance-formula/
2024/1/8 23:03
メロンパンさん

ライセンスの件は、少しカッコつけて「商用目的でなければ」なんていってますが、別に商用目的でも何でも自由に使っていただいて構わないと思っています。
それでGitHubの方にはライセンスに関する注意書きは入れてません。
2024/1/9 12:37
いいねいいね
1
guchi999さん
そうだったのですね。てっきり商用利用禁止を厳格にしたくてライセンス表記をしていないのかと、逆に捉えてしまいました。
2024/1/9 16:10
プロフィール画像
ニッ にっこり シュン エッ!? ん? フフッ げらげら むぅ べー はー しくしく カーッ ふんふん ウィンク これだっ! 車 カメラ 鉛筆 消しゴム ビール 若葉マーク 音符 ハートマーク 電球/アイデア 星 パソコン メール 電話 晴れ 曇り時々晴れ 曇り 雨 雪 温泉 木 花 山 おにぎり 汗 電車 お酒 急ぐ 富士山 ピース/チョキ パンチ happy01 angry despair sad wobbly think confident coldsweats01 coldsweats02 pout gawk lovely bleah wink happy02 bearing catface crying weep delicious smile shock up down shine flair annoy sleepy sign01 sweat01 sweat02 dash note notes spa kissmark heart01 heart02 heart03 heart04 bomb punch good rock scissors paper ear eye sun cloud rain snow thunder typhoon sprinkle wave night dog cat chick penguin fish horse pig aries taurus gemini cancer leo virgo libra scorpius sagittarius capricornus aquarius pisces heart spade diamond club pc mobilephone mail phoneto mailto faxto telephone loveletter memo xmas clover tulip apple bud maple cherryblossom id key sharp one two three four five six seven eight nine zero copyright tm r-mark dollar yen free search new ok secret danger upwardright downwardleft downwardright upwardleft signaler toilet restaurant wheelchair house building postoffice hospital bank atm hotel school fuji 24hours gasstation parking empty full smoking nosmoking run baseball golf tennis soccer ski basketball motorsports cafe bar beer fastfood boutique hairsalon karaoke movie music art drama ticket camera bag book ribbon present birthday cake wine bread riceball japanesetea bottle noodle tv cd foot shoe t-shirt rouge ring crown bell slate clock newmoon moon1 moon2 moon3 train subway bullettrain car rvcar bus ship airplane bicycle yacht

コメントを書く

ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。
ヤマレコにユーザ登録する