C# 利用IRawPixels接口遍历栅格数据

AO的版本为10.2,开发的语言是C#。栅格数据来源IRasterDataset接口。

IRasterBandCollection pRasterBandCollection = pRasterDataset as IRasterBandCollection;
IRasterBand pRasterBand = pRasterBandCollection.Item(0);
 IRaster pRaster = (pRasterDataset as IRasterDataset2).CreateFullRaster();
IRawPixels pRawPixels = pRasterBand as IRawPixels;
IRasterProps pRasterProps = pRasterBand as IRasterProps;
int dHeight = pRasterProps.Height;
int dWidth = pRasterProps.Width;
IPnt pntSize = new PntClass();
pntSize.SetCoords(dHeight, dWidth);
IPnt pPixelBlockOrigin = new PntClass();
pPixelBlockOrigin.SetCoords(0, 0);
IPixelBlock pixelBlock = pRaster.CreatePixelBlock(pntSize);
pRawPixels.Read(pPixelBlockOrigin, pixelBlock);
System.Array arr = (System.Array)(pixelBlock as IPixelBlock3).get_PixelData(0);
for (int i = 0; i < dHeight;i++ )
{
 for (int j = 0; j < dWidth; j++)
 {
   float number = 0;
   float.TryParse(arr.GetValue(i,j).ToString(),out number);
  }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • C# 利用IRawPixels接口遍历栅格数据

    AO的版本为10.2,开发的语言是C#.栅格数据来源IRasterDataset接口. IRasterBandCollection pRasterBandCollection = pRasterDataset as IRasterBandCollection; IRasterBand pRasterBand = pRasterBandCollection.Item(0); IRaster pRaster = (pRasterDataset as IRasterDataset2).CreateFu

  • Python利用openpyxl库遍历Sheet的实例

    方法一,利用 sheet.iter_rows() 获取 Sheet1 表中的所有行,然后遍历 import openpyxl wb = openpyxl.load_workbook('example.xlsx') sheet = wb.get_sheet_by_name('Sheet1') for row in sheet.iter_rows(): for cell in row: print(cell.coordinate, cell.value) print('--- END OF ROW

  • 利用shell脚本遍历文件夹内所有的文件并作整理统计的方法

    环境: Ubuntu下采用shell脚本实现 案例简述: 文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名.通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为数字,则根据数字的大小统计该文件夹内文件在各个数据段的数量. 1.这里写一个函数,实现对文件夹内所有文件名的读取,采用的方法是递归! #!/bin/bash #folder="./test" function readfile () { #这里`为esc下面的按键符号 for file

  • Java Iterator接口遍历单列集合迭代器原理详解

    这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Iterator接口概述 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator . Iterator 接口也是Java集合中的一员,但它与 Collection . Map 接口有所不同,Collection 接口与 Map 接口主要用于存储元素,而 Iter

  • 利用For循环遍历Python字典的三种方法实例

    目录 前言 方法 1:使用 For 循环 + 索引进行迭代 方法 2:使用 .keys( ) + 索引进行迭代 方法 3:使用 .items( ) 进行迭代 进阶:遍历嵌套字典 总结 前言 在Python中,如何使用“for”循环遍历字典? 今天我们将会演示三种方法,并学会遍历嵌套字典. 在实战前,我们需要先创建一个模拟数据的字典. dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'} 方法 1:使用

  • Java爬虫实现Jsoup利用dom方法遍历Document对象

    先给出网页地址: https://wall.alphacoders.com/featured.php?lang=Chinese 主要步骤: 利用Jsoup的connect方法获取Document对象 String html = "https://wall.alphacoders.com/featured.php?lang=Chinese"; Document doc = Jsoup.connect(html).get(); 内容过长,就不再显示. 我们以这部分为例: <ul cl

  • Python利用keras接口实现深度神经网络回归

    目录 1 写在前面 2 代码分解介绍 2.1 准备工作 2.2 参数配置 2.3 数据导入与数据划分 2.4 联合分布图绘制 2.5 因变量分离与数据标准化 2.6 原有模型删除 2.7 最优Epoch保存与读取 2.8 模型构建 2.9 训练图像绘制 2.10 最优Epoch选取 2.11 模型测试.拟合图像绘制.精度验证与模型参数与结果保存 3 完整代码 1 写在前面 前期一篇文章Python TensorFlow深度学习回归代码:DNNRegressor详细介绍了基于TensorFlow 

  • Flask利用自定义接口实现mock应用详解

    问题:后端接口已提供,前端需要依赖后端接口返回的数据进行前端页面的开发,如何配合前端? mock接口 flask自定义接口实现查询接口:查询全部.部分查询 具体看下面的代码: #导入包 from flask import Flask,jsonify #定义内容属性 app = Flask(__name__) #处理中文乱码问题 app.config["JSON_AS_ASCII"]=False #接口数据,接口文档(已知) 多个参数 user_data=[ {"id"

  • JavaScript中利用for循环遍历数组

    先看一段代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> // 一个普通的数组 var arr =[3,5,2,6]; // 普通的for 循环遍历 for(var i = 0 ; i

  • springMVC利用FastJson接口返回json数据相关配置详解

    一直使用的是FastJson,感觉还不错,很方便.看了一段别人的分析,觉得很有道理. 为什么要使用Fastjson,其实原因不需要太多,喜欢就行. 我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便. ps:什么是对象间的循环嵌套?比如A有一个List,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jac

随机推荐