IGP630のログデータのバグ

 iGPSPortのIGPで走った佐渡ツーリングの写真をGPSPruneを使って関連付け(ログと写真の時間を参照してExifに位置情報を書き込む)したが、どうしても関連付けがうまくいかない。データを見てみた。

      <trkpt lat="37.885454166680574" lon="138.29169952310622">
        <ele>60</ele>
        <time>2023-10-25T11:59:59.000Z</time>
      </trkpt>
      <trkpt lat="37.885405886918306" lon="138.2916550990194">
        <ele>60.4</ele>
        <time>2023-10-26T12:00:01.000Z</time>
      </trkpt>

 10月25日11時59分の次の測地点の次が26日の12時に飛んでる。念のためphpさんにも聞いてみた。

<?php
$date1 = DateTimeImmutable::createFromFormat(DATE_RFC3339_EXTENDED, '2023-10-25T11:59:59.000Z');
$date2 = DateTimeImmutable::createFromFormat(DATE_RFC3339_EXTENDED, '2023-10-26T12:00:01.000Z');
var_dump(date("Y/m/d h:i:s",$date1->getTimestamp()));
var_dump(date("Y/m/d h:i:s",$date2->getTimestamp()));
?>

 結果。やっぱりあかんやん。

 stravaさんも述べ35時間かかったってゆうてはる。

 これは本体→スマートフォンアプリ→PCウェブサービスと流れていったものをPC上でダウンロードしたファイル。もしかしてと思って本体をPC接続して、gpababelを使ってfitファイルをgpxファイルにコンバートしてみた。

      <trkpt lat="37.885454167" lon="138.291699523">
        <ele>60.000</ele>
        <time>2023-10-25T23:59:59Z</time>
        <speed>3.039000</speed>
      </trkpt>
      <trkpt lat="37.885430194" lon="138.291675216">
        <ele>60.200</ele>
        <time>2023-10-26T00:00:00Z</time>
        <speed>2.947000</speed>
      </trkpt>

 ちゃんとできとるやん。ということでアプリかウェブサービスか知らんけどそのへんのバグで、本体側のバグではないことはわかった。

 まあそのうち売り払うからええねんけど。

追記(12月22日)

 ファイルをエディタで開いて置換してみたけど、どうもおかしい。次のオクロック前後を見てみた。

      <trkpt lat="37.83853520639241" lon="138.23389959521592">
        <ele>26.4</ele>
        <time>2023-10-26T12:59:59.000Z</time>
      </trkpt>
      <trkpt lat="37.83855993300676" lon="138.23385022580624">
        <ele>26.4</ele>
        <time>2023-10-26T01:00:01.000Z</time>
      </trkpt>

 なるほど、原因がわかった。23時を11時、0時のことを12時としているのか。日本人ならやらなそうな間違いやな。英語圏もそうだけど、中国語圏でも24時間制では言わないらしい。日本でも昭和の頃はあまり言っていなかったような気もする。
 これならT12:をT00:に、T11:をt23:に置換するだけでいいから少し簡単(該当区間中は早くでも8時台の出発だったので)。

 なおIGS630はヤフーオークションにて17,100円で落札いただきました。ありがとうございます。