Últimamente he utilizado bastante "in_memory". Puede ser muy útil, ya que tiene el potencial de aumentar drásticamente la velocidad de procesamiento para ciertas tareas, sin embargo, si usted está trabajando con conjuntos de datos muy grandes, podría hacer que su programa se bloquee.
Puede utilizar "in_memory" para definir las salidas del proceso... a menudo, si estoy realizando una tarea en una clase de características, la copiaré primero en el espacio de trabajo "in_memory":
inFeature = r'C:\myDir.gdb\myFeature'
memoryFeature = "in_memory" + "\\" + "myMemoryFeature"
arcpy.CopyFeatures_management(inFeature, memoryFeature)
Ten en cuenta que no tienes que concatenar memoryFeature como hice yo, podrías escribirlo como "in_memory \myMemoryFeature ", simplemente me gusta hacerlo así para cambiar entre "in_memory" y un directorio físico fácilmente. Entonces puedes realizar procesos en tu función en memoria. Cuando haya terminado, puede invertir el proceso para guardarlo de nuevo en un directorio.
Podría estar equivocado, pero creo que no es lo mismo que crear una capa de características. Las capas de características te dan acceso a los métodos de selección y a otras operaciones específicas de las capas. Piensa en el directorio "in_memory" como el equivalente vectorial al objeto raster (raster = arcpy.Raster(myRasterLocation))
Para limpiar después de usar "in_memory" simplemente añada la siguiente línea de código:
arcpy.Delete_management("in_memory")
Espero que eso ayude.