zoukankan      html  css  js  c++  java
  • PIE SDK打开长时间序列数据

    1. 功能简介

         时间序列数据(time series data)是在不同时间上收集到的数据,这类数据是按时间顺序收集到的,用于所描述现象随时间变化的情况。当前随着遥感卫星技术日新月异的发展,遥感卫星的重访周期越来越短,外加历史数据的积累,产生了海量的遥感时间序列数据产品,这些数据真实地反映了地表在一段时间范围内的动态变化情况,成为了遥感影像信息提取和分析的重要数据参考。 

           

            

       [洞庭湖春、夏、秋、冬季影像图]

         PIE支持长时间序列卫星影像数据的加载和动态显示,并且提供了便利的控制方式。

    2. 功能实现说明

    2.1 实现思路及原理说明

    第一步

    获取数据(序列化栅格数据至少两个数据)

    第二步

    将栅格图层添加至动画图层Animation对象中

    第三步

    将动画图层添加到地图中进行播放

    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             //1、获取数据
    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             //2、加载动画图层
    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 示例截图

     

  • 相关阅读:
    iOS项目之wifi局域网传输文件到iPhone的简单实现
    iOS项目之苹果审核被拒
    iOS项目之模拟请求数据
    nvm-window常用命令
    初探浏览器渲染原理
    node + mongodb 简单实现自己的查询接口
    快速理解_.debounce方法
    tr标签使用hover的box-shadow效果不生效
    一个简单的Node命令行程序:文件浏览
    打造丝般顺滑的 H5 翻页库(传送门)
  • 原文地址:https://www.cnblogs.com/PIESat/p/10143192.html
Copyright © 2011-2022 走看看