当前位置:   article > 正文

python如何使用多线程_使用Python在ArcGIS中进行多线程处理

arcpy 多线程

我有一个python脚本,单独运行时效果很好.它基于硬编码的输入目录,扫描所有.mdb文件并将其放入列表中,然后在for循环中遍历它们.每次迭代都涉及多个表限制,连接,查询等.

唯一的问题..在输入数据集上运行大约需要36个小时,而这个脚本只会在这个实例中用于此数据集,我想提高性能,因为我经常编辑字段选择,结果包括,加入方法等我想说它需要很长时间,因为我的脚本效率低下,但任何低效率都会很小,因为几乎所有处理时间都专用于地理处理器对象.

我在主脚本中的所有相关内容是:

indir = "D:\\basil\\input"

mdblist = createDeepMdbList(indir)

for infile in mdblist:

processMdb(infile)

它在顺序执行时也能完美执行.

我尝试过使用Parallel Python:

ppservers = ()

job_server = pp.Server(ppservers=ppservers)

inputs = tuple(mdblist)

functions = (preparePointLayer, prepareInterTable, jointInterToPoint,\

prepareDataTable, exportElemTables, joinDatatoPoint, exportToShapefile)

modules = ("sys", "os", "arcgisscripting", "string", "time")

fn = pp.Template(job_server, processMdb, functions, modules)

jobs = [(input, fn.submit(input)) for inp

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/151638
推荐阅读
相关标签
  

闽ICP备14008679号