Utilisation d'objets raster

Disponible avec une licence Spatial Analyst.

Les objets raster peuvent servir d’entrée dans les expressions Algèbre spatiale et en sont les principales sorties. Lorsque vous exécutez une expression 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. Les objets raster peuvent être interrogés pour accéder facilement aux propriétés du jeu de données référencé.

Création d'un objet raster

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

  1. 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 les exemples suivants.
    rasObject = Raster("C:/Data/elevation")
    Dans l’instruction ci-dessus, les propriétés du jeu de données raster elevation sont à présent disponibles via l’objet raster résultant (rasObject). Pour obtenir la liste des propriétés d’un objet raster, reportez-vous à la rubrique Liste complète des propriétés des objets raster.
  2. Les objets Raster sont créés en tant que sorties gauches 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 du jeu d’outils Spatial Analyst ne génèrent pas d’objets Raster en sortie.

Méthode d'enregistrement d'objets raster

Le raster associé à l’objet Raster peut être enregistré grâce à la méthode save.

Les outils Spatial Analyst créent des sorties temporaires. Ces sorties peuvent être enregistrées à l’aide de la méthode save de l’objet raster. Dans l’exemple ci-dessous, la sortie temporaire de l’outil Slope (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.

    1. Lorsque le chemin d'accès complet, avec le nom du jeu de données, est spécifié, cet emplacement est alors l'endroit où les données permanentes seront enregistrées.
    2. Si seulement 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 ni l'espace de travail temporaire, ni l'espace de travail courant ne sont configurés, les données enregistrées seront placées à l'emplacement de l'espace de travail défini.
      • Si l'espace de travail temporaire et l'espace de travail courant sont configurés, les données enregistrées seront placées dans l'espace de travail courant.
      • Si aucun espace de travail n'est configuré, une erreur est renvoyée.

  • Si vous voulez simplement 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 ci-dessous :
    outraster.save()
  • La méthode save prend en charge tous les formats raster pris en charge par Spatial Analyst. Dans l’exemple ci-dessous, 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")

Utilisation des propriétés raster

Lorsqu’un raster est projeté en tant qu’objet Raster, il est facile d’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 Get Raster Properties (Obtenir les propriétés du raster).

Rubriques connexes