Це досить загальне питання. Мені просто цікаво, які поради та підказки програмісти ГІС використали для прискорення скриптів для архпій, які ви імпортуєте в панель інструментів і запускаєте.
Я щодня працюю над написанням невеликих сценаріїв, щоб допомогти користувачам, які не є ГІС, в моєму офісі обробляти дані ГІС. Я виявив, що загалом обробка ArcGIS 10.0 проходить повільніше, ніж 9.3.1, а іноді вона стає ще повільнішою під час запуску сценарію python.
Я перерахую конкретний приклад сценарію, який займає 24 години. Це цикл, який відображає таблицю області растра в буфері для кожної форми в буфері. Буфер має близько 7000 форм. Я не вірю, що це має тривати так довго. А
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
Перш ніж хтось скаже це, я запустив табличну область у всьому буфері, але він створює помилки, якщо запускається на більш ніж 1 записі. Це недосконалий інструмент, але я мушу його використовувати.
У будь-якому разі, якщо у когось є ідеї щодо оптимізації або прискорення цього сценарію, це було б дуже вдячно. В іншому випадку, у вас є які-небудь прискорення хитрощів для python при використанні в ArcGIS?