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. Ajax——三种数据传输格式

    一.HTML HTML由一些普通文本组成.如果服务器通过XMLHTTPRequest发送HTML,文本将存储在responseText属性中. 从服务器端发送的HTML的代码在浏览器端不需要用Java ...

  2. 类操作,removeClass&addClass

    // 添加类 function addClass(node,className){                 var reg=new RegExp("\\b"+classNa ...

  3. .NET将服务器文件导出

    导出文件:                string filePath = Server.UrlDecode(filePath);                if (File.Exists(fi ...

  4. React Relay 实现

    React客户端调用GraphQL 一.通过Relay框架中的QueryRenderer组件实现数据交互,有2点需要注意一下: 1.query的命名: 注意query前缀保持和js文件名一致,ex: ...

  5. 较为复杂的 GraphQL 查询实现

    一.实现功能首页各类排行榜加载数据: 向下遍历子节点并展开: 1.展开过程中动态加载简介summary.书类bookType: 2.book对象上包裹Rank节点,描述book对象在不同排行榜下所处位 ...

  6. 【EfF】 贪婪加载和延迟加载 (virtual去掉关闭延迟加载)

    EntityFramework(EF)贪婪加载和延迟加载的选择和使用 贪婪加载:顾名思议就是把所有要加载的东西一 次性读取 1 using (var context = new MyDbContext ...

  7. vs2015+opencv3.3.1+ c++实现 静态背景下多运动目标提取,检测

    静止背景下运动物体的提取,跟踪出运动轨迹 下载地址 https://download.csdn.net/download/li_haoren/10761361 1.两遍扫描法得到第n帧的连通域,分离出 ...

  8. python测试笔试题1

    哪一个方法用来返回变量类型? 答案 type 哪一个方法用来列出一个类下的所有属性,方法,以及变量? 答案 dir 字符串方法format是用来去掉字符串的左右空格的么? 答案 不是 python 的 ...

  9. CentOS6(CentOS7)设置静态IP 并且 能够上网

    链接原文:https://blog.csdn.net/u012453843/article/details/52839105 第一步:在网络连接下有VMnet1和VMnet8两个连接,其中VMnet1 ...

  10. 【转】winform回车变为tab

    源地址:http://www.cnblogs.com/wohexiaocai/p/4302200.html