Eu tenho usado "in_memory" bastante recentemente. Pode ser muito útil, pois tem o potencial de aumentar drasticamente as velocidades de processamento para determinadas tarefas; no entanto, se você estiver trabalhando com conjuntos de dados muito grandes, poderá causar uma falha no programa.
Você pode usar "in_memory" para definir saídas do processo ... frequentemente, se eu estiver executando uma tarefa em uma classe de recurso, copiá-la-ei primeiro para o espaço de trabalho "in_memory":
inFeature = r'C:\myDir.gdb\myFeature'
memoryFeature = "in_memory" + "\\" + "myMemoryFeature"
arcpy.CopyFeatures_management(inFeature, memoryFeature)
Observe que você não precisa concatenar memoryFeature como eu fiz, você pode escrevê-lo como "in_memory \ myMemoryFeature"; eu apenas gosto dessa maneira de alternar entre "in_memory" e um diretório físico facilmente. Você pode executar processos em seu recurso na memória. Quando terminar, você pode reverter o processo para salvá-lo novamente em um diretório.
Eu posso estar errado, mas acredito que não é o mesmo que criar uma camada de recurso. as camadas de recursos fornecem acesso a métodos de seleção e outras operações específicas da camada. Pense no diretório "in_memory" como o vetor equivalente ao objeto raster (raster = arcpy.Raster (myRasterLocation))
Para limpar depois de usar "in_memory", basta adicionar a seguinte linha de código:
arcpy.Delete_management("in_memory")
Espero que ajude.