PIE SDK打開長時間序列數據

1. 功能簡介

     時間序列數據(time series data)是在不一樣時間上收集到的數據,這類數據是按時間順序收集到的,用於所描述現象隨時間變化的狀況。當前隨着遙感衛星技術突飛猛進的發展,遙感衛星的重訪週期愈來愈短,外加歷史數據的積累,產生了海量的遙感時間序列數據產品,這些數據真實地反映了地表在一段時間範圍內的動態變化狀況,成爲了遙感影像信息提取和分析的重要數據參考。 ide

       

        

   [洞庭湖春、夏、秋、冬季影像圖]動畫

     PIE支持長時間序列衛星影像數據的加載和動態顯示,而且提供了便利的控制方式。spa

2. 功能實現說明

2.1 實現思路及原理說明

第一步3d

獲取數據(序列化柵格數據至少兩個數據)code

第二步視頻

將柵格圖層添加至動畫圖層Animation對象中對象

第三步blog

將動畫圖層添加到地圖中進行播放教程

2.2  核心接口與方法

接口/類接口

方法

說明

 

 

 

 

Carto. IAnimationLayer

AddLayer()

增長圖層

Start()

開始圖層播放

Pause()

暫停圖層播放

Resume()

繼續播放

SetInterval(int msec)

設置播放間隔

GetAnimationState

獲取當前的動畫狀態

2.3  示例代碼

項目名稱

百度雲盤地址下/PIE示例程序/03.數據加載/08.打開長時間序列數據

項目位置

百度雲盤地址下/PIE示例數據/柵格數據/05.長時間序列數據/

代碼位置

百度雲盤地址下/PIE視頻教程/03.數據加載/08.打開長時間序列數據.avi

示例代碼

 1         /// <summary>
 2         /// 動畫圖層
 3         /// </summary>
 4         private IAnimationLayer m_AnimationLayer = null;
 5 
 6         /// <summary>
 7         /// 加載長時間序列數據
 8         /// </summary>
 9         /// <param name="sender"></param>
10         /// <param name="e"></param>
11         private void btn_OpenSeriesData_Click(object sender, EventArgs e)
12         {
13             //一、獲取數據
14             IList<string> listFile = new List<string>();
15             OpenFileDialog openDialog = new OpenFileDialog();
16             openDialog.Multiselect = true;
17             openDialog.Title = "打開長時間序列數據";
18             openDialog.Filter = "SeriesData(*.tiff)|*.tiff;*.tif";
19             if (openDialog.ShowDialog() != DialogResult.OK) return;
20 
21             //二、加載動畫圖層
22             ILayer tempLayer = null;
23             m_AnimationLayer = new AnimationLayer();
24             foreach (var fileName in openDialog.FileNames)
25             {
26                 tempLayer = LayerFactory.CreateDefaultLayer(fileName);
27                 m_AnimationLayer.AddLayer(tempLayer);
28             }
29 
30             ILayer layer = m_AnimationLayer as ILayer;
31             layer.Name = "長時間序列數據";
32             mapControlMain.FocusMap.AddLayer(layer);
33             mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
34             m_AnimationLayer.SetInterval(500);//設置時間間隔
35             m_AnimationLayer.Start();//開始播放
36         }
37 
38         /// <summary>
39         /// 繼續播放
40         /// </summary>
41         /// <param name="sender"></param>
42         /// <param name="e"></param>
43         private void btn_Start_Click(object sender, EventArgs e)
44         {
45             m_AnimationLayer.Resume();
46         }
47         /// <summary>
48         ///  暫停播放
49         /// </summary>
50         /// <param name="sender"></param>
51         /// <param name="e"></param>
52         private void btn_Pause_Click(object sender, EventArgs e)
53         {
54             m_AnimationLayer.Pause();
55         }
56 
57         /// <summary>
58         /// 結束播放
59         /// </summary>
60         /// <param name="sender"></param>
61         /// <param name="e"></param>
62         private void btn_End_Click(object sender, EventArgs e)
63         {
64             m_AnimationLayer.Stop();
65         }
View Code

2.4 示例截圖

 

相關文章
相關標籤/搜索