『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

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

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 之后,结果如下:

 

      京ICP备2025132830号-1 京公网安备 号