1. 功能简介

栅格数据包含很多信息,在数据的运用中需要对数据的信息进行读取或写入,目前PIE SDK支持多种数据格式的数据读取和写入,下面对栅格数据格式的数据读写功能进行介绍。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

获取要读取的栅格数据

第二步

读取栅格数据

第三步

写入栅格数据并赋值投影

2.2. 核心接口与方法

接口/类

方法/属性

说明

IRasterDataset

GetBandCount()

获取波段数

GetRasterBand(int nIndex)

获取栅格波段对象

GetRasterDataType()

获取栅格数据类型

Read(int nx, int ny, int nWid, int nHei, int nBufXSize, int nBufYSize, IList<int> bandMap)

栅格数据集读取数据

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/04数据操作/12栅格数据集的读写

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

视频路径

百度云盘地址下/PIE视频教程/04数据操作/12栅格数据集的读写.avi

示例代码

          /// <summary>
/// 栅格数据集的读写
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_ReadRasterData_Click(object sender, EventArgs e)
{
string rPathLBT = @"D:\Data\World.tif";
IRasterDataset rDataset = DatasetFactory.OpenRasterDataset(rPathLBT, OpenMode.ReadOnly);
int bandCount = rDataset.GetBandCount();
IRasterBand rasterband = rDataset.GetRasterBand(bandCount - );
PixelDataType type = rasterband.GetRasterDataType(); int[] bandMap = new int[bandCount];
for (int i = ; i < bandCount; i++)
{
bandMap[i] = i + ;
}
UInt16[] buf = new UInt16[ * * bandCount];
bool ok = rDataset.Read(, , , , buf, , , type, bandCount, bandMap); //获取投影
string rPathGLL = @"D:\Data\World.tif";
IRasterDataset rDatasetGLL = DatasetFactory.OpenRasterDataset(rPathGLL, OpenMode.ReadOnly);
ISpatialReference spGLL = rDatasetGLL.SpatialReference;
string stGLL = spGLL.ExportToWkt(); //写入数据并赋值投影
string rPathSaveGLL = @"D:\Data\World_new.tif";
IRasterDataset rasterDatasetSave = DatasetFactory.CreateRasterDataset(rPathSaveGLL, , , bandCount, type, "GTIFF", null);
ok = rasterDatasetSave.Write(, , , , buf, , , type, bandCount, bandMap);
rasterDatasetSave.SpatialReference = SpatialReferenceFactory.CreateSpatialReference(stGLL); ((IDisposable)rasterDatasetSave).Dispose();
rasterDatasetSave = null;
ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(rPathSaveGLL);
mapControlMain.FocusMap.AddLayer(layer); mapControlMain.ActiveView.PartialRefresh(PIE.Carto.ViewDrawPhaseType.ViewAll);
}

2.4. 示例截图

PIE SDK栅格数据集的读写的更多相关文章

  1. PIE-SDK For C++栅格数据集的读写

    1.功能简介 栅格数据包含很多信息,在数据的运用中需要对数据的信息进行读取或写入,目前PIE SDK支持多种数据格式的数据读取和写入,下面对栅格数据格式的数据读写功能进行介绍. 2.功能实现说明 2. ...

  2. PIE SDK栅格RGB渲染

    1. 功能简介 RGB色彩模式是一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道的颜色,这个标准几乎包 ...

  3. PIE SDK栅格增强控制

    1. 功能简介 亮度是指发光体(反光体)表面发光(反光)强弱的物理量:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量:透明度是描述光线透过的程度 栅格数据增强控制主要是通过对亮 ...

  4. PIE SDK栅格图层渲染变化事件监听

    1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...

  5. PIE SDK栅格生成等值线、面

      1.算法功能简介 等值线图能直观地展示数据的变化趋势,是众多领域展示成果的重要图建之一,被广泛应用于石油勘探.矿物开采.气象预报等众多领域.等值线的绘制是指从大量采样数据中提取出具有相同值的点的信 ...

  6. PIE SDK栅格矢量化算法

    1.算法功能简介 栅格数据矢量化较为复杂,如果由一幅扫描的数字化地图来建立矢量数据库,则需要经过数字图象处理,如边缘增强.细化.二值化.特征提取及模式识别才能获得矢量数据.人们通常将多色地图分色后逐个 ...

  7. PIE SDK栅格分级渲染

    1.  功能简介 栅格数据分级渲染是根据不同的分级规则,对像元值进行等级划分:并通过对每一级设置不同的显示符号和标注信息,从而达到分级显示的效果. 2.功能实现说明 2.1. 实现思路及原理说明 第一 ...

  8. PIE SDK栅格拉伸渲染

    1. 功能简介 栅格数据拉伸渲染是对指定的波段进行图像拉伸,并设置拉伸之后的颜色带,根据像元值和颜色带进行数据渲染. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 实例化拉伸渲染对象示例 ...

  9. PIE SDK栅格拉伸控制

    1. 功能简介 在我们的实际应用中,对于一般16bit或者更大比特深度的影像,像元值都是大于255的.这种情况下,RGB的显示器是不能够直接使用像元值进行显示的,需要将像元值换算到0~255的区间内以 ...

随机推荐

  1. 第17章-Spring消息

    1 异步消息简介 像RMI和Hessian/Burlap这样的远程调用机制是同步的.如图17.1所示,当客户端调用远程方法时,客户端必须等到远程方法完成后,才能继续执行.即使远程方法不向客户端返回任何 ...

  2. (转)不定义JQuery插件,不要说会JQuery

    原文地址:http://www.cnblogs.com/xcj26/p/3345556.html 一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#" ...

  3. cmake笔记

    注:cmake .   当前文件夹(一个点)   cmake .. 父目录(两个点) 例子一 一个经典的C程序,如何用cmake来进行构建程序呢? //main.c #include <stdi ...

  4. android library使用方法

    一.Android library使用情景 通用模块的重复使用,项目做多了,其实都是差不多,核心模块基本无需大的改动,需要改的只是核心模块上的业务功能而已. Java中可以打包成库,或者说,单纯的ja ...

  5. wp 取消button按下效果

    <Style x:Key="ButtonStyle2" TargetType="Button">            <Setter Pro ...

  6. 洛谷P2510 [HAOI2008]下落的圆盘(计算几何)

    题面 传送门 题解 对于每个圆,我们单独计算它被覆盖的周长是多少 只有相交的情况需要考虑,我们需要知道相交的那段圆弧的角度,发现其中一个交点和两个圆的圆心可以构成一个三角形且三边都已经知道了,那么我们 ...

  7. sass的基本语法与使用

    一.简介 SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护.以上都是百度的,哈哈: 其实个人认为sass就是一套提高编写css效率的规则 ...

  8. postgreSQL PL/SQL编程学习笔记(一)

    1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE ...

  9. SDUT OJ 数据结构实验之图论六:村村通公路(最小生成树)

    数据结构实验之图论六:村村通公路 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...

  10. URL编码以及GET和POST提交乱码解决方案

    get方式时参数是作为url一部分传输的.而对于url是有规范的,汉字超出了规范的范围. post方式不需要加编码是错误的.post时也必须传送符合服务器规范的编码.如果错误,服务器收到的内容也不会正 ...