这是一个非常普遍的问题。我只是想知道GIS程序员使用了哪些技巧来加快导入到工具箱中并运行的arcpy脚本。
我每天都在工作,编写一些小的脚本来帮助我办公室的非GIS用户处理GIS数据。我发现,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条以上的记录上运行,则会产生错误。这是一个有缺陷的工具,但是我必须使用它。
无论如何,如果有人对如何优化或加快此脚本有任何想法,将不胜感激。否则,在ArcGIS中使用python时,您有任何加快Python的技巧吗?