Vous créez un paramètre de case à cocher dans l'outil de script Python pour ArcGIS Desktop?

11

Je travaille sur la création d'un outil ArcGIS à partir d'un script Python que j'écris. Je me demande s'il est possible d'avoir un paramètre de case à cocher.

Je veux avoir un paramètre où l'utilisateur sélectionne une classe d'entités, puis dans la classe d'entités l'utilisateur choisira le champ pour la couche la plus haute de son modèle, puis je veux que l'utilisateur puisse choisir les couches dont il veut le script pour fonctionner avec une structure de case à cocher dérivée du champ de couche supérieur.

Est-ce possible avec python et ArcGIS Desktop?

géoïde
la source

Réponses:

12

Un exemple de code pour un outil de script qui aura une seule case à cocher. Si une case est cochée par un utilisateur, l'outil vérifie l'existence d'un fichier de données spécifié.

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")

N'oubliez pas d'ajouter un paramètre d'outil de type de données booléen lors de la création d'un nouvel outil de script dans l'application ArcGIS Desktop. Ce paramètre sera automatiquement affiché sous forme de case à cocher lorsque l'utilisateur exécutera l'outil.

entrez la description de l'image ici

Alex Tereshenkov
la source
7

Pour voir comment obtenir une case à cocher dans la boîte de dialogue d'un outil de script Python, essayez d'utiliser du code de test comme celui-ci:

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

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

Ensuite, lorsque vous ajoutez ce script en tant qu'outil, vous aurez besoin de deux paramètres, le premier de chaîne de type de données et le second de type booléen de données.

PolyGeo
la source