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. odoo10学习笔记五:高级视图

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189279.html 树视图 tree视图表现出来是列表视图,列表中一行一纪录.可以根据每行纪录的某字段值 ...

  2. 为何JAVAWEB绝对路径访问不了图片

    为何JAVAWEB绝对路径访问不了图片?其实这涉及到两个原因 1:浏览器类型不同: 五大主流浏览器内核有所不同,能够支持的功能不一样:如谷歌浏览器就不能查看绝对路径 2:涉及到保护隐私安全: (谷歌浏 ...

  3. 习题6-4 使用函数输出指定范围内的Fibonacci数

    #include<stdio.h> int fib(int n); void PrintFN(int m, int n); int main(void) { int m, n, t; sc ...

  4. 2020年第二期《python接口自动化+测试开发》课程,已开学!

    2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29 ...

  5. vue-router路由传参之query和params

    首先简单来说明一下$router和$route的区别 //$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象 //操作 路由跳转 this.$router.pu ...

  6. Js中的对象、构造函数、原型、原型链及继承

    1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={  ...

  7. 接口测试Post和Get区别(面试题)

    1. HTTP接口传递数据最常用的方式: Get方式是从服务器上获取数据:在做数据查询时,建议用Get方式:如:商品信息接口.搜索接口.博客访客接口等. Post方式是向服务器传送数据 :在做数据添加 ...

  8. WARN Connection to node 2 could not be established. Broker may not be available. (

    启动 kafka 集群, 出现这个问题 WARN Connection to node 2 could not be established. Broker may not be available. ...

  9. 复杂模拟 | 1017 模拟N个顾客M个柜台进行排队

    #include <stdio.h> #include <memory.h> #include <math.h> #include <string> # ...

  10. Python程序设计例题

    例一:蒙特卡罗方法求解 π 值 from random import random from math import sqrt from time import clock DARTS=1000 hi ...