zoukankan      html  css  js  c++  java
  • 栅格数据开发

    1、栅格数据的存储类型

    栅格数据一般可以存储为ESRI GRID(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据

    2、栅格数据集和栅格编目的区别

    一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波段就是一个数据矩阵。对于格网数据(DEM数据)和单波段的影像数据,表现为仅仅只有一个波段数据的栅格数据集,而对于多光谱影像数据则表现为具有多个波段的栅格数据集

    栅格编目(RasterCatalog)用于显示某个研究区域内各种相邻的栅格数据,这些相邻的栅格数据没有经过拼接处理合成一副大的影像图

    3、IRasterWorkspaceEx与IRasterWorkspace ,IRsterWorkspace2的区别

    1).IRasteWorkspaceEx接口主要是用来读取GeoDatabase中的栅格数据集和栅格编目

    2) . IRasterWorkspace ,IRsterWorkspace2主要是用来读取以文件格式存储在本地的栅格数据

    4、如何读取栅格数据的属性和遍历栅格数据

    栅格数据的属性包括栅格大小,行数,列数,投影信息,栅格范围等等,见下面代码

    (假设当前加载的栅格文件栅格值存储方式为:UShort类型)

    IRasterProps rasterProps = (IRasterProps)clipRaster;

    int dHeight = rasterProps.Height;//当前栅格数据集的行数

    int dWidth = rasterProps.Width; //当前栅格数据集的列数

    double dX = rasterProps.MeanCellSize().X; //栅格的宽度

    double dY = rasterProps.MeanCellSize().Y; //栅格的高度

    IEnvelope extent=rasterProps.Extent; //当前栅格数据集的范围

    rstPixelType pixelType=rasterProps.PixelType; //当前栅格像素类型

    IPnt pntSize = new PntClass();

    pntSize.SetCoords(dX, dY);

    IPixelBlock pixelBlock = clipRaster.CreatePixelBlock(pntSize);

    IPnt pnt = new PntClass();

    for (int i = 0; i < dHeight; i++)

    for (int j = 0; j < dWidth; j++)

    {

    pnt.SetCoords(i, j);

    clipRaster.Read(pnt, pixelBlock);

    if (pixelBlock != null)

    {

    object obj = pixelBlock.GetVal(0, 0, 0);

    MessageBox.Show( Convert.ToUInt32(obj).ToString());

    }

    }

  • 相关阅读:
    C# 根据节点索引访问XML配置文件
    C# AE 关于TOCControl
    C# AE 实现点选框选/点击选择要素
    C# AE 合并要素/合并图形/merger功能
    C# AE 对图层筛选要素后显示/只显示符合条件的要素
    css实现垂直水平居中的几种方法
    js中的DOM节点----文本节点
    js中的DOM节点操作---增删改查
    js中的6中继承方式
    js中的原型对象---prototype
  • 原文地址:https://www.cnblogs.com/curtful/p/2010992.html
Copyright © 2011-2022 走看看