ArcGIS Engine 10 开发手册(6-1)使用ArcGIS Engine进行叠加分析

本文目录
  • 正文

叠加分析是将有关主题层组成的数据层面,进行叠加产生一个新数据层面的操作,其结果综合了原来 两层或多层要素所具有的属性,从已有的数据中提取空间隐含的信息。叠加分析不仅包含空间关系的比较, 还包含属性关系的比较。叠加分析可以分为矢量图层的叠加分析和栅格数据的叠加分析,其中矢量的叠加 分析包括交集(Intersect)、裁减(Clip)、合并叠加(Union)以及合并(Merge)等类型。矢量图层叠加 分析需要用到的主要接口是 IBasicGeoProcessor,它提供了以下方法和属性:

在 IBasicGeoProcessor 接口中,它所定义的几个方法的参数都很相似,现在我们以 Intersect 方法为 例,在帮助中,我们可以看到 Intersect 方法包含下面几个参数:

输出要素对象的类型是 IFeatureClassName,也就是名称对象,关于名称对象,在数据库那一章节有 详细说明,其它几个参数比较容易理解,我们要做 Intersect 也就是构造这几个参数而已,如果深入理解 下,Esri 提供的这个方法,这些参数也正如叠加分析的定义那样,对相关数据的输入,通过叠加分析,构 造一个新的数据从而挖掘潜在信息

示例进行Intersect操作

public IFeatureClass Intsect (IFeatureClass_pFtClass, IFeatureClass_pFtOverlay, string_FilePath, string_pFileName)

{

  IFeatureClassName pOutPut = new FeatureClassNameClass ();
  pOutPut.ShapeType = _pFtClass.ShapeType;
  pOutPut.ShapeFieldName = _pFtClass.ShapeFieldName;
  pOutPut.FeatureType = esriFeatureType.esriFTSimple;

  //set output location and feature class name 
  IWorkspaceName pWsN = new WorkspaceNameClass();

  pWsN.WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory";
  pWsN.PathName = _FilePath;

  //也可以用这种方法,IName 和IDataset的用法

  /* 
  IWorkspaceFactory pWsFc = new ShapefileWorkspaceFactoryClass ();
  IWorkspace pWs = pWsFc.OpenFromFile (_FilePath, 0);

  IDataset pDataset = pWs as IDataset;

  IWorkspaceName pWsN = pDataset.FullName as IWorkspaceName;
  */

  IDatasetName pDatasetName = pOutPut as IDatasetName;

  pDatasetName.Name = _pFileName;
  pDatasetName.WorkspaceName = pWsN;

  IBasicGeoprocessor pBasicGeo = new BasicGeoprocessorClass ();

  IFeatureClass pFeatureClass = pBasicGeo.Intersect (_pFtClass as ITable, false,_pFtOverlay as ITable, false, 0.1, pOutPut);

  return pFeatureClass;

}

其中,第一个要素类如下:

第二个要素类如下:

Insetsect 之后,结果如下:

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,扫描右边二维码直接关注。

发表评论