ArcGIS Desktop için Python kod aracında onay kutusu parametresi oluşturuluyor mu?


11

Yazdığım bir Python betiğinden bir ArcGIS aracı oluşturmaya çalışıyorum. Bir onay kutusu parametresinin mümkün olup olmadığını merak ediyorum.

Kullanıcı bir özellik sınıfı seçtiği bir parametre var istiyorum, sonra özellik sınıfından kullanıcı kendi modelinde en üst katmanı için alan seçecektir, sonra kullanıcı komut dosyası istedikleri katmanları seçmek mümkün istiyorum en üst katman alanından türetilen bir onay kutusu yapısıyla çalışır.

Python ve ArcGIS Desktop ile bu mümkün müdür?

Yanıtlar:


12

Tek bir onay kutusuna sahip olacak bir komut dosyası aracı için örnek kod. Bir onay kutusu kullanıcı tarafından işaretlenirse, araç belirtilen veri dosyasının varlığını doğrular.

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 uygulamasında yeni bir komut dosyası oluştururken Boolean veri türünde bir tool parametresi eklemeyi unutmayın. Kullanıcı aracı çalıştırdığında bu parametre otomatik olarak bir onay kutusu olarak gösterilecektir.

resim açıklamasını buraya girin


7

Python komut dosyası aracının iletişim kutusuna onay kutusunu nasıl alacağınızı görmek için aşağıdaki gibi bir test kodu kullanmayı deneyin:

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

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

Daha sonra bu komut dosyasını bir araç olarak eklediğinizde, Veri Türü Dizesi'nin ilki ve Veri Türü Boole'sinin ikincisi olmak üzere iki Parametreye ihtiyacınız olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.