Lebih

Crash/error di ArcPy menggunakan Create Random Points?

Crash/error di ArcPy menggunakan Create Random Points?


Saya mencoba menangani crash aneh yang terjadi secara tidak teratur di arcpy arcGIS, khususnya di bawah alat buat titik acak.

Ini terjadi di bawah ArcGIS 10.1 hingga 10.3.

Selama "CreateRandomPoints", program mencoba membuat poligon sejumlah titik dalam poligon, nomor yang ditentukan oleh bidang. Masalah yang saya alami adalah kadang-kadang, setelah mencoba baris ini, python akan langsung crash tanpa memberikan kode kesalahan.

Saya menerima bahwa ini adalah masalah yang diketahui. Saya menerima bahwa tidak ada yang bisa dilakukan tentang kecelakaan itu sendiri, selain mengatasinya. masalahnya adalah, sepertinya saya tidak dapat menangkap kesalahan dan mengatasinya.

Saya telah menyematkan potongan kode yang berisi

arcpy.CreateRandomPoints_management(wkspc,outshape,shape,,field)

di dalam blok coba/kecuali. Saya telah menyiapkan logika di mana semoga kode akan dieksekusi (dan jika perlu, gagal) 5 kali sebelum keluar dari program dengan kesalahan informatif. Namun, itu hanya berjalan sekali, dan keluar dari program tanpa menyatakan kesalahannya. (blok coba/kecuali saya tidak menangkap kesalahan).

Saya telah mencoba setiap kode kesalahan yang menurut saya relevan, bahkan blok telanjang kecuali yang sepengetahuan saya harus menangkap semuanya.

Apakah ada cara lain untuk menangkap kesalahan? sesuatu yang belum saya coba?


Kesalahannya mungkin dari cara Anda memformat argumen dengan argumen kosong di antarabentukdanbidang. Anda dapat mencoba ini sebagai gantinya:

arcpy.CreateRandomPoints_management(wkspc, outshape, shape, number_of_points_or_field=field)

Kalau tidak, saya tidak tahu apakah ini akan berhasil untuk Anda, tetapi saya memiliki alat yang saya buat yang juga membuat poin acak. Anda dapat mengunduhnya di sini:

Hasilkan Kotak Alat Poin Acak

Lihat Kode Sumber

Anda kemudian dapat menggunakan ini dalam skrip Python Anda dengan melakukan hal berikut:

arcpy.ImportToolbox("C:ToolsGenerateRandomPoints.tbx") arcpy.GenerateRandomPoints_GenerateRandomPoints(input_polygon, "YES", "fieldname", "#", 40, 2000, "KEEP_ALL", output) #where parameter untuk alat tersebut adalah: arcpy.GenerateRandomPoints_GenerateRandomPoints(Input_Polygon_Feature_Class, Use_Field_for_Number_of_Random_Points, {Field_with_Number_of_Random_Points}, {Number_of_Random_Points), Minimum_Points_Points,Kelas_temperatur_Points},Titik_Titik_Titik}

Berikut screenshot parameternya:


Tonton videonya: Fix: The Application Was Unable to Start Correctly 0xc0000142 Error in Windows 10