Quoi de neuf dans ArcGIS 10<\/A> couvre beaucoup de sujets, il y a vraiment quelque chose pour tout le monde. Peu importe à quel point votre utilisation d'ArcGIS Desktop est étroite ou limitée, un changement que vous ne pouviez pas manquer était l'interface utilisateur, qui était restée assez constante durant les jours d'ArcGIS 8.x et 9.x.<\/P><\/P>
J'étais intéressé par beaucoup des changements avec ArcGIS 10.0, tellement que je ne devrais même pas commencer à les énumérer ici. Bien que beaucoup de changements aient attiré mon attention, ceux du géotraitement se sont vraiment démarqués : le traitement en arrière-plan a été introduit, la fenêtre Python a remplacé la fenêtre Ligne de commande, ArcPy a porté le support Python au niveau supérieur, et plus encore. En combinant toutes ces nouvelles fonctionnalités avec l'une de mes fonctionnalités préférées existantes, l'espace de travail in-memory, j'étais en fait un peu excité d'essayer et de voir à quel point cette prochaine expérience pourrait être géniale.<\/P>
<\/P>
Contrairement à ArcGIS 9.2 où je devais utiliser le Wayback Data Center, ArcGIS 10.0 est toujours en production dans certaines parties de mon agence, ce qui facilite un retour dans le temps tout en générant encore de nouvelles captures d'écran.<\/P>
<\/P>
Pour des raisons de cohérence et de simplicité, je vais simplement réutiliser les exemples du premier article de cette série (
Qu'y a-t-il dans un nom : Quand in_memory = In-memory<\/A>) pour me familiariser avec la fenêtre Python dans ArcGIS 10.0. Regardons les résultats de la création d'une table dans l'espace de travail in-memory :<\/P>
<\/P>
Succès, ou pas ? La commande semble s'être terminée avec succès, mais tmpTable ne semble pas être dans GPInMemoryWorkspace. Je vais exécuter cette commande à nouveau.<\/P>
<\/P>
Hein. La commande s'est terminée avec succès ; mais encore une fois, tmpTable ne semble pas être dans GPInMemoryWorkspace. En fait, maintenant j'ai deux tmpTables, et chacune semble avoir sa propre géodatabase cryptique dans mon dossier Temp. Contrairement à ArcGIS 9.2 où la commande échouait parce que tmpTable existait déjà, ArcGIS 10.0 vous rend service, si on peut appeler ça ainsi, en créant simplement une autre dans une autre géodatabase cryptique.<\/P>
<\/P>
Je ne sais pas ce qui se passe ici. Je ferais mieux de supprimer ces tables et nettoyer ce désordre.<\/P>
<\/P>
Attendez, je ne peux pas supprimer tmpTable en utilisant la même syntaxe qui fonctionnait dans ArcGIS 9.2 ? Je suppose que si les tables ne sont pas vraiment créées in-memory, alors il est logique que la fonction Delete_management ne les trouve pas là-bas. L'autocomplétion dans la fenêtre Python veut supprimer "tmpTable," sans référence à "in_memory." Je vais essayer cela :<\/P>
<\/P>
Eh bien, au moins ça a marché, mais je ne sais pas à quel tmpTable l'autocomplétion faisait référence. Heureusement, exécuter la commande à nouveau a nettoyé l'autre tmpTable.<\/P>
<\/P>
La création de classes d'entités in-memory se comporte de la même manière. De plus, les outils correspondants dans Toolbox pour créer des tables et des classes d'entités démontrent le même comportement. Il y a définitivement assez de cohérence ici pour ne pas être juste un bug dans un outil/fonction spécifique. Qui sait, peut-être que in_memory signifie sur disque dans ArcGIS 10.0.<\/P>
<\/P>
La première partie de cette série avait un exemple qui déplaçait effectivement des données dans un espace de travail in-memory. Cela ne peut pas faire de mal de répéter cela ici avant d'arriver à des conclusions. D'abord, chargez à nouveau ces limites des États-Unis.<\/P>
<\/P>
Eh bien, nous y voilà encore une fois, une copie des entités chargée dans un espace de travail in-memory. Quoi ? GPInMemoryWorkspace ? Je ne peux pas dire si je m'attendais à ce résultat ou non. Alors, est-ce que in_memory signifie in-memory ou sur disque ? Évidemment quelque chose a changé entre ArcGIS 9.2 et ArcGIS 10.0, mais quoi ?<\/P>
<\/>\n
La réponse courte : Traitement en arrière-plan.<\/>\n

Non seulement le Traitement en arrière-plan a été introduit dans ArcGIS 10.0, mais il était activé par défaut. Je ne me souviens plus pourquoi aujourd'hui, mais il y a quelques années j'avais eu besoin de désactiver le Traitement en arrière-plan. À ce moment-là, j'ai réalisé que désactiver ou ne pas activer le Traitement en arrière-plan presque<\/> remet in_memory au comportement qu'il avait sous ArcGIS 9.2 et 9.3/9.3.1.<\/>
Fait intéressant, tous les exemples ci-dessus donnent des résultats très similaires sous ArcGIS 10.2.2. Je dirais que la situation sous ArcGIS 10.2.2 est légèrement pire qu'à l'époque d'ArcGIS 10.0. Par exemple, exécuter deux fois la fonction CreateTable_management puis tenter de supprimer tmpTable en utilisant un chemin in_memory entièrement spécifié donne :<\/>

Sous ArcGIS 10.0, la fonction Delete_management échouait parce que tmpTable n'existait pas réellement in-memory, ce qui semble logique. Sous ArcGIS 10.2.2, la fonction Delete_management réussit mais sans rien supprimer ! Certes elle renvoie un avertissement indiquant que tmpTable n'existe pas in-memory, mais elle continue ensuite sans rien supprimer tout en retournant un résultat réussi. Je ne peux parler pour les autres mais si j'appelle une fonction pour supprimer un objet qui n'existe pas, je m'attends généralement à recevoir une erreur.<\/>
Mieux encore, voyez ce qui se passe sous ArcGIS 10.2.2 quand vous désactivez le Traitement en arrière-plan, créez une table in-memory et essayez d'utiliser un chemin in_memory entièrement spécifié pour la supprimer :

Vous pouvez apparemment supprimer avec succès la table trois fois et pourtant elle existe toujours ! Et ceci après avoir reçu un avertissement disant qu'elle n'existe pas alors qu'elle existe clairement et est in-memory.
Il est évident que des choses ont changé avec l'espace de travail in-memory à partir d'ArcGIS 10.0, particulièrement avec l'utilisation du terme 'in_memory'. Je ne sais pas tout ce qui a changé mais il y a une connexion avec le Traitement en arrière-plan. De plus ces changements ont persisté tout au long de la série produit ArcGIS 10.x. Je pense qu'il est temps pour moi de consulter (RT?)M et voir ce que dit la documentation sur tous ces changements.