• PIE-SDK For C++栅格数据集的读取


    1.功能简介

       栅格数据包含很多信息,在数据的运用中需要对数据的信息进行读取,目前PIE SDK支持多种数据格式的数据读取,下面对栅格数据格式的数据读取功能进行介绍。

    2.功能实现说明

    2.1 实现思路及原理说明

    第一步

    获取要读取的栅格数据

    第二步

    读取栅格信息

    2.2 核心接口与方法

    接口/类

    方法/属性

    说明

    SysDataSource::RasterDatasetPtr

    GetBandCount()

    获取波段数

    GetRasterXSize()

    获取栅格宽度

    GetRasterYSize()

    获取栅格高度

    GetExtent()

    获取栅格Extent

    2.3 示例代码

    项目路径

    百度云盘地址下/PIE示例程序/04数据操作/12栅格数据集的读取

    数据路径

    百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

    视频路径

    百度云盘地址下/PIE视频教程/04数据操作/12栅格数据集的读取.avi

    示例代码

    void PIEMainWindow::On_ActionReadDatasetInfo_Triggered(bool checked)

    {

        SysCarto::LayerPtr layerPtr = m_pCurrentControl->GetActiveView()->GetCurrentLayer();

        if (layerPtr == nullptr) return;

        SysCarto::RasterLayerPtr rasterLayerPtr = layerPtr;

        if (rasterLayerPtr == nullptr) return;

     

        SysDataSource::RasterDatasetPtr datasetPtr = rasterLayerPtr->GetDataset();

        SysGeometry::EnvelopePtr envelop = datasetPtr->GetExtent();

        QString rasterDataName = datasetPtr->GetName();

        int width = datasetPtr->GetRasterXSize();

        int height = datasetPtr->GetRasterYSize();

     

        QString info = QString("X最小值:{ %1}; Y最小值:{%2}; X最大值:{ %3 }; Y最大值:{%4 } " + rasterDataName + "】栅格数据共:%5】行【%6】列").arg(envelop->GetXMin()).arg(envelop->GetYMin())

            .arg(envelop->GetXMax()).arg(envelop->GetYMax()).arg(QString::number(height)).arg(QString::number(width));

        QMessageBox::information(this, "提示", info, QMessageBox::Ok);

    }

    2.4 示例截图

  • 相关阅读:
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod --1133 不重叠的线段
    bzoj2440: [中山市选2011]完全平方数
    第三章:基本HTML结构
  • 原文地址:https://www.cnblogs.com/PIESat/p/12373227.html
Copyright © 2020-2023  润新知