ws_output = r'\\NetworkPath\GDB\Conc2.gdb' elevrasname = "tabElev" outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
outelevtab = "in_memory" elevrasname = "tabElev" outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
This succeeds if FGDB is on disk:ws_output = r'\\NetworkPath\GDB\Conc2.gdb' elevrasname = "tabElev" outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
This fails:outelevtab = "in_memory" elevrasname = "tabElev" outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
ws_output = "in_memory" elevrasname = "tabElev" outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
elevrasname = "tabElev" ws_inmem = "in_memory" outelevtab = ws_inmem + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
outelevtab = "in_memory\\tabElev" arcpy.sa.Sample(rasters, transect_in, outelevtab)
outelevtab = r'in_memory\tabElev' arcpy.sa.Sample(rasters, transect_in, outelevtab)
arcpy.sa.Sample(rasters, transect_in, "in_memory\\tabElev")
elevrasname = "tabElev" ws_inmem = "in_memory" outelevtab = os.path.join(ws_inmem, elevrasname) arcpy.sa.Sample(rasters, transect_in, outelevtab)
elevrasname = "tabElev" ws_output = r'\\NetworkPath\GDB\Conc.gdb' outelevtab = ws_output + "\\" + elevrasname arcpy.sa.Sample(rasters, transect_in, outelevtab)
Sample is a really old tool that dates back to ArcInfo Workstation GRID.
Have you tried Extract Values To Points or Extract Multi-Values To Points instead?
My guess is the newer tools may play nicer with the in_memory workspace.
I tend to reserve the in_memory workspace for things that I know will be very small datasets, to make sure I don't bollux up my RAM if I am not successful in cleaning up scratch data.
With the new scratchGDB environment (guaranteed writable scratch location) it's a lot easier to implement scratch files on disk, and file GDB is pretty fast.
My experience with in_memory has been good and I tend to look for opportunities to use it as much as I can BUT now you are making me question that if you worry about unsuccessful cleanup!
# test sa.sample import sys, os, arcpy from arcpy import env from arcpy.sa import * arcpy.CheckOutExtension("Spatial") InputFGDB = "c:/Data/ESRI-SA/ArcForums/TestData.gdb" env.workspace = InputFGDB RasList = arcpy.ListRasters() print RasList inPnts = "SamplePnts" outTab = "in_memory/sampTbl" Sample(RasList, inPnts, outTab, "NEAREST") env.workspace = "in_memory" tbl = arcpy.ListTables()[0] recs = arcpy.GetCount_management(tbl).getOutput(0) print "Table {} records {}".format(tbl, recs) listFields = arcpy.ListFields(tbl) for f in listFields: print f.name
>>> [u'IP_bi', u'RES_bi'] Table sampTbl records 200 OBJECTID SamplePnts X Y IP_bi RES_bi >>>
James,
tested this code :# test sa.sample import sys, os, arcpy from arcpy import env from arcpy.sa import * arcpy.CheckOutExtension("Spatial") InputFGDB = "c:/Data/ESRI-SA/ArcForums/TestData.gdb" env.workspace = InputFGDB RasList = arcpy.ListRasters() print RasList inPnts = "SamplePnts" outTab = "in_memory/sampTbl" Sample(RasList, inPnts, outTab, "NEAREST") env.workspace = "in_memory" tbl = arcpy.ListTables()[0] recs = arcpy.GetCount_management(tbl).getOutput(0) print "Table {} records {}".format(tbl, recs) listFields = arcpy.ListFields(tbl) for f in listFields: print f.name
which gave me this....>>> [u'IP_bi', u'RES_bi'] Table sampTbl records 200 OBJECTID SamplePnts X Y IP_bi RES_bi >>>
So no errors on my side. No answer for you, sorry.
Cheers,
Neil