Tạo tham số hộp kiểm trong công cụ tập lệnh Python cho ArcGIS Desktop?


11

Tôi đang làm việc để tạo ra một công cụ ArcGIS từ tập lệnh Python tôi đang viết. Tôi tự hỏi nếu có thể có một tham số hộp kiểm.

Tôi muốn có một tham số trong đó người dùng chọn một lớp đối tượng, sau đó từ lớp đối tượng người dùng sẽ chọn trường cho lớp trên cùng trong mô hình của họ, sau đó tôi muốn người dùng có thể chọn lớp nào họ muốn tập lệnh để chạy với cấu trúc hộp kiểm xuất phát từ trường lớp trên cùng.

Điều này có thể với python và ArcGIS Desktop không?

Câu trả lời:


12

Mã mẫu cho một công cụ tập lệnh sẽ có một hộp kiểm duy nhất. Nếu một hộp kiểm sẽ được kiểm tra bởi người dùng, công cụ sẽ xác minh sự tồn tại của một tệp dữ liệu được chỉ định.

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

Hãy nhớ thêm một tham số công cụ của kiểu dữ liệu Boolean khi tạo một công cụ tập lệnh mới trong ứng dụng ArcGIS Desktop. Tham số này sẽ được tự động hiển thị dưới dạng hộp kiểm khi người dùng chạy công cụ.

nhập mô tả hình ảnh ở đây


7

Để xem cách đưa hộp kiểm vào hộp thoại của công cụ tập lệnh Python, hãy thử sử dụng một số mã kiểm tra như thế này:

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

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

Sau đó, khi bạn thêm tập lệnh này làm công cụ, bạn sẽ cần hai Tham số, chuỗi đầu tiên của Chuỗi kiểu dữ liệu và lần thứ hai của Kiểu dữ liệu Boolean.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.