Ich werde hier eine Antwort geben, da beide Antworten bisher nicht 100% korrekt sind.
Es gibt 2 Elemente, die von Werkzeug zu Werkzeug variieren können.
- wenn die Arbeitsbereichsumgebung berücksichtigt wird (dieses Element wird immer auf der Hilfeseite des Tools dokumentiert)
- wenn es den
in_memory
Arbeitsbereich nutzen kann (dieses Element ist möglicherweise nicht explizit dokumentiert. Es ist wahrscheinlicher, dass ein Hinweis angezeigt wird, wenn es NICHT unterstützt wird in_memory
).
Um einfach zu antworten: "Können Sie den Umgebungsarbeitsbereich auf in_memory setzen?" Die Antwort ist ja.
>>> 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 berücksichtigt die Arbeitsbereichsumgebung gemäß der Dokumentation und den erläuterten Python-Beispielen. Ein Test zeigt, dass Sie eine Ausgabe in in_memory
diese Variablenreferenz schreiben und mit dieser arbeiten können, um sie in ein anderes Tool einzufügen oder das Ergebnis zu speichern
>>> 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