在Python脚本工具中为ArcGIS Desktop创建复选框参数吗?


11

我正在通过编写的Python脚本创建ArcGIS工具。我想知道是否可以有一个复选框参数。

我想要一个参数,用户可以在其中选择要素类,然后从要素类中选择模型中最上层的字段,然后希望用户能够选择他们想要脚本的层并使用从最上层字段派生的复选框结构运行。

python和ArcGIS Desktop可以做到吗?

Answers:


12

脚本工具的示例代码,它将具有一个复选框。如果用户将选中一个复选框,则该工具将验证指定数据文件的存在。

import arcpy
input_fc = r'C:\GIS\Temp\data_shp.shp'

    #getting the input parameter - will become a tool parameter in ArcGIS of Boolean type
    ischecked = arcpy.GetParameterAsText(0)

    #Important to convert the check box value to a string first.
    #Should be 'true' with the small case for 't',
    #not the 'True' as shown in the Python window in ArcGIS
    if str(ischecked) == 'true':
        arcpy.AddMessage("The check box was checked")
        result = arcpy.Exists(input_fc)
        #to return 'True' or 'False' depending on whether the data file exists
        #since it is a Boolean, important to convert it to a string
        arcpy.AddMessage(str(result))

    else: #in this case, the check box value is 'false', user did not check the box
        arcpy.AddMessage("The check box was not checked")

在ArcGIS Desktop应用程序中创建新的脚本工具时,请记住要添加布尔数据类型的工具参数。用户运行该工具时,此参数将自动显示为复选框。

在此处输入图片说明


7

要查看如何在Python脚本工具的对话框中显示一个复选框,请尝试使用以下测试代码:

inputString = arcpy.GetParameterAsText(0)
inputBoolean = arcpy.GetParameterAsText(1)

arcpy.AddMessage("String set to " + inputString)
arcpy.AddMessage("Boolean set to " + str(inputBoolean))

然后,当您将此脚本添加为工具时,您将需要两个参数,第一个为数据类型字符串,第二个为数据类型布尔值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.