文档详情

地理处理框架 - 江西理工大学研究生院.PPT

发布:2017-08-03约1.63万字共52页下载文档
文本预览下载声明
8.3.1 执行地理处理工具 在.NET中,要执行一个地理处理工具,需要用到地理处理器的Excute方法,因此必须首先创建一个地理处理器,以下是创建地理处理器的两种方法: 使用IGeoProcessor2接口 使用Geoprocessor类 使用IGeoProcessor2接口 ESRI.ArcGIS.Geoprocessing程序集中的GeoProcessor类实现了IGeoProcessor2接口,使用该接口中的Execute方法可以执行地理处理工具。 IGeoProcessor2. Execute方法的语法如下: public IGeoProcessorResult Execute ( string Name, IVariantArray ipValues, ITrackCancel pTrackCancel); 以下代码实现了调用创建缓冲区的地理处理工具: using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Geoprocessing; private static void RunBuffer() { IGeoProcessor2 gp = new GeoProcessorClass(); IVariantArray parameters = new VarArrayClass(); parameters.Add(@D:\St_Johns\data.mdb\roads); parameters.Add(@D:\St_Johns\data.mdb\roads_Buffer); parameters.Add(1000 Meters); gp.Execute(Buffer_analysis, parameters, null); } 以下代码是调用自定义工具箱中的工具: public void SampleCalculateBestPathTool() { IGeoProcessor2 gp = new GeoProcessorClass(); gp.AddToolbox(@C:\SanDiego\BestPath.tbx); IVariantArray parameters = new VarArrayClass(); parameters.Add(@C:\SanDiego\source.shp); parameters.Add(@C:\SanDiego\destination.shp); parameters.Add(@C:\SanDiego\bestpath.shp); gp.Execute(CalculateBestPath, parameters, null); } 使用Geoprocessor类 使用ESRI.ArcGIS.Geoprocessor程序集中的Geoprocessor类的Execute方法可以执行地理处理工具。 注意:GeoProcessor与Geoprocessor中的字母“p”大小写区别,它们是两个不同的类。GeoProcessor通过IGeoProcessor2接口执行工具及有关环境的设置等;Geoprocessor直接通过对象的属性、方法执行工具及有关环境的设置等。 Geoprocessor有两个重载的Execute方法: Execute(String,IVariantArray,ITrackCancel) Execute(IGPProcess,ITrackCancel) 以下代码调用擦除叠置工具: using ESRI.ArcGIS.Geoprocessor; using ESRI.ArcGIS.AnalysisTools; public void ExecutingEarse() { Geoprocessor GP = new Geoprocessor(); Erase eraseTool = new Erase(@C:\Data\Input.shp, @C:\Data\Erase.shp, @C:\Data\Output.shp); //或使用以下代码初始化工具: //Erase eraseTool = new Erase(); //eraseTool.in_features
显示全部
相似文档