Saya sedang bermain dengan ModelBuilder. Saya telah menambahkan gambar model yang saya miliki saat ini.
Model ini saat ini mengulangi 6 shapefile, sehingga masing-masing 'nilai output' berisi 6 angka dalam daftar. Saya tidak dapat menemukan cara untuk mengekstrak nilai dari daftar ini ke dalam file tabel / teks atau sejenisnya.
Apakah ada cara untuk melakukan ini?
Inilah yang ditampilkan ketika saya membuka 'nilai output' setelah menjalankan model:
Saya hanya ingin meraih 6 angka itu entah bagaimana ...
Jawaban:
Anda dapat melakukan ini menggunakan alat Hitung Nilai (Manajemen Data) dan beberapa sihir Python. Lihat juga pertanyaan terkait ini: Tambahkan kode arbitrer ke pembuat model Arcgis?
Sebuah variabel multivalue hanya string koma-delimited nilai-nilai, jadi apa yang
multivaluesToCsv
fungsi di bawah ini dilakukan adalah membagi variabel multivalue ke dalam daftar dan transpos mereka ke dalam baris yang kemudian ditulis ke CSV (comma-terpisah nilai) file teks.Model iterator menjalankan SEMUA proses dalam model sekali per iterasi - ini tidak diinginkan untuk alat Nilai Hitung kami, yang kami hanya ingin menjalankan sekali di akhir. Cara Anda mencapainya adalah dengan menciptakan model luar lain untuk membungkus model dalam asli. Ini dibahas dalam topik bantuan Mengintegrasikan model dalam model .
Jadi, inilah yang perlu Anda lakukan agar ini berfungsi:
Inner Model - Iterate kelas fitur, proses, dan kumpulkan nilai:
Name
-nilai variabel sehingga kami dapat memetakan nilai statistik jarak ke nama kelas fitur yang sesuai.Model Luar - Menjalankan model dalam, menjalankan alat Hitung Nilai hanya sekali ketika model dalam selesai:
Folder
untuk memungkinkan Anda menentukan di mana membuat file CSV output.String
untuk memungkinkan Anda menentukan nama file CSV output.Rekatkan yang berikut ini ke kotak yang sesuai pada alat Calculate Value:
Ekspresi :
r
sebelum"%Output CSV File Location%"
signifikan: ini menunjukkan bahwa ini adalah string mentah ; karena jalur sistem file Windows biasanya berisi backslash ( karakter pelarian dengan Python), kita harus menggunakan ini untuk mencegah Python dari salah mengartikan backslash dan karakter berikutnya sebagai urutan karakter khusus.Blok Kode:
(Opsional) Ekspos variabel input dan output sebagai parameter model jika Anda ingin dapat menjalankannya dari dialog alat model atau rantai bersama dengan model / skrip lain. Output tunggal dari model luar adalah file CSV.
Saya telah menguji ini dengan ModelBuilder dan membuatnya berfungsi (lihat screenshot).
Model batin :
Model Luar:
Model dalam menjalankan semua prosesnya sekali per kelas fitur, dan kemudian alat Hitung Nilai berjalan sekali di akhir untuk menghasilkan file CSV sekali dan hanya sekali.
sumber
Output yang dijelaskan oleh model Anda hanyalah sebuah nilai yang diperbarui di tabel atribut bukan? Bisakah Anda tidak hanya membuka file .dbf yang terkait dengan shapefile yang diperbarui?
Gagal ini, Pilih Tabel (Alat Analisis> Ekstrak) harus bekerja dengan query SQL.
sumber