Trabajar con objetos Raster

Disponible con una licencia de Spatial Analyst.

Los objetos Raster se pueden utilizar como entrada y son la principal salida de expresiones de Álgebra de mapas. Al ejecutar una expresión de Álgebra de mapas que utiliza operadores, las entradas deben ser objetos Raster o constantes. Las salidas ráster de expresiones de Álgebra de mapas siempre son temporales, pero se pueden guardar llamando al método save del objeto Raster. Los objetos Raster se pueden consultar para acceder fácilmente a las propiedades del dataset de referencia.

Crear un objeto Raster

Los objetos Raster se crean al convertir un dataset ráster o como salida desde las herramientas de Extensión ArcGIS Spatial Analyst. Convertir un ráster permite que el dataset ráster se pueda consultar fácilmente para muchas propiedades.

  1. Para crear un objeto Raster, especifique un nombre de capa o la ruta y nombre del dataset como se muestra en el siguiente ejemplo.
    rasObject = Raster("C:/Data/elevation")
    En la sentencia anterior, las propiedades del dataset ráster de elevation ya están disponibles mediante el objeto Raster resultante (rasObject). Para ver una lista de las propiedades de un objeto ráster, consulte Una lista completa de las propiedades de un objeto Raster.
  2. Los objetos Raster se crean como salida izquierda de las herramientas de Spatial Analyst.
    # rasObject is a Raster object pointing to a temporary 
    #   raster dataset
    rasObject = Slope("C:/Data/elevation")
    Nota:

    Las herramientas ajenas al conjunto de herramientas de Spatial Analyst no generan objetos Raster.

Método save del objeto Raster

El ráster asociado con el objeto Raster se puede guardar utilizando el método save.

Las herramientas de Spatial Analyst crean salidas temporales. Estas salidas se pueden guardar utilizando el método save del objeto Raster. En el siguiente ejemplo, la salida temporal de la herramienta Pendiente se guarda en la carpeta de salida especificada.

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

  • La ubicación en la que se guardan los datos depende de lo que introduzca en el método save y de los entornos de espacio de trabajo que establezca.

    1. Cuando se especifica la ruta completa con el nombre del dataset, esa será la ubicación permanente donde se guardarán los datos.
    2. Si solo se especifica el nombre del dataset, los entornos de espacio de trabajo de geoprocesamiento determinarán la ubicación de los datos guardados.
      • Si se establece el espacio de trabajo actual o el espacio de trabajo temporal, entonces los datos se guardarán en la ubicación del espacio de trabajo establecido.
      • Si se establece tanto el espacio de trabajo actual como el espacio de trabajo temporal, entonces los datos se guardarán en el espacio de trabajo actual.
      • Si no se establece ningún espacio de trabajo, se devolverá un error.

  • Si simplemente desea conservar los datos donde están y con el nombre predeterminado, llame al método save sin especificar ningún nombre, como se muestra en el siguiente ejemplo:
    outraster.save()
  • El método save es compatible con todos los formatos ráster compatibles con Spatial Analyst. En el siguiente ejemplo, el método save ráster se utiliza para guardar los datos en un ráster de geodatabase de archivos y en ráster de formato TIFF.
    outraster.save("C:/output/file_gdb.gdb/sloperaster")
    outraster.save("C:/output/sloperaster.tif")

Trabajar con las propiedades de ráster

Cuando un ráster se convierte en un objeto Raster, es fácil consultar las propiedades desde el dataset. Todas las propiedades de objeto de Raster son de solo lectura. Al consultar la propiedad de un Raster se devuelve una cadena de caracteres, un número o un objeto. Las propiedades de ráster se pueden utilizar de muchas maneras, por ejemplo, como entrada en un parámetro de la herramienta o para establecer una configuración del entorno (como se muestra a continuación).

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
Nota:

Las propiedades de ráster disponibles desde fuera del objeto Raster son una combinación de propiedades también accesibles a través de la función Describe (Propiedades del dataset ráster) y desde la herramienta Obtener propiedades de ráster.

Temas relacionados