2013-10-18 70 views
1

我有1000個XYZ數據點(GPS緯度, 經度,海拔高度),從步行上乞力馬扎羅山。Gnuplot中GPS數據的3D圖形

我想用3D繪圖垂直線從而 (X0 Y0 0),使 - (X0 Y0 Z0), ... (X999 y999 0) - (X999 y999 Z999)。

GpsPrune會做這樣的情節,和動畫一樣好, (http://activityworkshop.net/software/gpsprune/index.html) 但我想在細節更多的控制。

所以這可以在gnuplot中完成嗎? 是否有可能爲每條線的顏色段, 哪裏color = f(高度)?

Richard H 

回答

0

偉大的問題!

繪製從z=0到一定值的垂直線是繪圖風格impulses所做的。

根據z選擇一個變量linecolor值可以用linecolor palette完成,它使用當前調色板獲取相應的線條顏色。

爲了測試我使用的數據文件

0 0 0 
0.1 0.1 1 
0.2 0.2 1.1 
0.5 0.5 1.2 
1 0.5 2 
1.5 1 2.5 
1 2 4 
0.8 1.8 3.5 

爲繪製腳本是:

set ticslevel 0 
set zrange[0:*] 
set view 40,40 
set termoption dashed 
unset key 

splot 'gps.dat' using 1:2:3:3 with impulses lw 2 linecolor palette, \ 
     '' using 1:2:3 lc rgb 'black' lt 2 lw 0.5 w l 

這給輸出(以4.6.4):

enter image description here

+0

謝謝!我能夠生成一組gif(僞動畫)。乞力馬扎羅山攀登的消息是**集視圖70,190,**是最好的(非常好)一堆。 – user2893515

+0

http://users.skynet.be/watermael/Kilimanjaro.html示例圖片,但這只是第一次黑客 - 仍然在努力 – user2893515

0

經度和緯度的尺度不一樣,只有在赤道。 做一個簡單的笛卡兒變換,你可以乘以每個經度與cos(middleLatitude)。

latNew = lat; // stays the same 
lonNew = lon * cos(latAvg); // corrects the fact that longitudes shrinks the more north or south from equator the position is. 

否則yor graphic會顯得有點拉長。 我會另外將latNew和lonNew轉換爲米,然後你的diagramm具有所有3個軸的單位米。

度數儀表係數= 40 000 000/360.0; //地球圍欄圍欄除以num度

在這個trasnformation之後,你可以使用任何3D繪圖軟件。

+0

在乞力馬扎羅山步行,(最大緯度,最低緯度)=(-2.95, - 3.41)所以我不認爲這個錯誤太麻煩了。我在高緯度地區遇到過這個問題,通常使用Perl的GIS :: Distance模塊,默認選項Haversine。該圖的z尺寸確實需要一點伸展 - 走上乞力馬扎羅山5.8公里的z尺寸與x-y平面上的5.8公里不同。 – user2893515

+0

是的,你是戴着帽子的緯度。但是perls距離對高緯度沒有幫助,它只能計算距離,但是你需要將所有點轉換爲笛卡兒 – AlexWien