J'ai utilisé "in_memory" un peu récemment. Cela peut être très utile, car il pourrait augmenter considérablement la vitesse de traitement de certaines tâches. Toutefois, si vous travaillez avec de très grands ensembles de données, votre programme risque de tomber en panne.
Vous pouvez utiliser "in_memory" pour définir les résultats de processus ... souvent, si je suis en train d'exécuter une tâche sur une classe d'entités, je vais d'abord la copier dans l'espace de travail "in_memory":
inFeature = r'C:\myDir.gdb\myFeature'
memoryFeature = "in_memory" + "\\" + "myMemoryFeature"
arcpy.CopyFeatures_management(inFeature, memoryFeature)
Notez que vous ne devez pas concaténer mémoireFeature ensemble comme je le faisais, vous pouvez l'écrire comme "in_memory \ myMemoryFeature", j'aime juste le faire de cette façon pour basculer facilement entre "in_memory" et un répertoire physique. Vous pouvez ensuite exécuter des processus sur votre entité en mémoire. Lorsque vous avez terminé, vous pouvez inverser le processus pour le sauvegarder dans un répertoire.
Je peux me tromper, mais je pense que ce n'est pas la même chose que de créer une couche d'entités. Les couches d'entités vous donnent accès aux méthodes de sélection et à d'autres opérations spécifiques aux couches. Considérez le répertoire "in_memory" comme le vecteur équivalent à l'objet raster (raster = arcpy.Raster (myRasterLocation)).
Pour nettoyer après avoir utilisé "in_memory", ajoutez simplement la ligne de code suivante:
arcpy.Delete_management("in_memory")
J'espère que ça t'as aidé.