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

可选文件,栅格数据金字塔文件;

[Tiff数据文件结构说明]

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

示例代码

          /// <summary>
/// 复合图层
/// </summary>
private void Test_ComplexRasterDataset()
{
//1、获取路径
IRasterDataset rasterDS_World = PIE.DataSource.DatasetFactory.OpenRasterDataset(@"D:\MapData\测试数据\World.tif", OpenMode.ReadOnly);
IRasterDataset rasterDS_Yun = PIE.DataSource.DatasetFactory.OpenRasterDataset(@"D:\MapData\测试数据\CC_2018082615.tif", OpenMode.ReadOnly);
//2、创建复合数据集
PIE.DataSource.IComplexRasterDataset dataset = new PIE.DataSource.ComplexRasterDataset();
dataset.AddRasterBand(rasterDS_World, );
dataset.AddRasterBand(rasterDS_World, );
dataset.AddRasterBand(rasterDS_World, );
dataset.AddRasterBand(rasterDS_Yun, );
IRasterLayer rasterLayer = new RasterLayer();
rasterLayer.Dataset = dataset as IRasterDataset; //3、复合数据集显示
(rasterLayer as ILayer).Name = "组合图层测试";
m_HookHelper.FocusMap.AddLayer(rasterLayer as ILayer); m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}

2.5. 示例截图

注:显示的结果图需要改变一下渲染方式,RGB渲染需要将透明度第四波段打勾才会出现上图效果

PIE SDK 多数据源的复合数据集加载的更多相关文章

  1. 什么是pytorch(4.数据集加载和处理)(翻译)

    数据集加载和处理 这里主要涉及两个包:torchvision.datasets 和torch.utils.data.Dataset 和DataLoader torchvision.datasets是一 ...

  2. OFRecord 数据集加载

    OFRecord 数据集加载 在数据输入一文中知道了使用 DataLoader 及相关算子加载数据,往往效率更高,并且学习了如何使用 DataLoader 及相关算子. 在 OFrecord 数据格式 ...

  3. 基于FBX SDK的FBX模型解析与加载 -(四)

    8. 骨骼蒙皮动画 骨骼蒙皮动画是当前游戏引擎中最常用的一种动画方式,关于其基本原理网络上的资料较多,关于到涉及的其它较复杂操作,如插值.融合等在这里也就先不再讨论了,而且其实现方式也与具体引擎的动作 ...

  4. 基于FBX SDK的FBX模型解析与加载 -(三)

    http://blog.csdn.net/bugrunner/article/details/7229416 6. 加载Camera和Light 在FBX模型中除了几何数据外较为常用的信息可能就是Ca ...

  5. 基于FBX SDK的FBX模型解析与加载 -(一)

    http://blog.csdn.net/bugrunner/article/details/7210511 1. 简介 FBX是Autodesk的一个用于跨平台的免费三维数据交换的格式(最早不是由A ...

  6. tensorflow数据集加载

    本篇涉及的内容主要有小型常用的经典数据集的加载步骤,tensorflow提供了如下接口:keras.datasets.tf.data.Dataset.from_tensor_slices(shuffl ...

  7. [深度学习]-Dataset数据集加载

    加载数据集dataloader from torch.utils.data import DataLoader form 自己写的dataset import Dataset train_set = ...

  8. 基于FBX SDK的FBX模型解析与加载 -(二)

    http://blog.csdn.net/bugrunner/article/details/7211515 5. 加载材质 Material是一个模型渲染时必不可少的部分,当然,这些信息也被存到了F ...

  9. las数据集加载las数据

    引用的类库:ESRI.ArcGIS.GeoDatabaseExtensions 逻辑步骤: 1.创建las数据集(ILasDataset). 2.实例化las数据集的编辑器(ILasDatasetEd ...

随机推荐

  1. 3-2-Pandas 索引

    Pandas章节应用的数据可以在以下链接下载:  https://files.cnblogs.com/files/AI-robort/Titanic_Data-master.zip In [4]: i ...

  2. 2-1Numpy概述

    In [1]: import numpy as np In [2]: array=[1,2,3,4,5] array+1#没定义成numpy.ndarray类型是不能直接操作的   --------- ...

  3. devops 下测试组织管理面临的挑战及应对

    导读 先从引发的5个问题讲起,再简单回顾一下devops 简介和兴起背景 ,再从itest 测试管理团队的视角提出应对办法 DevOps后,测试面临的挑战        敏捷开发必然是迭代开发管理模式 ...

  4. 基于VLC库C#开发可播放摄像头及任意格式视频的播放器

    前言 本文主要讲述,在WPF中,借助Vlc.DotNet调用VLC类库,实现视频播功能,下面我们先来做开发前的准备工作. 准备工作 首先,我们创建一个项目WpfVLC,然后,进入Neget搜索Vlc. ...

  5. 莫烦TensorFlow_04 placeholder

    import tensorflow as tf input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) outp ...

  6. 20191003 「HZOJ NOIP2019 Round #8」20191003模拟

    综述 试题为常州集训2019SCDay2 得分\(100+30(0)+28\) 时之终结 问题描述 HZOJ1310 题解 构造题. 发现部分分有一档是 \(Y\) 是 \(2^x\) ,于是自然想到 ...

  7. xpath获取标签对本身含内容, 获取html内容

    通常使用xpath我们直接定位到标签后, 使用/text() 或 //text()来获取标签对之间的文本值, 但特殊情况下我们也需要获取标签本身含文本值, 操作如下: 文件为html, 标签对结构如下 ...

  8. 前端Vue项目——登录页面实现

    一.geetest滑动验证 geetest官方文档地址:https://docs.geetest.com/ 产品——极速验证:基于深度学习的人机识别应用.极验「行为验证」是一项可以帮助你的网站与APP ...

  9. 日常笔记5C/C++快速入门一些基础细节

    一.变量数据类型 int大致范围:-210^9~210^9 long long大致范围:-910^18~910^18,对于长整型来说,如果赋值大于2^31-1的初值,就需要在初值后面加上LL,否则会编 ...

  10. VSCode编写C/C++语言,配置文件和注意事项

    前言 主要是自己先下载好VSCode,然后在自己电脑上安装好就行了,但是VSCode是编辑器,不是IDE,所以需要自己配置文件,主要有四个都是以.json结尾的文件,这里默认已经装过C/C++的编辑器 ...