AO 直接调用GeoProcessing 工具
Geoprocessing是ArcGIS的一個基礎(chǔ)組成部分。無論你是一個新手抑或老資格的專家,geoprocessing都是你使用ArcGIS完成每天工作的一部分。它提供了數(shù)據(jù)分析、數(shù)據(jù)管理和數(shù)據(jù)轉(zhuǎn)換等對于所用GIS用戶都必須的工具,當(dāng)然也包括ArcObjects開發(fā)者。
?GIS程序通常需要操作和分析地理數(shù)據(jù),如將數(shù)據(jù)集從一種投影轉(zhuǎn)換為另一種投影,為表添加字段,或者為要素添加緩沖區(qū)。ArcGIS9包括了上百個geoprocessing工具來執(zhí)行這些任務(wù)。本文將介紹ArcGIS Desktop和ArcGIS Engine用戶如何中ArcObjects應(yīng)用程序中使用這些geoprocessing工具。
?
Geoprocessor
Geoprocessor是簡化調(diào)用geoprocessing工具任務(wù)的主要對象。這個對象是執(zhí)行ArcGIS中任何geoprocessing工具的唯一訪問點,它是一個粗粒度對象,包含了許多屬性和方法,使得下面的操作變?yōu)榭赡?#xff1a;運行工具,設(shè)置全局環(huán)境參數(shù);檢查結(jié)果消息,執(zhí)行批處理,訪問數(shù)據(jù)屬性。
Toolboxes為geoprocessor定義了一套工具,Toolboxes可以添加到geoprocessor中,也可以從中刪除。(這句話的意思是,所有的geoprocessing都保存在Toolboxes中,Geoprocessor可以通過調(diào)用這些Toolbox的方式實現(xiàn)執(zhí)行其中地理工具的目的;當(dāng)然,它還可以直接調(diào)用工具類的方式執(zhí)行)
?geoprocessor對象可以使用任何語言,包括VB,.NET和Java,來進行訪問。本文所有的代碼都將使用C#。幫助也為Java開發(fā)者提供了“Additional Resources for Programming with Geoprocessing Tools”資源。
ArcGIS9.2包含了一個新的.NET程序集ESRI.ArcGIS.Geoprocessor。它包含了一個被稱為Geoprocessor的托管類。每一個ESRI提供的toolbox也都表現(xiàn)為一個托管程序集。在每一個toolbox程序集中,都擁有許多類來表示每個geoprocessing工具。工具類的都是使用Geoprocessor來調(diào)用和運行的。
(這句話的意思是我們還有第二種調(diào)用地理工具的方法,即直接訪問其類).下面的例子展示了如何用AO來調(diào)用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); }轉(zhuǎn)載于:https://www.cnblogs.com/tuncaysanli/archive/2009/04/02/1428519.html
總結(jié)
以上是生活随笔為你收集整理的AO 直接调用GeoProcessing 工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。