ArcGIS Desktop用のPythonスクリプトツールでチェックボックスパラメーターを作成しますか?


11

執筆中のPythonスクリプトからArcGISツールを作成しています。チェックボックスパラメータを使用できるかどうか疑問に思っています。

ユーザーがフィーチャクラスを選択し、フィーチャクラスからモデルの最上層のフィールドを選択し、スクリプトに必要なレイヤーを選択できるようにするパラメーターが必要です最上層のフィールドから派生したチェックボックス構造で実行します。

これはPythonとArcGIS Desktopで可能ですか?

回答:


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

次に、このスクリプトをツールとして追加する場合、2つのパラメーターが必要になります。1つ目はデータ型文字列、2つ目はデータ型ブール値です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.