AO 直接调用GeoProcessing 工具

Geoprocessing是ArcGIS的一个基础组成部分。无论你是一个新手抑或老资格的专家,geoprocessing都是你使用ArcGIS完成每天工作的一部分。它提供了数据分析、数据管理和数据转换等对于所用GIS用户都必须的工具,当然也包括ArcObjects开发者。

 GIS程序通常需要操作和分析地理数据,如将数据集从一种投影转换为另一种投影,为表添加字段,或者为要素添加缓冲区。ArcGIS9包括了上百个geoprocessing工具来执行这些任务。本文将介绍ArcGIS Desktop和ArcGIS Engine用户如何中ArcObjects应用程序中使用这些geoprocessing工具。

 

Geoprocessor

Geoprocessor是简化调用geoprocessing工具任务的主要对象。这个对象是执行ArcGIS中任何geoprocessing工具的唯一访问点,它是一个粗粒度对象,包含了许多属性和方法,使得下面的操作变为可能:运行工具,设置全局环境参数;检查结果消息,执行批处理,访问数据属性。

Toolboxes为geoprocessor定义了一套工具,Toolboxes可以添加到geoprocessor中,也可以从中删除。(这句话的意思是,所有的geoprocessing都保存在Toolboxes中,Geoprocessor可以通过调用这些Toolbox的方式实现执行其中地理工具的目的;当然,它还可以直接调用工具类的方式执行)

 geoprocessor对象可以使用任何语言,包括VB,.NET和Java,来进行访问。本文所有的代码都将使用C#。帮助也为Java开发者提供了“Additional Resources for Programming with Geoprocessing Tools”资源。

ArcGIS9.2包含了一个新的.NET程序集ESRI.ArcGIS.Geoprocessor。它包含了一个被称为Geoprocessor的托管类。每一个ESRI提供的toolbox也都表现为一个托管程序集。在每一个toolbox程序集中,都拥有许多类来表示每个geoprocessing工具。工具类的都是使用Geoprocessor来调用和运行的。

(这句话的意思是我们还有第二种调用地理工具的方法,即直接访问其类).下面的例子展示了如何用AO来调用Geoprocessing.

using ESRI.ArcGIS.Geoprocessor;

using ESRI.ArcGIS.AnalysisTools;

public void SampleBufferTool()

{

// Initialize the geoprocessor. 

Geoprocessor GP = new Geoprocessor();

ESRI.ArcGIS.AnalysisTools.Buffer bufferTool = new

ESRI.ArcGIS.AnalysisTools.Buffer();

bufferTool.in_features = @"D:\St_Johns\data.mdb\roads_Buffer";

bufferTool.out_feature_class = @"D:\St_Johns\data.mdb\roads";

bufferTool.buffer_distance_or_field = "distance";

GP.Execute(bufferTool, null);

}

你可能感兴趣的:(process)