Utiliser des objets raster

Disponible avec une licence Spatial Analyst.

Les objets raster peuvent servir d’entrée dans les expressions d’algèbre spatiale et en sont les principales sorties. Lorsque vous exécutez une expression d’algèbre spatiale qui utilise des opérateurs, les entrées doivent être des objets raster ou des constantes. Les sorties raster des expressions d’algèbre spatiale sont toujours temporaires, mais vous pouvez les enregistrer en appelant la méthode save sur l’objet Raster. Vous pouvez interroger les objets Raster pour accéder rapidement aux propriétés du jeu de données référencé.

Créer un objet raster

Les objets Raster sont créés soit par la redéfinition d’un jeu de données raster, soit comme sorties des outils dans Extension ArcGIS Spatial Analyst. La redéfinition d’un raster permet d’interroger les nombreuses propriétés du jeu de données raster.

  • Pour créer un objet Raster, spécifiez le nom ou le chemin d’une couche et le nom d’un jeu de données, comme indiqué dans l’exemple suivant :
    rasObject = Raster("C:/Data/elevation")
    Dans cette instruction, les propriétés du jeu de données raster d’élévation sont maintenant disponibles via l’objet Raster obtenu (rasObject).
  • Les objets Raster sont créés en tant que sorties de gauche des outils Spatial Analyst.
    # rasObject is a Raster object pointing to a temporary 
    #   raster dataset
    rasObject = Slope("C:/Data/elevation")
    Remarque :

    Les outils qui ne font pas partie de la boîte à outils Spatial Analyst ne génèrent pas d’objets Raster en sortie.

Méthode d'enregistrement d'objets raster

Vous pouvez enregistrer le raster associé à l’objet Raster à l’aide de la méthode save.

Les outils Spatial Analyst créent des sorties temporaires. Vous pouvez enregistrer ces sorties à l’aide de la méthode save de l’objet Raster. Dans l’exemple suivant, la sortie temporaire de l’outil Pente est enregistrée dans un dossier en sortie spécifié :

outraster = Slope("C:/Data/elevation")
outraster.save("C:/output/sloperaster")

  • L’emplacement d’enregistrement des données dépend de votre saisie dans la méthode save et des environnements d’espace de travail que vous avez définis.

    • Lorsque le chemin d’accès complet, avec le nom du jeu de données, est spécifié, cet emplacement correspond à l’endroit où les données permanentes sont enregistrées.
    • Si seul un nom de jeu de données est spécifié, l’emplacement des données enregistrées est déterminé par les environnements d’espace de travail de géotraitement.
      • Si l’espace de travail temporaire ou l’espace de travail courant est configuré, les données enregistrées sont placées à l’emplacement de l’espace de travail défini.
      • Si l’espace de travail temporaire et l’espace de travail courant sont définis, les données enregistrées sont placées dans l’espace de travail courant.
      • Si aucun espace de travail n'est configuré, une erreur est renvoyée.

  • Pour que les données soient conservées là où elles sont avec leur nom par défaut, appelez la méthode save sans spécifier de nom, comme dans l’exemple suivant :
    outraster.save()
  • La méthode save prend en charge tous les formats de données raster en sortie pris en charge par Spatial Analyst. Dans l’exemple suivant, la méthode save du raster est utilisée pour enregistrer les données dans un raster de géodatabase fichier et dans un raster au format TIFF.
    outraster.save("C:/output/file_gdb.gdb/sloperaster")
    outraster.save("C:/output/sloperaster.tif")

Utiliser les propriétés de raster

Lorsqu’un raster est redéfini en tant qu’objet Raster, vous pouvez interroger les propriétés à partir du jeu de données. Toutes les propriétés de l’objet Raster sont en lecture seule. L’interrogation d’une propriété Raster renvoie une chaîne, un nombre ou un objet. Les propriétés raster peuvent être utilisées de différentes façons, notamment comme entrée dans un paramètre d’outil, ou pour définir un paramètre d’environnement, comme illustré ci-dessous :

from arcpy import env
from arcpy.sa import *
outraster = Raster("C:/Data/studyarea")
myextent = outraster.extent

# Modify myextent as necessary for your workflow and use it to set the extent environment
env.extent = myextent
Remarque :

Les propriétés raster disponibles à partir de l’objet Raster sont une combinaison des propriétés également disponibles via la fonction Describe (Propriétés du jeu de données raster) et à partir de l’outil Obtenir les propriétés du raster.

Rubriques connexes