基于GPS的路線測量與擬合
求解方程組得到Mi(i=0,1,2,… ,n),代入S(x)即為相臨兩點間的三次樣條函數(shù),n段三次樣條曲線以已知數(shù)據(jù)點為臨界銜接點進(jìn)行連接便可得出一條通過所有數(shù)據(jù)點的平滑曲線。
5 MATLAB實現(xiàn)樣條插值
在本系統(tǒng)中,路線數(shù)據(jù)的采集點以經(jīng)緯度描述,整條路線類似于二維曲線,以實驗測試路段為例,其采集點如下:
表一 路線采集點數(shù)據(jù)
三次樣條插值過程實質(zhì)上就是求解三次樣條函數(shù)的過程,在實際應(yīng)用中,首先必須根據(jù)具體樣本點情況構(gòu)造出合適的三次樣條函數(shù),但這需要工程技術(shù)人員具備良好的數(shù)學(xué)功底和數(shù)據(jù)分析能力。此外,對于離散樣本點較多的情況,編制計算機(jī)程序求解大方程組也不簡單。
MATLAB將高性能的數(shù)值計算和可視化集成在一起,并提供了大量專業(yè)領(lǐng)域的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計工作。就數(shù)值插值而言,MATLAB提供有一維、二維、三維插值方法,對于一維插值可通過函數(shù)interp1(x,y,xi,'method')實現(xiàn),其中x,y是已知數(shù)據(jù)點的值,xi是要內(nèi)插的數(shù)據(jù)點,method是內(nèi)插方法,可以指定為一次(linear)、三 次(cubic)方程式或spline函數(shù),其預(yù)設(shè)方法是linear。如果數(shù)據(jù)的變化較大,以 spline函數(shù)內(nèi)插所形成的曲線最平滑 ,所以效果最好。而三次方程式所得到的內(nèi)插曲線平滑度,則介于線性與spline函數(shù)之間。
對表一數(shù)據(jù)進(jìn)行插值,步驟如下:
1. 分析經(jīng)緯兩組數(shù)據(jù),以相對單調(diào)性較好的一組為自變量確定插值精度。表一數(shù)據(jù)比較簡單,可以經(jīng)度為自變量,0.1’為步長確定需要內(nèi)插數(shù)據(jù)點矩陣(GPS接收機(jī)輸出的經(jīng)緯度數(shù)據(jù)由度數(shù)和分?jǐn)?shù)組合在一起,如10352.0329表示103度52.0329分,在應(yīng)用中需要統(tǒng)一轉(zhuǎn)換成以分為單位。本文的實驗測試路線較短,不涉及度數(shù)部分的變化,為了直觀,暫不做轉(zhuǎn)換)。
2. 將已知數(shù)據(jù)點列成12*2矩陣形式。
3. 調(diào)用interp1(x,y,xi,'method')函數(shù),選擇內(nèi)插方法為spline,所得結(jié)果與內(nèi)插數(shù)據(jù)點構(gòu)成2*27矩陣,該矩陣每列上的兩個數(shù)據(jù)即為擬合路線上位置點經(jīng)緯度。
對應(yīng)程序如下:
x=[10352.0329 10352.3988 10353.0197 10353.2919 10353.246 10353.3482 10353.5829 10353.7319 10354.1310 10354.2028 10354.5745 10354.6678; 3018.2936 3018.6298 3018.7247 3019.1021 3019.2701 3019.5516 3019.844 3020.0859 3020.9478 3021.167 3022.5694 3022.7908]';
1.03544329000000 1.03545329000000 1.03546329000000 ; 0.30182936000000 0.30186004069566 0.30187182180522 0.30186964693605 0.30185845969551 0.30184320369097 0.30182882252981 0.30182025981940 0.30182245916710 0.30184036418029 0.30187889352712 0.30192733665639 0.30193266863021 0.30193987411039 0.30199701768689 0.30198992627645 0.30198730620686 0.30200882997022 0.30203060327638 0.30205012896416 0.30207062461427 0.30209530780615 0.30212717111085 0.30216587747376 0.30220651085041 0.30224372965360 0.30227219229616]
由于步長足夠小,產(chǎn)生的數(shù)據(jù)相對原數(shù)據(jù)豐富的多,擬合出的路線曲線平滑,這可通過函數(shù)plot()進(jìn)行效果顯示。在具體路線的擬合過程中,可根據(jù)GPS數(shù)據(jù)采集點的密度改變插值步長,以達(dá)到實際控制要求。
6 小結(jié)
?。牵校釉趹?yīng)用過程中的工作主要集中在定位數(shù)據(jù)的采集和后續(xù)處理,特別是在與GIS(地理信息系統(tǒng))的結(jié)合應(yīng)用中,為了描繪實際地理形狀或路線,必須采取一定的算法盡量見減小結(jié)果誤差。三次樣條插值以其優(yōu)良的數(shù)學(xué)特征正好滿足這方面的需求,結(jié)合功能強(qiáng)大的MATLAB工具,其實現(xiàn)簡單方便,大大提高了相關(guān)設(shè)計目標(biāo)的質(zhì)量。
評論