ジオプロセシングの使用方法

using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geoprocessing;
using ESRI.ArcGIS.Display;


//入出力用パラメータ変数設定
string strAnalysis = "Buffer_Analysis";                            //Buffer(同とtbxのエイリアス名を"_"で接続して記載)
strAnalysis = "CustomModel";                                //モデルビルダを呼び 名前を設定

//カスタムツールボックスを利用する場合
string strToolbox;
strToolbox = @"C:\Documents and Settings\Administrator\Application Data\ESRI\Arcoolboxes\Toolbox.tbx";
strToolbox = @"";                                           //システムツールを使指定
    
//パラメータ   
string[] strParameter = new string[2];    
strParameter[0] = @"D:\Workspace\World.gdb\World\Lakes";    //入力フィーチャクラス
strParameter[1] = @"1";                                     //Merters" '出力フィ       strParameter[2] = @"D:\Workspace\World.gdb\World\Buffer";   //バッファの距離

//GeoProcessorの初期化
IGeoProcessor pGeoProcessor = new GeoProcessorClass();
    
//入出力用パラメータ変数をVarArrayオブジェクトに格納
IVariantArray pVariantArray = new VarArrayClass();

for(int i=0;i < strParameter.Length;++i){
    pVariantArray.Add(strParameter[i]);
}

        
//ジオプロセシング設定
pGeoProcessor.OverwriteOutput = true;    //上書き保存許可
pGeoProcessor.AddOutputsToMap = true;    //出力フィーチャクラスをレイヤとして追加
    
    
if(strToolbox != ""){
    pGeoProcessor.AddToolbox(strToolbox);
}
    
//CancelTrackerの設定
ITrackCancel pTrackCancel = new CancelTrackerClass();
pTrackCancel.CancelOnClick = false;
pTrackCancel.CancelOnKeyPress = false;

//実行処理
IGeoProcessorResult pGeoProcessorResult = null;

try
{
    pGeoProcessorResult = pGeoProcessor.Execute(strAnalysis, pVariantArray, pTrackCancel);


    Console.WriteLine(pGeoProcessorResult.GetMessages(0));
    Console.ReadKey();

}
catch
{
    Console.WriteLine(pGeoProcessorResult.GetMessage(2));
    Console.ReadKey();
}
Public Sub subGeoprocessing()
    '入出力用パラメータ変数設定
    Dim strAnalysis As String
    strAnalysis = "Buffer_Analysis" 'Buffer(同一処理名の場合はツール名とtbxのエイリアス名を"_"で接続して記載)
    strAnalysis = "CustomModel"     'モデルビルダを呼び出す場合はプロパティ > 名前を設定
    
    'カスタムツールボックスを利用する場合
    Dim strToolbox As String
    strToolbox = "C:\Documents and Settings\Administrator\Application Data\ESRI\ArcToolbox\My Toolboxes\Toolbox.tbx"
    strToolbox = "" 'システムツールを使用する場合は空の文字列を指定
    
    'パラメータ    
    Dim strParameter(2) As String
    
    strParameter(0) = "D:\Workspace\World.gdb\World\Lakes" '入力フィーチャクラス
    strParameter(1) = "1" ' Merters" '出力フィーチャクラス
    strParameter(2) = "D:\Workspace\World.gdb\World\Buffer" 'バッファの距離

    'GeoProcessorの初期化
    Dim pGeoProcessor As IGeoProcessor
    Set pGeoProcessor = New GeoProcessor
    
    '入出力用パラメータ変数をVarArrayオブジェクトに格納
    Dim pVariantArray As IVariantArray
    Set pVariantArray = New VarArray
    
    Dim i As Long
    For i = 0 To UBound(strParameter) - LBound(strParameter)
        pVariantArray.Add strParameter(i)
    Next i
        
    'ジオプロセシング設定
    pGeoProcessor.OverwriteOutput = True    '上書き保存許可
    pGeoProcessor.AddOutputsToMap = True    '出力フィーチャクラスをレイヤとして追加
    
    If Not strToolbox = "" Then
        pGeoProcessor.AddToolbox strToolbox
    End If
    
    'CancelTrackerの設定
    Dim pTrackCancel As ITrackCancel
    Set pTrackCancel = New CancelTracker
    pTrackCancel.CancelOnClick = False
    pTrackCancel.CancelOnKeyPress = True
    
On Error GoTo Error:
    
    '処理実行
    Dim pGeoProcessorResult  As IGeoProcessorResult
    Set pGeoProcessorResult = pGeoProcessor.Execute(strAnalysis, pVariantArray, pTrackCancel)
    
    If Not strToolbox = "" Then
        pGeoProcessor.RemoveToolbox strToolbox
    End If
    
    Debug.Print pGeoProcessorResult.GetMessages(0)
    
    Exit Sub
    
Error:
    'エラー発生時
    Debug.Print pGeoProcessor.GetMessages(2)
    
End Sub