天天看點

【備忘錄】UTM坐标系與經緯度轉換 MATLAB C語言

由于需要對經緯度資訊進行卡爾曼濾波,而且系統狀态含有速度資訊,是以要使用基于米定位的坐标系。故而需要先把經緯度資訊轉為UTM資訊。

需要保證輸入的觀察值Ck的UTM區域要與目前拍的先驗估計值

【備忘錄】UTM坐标系與經緯度轉換 MATLAB C語言

保持在同一個區域(否則坐标會出現跳變),需要在每次完成濾波後對後驗值判定目前所在區域。

若輸入的區域與前一拍的後驗值不在一個區域時,直接舍棄目前拍的後驗值,把目前觀測設定為前一拍的後驗,重新初始化濾波。這種做法雖然犧牲臨界點的經度但是比較友善。

UTM坐标系概念詳解:(建議直接看這個英文的維基百科,中文沒有找到講的很好的)

https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system

MATLAB 的轉換程式

(雙向)https://www.mathworks.com/matlabcentral/fileexchange/45699-ll2utm-and-utm2ll

(deg2utm)https://www.mathworks.com/matlabcentral/fileexchange/10915-deg2utm

(utm2deg)https://www.mathworks.com/matlabcentral/fileexchange/10914-utm2deg

這是一個國人寫的軟體,編譯好的直接運作即可

https://download.csdn.net/download/zngsai/9300665

這是VC工程

https://download.csdn.net/download/jshchg/9194929