麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(8-5)和栅格空间分析的相关接口(一)

栅格数据结构简单、直观,非常利于计算机操作和处理,是 GIS 常用的空间基础数据格式。 基于栅格 数据的空间分析是 GIS 空间分析的基础,也是 ArcGIS 的空间分析的重要组成部分.在 ArcGIS Engine 中对 栅格数据的空间分析提供了众多的接口,现在我们对常用的进行简单介绍。

IRasterProps

该接口用来描述通用的栅格数据的属性,如行数,列数等.如下面的代码用来获取栅格数据的高和宽

void GetRasterProps(IRaster pRaster)

{

IRasterProps pRasterPros = pRaster as IRasterProps; int pH = pRasterPros.Height;//3973

int pW = pRasterPros.Width;//5629

}

IRasterCursor

IRasterCursor 接口控制着 一个 Raster 的像素块 (Pixblock),IRasterCurosr 接口跟前面介绍的IFeatureCursor 一样具有一个 Next 方法,用于获取下一个 Pixblock,在默认情况下 IRasterCurosr 将整个 Raster 划分为高为 128 的像素块,宽为整个 Raster 的宽, IRasterCurosr 每次读取比前一次低于 128 行的像素块 接口的属性和方法如下:

为了获取 IRasterCursor,我们要用 IRaster::CreateCursor 或者 IRaster2::CreateCursorEx 方法,而这两个 的区别是前者不需要参数,而是系统默认的,而后者是需要我们制定一个大小(IPnt,看清是 IPnt,不是 IPoint)

void GetRasterCursorDefault (IRaster pRaster)

{

  IRasterCursor pRasterCursor = pRaster.CreateCursor ();
  while (pRasterCursor.Next ())

  {

    IPixelBlock pPixBlock = pRasterCursor.PixelBlock;

    int W = pPixBlock.Width;

    //这个W也就是整个栅格数据记得宽度

    int H = pPixBlock.Height;

  }

}

void GetRasterCursorCustom (IRaster pRaster)

{

  IRaster2 pRaster2 = pRaster as IRaster2;
  IPnt pPnt = new PntClass ();

  pPnt.X = 256;

  pPnt.Y = 256;

  //IRasterCursor pRasterCursor2 = pRaster2.CreateCursorEx(null);

  //参数null的时候,获取PixBlock大小为1*1

  while (pRasterCursor2.Next ())

  {

    IPixelBlock pPixBlock = pRasterCursor2.PixelBlock;
    int W = pPixBlock.Width;

    int H = pPixBlock.Height;

  }

}

IPixelBlock

我们知道栅格数据的容量一般很大,怎么样调高效率呢,如果按照数组的方式一个一个像素的读取, 将整个栅格数据集都塞进二维数组也不是不可以,但是这样占的内存很多。ArcGIS 用数据库管理栅格数据 的时候是按照 block(默认是 128*128)将数据存在数据库中.而在 ArcGIS Engine 中,IPixelBlock 接口就提供了类似的功能。

IRasterLayerExport

IRasterLayerExport 接口提供的栅格数据提取功能有限,只能以矩形范围作为提取范围,如果需要更强 大的栅格数据提供功能,请考虑 IExtractionOp 接口,IExtractionOp 接口提供了多边形,圆,属性,矩形等几种形式作为提取栅格数据.

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)