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

原文地址:https://www.cnblogs.com/PIESat/p/12373227.html