Interaction de l'objet raster

Disponible avec une licence Spatial Analyst.

Un objet Raster référence un jeu de données raster et peut être associé à une couche raster dans la table des matières s'il est utilisé dans un affichage cartographique. Les relations entre le jeu de données raster, l'objet Raster et la couche raster sont gérées dans la plupart des cas, mais il est important de comprendre ces relations pour mettre à profit l'algèbre spatial de Spatial Analyst.

Les objets Raster sont créés des deux manières suivantes :

  • La sortie d'une expression d'algèbre spatial est un objet Raster. L'un des comportements les plus importants d'un objet Raster est que lorsqu'il est créé en tant que sortie principale à partir d'une expression Algèbre spatial, il référence un raster temporaire.
    >>> outRas = Slope("elevation")
    >>> print outRas.isTemporary
    True
  • Un jeu de données raster peut être redéfini en objet Raster. Lorsqu'un jeu de données raster permanent est redéfini en objet Raster, le jeu de données reste permanent.
    >>> outRas = Raster("C:/Data/elevation")
    >>> print outRas.isTemporary
    False

Lors de l'utilisation de la fenêtre Python, le résultat d'une expression d'algèbre spatial est ajouté à l'affichage Contenu avec le même nom que l'objet Raster. Lorsqu'un jeu de données est redéfini en raster, aucune couche n'est ajoutée à la table des matières.

Enregistrement de rasters temporaires

Lorsque les données associées à l'objet Raster sont temporaires, il est supprimé à l'issue de la session ArcGIS (l'objet sort du domaine d'applicabilité ou le script se termine), à moins que les données ne soient enregistrées. Lorsqu'un raster est enregistré, la couche et l'objet reflètent les propriétés de raster mises à jour, y compris name, path, catalogPath et le statut isTemporary du jeu de données. Il existe plusieurs manières d'enregistrer un jeu de données temporaire.

  • Pour enregistrer un jeu de données raster temporaire à travers l'objet Raster associé, la méthode d'enregistrement de l'objet raster peut être utilisée.
  • Pour rendre permanent un jeu de données raster temporaire associé à une couche de carte, enregistrez le document ArcMap. Lorsque le projet est enregistré, le jeu de données raster est conservé sur disque à son emplacement actuel avec son nom auto-généré.

Réutilisation d'un objet raster

Les noms d'objet doivent être uniques. Lorsqu'un nom d'objet est réutilisé, l'objet d'origine est remplacé. Dans l'exemple suivant, la sortie de l'outil Pente est remplacée lorsque outRas est réutilisé en tant que sortie de l'expression Exposition.

outRas = Slope("inRas1") 
outRas = Aspect("inRas2")

Les couches sont ajoutées à la table des matières avec le même nom que l'objet Raster. Lorsqu'un nom d'objet Raster est réutilisé, plusieurs couches avec le même nom sont ajoutées à la fenêtre de contenu. Dans l'exemple précédent, outRas est ajouté deux fois. La première fois, lorsque l'expression Pente est exécutée. Cette première couche outRas référence le résultat de l'outil Pente et peut être utilisée dans la fenêtre Python jusqu'à ce que l'expression Exposition soit exécutée. Lorsque l'expression Exposition est exécutée, une deuxième couche nommée outRas est ajoutée, l'objet est remplacé et référence désormais le jeu de données et la couche qui résultent de l'expression Exposition.

Conseil :

Si l'objet Raster qui référence un jeu de données a été remplacé, le jeu de données raster peut être redéfini en tant qu'objet Raster à l'aide du nom de la couche ou du jeu de données.

Suppression d'un objet raster

Lorsqu'un objet Raster est supprimé, le devenir du jeu de données (et éventuellement de la couche) associé dépend du statut des données. Si les données sont permanentes, la suppression de l'objet Raster n'a aucune influence sur le jeu de données ou la couche associé. Si un jeu de données est temporaire, les effets de la suppression de l'objet Raster varient s'il existe une couche qui référence également le jeu de données raster. Si aucune couche n'est associée au jeu de données temporaire et que l'objet est supprimé, le jeu de données est supprimé. Si une couche est associée au jeu de données temporaire et que l'objet est supprimé, les données temporaires sont conservées.

Attention :
Les données temporaires référencées par une couche ne sont pas supprimées lorsque l'objet Raster est supprimé ; toutefois, toutes les données temporaires sont supprimées lorsque l'application est fermée (à moins qu'elles ne soient enregistrées), indépendamment des couches ou objets existants.

L'exemple suivant indique comment supprimer un objet Raster nommé outRas :

outRas = Slope("C:/Data/elevation") 
del outRas

Affectation de l'objet raster à un nouvel objet raster

L'affectation d'un objet Raster à un nouvel objet Raster ne copie pas le jeu de données ou la couche associés. L'affectation d'un objet Raster à un nouvel objet Raster crée un deuxième objet qui référence l'objet original. Dans l'exemple suivant, outRas1 et outRas2 référencent le même jeu de données raster :

outRas1 = Slope("elevation")  
# Assigns Raster object to a new Raster object and save the raster dataset
outRas2 = outRas1
outRas2.save("C:/output/outslope")

Dans cet exemple, outRas1 et outRas2 référencent le même jeu de données. Par conséquent, lorsque outRas2 est enregistré, les deux objets reflètent le statut permanent, le nouvel emplacement et le nouveau nom du jeu de données enregistré, outslope. Si outRas1 est une couche dans votre table des matières et que vous rendez les données permanentes par l'intermédiaire de la propriété de la couche ou en enregistrant votre document ArcMap, les deux objets outRas1 et outRas2 référencent le jeu de données enregistré.

Rubriques connexes