Bunu oldukça basit bir şekilde de olsa nasıl yapacağımı öğrendim. Ben burada birçok FeatureLayers eklemek ve daha sonra her katman için bir kimlik alanı seçmek çok değerli bir parametre oluşturmak istedim. Çalıştım ama alanı bir açılır liste yapmak için nasıl çalışamadım, bu yüzden bir kullanıcı manuel olarak bir alan adı girmek zorunda. İşte arayüz:
Herkes bu sorunu kırmak başardı ya da ESRI bazı guru bizi kendi bilgi ile kutsarsa, ben ikinci sütun (Site Kimliği) belirli alanları listeleyerek, bir açılır liste haline nasıl çevirmek isterim. Bunun bir örneğini görmek istiyorsanız, TIN Oluştur aracına bir göz atın .
Her neyse, bu arabirimi oluşturmak için bir komut dosyası aracı oluşturdum ve tür özellik katmanının bir parametresini ekledim ve aşağıda gösterildiği gibi çok değerli bir değere ayarlayın.
Daha sonra üst kısımdaki Doğrulama sekmesini ve ardından Düzenle düğmesini tıkladım. Bu parametre komut dosyası aracımdaki 6. parametre olduğundan aşağıdaki kodu güncelledim:
def initializeParameters(self):
"""Refine the properties of a tool's parameters. This method is
called when the tool is opened."""
# Get the 6th parameter
param = self.params[6]
param.datatype = "Value Table"
param.columns = [["Feature Layer","Activity Layer"],["Field","Site ID"]]
return
Bu, arabirimi istediğim çok sütunlu tabloya sıfırlar. GetParameterAsText kullandığımda benim örneğimi kullanarak aşağıdakileri döndürür:
pipeline pid;Dredging did
Biraz daha araştırma yaptım ve aracı bir python araç kutusu kullanarak yarattım. Çok iyi çalışıyor ancak geri dönüp başka bir kimlik seçerseniz bir sınırlama var. Kodu GeoNet'e buraya gönderdim .