Je vais jeter une réponse ici parce que les deux réponses jusqu'à présent ne sont pas 100% correctes.
Il y a 2 éléments qui peuvent varier d'un outil à l'autre.
- s'il respecte l'environnement de l'espace de travail (cet élément est toujours documenté sur la page d'aide de l'outil)
- s'il peut utiliser l'
in_memory
espace de travail (cet élément peut ne pas être explicitement documenté. Vous êtes plus susceptible de voir une note s'il ne prend pas en charge in_memory
)
Pour répondre simplement au "pouvez-vous définir l'espace de travail d'environnement sur in_memory". La réponse est oui.
>>> 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 respecte l'environnement de l'espace de travail conformément à sa documentation et aux exemples Python expliqués. Et un test montre que vous pouvez écrire la sortie in_memory
et travailler avec cette référence de variable ... à mettre dans un autre outil, ou enregistrer le résultat
>>> 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