System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于數據處理,具體地說,涉及一種海洋三維數據可視化方法。
技術介紹
1、目前用來研究的水文環境數據主要包括海水溫度、鹽度、密度、聲速等,由于覆蓋空間范圍較廣,加上較高的時間或空間分辨率,數據量較為龐大,海洋環境信息無法直接獲取。因此,水文環境數據研究者一般采用數據可視化的方式進行數據的分析。
2、近幾年來,國內外水文環境數據研究者在數據可視化方面的研究做出了大量的工作,按照時間順序縱觀水文環境數據可視化技術的發展進程,數據可視化技術呈現出從傳統靜態至動態、從二維到多維、從基本屬性信息到分析成果結論的發展趨勢。目前關于海底地形數據的可視化的研究主要集中在對海底進行地貌仿真;研究大量海水與地形、光線之間復雜的相互作用等。
3、目前的技術主要存在以下缺點:1、僅對于單一對水文環境數據進行可視化或只對地形數據進行可視化,缺少可以將它們的可視化結果相結合的技術。2、目前對于水文環境數據的光照效果的研究較少。3、目前對數據的展示主要表現在整體的展示,缺少對數據某一個維度上的分析,在重點區域的展示不明顯。
技術實現思路
1、本專利技術為了解決現有海洋三維數據可視化方法繪制模式單一的技術問題,提出了一種海洋三維數據可視化方法,可以解決上述問題。
2、為了解決上述技術問題,本專利技術采用以下技術方案予以實現:
3、一種海洋三維數據可視化方法,包括:
4、數據獲取步驟,讀取三維體數據和二維地形數據,所述三維體數據包括水文數據和/或空
5、水文數據處理步驟,根據所述水文數據的深度信息對水文數據在深度上進行不均勻處理,計算在任意深度所對應的水文數據值;
6、在水平方向將水文數據與地形數據相匹配步驟,計算水文數據的經緯度范圍在地形數據上的經緯度范圍的比例值,根據所述比例值計算得到水平方向水文數據在地形數據中對應的位置;
7、水文數據可視化步驟,繪制水文數據的三維圖像;
8、地形數據可視化步驟,繪制地形數據的三維圖像;
9、顯示輸出步驟,將水文數據的三維圖像和地形數據的三維圖像單獨或者同時在同一坐標系下顯示輸出。
10、在有的實施例中,所述水文數據處理步驟包括:
11、讀取水文數據的深度信息,并使用一個數組h記錄,數組h的每一個值代表水文數據中每一層的深度,水文數據在深度上的層數為n,數組h的最小值和最大值分別為hmin和hmax;
12、計算出步長step=(hmax-hmin)/(n-1);
13、對于任意深度dep,若遍歷數組h,存在h[i]<dep<h[i+1],則該深度對應的數據層數為i,計算插值系數s=(dep-?h[i])/(h[i+1]-h[i]);
14、計算深度dep所對應的水文數據值data=data1*s+data2*(1-s),其中data1為第i層對應的水文數據值,data2為第i+1層對應的水文數據值。
15、在有的實施例中,在水平方向將水文數據與地形數據相匹配步驟包括:
16、水文數據的經度范圍為elonmin~elonmax,水文數據的緯度范圍為elatmin~elatmax,地形數據的經度范圍為tlonmin~tlonmax,地形數據的緯度范圍為tlatmin~tlatmax;
17、計算在水平方向上水文數據的四條邊界分別與地形數據的四條邊界的間距與地形數據的經度范圍或者緯度范圍的比值,即為水文數據的經緯度范圍在地形數據上的經緯度范圍的比例值。
18、在有的實施例中,顯示輸出步驟中,當將水文數據的三維圖像和地形數據的三維圖像同時在同一坐標系下顯示輸出時,還包括:
19、判斷水文數據和地形數據是否存在遮擋,若存在遮擋,則以地形數據為主,優先顯示地形數據的三維圖像,并將被地形數據遮擋的數據隱藏;
20、判斷水文數據和地形數據是否存在重疊,若存在重疊,則將重疊點的水文數據設置為無效值,顏色賦值為無效值顏色,地形數據保持不變。
21、在有的實施例中,所述海洋三維數據可視化方法還包括:
22、可視化交互步驟,檢測用戶輸入的交互指令,并按照交互指令對水文數據可視化和/或地形數據可視化執行相應的交互控制;
23、所述交互指令包括顯示或者隱藏地形數據指令。
24、在有的實施例中,所述交互指令包括垂直比例調整指令,交互界面中設置有垂直比例滑條,用戶通過拖動垂直比例滑條輸入垂直比例修改值;
25、將所述垂直比例修改值傳入到著色器中,在著色器中修改其內置的模型比例設置函數,將可視化結果在坐標系的z方向上的比例值設置為垂直比例修改值,修改水文數據三維圖像和地形數據三維圖像的垂直比例。
26、在有的實施例中,所述交互指令包括切割地形指令,交互界面中設置有經度剖面、緯度剖面以及深度剖面三個雙向滑條,用戶通過拖動雙向滑條輸入對地形數據的六個方向的切割位置;
27、根據所述切割位置修改地形數據的六個面的位置,通過回調函數將六個面的位置傳遞到著色器中,在著色器里通過紋理讀取函數修改地形數據三維圖像的六個面的圖案;
28、修改著色器中的內置變量值,將地形數據三維圖像位于六個面外側的部分設置為透明;
29、將水文數據三維圖像限制在地形數據三維圖像的范圍內。
30、在有的實施例中,所述交互指令包括深度點查詢指令和深度線查詢指令,當觸發深度點查詢指令時,接收用戶通過鼠標在地形數據三維圖像中選擇的位置,進行碰撞檢測得到選擇的位置在水文數據中的經度值x和緯度值y;
31、對不同深度的水文數據進行線性插值:包括:
32、對x和y進行取整得到jx和jy,計算插值系數sx=x-jx,sy=y-jy;
33、對于鼠標點擊位置的任意一層j,獲取水文數據值data11=data(jx,jy,j),data12=data(jx+1,jy,j),data13=data(jx,jy+1,j),計算第j層的水文數據值value2:
34、value1=data11*sx+data12*(1-sx);
35、value2=?value1*sy+data13*(1-sy);
36、提取出所選擇的位置在各深度上的數據,繪制水文數據隨深度的變化曲線并輸出。
37、在有的實施例中,所述交互指令包括深度線查詢指令,當觸發深度線查詢指令時,接收用戶通過鼠標在地形數據三維圖像中選擇的起始位置和終止位置,起始位置和終止位置連成一條直線,對所述直線上的所有點執行深度點查詢指令,提取出查詢線上的所有數據點在每個深度上的數據,并繪制成二維圖像輸出。
38、在有的實施例中,所述海洋三維數據可視化方法還包括對水文數據的三維圖像設置光照模擬的步驟,用戶本文檔來自技高網...
【技術保護點】
1.一種海洋三維數據可視化方法,其特征在于,包括:
2.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,所述水文數據處理步驟包括:
3.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,在水平方向將水文數據與地形數據相匹配步驟包括:
4.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,顯示輸出步驟中,當將水文數據的三維圖像和地形數據的三維圖像同時在同一坐標系下顯示輸出時,還包括:
5.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,所述海洋三維數據可視化方法還包括:
6.根據權利要求5所述的海洋三維數據可視化方法,其特征在于,所述交互指令包括垂直比例調整指令,交互界面中設置有垂直比例滑條,用戶通過拖動垂直比例滑條輸入垂直比例修改值;
7.根據權利要求5所述的海洋三維數據可視化方法,其特征在于,所述交互指令包括切割地形指令,交互界面中設置有經度剖面、緯度剖面以及深度剖面三個雙向滑條,用戶通過拖動雙向滑條輸入對地形數據的六個方向的切割位置;
8.根據權利要求5所述的海洋三
9.根據權利要求8所述的海洋三維數據可視化方法,其特征在于,所述交互指令包括深度線查詢指令,當觸發深度線查詢指令時,接收用戶通過鼠標在地形數據三維圖像中選擇的起始位置和終止位置,起始位置和終止位置連成一條直線,對所述直線上的所有數據點執行深度點查詢指令,提取出查詢線上的所有數據點在每個深度上的數據,并繪制成二維圖像輸出。
10.根據權利要求1-9任一項所述的海洋三維數據可視化方法,其特征在于,所述海洋三維數據可視化方法還包括對水文數據的三維圖像設置光照模擬的步驟,用戶通過交互界面設置光源的位置,配置光源顏色、漫反射顏色、鏡面光顏色及各自的強度。
...【技術特征摘要】
1.一種海洋三維數據可視化方法,其特征在于,包括:
2.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,所述水文數據處理步驟包括:
3.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,在水平方向將水文數據與地形數據相匹配步驟包括:
4.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,顯示輸出步驟中,當將水文數據的三維圖像和地形數據的三維圖像同時在同一坐標系下顯示輸出時,還包括:
5.根據權利要求1所述的海洋三維數據可視化方法,其特征在于,所述海洋三維數據可視化方法還包括:
6.根據權利要求5所述的海洋三維數據可視化方法,其特征在于,所述交互指令包括垂直比例調整指令,交互界面中設置有垂直比例滑條,用戶通過拖動垂直比例滑條輸入垂直比例修改值;
7.根據權利要求5所述的海洋三維數據可視化方法,其特征在于,所述交互指令包括切割地形指令,交互界面中設置有經度剖面、緯度剖面以及深度剖面三...
【專利技術屬性】
技術研發人員:楊廷武,李卓,高帆,王洪秋,
申請(專利權)人:青島中海潮科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。