Sebuah skrip python ditulis sekitar 18 bulan yang lalu oleh seseorang yang kini telah pergi. Itu menghasilkan output yang dibutuhkan kemudian. Saya telah diminta untuk menjalankannya lagi tetapi dengan input data yang berbeda (resolusi lebih baik). Dataset input telah dibagi menjadi 20 sub-set masing-masing sekitar 2,700 poin data. Namun, skrip mogok ("python.exe telah berhenti bekerja") setelah sekitar 300 titik data telah diproses (kisaran 295 hingga 306 dan TIDAK selalu gagal pada catatan yang sama).
Seperti yang lama (ish), skrip ditulis menggunakan arcgisscripting dan bukan arcpy. Secara umum ini melakukan hal berikut menggunakan kursor:
- Untuk titik tertentu, hitung jarak biaya (menggunakan gp.CostDistance_sa) dengan cutoff waktu tempuh 60 menit.
- Memanggil gp.ExtractValuesToPoints_sa untuk mengekstrak semua nilai individual di setiap titik data dan mengeluarkan kelas fitur ke geodatabase file.
- Membaca kelas fitur yang dibuat pada b) di atas dan menulis nilai-nilai ke file CSV (menghilangkan titik dengan "No Data" (value -9999)).
Ulangi 1, 2 dan 3 untuk semua titik data yang tersisa di file input.
Waktu pemrosesan kira-kira. Rata-rata 1 menit per titik data. Berikut adalah beberapa spesifikasi teknis yang relevan:
- PC memiliki CPU quad core Intel i7-2720QM yang berjalan pada 2.20GHz dengan RAM 8GB yang menjalankan Windows 7 (64 bit).
- Versi Python adalah 2.6.6 (shell juga menyatakan "[MSC v, 1500 32 bit (Intel)] pada win32).
- ArcMap 10.0 (SP4) juga diinstal.
Saya sudah mencoba menjalankannya pada PC yang berbeda (sejauh ini tanpa crash). Saat ini pekerjaan berjalan dengan sukses (tetapi lebih lambat) pada PC yang lebih lama dan telah mencapai 419 catatan tanpa crash. Spesifikasi yang relevan untuk mesin ini adalah:
- Prosesor Intel Core 2 DUO E7500 berjalan pada 2.93GHz dengan 4 GB RAM dan 64bit Windows 7.
- Python versi 2.5.1 (shell juga menyatakan "[MSC v, 1310 32 bit (Intel)] di win32).
- ArcMap 9.3 diinstal (tidak disebutkan Paket Layanan).
Dapatkah seseorang menawarkan saran tentang mengapa skrip tampaknya berfungsi untuk sementara waktu lalu macet dan bagaimana menyelesaikannya?
Fakta bahwa PC yang berbeda muncul (sejauh ini) untuk menangani skrip menyarankan sesuatu "lingkungan".
Sebagai pembaruan, PC yang menjalankan ARCGIS 9.3 masih berhasil memproses data dan telah mencapai 1.300 titik data yang diproses (dan masih terus bertambah). Seorang kolega juga menjalankan data pada PC mereka yang menjalankan ARCGIS 10.1 - itu macet setelah 267 catatan pada dua kesempatan terpisah. Meskipun tidak konklusif, utas umum tampaknya adalah Arc 9.3 akan memproses data tetapi Arc 10.x tidak akan.