ArcGIS fournit un espace de travail temporaire en mémoire où les classes d'entités en sortie et les tables peuvent être écrites. Ecrire la sortie de géotraitement dans l'espace de travail temporaire en mémoire constitue un autre moyen d'écrire la sortie dans un emplacement sur disque ou du réseau. Cette solution est généralement beaucoup plus rapide qu'écrire les données dans d'autres formats, tels qu'un fichier de formes ou une classe d'entités de géodatabase. Toutefois, les données écrites dans l'espace de travail temporaire en mémoire sont temporaires et sont supprimées une fois l'application fermée.
Pour écrire des données dans l'espace de travail temporaire en mémoire, utilisez le chemin d'accès in_memory, comme illustré ci-dessous.
Les points suivants doivent être pris en compte pour décider d'écrire la sortie dans l'espace de travail temporaire en mémoire :
Gestion de l'espace de travail temporaire en mémoire
Lorsque les données sont écrites dans l'espace de travail temporaire en mémoire, la mémoire physique de l'ordinateur (RAM) est sollicitée. Si un volume trop important de données est écrit dans cet espace de travail, la mémoire de l'ordinateur risque d'être totalement utilisée et aucune donnée supplémentaire ne pourra y être écrite. En outre, si tout ou partie de la mémoire de l'ordinateur est utilisée pour le stockage des données dans cet espace de travail, il n'y en aura pas assez pour exécuter des applications gourmandes en mémoire, telles qu'ArcGIS. Dans cette situation, toutes les tâches risquent de s'exécuter très lentement dans l'application.
A un certain stade, les avantages que procure l'utilisation de l'espace de travail temporaire en mémoire sont contrebalancés par le ralentissement de l'application. De plus, les autres applications qui s'exécutent sur le système et la quantité de mémoire physique disponible sont aussi affectées. Evitez d'utiliser l'espace de travail temporaire en mémoire si le volume de données à écrire est important à tel point qu'il risque de ralentir l'application.
Lorsque vous utilisez l'espace de travail temporaire en mémoire, toutes les données intermédiaires doivent être supprimées dès que possible afin de libérer la mémoire du système. Utilisez pour cela l'outil Supprimer. Vous pouvez supprimer des tables ou des classes d'entités individuelles, ou l'espace de travail entier pour effacer l'intégralité du contenu de l'espace de travail.
Emplacement de l'espace de travail temporaire en mémoire
Une table, une classe d'entités ou un raster écrit dans l'espace de travail temporaire en mémoire est placé dans l'emplacement source GPInMemoryWorkspace, comme illustré ci-dessous.
La longue chaîne de caractères placée entre accolades {} qui suit GPInMemoryWorkspace est un identifiant unique créé et utilisé par ArcGIS.
Utilisation de in_memory dans Python
Vous pouvez utiliser l'espace de travail in_memory dans Python également, comme le montre le code d'exemple ci-dessous.
import arcpy
table = arcpy.CreateTable_management("in_memory", "table1")
arcpy.AddField_management(table, "Field1", "TEXT", field_length=20)
cursor = arcpy.da.InsertCursor(table, ["Field1"])
cursor.insertRow(["Hello World"])
L'espace de travail in_memory n'est valide que pour les outils de géotraitement. Il ne s'agit pas d'un répertoire virtuel à usage général dans lequel vous pouvez écrire n'importe quelles données.
Au sein de votre script, utilisez l'outil Supprimer pour supprimer les données de l'espace de travail in_memory. Vous pouvez supprimer des tables ou des classes d'entités individuelles, ou l'espace de travail entier pour effacer l'intégralité du contenu de l'espace de travail.