美文网首页
AE中关于Raster的理解

AE中关于Raster的理解

作者: 吵吵人 | 来源:发表于2019-03-11 20:45 被阅读0次

    raster 是在重投影、重采样后内存中存在的短暂的数据表达。对raster的修改并不能够影响现有的数据源。虽然是存储在内存中,但是我们可以通过方法来永久保存这个raster对象。
    如我们可以使用:ISaveAs 接口或者 IRasterBandCollection 接口来进行保存 raster对象;

    创建raster对象的方法:

    1. 从现有的RasterLayer 中派生出raster对象IRasterLayer::Raster;
    2. 从rasterdataset对象中创建raster对象;
      IRasterDataset::CreateDefaultRaster 方法;——创建默认的raster,最多具有3个rasterdataset中的波段band。
      IRasterDataset2::CreateRaster 方法;——创建空raster对象,所创建的raster属性都是空值0。
      IRasterDataset2::CreateFullRaster方法;——创建的raster对象会包含所有的波段band。

    当创建完空的raster对象后,就需要对raster对象设置长、宽 extent 等属性,使用IRasterProps(设置)接口;
    使用获取Raster对象的raster属性信息使用IRasterDefaultProps(只读)接口来查看;
    使用IRasterAnalysisProps接口来设置raster分析时的属性;

    名词解释

    • PixelBlock :字面上理解为“像素块”。顾名思义PixelBlock 是多个像素点组成的块,它的大小可以是整个raster, 当然也可以是raster中的某一个区域(要随定义块的大小而定行数、列数而确定);利用这个PixelBlock 我们可以读取PixelBlock上的所有像素点值(通过SafeArray来获取)。我们也可以理解使用PixelBlock可以从原有的raster或rasterband中截取一个区域,组成新的raster或者rasterband。
    • Planes : 可以把它理解为是波段。如一个raster有3个波段,那么Planes的数量就是3;
    • SafeArray: 返回某一波段中pixelBlock的所有像素数组;
    • GetVal: 可以返回特点波段上,特定行、列上的数值;

    原文:http://blog.sina.com.cn/s/blog_84f7fbbb010190do.html

    相关文章

      网友评论

          本文标题:AE中关于Raster的理解

          本文链接:https://www.haomeiwen.com/subject/fajipqtx.html