Saya telah bekerja bagaimana melakukan ini walaupun dengan cara yang cukup sederhana. Saya ingin membuat parameter multinilai di mana saya menambahkan banyak FeatureLayers dan kemudian memilih bidang ID untuk setiap lapisan. Saya membuatnya berfungsi tetapi saya tidak dapat bekerja bagaimana membuat bidang daftar drop down, sehingga pengguna harus memasukkan nama bidang secara manual. Inilah antarmuka:
Jika ada yang berhasil memecahkan masalah ini atau beberapa guru dari ESRI memberkati kita dengan pengetahuan mereka, saya akan senang mengetahui bagaimana mengubah kolom kedua saya (ID Situs) menjadi drop down, daftar bidang tertentu. Jika Anda ingin melihat contohnya, lihat alat Create TIN .
Pokoknya untuk membuat antarmuka ini saya membuat alat skrip dan menambahkan parameter tipe layer fitur dan mengaturnya ke multivalue seperti yang ditunjukkan di bawah ini.
Saya kemudian mengklik tab Validasi di bagian atas dan kemudian tombol Edit. Karena parameter ini adalah parameter ke-6 dalam alat skrip saya, saya memperbarui kode berikut:
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
Ini me-reset antarmuka ke tabel multi-kolom yang saya inginkan. Saat Anda menggunakan GetParameterAsText, ia mengembalikan yang berikut menggunakan contoh saya:
pipeline pid;Dredging did
Saya telah melakukan beberapa penelitian lebih lanjut dan telah membuat alat menggunakan kotak alat python. Ini bekerja dengan sangat baik tetapi memiliki batasan jika Anda kembali dan memilih ID lain. Saya telah memposting kode di GeoNet di sini .