Я зовсім недавно використовую "in_memory". Це може бути дуже корисно, оскільки має потенціал різко збільшити швидкість обробки певних завдань, однак, якщо ви працюєте з дуже великими наборами даних, це може спричинити збій вашої програми.
Ви можете використовувати "in_memory" для визначення результатів процесів ... часто, якщо я виконую завдання на клас функції, спершу скопіюю його в робочу область "in_memory":
inFeature = r'C:\myDir.gdb\myFeature'
memoryFeature = "in_memory" + "\\" + "myMemoryFeature"
arcpy.CopyFeatures_management(inFeature, memoryFeature)
Зауважте, що вам не потрібно об'єднувати пам'ять пам'яті разом, як я, ви можете записати це як "in_memory \ myMemoryFeature", мені просто подобається робити це таким чином, щоб легко переходити назад і назад між "in_memory" та фізичним каталогом. Потім ви можете виконувати процеси на своїй функції в пам'яті. Коли ви закінчите, ви можете змінити процес, щоб зберегти його назад у каталог.
Я можу помилитися, але я вважаю, що це не те саме, що створити функціональний шар. Характеристичні шари надають вам доступ до методів вибору та інших операцій, що стосуються конкретного рівня. Подумайте про каталог "in_memory" як вектор, еквівалентний растровому об'єкту (raster = arcpy.Raster (myRasterLocation))
Для очищення після використання "in_memory" просто додайте наступний рядок коду:
arcpy.Delete_management("in_memory")
Сподіваюся, що це допомагає.