ArcToolboxのツール数を数える方法

      2013/06/28

ふと,ArcGISで利用できるツールボックスの数がいくつあるのか数えたくなりました。 ESRIジャパンの製品資料によると基本ライセンスのツール数は掲載されてたのですが,エクステンションで利用できるツール数が分からなかったので数えてみました。手で数えるのが面倒だったので数を求めるメソッドを探してたら方法がありました。

下のコードをArcMapのVBAに貼り付けて,マクロ”GetArcToolboxCount”を実行してください。ツールボックスのファイル名は,ArcMapやArcCatalogでArcToolboxウィンドウを開き,各ツールボックスのプロパティから確認できます。

'ツールボックス内のツール数カウント
Public Sub GetArcToolboxCount()<br /><br /> 'Toolboxファイル
 Dim strSystemToolboxName As String
 strSystemToolboxName = InputBox("システム ツールボックスのファイル名を入力してください。", , "Spatial Analyst Tools.tbx")<br /><br /> If strSystemToolboxName = "" Then Exit Sub<br /><br /> 'ToolboxWorkspaceFactoryの作成
 Dim pToolboxWorkspaceFactory As IWorkspaceFactory
 Set pToolboxWorkspaceFactory = New esriGeoprocessing.ToolboxWorkspaceFactory<br /><br /> 'ToolboxWorkspaceの作成
 Dim pToolboxWorkspace As IToolboxWorkspace
 Set pToolboxWorkspace = pToolboxWorkspaceFactory.OpenFromFile("C:\Program Files\ArcGIS\ArcToolbox\Toolboxes", 0)<br /><br /> '名前によるToolboxの取得
 Dim pGPToolbox As IGPToolbox
 Set pGPToolbox = pToolboxWorkspace.OpenToolbox(strSystemToolboxName)<br /><br /> Dim pEnumGPTool As IEnumGPTool
 Set pEnumGPTool = pGPToolbox.Tools<br /><br /> pEnumGPTool.Reset<br /><br /> Dim pGPTool As IGPTool
 Set pGPTool = pEnumGPTool.Next<br /><br /> Dim i As Long
 i = 0<br /><br /> 'ループ
 Do Until pGPTool Is Nothing
 i = i + 1<br /><br /> Set pGPTool = pEnumGPTool.Next
 Loop<br /><br /> MsgBox i, , strSystemToolboxName
 Debug.Print strSystemToolboxName, i<br /><br />End Sub

 

結果このようになりました。

  • 3D Analyst Tools.tbx         74
  • ArcPad Tools.tbx             4
  • Geocoding Tools.tbx          5
  • Geostatistical Analyst Tools.tbx           11
  • Network Analyst Tools.tbx    18
  • Spatial Analyst Tools.tbx    167
  • Tracking Analyst Tools.tbx   2
  • Cartography Tools.tbx        20
  • Server Tools.tbx             7
  • Samples.tbx    13
  • Schematics Tools.tbx         5
  • Data Management Tools.tbx    175
  • Multidimension Tools.tbx     7
  • Mobile Tools.tbx             2
  • Linear Referencing Tools.tbx               7
  • Analysis Tools.tbx           19
  • Spatial Statistics Tools.tbx               25
  • Conversion Tools.tbx         36
  • Coverage Tools.tbx           56

Coverage Tools.tbxだけは,tbxファイルが保存されているパスが異なる("C:\Programs\ArcGIS\arcexe9x\Toolboxes")ので,IWorkspaceFactory::Openの引数を修正する必要があります。

参考:ESRI User Forum

 - ArcObjects, GIS