Melewati variabel dari skrip ArcPy ke ModelBuilder?

9

Saya memiliki model yang meneruskan variabel ke skrip python. Skrip menggunakan variabel itu untuk menanyakan beberapa direktori dan mengembalikan daftar jalur. Yang ingin saya ketahui adalah:

  • Bagaimana saya bisa menggunakan masing-masing jalur tersebut sebagai parameter dalam operasi selanjutnya?
  • Apakah jembatan antara python dan ModelBuilder jalan satu arah?
Tom
sumber

Jawaban:

8

Saya berasumsi bahwa Anda telah menambahkan skrip Python ke model dengan terlebih dahulu menambahkan skrip Python ke toolbox, mengatur input skrip melalui tab Parameter.

Pada tab Parameter Anda dapat menambahkan parameter baru untuk output skrip. Untuk melakukan ini cukup ubah:

  • yang Directiondalam Parameter Properti untuk Output;
  • yang Data Typetergantung pada apa output Python akan (mungkin string atau integer, tapi mungkin kelas fitur);
  • dan kemudian Typedi Parameter Properties ke Derived(meskipun harus adil, Requireddan Optionalakan bekerja tergantung pada tipe data, tapi saya akan jelaskan di bawah)

Kemudian kita cukup menggunakan arcpy.SetParameteroutput dari skrip Python Anda kembali ke model.

Beberapa catatan:

  • Jika Anda memiliki parameter output diatur ke Requiredatau OptionalAnda dapat memasok input ke skrip Anda dengan memberikan nilai default, yang bisa Anda dapatkan dengan arcpy.GetParameteratau darisys.argv
  • Jumlah parameter untuk ditetapkan sebagai output tergantung pada jumlah total parameter untuk skrip Python Anda (yaitu jika Anda sudah memiliki dua parameter input sebelum parameter output Anda maka Anda perlu menggunakan arcpy.SetParameter(2, value))

Lihat juga bantuan parameter alat skrip pengaturan arcpy .

om_henners
sumber