「GPX位置合わせ」のwebツールを作った(VSCode&gemini)

GPX位置合わせ

GPSログを記録するフォーマットのGPX。
昔スマホアプリ「Walkmeter」で記録したGPXログを「ヤマレコ」に登録しようとしたら、どうも位置情報がおかしい。
そこで、GPXの緯度経度を位置合わせをするツールを自作した。

他に同じ所で躓く人がいるか分からないが、とりあえずツールページとして公開しておいた。
※切ったり結合したりの修正はできない。位置を一律でズラす補正。
GPX位置合わせ – やじり鳥

GPX位置合わせ - やじり鳥

例えば、自分が持っていた「別府一周遊歩道」のGPXログ。
大分「別府一周遊歩道」(26km)を9時間で歩いた

歩いた経路が、海に飛び出ている。

GPX位置合わせ 修正前のGPXログ

最初は、旧日本測地系かな?と思ったんだが、ツールで世界測地系に修正しても、どうもハマらない。
こういう風に「一律でズレてるGPXログ」が、手元に複数ある。

なので、もうツールを作っちゃえばいいかな、と。

実際に作ったツール(GPX位置合わせ)で、マウスで線をグイッと引っ張って位置合わせしてみると・・・
GPS形状が、ちゃんと道の上にハマった。

GPX位置合わせ 修正後のGPXログ

ルート全体でも、がっつりハマった。
問題なさそう。

GPX位置合わせ 修正後のGPXログ ルート全体

スマホで撮った写真(Exifでの位置情報付き)を地図上に表示する機能もつけて、地図との位置合わせを微調整した。
衛星画像や地図に切り換えて、GPSログの位置が合っているか、確認する。
※ただし写真に位置情報を埋め込まないカメラ設定にしている場合は、緯度経度がとれない

GPX位置合わせ 衛星画像と写真Exifでの位置合わせ

よーし、これで緯度経度はなおったぞー、と。

勇んでヤマレコGPXログを登録したら・・・

また、なんか変な感じ。

ヤマレコ trksegが複数あるログの表示

「S」(スタート)アイコンが、いっぱい表示されている。
この状態でも山行記録は作れるんだが、その場合はブログパーツを表示すると、ルート線が表示されなくなる。

調べて見たら、trkseg要素(トラックセグメント)が複数入っているのが原因だった。
Walkmeterアプリは、割と細かくtrksegを切っている模様。

そこで、trkseg要素を1つに結合する機能も、自作ツールに追加した。
※ついでにtrk要素の結合も

GPX位置合わせ trksegの結合機能

ということで、ついに完成。

無事、ヤマレコにGPXログを登録できたのでした。
別府一周遊歩道 – ヤマレコ

VSCode&gemini

今回は、VSCodeとgeminiで作った。
AIコーディングがきてから、こういう「ちょっとしたツール」を作るのがメチャ簡単になった。
いい時代になったもんだな、と。

合計で650行くらいのhtml/js/cssだが、自身ではノーコーディング。
イチからgeminiに作ってもらって、デザイン修正もやってもらった。

ざっと見た感じ、OSSのleaflet、leaflet-gpxプラグインで作られていた。
地図は、無料のOSMと、地理院タイル(地図&衛星画像)。

↓のように、動作確認して不具合指摘すると、修正してくれる。
コード中にコンソールログを残してもらった上で、そのログを貼り付けてフィードバックすると、高精度で直してくれる。

VSCode gemini コーディング画面

完成したツールを動作確認するための、gpxファイルも作ってくれた。
また自分のgpxファイルを読み込ませて、「このファイル、どこがおかしい?」と聞くと、それも答えを導き出してくれた。
※先述の「trkseg要素が多すぎる」の件

VSCode gemini gpx解析画面

geminiは少しだけ「gemini Pro」の無料枠がある。
その場合、さくさくコーディングが進む。

「gemini Pro」の無料枠が終わったら、廉価版のgemini flashに移行するが、それも無料枠の制限はある。
ただまぁ、いまのところ毎日それぞれの無料枠が回復するので、少しずつ作る分には問題なかった。

今回コーディングはしてないけど、環境構築とか周辺のことで結構時間をくった・・・
ただ結果、だいぶ楽ちんだったな。

ほい。

そんな感じ。

tonogata
tonogata

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です