1. 功能简介
GIS遥感图像数据复合是将多种遥感图像数据融合成一种新的图像数据的技术,是目前遥感应用分析的前沿,PIESDK通过复合数据技术可以将多幅幅影像数据集(多光谱和全色数据)组合成一幅多波段彩色影像,下面我们就介绍如何在PIE中加载复合数据集数据。
2. 功能实现说明
2.1. 栅格数据介绍
常见的栅格数据文件格式包括tiff、tif、img、dat等,它们采用文件的方式存储相关信息,一个Tiff数据的文件结构如下所示(GF1数据为例):
[Tiff数据文件结构]
编号 |
后缀 |
文件说明 |
1 |
.tiff |
基本文件,存储栅格数据的像素、坐标系、坐标等信息; |
2 |
.jpg |
可选文件,栅格数据的示意图; |
3 |
.rpb |
可选文件,坐标参数文件; |
4 |
.xml |
可选文件,数据相关信息文件; |
5 |
.ovr/aux.xml |
可选文件,栅格数据金字塔文件; |
2.2. 实现思路及原理说明
第一步 |
根据文件路径打开需要组合的栅格数据(至少两份数据); |
第三步 |
创建复合数据集(数据集的大小最好要和最大的栅格数据的大小一致) |
第四步 |
复合数据集添加波段数据 |
第五步 |
结果图层显示 |
2.3. 核心接口与方法
接口/类 |
方法属性 |
说明 |
DataSource.DatasetFactory |
OpenRasterDataset |
打开矢量数据集 |
CreateRasterDataset |
创建栅格数据集 |
|
Carto.LayerFactory |
CreateDefaultFeatureLayer |
创建矢量图层 |
IComplexRasterDataset |
AddRasterBand |
添加波段(将ptrRasterDataset的第nBandIndex索引的波段添加到当前数据集) |
2.4. 示例代码
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tiff; 百度云盘地址下/PIE示例数据/栅格数据/04.World/CC_2018082615.tif |
视频路径 |
百度云盘地址下/PIE视频教程/03.数据加载/12.加载多数据源的复合数据集.avi |
示例代码 |
|
1 /// <summary> 2 /// 复合图层 3 /// </summary> 4 private void Test_ComplexRasterDataset() 5 { 6 //1、获取路径 7 IRasterDataset rasterDS_World = PIE.DataSource.DatasetFactory.OpenRasterDataset(@"D:MapData测试数据World.tif", OpenMode.ReadOnly); 8 IRasterDataset rasterDS_Yun = PIE.DataSource.DatasetFactory.OpenRasterDataset(@"D:MapData测试数据CC_2018082615.tif", OpenMode.ReadOnly); 9 //2、创建复合数据集 10 PIE.DataSource.IComplexRasterDataset dataset = new PIE.DataSource.ComplexRasterDataset(); 11 dataset.AddRasterBand(rasterDS_World, 0); 12 dataset.AddRasterBand(rasterDS_World, 1); 13 dataset.AddRasterBand(rasterDS_World, 2); 14 dataset.AddRasterBand(rasterDS_Yun, 0); 15 IRasterLayer rasterLayer = new RasterLayer(); 16 rasterLayer.Dataset = dataset as IRasterDataset; 17 18 //3、复合数据集显示 19 (rasterLayer as ILayer).Name = "组合图层测试"; 20 m_HookHelper.FocusMap.AddLayer(rasterLayer as ILayer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 21 } |
2.5. 示例截图
注:显示的结果图需要改变一下渲染方式,RGB渲染需要将透明度第四波段打勾才会出现上图效果