0

我正在使用 python 和 arcpy 编写一个脚本来处理 Landsat 卫星图像。每次在同一位置出现错误的脚本接近尾声。一次成功运行代码后出现错误(即同一任务第二次出现错误)


print "Starting Rt_B2dpy (2 of 4)"
if arcpy.Exists(Rt_B2dpy):
    arcpy.Delete_management(Rt_B2dpy)
Rt_B2dpy = Rt2 - 1
Rt_B2dpy.save("Rt_B2dpy")
print "Rt_B2dpy has been created"

我将 env.overwriteOutput 设置为 True 所以这不是问题。

我把这段代码给了一个朋友运行,他们让它处理这个代码块的所有 4 次出现,但他们的输出是空白的。我还使用了修改后的脚本(更改了一些路径条目)并在与第一个相同的位置得到了这个错误:

exceptions.EOFError:[Errno 10054] 现有连接被远程主机强行关闭

这个错误使 python 和编辑器崩溃。

该脚本会为第一次运行生成一个格网,但第二次运行会创建一个在 ArcGIS 中不可读的格网。

我正在使用具有 8 GB RAM 的 Mac 上的 Windows 虚拟机(并行)工作。虚拟机正在使用 4 GB 的 RAM。

我不知道发生了什么或如何调试它!任何帮助将非常感激。

解决方法 = 我通过将输出保存为 TIF 图像而不是光栅文件找到了解决方法。

4

2 回答 2

0

只是为了确保一些明显的事情不是问题:

1)你设置arcpy.env.workspace、arcpy.env.scratchWorkspace了吗?假设这是在 gdb 之外,所以您不需要 arcpy.env.scratchFolder 集(我认为仅适用于 ArcGIS 10.1+)。

2)实际上是否有足够的磁盘空间?当我用完空间时,我收到了关于“强制”关闭的不太有用的信息。

3)一点巫术,但可能完全指定输出将保存到的路径名,而不是仅在片段中显示的本地名称。

于 2013-09-06T17:05:44.880 回答
0

当我检查我的脚本时,我发现我没有将 \ 放在输出文件夹的末尾。所以也许你错过了同样的事情

于 2016-10-07T05:24:11.807 回答