在ArcObjects应用程序中使用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来调用和运行的。(这句话的意思是我们还有第二种调用地理工具的方法,即直接访问其类)
下面的代码显示了如何调用一个buffer工具:using ESRI.ArcGIS.Geoprocessor;
using ESRI.ArcGIS.AnalysisTools;
// Initialize the Geoprocessor
GeoProcessor GP = new Geoprocessor();
// Set workspace environment
GP.SetEnvironmentValue(“workspace”, @ “C:\Data\Nfld.
gdb”);
// Initialize the Buffer Tool
Buffer bufferTool = new Buffer();
bufferTool.in_features = “roads”;
bufferTool.out_feature_class = “roads_500”;
bufferTool.buffer_Distance_or_field = “500 METERS”;
// Execute the buffer
GP.Execute(bufferTool, null)
Related Items
Comments
vb不太清楚,不过delphi是肯定不支持的
using ESRI.ArcGIS.AnalysisTools 我怎么找不到呀?
http://edndoc.esri.com/arcobjects/9.2/net_api_ref/GP/topic82.html,看看这个
不过delphi是肯定不支持的
---------------------------------------
谁说delphi不支持?
这年头还有用Delphi写程序的人,还是挺稀罕的。不过从根本上讲,凡是支持COM的语言都还可以利用AO继续写下去的。
Leave a comment
Or, take a look at Archives and Categories
只支持.net吧,vb或delphi中,找不到AnalysisTools;