ฉันจะทิ้งคำตอบไว้ที่นี่เพราะคำตอบทั้งคู่นั้นยังไม่ถูกต้อง 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