Answers:
我将在这里提出一个答案,因为到目前为止,这两个答案都不是100%正确的。
有2个项目可能因工具而异。
in_memory
工作空间(该项目可能没有明确记录。如果它不支持,您更有可能看到注释in_memory
)只需回答“您可以将环境工作区设置为in_memory”。答案是肯定的。
>>> import arcpy
>>> arcpy.env.workspace = r"in_memory"
>>> arcpy.CopyFeatures_management(r"c:\temp\foo.shp", "myinmemoutput")
<Result 'in_memory\\myinmemoutput'>
>>> arcpy.Exists("myinmemoutput")
True
Snap Pour Point确实根据其文档说明了工作区环境,并解释了Python示例。测试表明,您可以将输出写入in_memory
该变量引用并使用该变量引用...以放入另一个工具中,或保存结果
>>> import arcpy
>>> arcpy.env.workspace = r"in_memory"
>>> arcpy.CheckOutExtension("SPATIAL")
u'CheckedOut'
>>> snapOut = arcpy.sa.SnapPourPoint("e:/gpservices101/hydro/US30m/test.gdb/sourcepoint", "e:/gpservices101/hydro/US30m/Region08a/Input/elev_cm", 1,"PourPtID")
>>> snapOut
in_memory\SnapPou_sour1
>>> arcpy.Exists(snapOut)
True
>>> snapOut.save(r"c:\temp\todisk.tif")
>>> arcpy.Exists(r"c:\temp\todisk.tif")
True
不幸的是,我不认为可以像您在问题中那样将工作区设置为in_memory位置。这样,地理处理工具会将其输出位置默认为in_memory工作区。
我刚刚尝试将工作空间设置为'\\in_memory'
我自己,并使用简单的CopyFeatures_management()
工具运行对其进行了测试。的字符串表示arcpy.env.workspace
形式确实设置为'\\in_memory'
,但是CopyFeatures_management()
在这种情况下,我认为该工具不考虑工作空间环境设置。
但是,如果我们可以将其设置in_memory
为地图文档级别的默认工作区,那将是非常棒的。也许您可以将其作为ArcGIS Idea提出来?
好运。
编辑:
嘿,由于您正在使用“ 倾点”工具,因此我也在考虑,我们可能需要以其他方式来处理。捕捉倾泻点似乎直接作用于倾泻点要素类,并且不会创建输出要素类作为工具结果的一部分。我们可以创建倾点的临时in_memory副本并从那里开始工作吗?
编辑到编辑:
哦,是的,好的,您已经提到您已经意识到了这一点-抱歉。