Przedstawię tutaj odpowiedź, ponieważ obie dotychczasowe odpowiedzi nie są w 100% poprawne.
Istnieją 2 elementy, które mogą się różnić w zależności od narzędzia.
- jeśli honoruje środowisko przestrzeni roboczej (ten element jest zawsze udokumentowany na stronie pomocy narzędzia)
- jeśli może korzystać z
in_memory
obszaru roboczego (ten element może nie być wyraźnie udokumentowany. Bardziej prawdopodobne jest wyświetlenie notatki, jeśli NIE JEST obsługiwany in_memory
)
Aby po prostu odpowiedzieć „czy możesz ustawić środowisko pracy środowiska na in_memory”. Odpowiedź brzmi tak.
>>> 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 honoruje środowisko robocze zgodnie z dokumentacją i wyjaśnił przykłady Pythona. Test pokazuje, że możesz zapisać dane wyjściowe in_memory
i pracować z tym odwołaniem do zmiennej ... w celu wprowadzenia innego narzędzia lub zapisania wyniku
>>> 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