ふと、ArcGISで利用できるツールボックスの数がいくつあるのか数えたくなりました。 ESRIジャパンの製品資料によると基本ライセンスのツール数は掲載されてたのですが、エクステンションで利用できるツール数が分からなかったので数えてみました。手で数えるのが面倒だったので数を求めるメソッドを探してたら方法がありました。
下のコードをArcMapのVBAに貼り付けて、マクロ”GetArcToolboxCount”を実行してください。ツールボックスのファイル名は、ArcMapやArcCatalogでArcToolboxウィンドウを開き、各ツールボックスのプロパティから確認できます。
'ツールボックス内のツール数カウント
Public Sub GetArcToolboxCount()
'Toolboxファイル
Dim strSystemToolboxName As String
strSystemToolboxName = InputBox("システム ツールボックスのファイル名を入力してください。", , "Spatial Analyst Tools.tbx")
If strSystemToolboxName = "" Then Exit Sub<br /><br /> 'ToolboxWorkspaceFactoryの作成
Dim pToolboxWorkspaceFactory As IWorkspaceFactory
Set pToolboxWorkspaceFactory = New esriGeoprocessing.ToolboxWorkspaceFactory
'ToolboxWorkspaceの作成
Dim pToolboxWorkspace As IToolboxWorkspace
Set pToolboxWorkspace = pToolboxWorkspaceFactory.OpenFromFile("C:\Program Files\ArcGIS\ArcToolbox\Toolboxes", 0)
'名前によるToolboxの取得
Dim pGPToolbox As IGPToolbox
Set pGPToolbox = pToolboxWorkspace.OpenToolbox(strSystemToolboxName)
Dim pEnumGPTool As IEnumGPTool
Set pEnumGPTool = pGPToolbox.Tools
pEnumGPTool.Reset<br /><br /> Dim pGPTool As IGPTool
Set pGPTool = pEnumGPTool.Next
Dim i As Long
i = 0
'ループ
Do Until pGPTool Is Nothing
i = i + 1
Set pGPTool = pEnumGPTool.Next
Loop
MsgBox i, , strSystemToolboxName
Debug.Print strSystemToolboxName, i
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の引数を修正する必要があります。
