??本文介绍在ArcMap通过现有的软件Python脚本程序,建立新的工具箱并在其中设置自定义工具的方法。通过本文介绍的操作,我们可以实现自己的操作Python代码包装,像其他一样ArcGIS界面化地理处理操作与现有工具相同。
??首先,在ArcMap中打开“ArcToolbox”。

??接下来,在弹出窗口的空白处右键选择Add Toolbox”。

??在弹出窗口中,选择右上角的New Toolbox,您可以在下列表中看到新建立的,以便.tbx后缀工具箱。这里不小心点了两次New Toolbox因此,两个新的工具箱出现在下工具箱。

??此时,在“ArcToolbox你还可以看到你刚刚建立的工具箱。

??在“ArcToolbox在右键刚刚建立的工具箱中,选择Rename,可以重命名。

??重命名后,同样右键工具箱,选择Properties可调整其更多属性信息。

??同时,工具箱的别名和描述文本也可以在这里修改。

??本工具箱的介绍可以填写上述描述文本。描述文本配置后,我们在工具箱右键选择Item Description”。

??您可以看到我们刚刚配置的描述文本。

??接下来,我们将开始现有的Python将代码脚本引入工具箱作为自定义工具。
??右键在工具箱上,选择Add”→“Script”。

??将脚本配置在弹出窗口中成为工具箱中的自定义工具后,工具的名称、标记、描述信息等。

??这里需要注意的是,脚本对应的工具名称不能包含空间或下划线;我上图所示的工具名称有下划线,需要修改。

??修改后,找到相应的Python并导入程序脚本文件。

??导入后,根据脚本文件中变量的数量和要求设置工具参数。

??其中,可以在Default配置一个参数的默认值;Filter在导入过程中设置参数的过滤方法。

??例如,如果某个参数是文件类型,则可以在Filter通过文件后缀名来限制这个参数。我们以.xls以格式文件为例,输入格式的后缀名。

??点击确定后,打开新建立的自定义工具。

??点击此参数对应的项目。

??可以看出,这里只支持选择.xls格式文件。

??如果约束相对多种文件格式,可以用英文分号分隔,在文件格式过滤栏中输入多个文件后缀名,如xls;xlsx。

??可以看出,此时可以选择上述两种文件格式。

??此外,还可以修改不同参数是否为必填项的属性。例如,我们将第一个参数修改为非必填,并设置默认选项。

??打开自定义工具,可以看到该参数没有绿色的必填标志,并且有默认值。
