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 开发手册
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。