Ini pertanyaan yang cukup umum. Saya hanya ingin tahu tips dan trik apa yang telah digunakan programmer GIS untuk mempercepat skrip arcpy yang Anda impor ke dalam kotak peralatan dan jalankan.
Saya bekerja paling banyak setiap hari menulis skrip kecil untuk membantu pengguna non-GIS di kantor saya memproses data GIS. Saya telah menemukan bahwa pemrosesan ArcGIS 10.0 secara umum lebih lambat dari 9.3.1 dan kadang-kadang bahkan lebih lambat ketika menjalankan skrip python.
Saya akan mencantumkan contoh skrip tertentu yang berjalan lebih dari 24 jam. Itu adalah loop yang menabulasi area raster di buffer untuk setiap bentuk di buffer. Buffer memiliki sekitar 7000 bentuk. Saya tidak percaya itu harus berjalan selama ini. SEBUAH
while x <= layerRecords:
arcpy.SetProgressorLabel("Tabulating Row: " + str(x) + " of " + str(ELClayerRecords))
arcpy.SelectLayerByAttribute_management(Buff,"NEW_SELECTION", "Recno = " + str(x)) # Selecting the record
TabulateArea(Buff, "Recno", MatGRID, "VALUE", ScratchWS + "/tab" + str(z) +".dbf", nMatGRIDc) # Tabulate the area of the single row
arcpy.AddMessage (" - Row: " + str(x) + " completed")
x = x + 1
z = z + 1
Sebelum ada yang mengatakannya, saya telah menjalankan area tabulasi pada seluruh buffer, tetapi menghasilkan kesalahan jika dijalankan pada lebih dari 1 record. Ini alat yang cacat, tapi saya harus menggunakannya.
Bagaimanapun, jika ada yang punya ide tentang bagaimana mengoptimalkan, atau mempercepat skrip ini, itu akan sangat dihargai. Jika tidak, apakah Anda punya trik mempercepat untuk python, ketika digunakan di ArcGIS?