GPSがトンネルで欠測した場合に、欠測寸前と復帰直後の緯度・経度・速度・高度を補完して、ナビゲーションを継続するPerlスクリプトを書いてみた。 カーブのある長大トンネルで、単純に入口出口だけで直線補完だとありえないショートカットをすることの対応として、入口出口の速度差と距離で通過時間を計算で出す必要があるけれど、カーブの変化点を押さえて、本物のトンネルから大きくそれないように補完することもできるようになりました。 単純に欠測区間を等分割するのではなく、入口と出口で速度差がある場合、移動量を速度で按分して加速減速を軌跡でも反映させています。 そのほか、速度に対して移動量がおかしいところが無いかチェックして、異常値を知らせる機能を付けてみたり。