• PIE-SDK For C++打开长时间序列数据


    1.功能简介

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

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

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

    2. 功能实现说明

    2.1. 实现思路及原理说明

    第一步

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

    第二步

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

    第三步

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

    2.2. 核心接口与方法

    接口/

    方法

    说明

    SysCarto::AnimationLayer

    AddLayer()

    增加图层

    Start()

    开始图层播放

    Pause()

    暂停图层播放

    Resume()

    继续播放

    SetInterval(int msec)

    设置播放间隔

    GetAnimationState

    获取当前的动画状态

    2.3. 示例代码

    项目名称

    百度云盘地址下/PIE示例程序/03.数据加载/08.打开长时间序列数据

    数据位置

    百度云盘地址下/PIE示例数据/栅格数据/06.长时间序列数据

    视频位置

    百度云盘地址下/PIE视频教程/03.数据加载/08.打开长时间序列数据.avi

    示例代码

    注:m_AnimationLayerPtr声明在头文件中

     

    void PIEMainWindow::On_ActionAddSeriesData_Triggered(bool checked)

    {

        QString filter = "序列数据 (*.tif *.tiff *.img)";

        QStringList lstFile = QFileDialog::getOpenFileNames(nullptr, "添加数据", "", filter);

        if (lstFile.count() < 1) return;

        m_AnimationLayerPtr = new SysCarto::AnimationLayer();

        for each (QString _file in lstFile)

        {

            SysCarto::LayerPtr tempLayerPtr = SysCarto::LayerFactory::Instance()->CreateDefaultLayer(_file);

            if (tempLayerPtr!=nullptr)

            {

                SysCarto::RasterLayerPtr rasterLayerPtr = tempLayerPtr;

                SysCarto::RasterStretchColorRampRenderPtr stretchRender = rasterLayerPtr->GetRenderer();

                stretchRender->SetStretchType(SysCarto::RasterStretch_PercentMinimumMaximum);

                stretchRender->SetLinearStretchPercent(2.0);

     

                m_AnimationLayerPtr->AddLayer(tempLayerPtr);

            }

        }

        m_AnimationLayerPtr->SetName("事件序列图层");

        m_pCurrentControl->GetMap()->AddLayer(m_AnimationLayerPtr);

        m_AnimationLayerPtr->SetInterval(500);

        m_AnimationLayerPtr->Start();

    }

     

    //暂停播放

    void PIEMainWindow::On_ActionPause_Triggered(bool checked)

    {

        if (m_AnimationLayerPtr == nullptr) return;

        m_AnimationLayerPtr->Pause();

    }

    //继续播放

    void PIEMainWindow::On_ActionResume_Triggered(bool checked)

    {

        if (m_AnimationLayerPtr == nullptr) return;

        m_AnimationLayerPtr->Resume();

    }

    //停止播放

    void PIEMainWindow::On_ActionStop_Triggered(bool checked)

    {

        if (m_AnimationLayerPtr == nullptr) return;

        m_AnimationLayerPtr->Stop();

    }

    2.4. 示例截图

  • 相关阅读:
    SPI(1)——Documentation/spi/spi_summary.txt翻译
    TCP协议详解(TCP报文、三次握手、四次挥手、TIME_WAIT状态、滑动窗口、拥塞控制、粘包问题、状态转换图)
    Linux设备树(3)——Linux内核对设备树的处理
    Linux设备树(2)——设备树格式和使用
    [转]Android的taskAffinity
    [转]深入了解iPad上的MouseEvent
    NG2入门
    TypeScript 素描
    TypeScript 素描
    TypeScript 素描
  • 原文地址:https://www.cnblogs.com/PIESat/p/12367779.html
Copyright © 2020-2023  润新知