ArcGIS Engine 10 开发手册(6-5)使用ArcGIS Engine进行空间插值

本文目录
  • 正文

在 GIS 的地理空间信息采集过程中,我们对某种地理空间现象或特征进行地理空间测量,都是基于一 种离散的样本测量,利用这些有限的采样点数据,而对研究区域内其他未知区域的特征数据进行地理空间 信息的推理和估计,从而构建一个连续的地理特征表面分布,我们把这种地理空间推理计算和估计的方法 称为地理空间插值。

地理空间插值方法

GIS 中常用的地理空间插值方法主要包括如下几种:

  • 距离加权倒数空间插值法(IDW)
  • 自然临近空间插值法
  • 样条空间插值法
  • 克里格空间插值法
  • 趋势空间插值法

这些地理空间插值方法给我们一种技术手段以供对未知点的推理和估算,其测算结果具有地统计意义,测算结果与样本空间大小及样本空间的分布直接相关,而且这些插值方法在预测估值的时候都有自己的前 提假设,这个假设也就是每一种插值算法的理论前提。ArcGIS Engine 中 空间插值的方法都定义在 IInt erpolationOp 接口中,现在这个接口已经到了 IInterpolationOp3,下面就是 IInterpolationOp3 接口中 定义的方法:

和插值相关的接口

IFeatureClassDescriptor 接口:

IFeatureClassDescriptor 接口被 FeatureClassDescriptor 对象实现,FeatureClassDescriptor 对 象通过指定一个值字段用来来描述插值的时候所需要的一些信息。

IRasterAnalysisEnvironment 接口:

IRasterAnalysisEnvironment 接口定义了插值后生成栅格的大小,范围,Mask 等。

IRasterRadius 接口: 从这个的字面意思就可以看出这个接口是和距离有关的,没错,我们知道一些插值比如 IDW 就是和距

离有关的,而设置距离的一些信息就定义在这个接口中,这个接口被 RasterRadiusClass 类实现。

示例:利用ArcGIS Engine实现IDW差值

代码如下

public IGeoDataset IDW (IFeatureClass _pFeatureClass, string _pFieldName, double _pDistance, double _pCell, int _pPower)

{

  IGeoDataset Geo = _pFeatureClass as IGeoDataset;
  object pExtent = Geo.Extent;

  object o = Type.Missing;

  IFeatureClassDescriptor pFeatureClassDes = new FeatureClassDescriptorClass ();

  pFeatureClassDes.Create (_pFeatureClass, null,_pFieldName);

  IInterpolationOp pInterOp = new RasterInterpolationOpClass ();
  IRasterAnalysisEnvironment pRasterAEnv = pInterOp as

  IRasterAnalysisEnvironment;

  // pRasterAEnv.Mask = Geo;

  pRasterAEnv.SetExtent (esriRasterEnvSettingEnum.esriRasterEnvValue, ref pExtent, ref o);

  object pCellSize = _pCell; //可以根据不同的点图层进行设置

  pRasterAEnv.SetCellSize (esriRasterEnvSettingEnum.esriRasterEnvValue, ref pCellSize);

  IRasterRadius pRasterrad = new RasterRadiusClass ();
  object obj = Type.Missing;
  pRasterrad.SetFixed (_pDistance, ref obj);

  object pBar = Type.Missing;

  IGeoDataset pGeoIDW = pInterOp.IDW (pFeatureClassDes as IGeoDataset, _pPower, pRasterrad, ref pBar);

  return pGeoIDW;

}

ArcGIS Engine 10 开发手册全集

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

如果本文对你有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。
赞赏支持
微信捐助麻辣GIS 支付宝捐助麻辣GIS

麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。

如您有疑问,可在文末留言,或到QQ群中提问。

本站QQ群(一):291616564 麻辣GIS

本站QQ群(二):166408035 麻辣GIS(二)

本站QQ群(三):627853279 麻辣GIS(三)

微信公众号:malagis,扫描右边二维码直接关注。

发表评论