Arcpy脚本快了现在慢了?

2024-05-29 04:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题基本上是总结。今天早些时候,我在PyCharm中运行了以下脚本:

rasterfolder = "F:/1_Raster_Processing/Classified/"
vectorfolder = "H:/Output/SplitShapes/"
tablefolder = "H:/Output/Split_Tables_3/"


import arcview
import arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("spatial")


arcpy.env.workspace = vectorfolder
flist = arcpy.ListFeatureClasses()
for f in flist:
    TabulateArea(f,"FID",rasterfolder + "KNN100_" + f[:-6] + ".tif","Value",tablefolder + f[:-4] + ".dbf",0.25)

一节特技课花了~4分钟,还有几百个要完成。在一天中的某个时候,进程挂起了,不再产生任何输出,所以我取消了它并重新开始(认为这是一个pyCharm问题)。当我重新开始时,每个功能类突然要花~1hr+来完成完全相同的过程。我在WingIDE也尝试过同样的过程,但我仍然有这个问题。我已经重新启动了所有的程序,除了在这台机器上运行这个进程之外,什么都没有运行。思想?我需要在这里牺牲牲口吗?为温拉尔买单?在

有没有其他人在运行脚本时遇到过问题:最初几次运行良好,但后来突然,而且没有明显的原因,它需要大量的减速?在


Tags: import脚本output进程过程pycharmrasterarcpy
1条回答
网友
1楼 · 发布于 2024-05-29 04:51:17

好吧。不确定这是否值得投反对票,因为这是一个有效的问题,但是对于所有的-1的人来说:这是一个合理的问题,我能够在arcpy中持续地在不同的机器上复制。因此,如果您一直在试图弄清楚wtf是如何使用arcpy脚本的高度可变处理时间的,请继续阅读。在

原来,TabulateArea函数发生了合法的内存泄漏问题。尝试在for循环中添加类似的内容:

arcpy.env.workspace = 'in_memory' #Outside the loop

arcpy.Delete_management("in_memory") #after the function completes

希望这对某人有帮助。我好几天都在想办法解决这个问题。在

相关问题 更多 >

    热门问题