Python窗口和Python脚本工具之间的性能差异吗?


9

在Python窗口中运行Python脚本与从ArcGIS Desktop 10.0的工具箱中将其作为Python脚本工具运行之间在性能上有区别吗?

有时我需要使用ArcPy并运行ArcGIS。根据我最近的经验,我可以通过工具箱和python窗口运行相同的脚本,该工具箱似乎要快一些。


使用独立脚本时:不必打开Arcmap,从而节省了时间和资源(CPU和内存)。我现在买不起一台像样的电脑。
gm70560

工具箱也无法触摸CURRENT地图文档。您必须指向mxd才能对工具中的特定地图执行任何操作,而且可以在python窗口中使用arcpy.mapping.MapDocument(“ CURRENT”)。
eseglem 2013年

3
@eseglem,您肯定应该能够使用CURRENT关键字在脚本工具中访问当前地图文档,只要它在进程中运行即可。
blah238 2013年

1
@ gm70560运行独立脚本时,必须创建一种Arcmap实例,这需要时间。在已经启动的python窗口中。
马修·斯内普

2
import arcpy作为独立脚本(或工具箱的一部分)将花费很长时间,而在ArcMap中,它已成为python窗口名称空间的一部分。
Michael Markieta

Answers:


5

Michael Markieta和gm70560都是正确的。如果您正在运行大型地理处理任务,那么我肯定会通过独立的python脚本来完成此任务,最好是从命令行而不是IDE启动。对于此类任务,导入ArcPy的开销是值得的。

但是,在ArcMap中,一项小任务(尤其是需要用户输入的任务)通常更快,更方便-除非您必须专门为此打开ArcMap,否则在这种情况下,您将不得不启动ArcMap本身的开销以及一些停机时间来进行连接MXD中引用的所有数据库(如果它们通过慢速网络连接,可能会很乏味)。

同样,我认为,在独立的Python脚本中,即使是很小的任务,批处理也比通过ArcMap中的工具箱更好地完成,因为您只需一次导入命中,就不会产生ArcMap开销。

通过Python脚本完成了许多自动化的地理处理后,我默认将它们作为独立的进程运行,因为我喜欢额外的速度和灵活性。在工具箱中运行得更快的大多数任务通常都足够小,以至于我会在ModelBuilder中将它们敲掉而不必费心编写任何代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.