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); } |