2014-02-24 138 views
0

問題:如何繪製GPS經度和使用分散或geoshow功能緯度座標(或任何功能效果最好)大家如何繪製GPS在Matlab座標

我有這個GPS我希望分析這個單元,所以我出去測試它,用幾個Matlab的散射函數(或者geoshow函數......無論什麼作用)都得到了幾頁NMEA語句(用於同一場的3個不同點) 。

由於NMEA句子給出了大量我不需要的信息;我整理並簡化了數據,以便只包含一個文件中的經度和另一個文件中的緯度(我有幾個景點位置)。

我製作了兩個文件.csv文件,以便我可以使用Matlab的csvread函數讀取這些文件,而不必手動將這些數字手動輸入到矩陣中。

我遇到的問題是,當我去繪製這些斑點時,我一次只能在1張圖上顯示1個斑點。這實際上違背了繪製座標的目的......我如何使用我製作的.csv文件或您知道的任何方法將所有3個點全部繪製在同一個圖上?

這是我已經試過:

SW_latitude = csvread('SW_latitude.csv'); 
SW_longitude = csvread('SW_longitude.csv'); 

CENTER_latitude = csvread('center_latitude.csv'); 
CENTER_longitude = csvread('center_longitude.csv'); 

WALKING_latitude = csvread('WALKING_latitude.csv'); 
WALKING_longitude = csvread('WALKING_longitude.csv'); 
scatter(SW_latitude,SW_longitude) 
hold on 
scatter(CENTER_latitude,CENTER_longitude) 
scatter(WALKING_latitude,WALKING_longitude) 
hold off 

Screen shot of one coordinate being plotted...why only just 1 dot? I should see a scatter?

+1

看起來你在該圖上至少有兩個點,但其中一些點爲零。各種緯度/經度測量的範圍是什麼?鑑於明顯的範圍,你可能也想轉換成十進制度數(例如對於某些NMEA,你可能有像11122.33那樣的值,這意味着111度,22.33分鐘)。 – nkjt

+0

我該怎麼做?我將所有經度值加載到longitude.csv文件中,並將所有緯度值加載到latitude.csv文件中......我應該進入並手動分開這些值,如果有的話,我應該編輯它們的格式?我在每個文件的開頭都輸入了一個零,爲了確保它被正確繪製,我將刪除零 – mosawi

+0

另外,請嘗試「全部」,這樣您就不會獲得相同顏色的所有3個圖。 – Notlikethat

回答

2

1)NMEA消息經常有格式3246.4270,11704.3785等的經度和緯度

兩個數字在小數點之前和那些之後是分鐘,前面的兩個/三個數字是度數,即32度,46.4270分鐘,117度,04.3785分鐘等。您可以將它們轉換爲d ecimal度加載後(不需要三行但希望這使得程序更加清晰):

degrees = floor(lat/100); % number of degrees 
minutes = lat-degrees*100; % number of minutes 
lat2 = degrees + minutes/60; 

2)如果你的價值觀都是從一個小的區域內,在經度和緯度的變化不會很大。因此,看你的軸限制。如果您知道要檢查的大概範圍,可以在繪圖後使用xlimylim進行設置。

3)有一個免費的映射工具箱,m_map,我很喜歡。否則,如果使用geoshow,則可能必須將顯示類型設置爲Point。您也可以設置各種顏色/標記設置。繪製圖形時,請使用手柄,然後使用getset來檢查可以調整的設置。

h = geoshow(lat, lon, 'DisplayType', 'Point') 
+0

我完全按照您的建議進行了操作,現在數據的格式正確,但我具有相同的麻煩,一個數據點甚至在**全部**之後繪製** – mosawi

+1

如果您只繪製一組lat和lon,以及軸限制是什麼,會發生什麼?您可能需要重新調整/放大才能正確查看數據。如果你在(0,0)處得到分數,你將無法看到真正的緯度/經度的微小變化,這只是一個度數的一小部分。 – nkjt

+0

我弄清楚我做錯了什麼......我爲每個航點都有單獨的文件,所以我有3個航點的6個單獨文件(每個航點的緯度和經度),我把所有的經度和緯度數據包含在2個獨立的csv文件中。現在使用您創建的轉換算法,我可以繪製所有3個航點。謝謝 – mosawi