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 示例截图

 

相关文章
相关标签/搜索