Membuat parameter kotak centang di alat skrip Python untuk ArcGIS Desktop?

11

Saya sedang bekerja membuat alat ArcGIS dari skrip Python yang saya tulis. Saya bertanya-tanya apakah mungkin untuk memiliki parameter kotak centang.

Saya ingin memiliki parameter di mana pengguna memilih kelas fitur, maka dari kelas fitur pengguna akan memilih bidang untuk lapisan paling atas dalam model mereka, maka saya ingin pengguna dapat memilih lapisan apa yang mereka inginkan skrip untuk berjalan dengan struktur kotak centang yang berasal dari bidang lapisan paling atas.

Apakah ini mungkin dengan python, dan ArcGIS Desktop?

geoid
sumber

Jawaban:

12

Kode sampel untuk alat skrip yang akan memiliki kotak centang tunggal. Jika kotak centang akan diperiksa oleh pengguna, alat akan memverifikasi keberadaan file data yang ditentukan.

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

Ingatlah untuk menambahkan parameter alat tipe data Boolean saat membuat alat skrip baru di aplikasi ArcGIS Desktop. Parameter ini akan secara otomatis ditampilkan sebagai kotak centang ketika pengguna menjalankan alat.

masukkan deskripsi gambar di sini

Alex Tereshenkov
sumber
7

Untuk melihat cara mendapatkan kotak centang ke dialog alat skrip Python coba gunakan beberapa kode tes seperti ini:

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

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

Kemudian ketika Anda menambahkan skrip ini sebagai alat Anda akan membutuhkan dua Parameter, yang pertama dari Data Type String dan yang kedua dari Data Type Boolean.

PolyGeo
sumber