Trabajar con objetos ráster
Los objetos ráster se puede 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 ráster o constantes. Las salidas ráster de expresiones de Álgebra de mapas siempre son temporales, pero se pueden guardar al llamar el método guardar en el objeto ráster. Los objetos ráster se pueden consultar para acceder fácilmente a las propiedades del dataset de referencia.
Crear un objeto ráster
Los objetos ráster se crean al convertir un dataset ráster o como salida desde las herramientas de ArcGIS Spatial Analyst. Convertir un ráster permite que el dataset ráster se pueda consultar fácilmente para muchas propiedades.
- Para crear un objeto ráster, especifique un nombre de capa o la ruta y nombre del dataset como se muestra en el siguiente ejemplo.En la declaración anterior, las propiedades de elevación del dataset ráster ahora están disponibles mediante el objeto ráster resultante (rasObject). Para obtener una lista completa de las propiedades de un objeto ráster, consulte Una lista completa de las propiedades de un objeto ráster.
rasObject = Raster("C:/Data/elevation")
- Los objetos ráster se crean como salida izquierda en las herramientas de ArcGIS Spatial Analyst.
# rasObject is a Raster object pointing to a temporary # raster dataset rasObject = Slope("C:/Data/elevation")
Nota:Las herramientas fuera del conjunto de herramientas de ArcGIS Spatial Analyst no ofrecen objetos ráster de salida.
Método guardar ráster
El ráster asociado con el objeto ráster se puede guardar utilizando el método guardar.
Las herramientas de Spatial Analyst crean salidas temporales. Estas salidas se pueden guardar utilizando el método guardar del objeto ráster. En el ejemplo a continuación, 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 donde se guardan los datos depende de lo que introduzca en el método guardar y de los entornos de espacio de trabajo que establezca.
- Cuando se especifica la ruta completa con el nombre del dataset, esa será la ubicación permanente donde se guardarán los datos.
- 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 con el nombre predeterminado, entonces llame al método guardar sin especificar un nombre, como se muestra en el siguiente ejemplo:
outraster.save()
- El método guardar es compatible con todos los formatos ráster compatibles con ArcGIS Spatial Analyst. En el siguiente ejemplo, el método guardar ráster se utiliza para guardar los datos en una geodatabase de archivos ráster y en formato IMAGINE.
outraster.save("C:/output/file_gdb.gdb/sloperaster") outraster.save("C:/output/sloperaster.img")
Trabajar con las propiedades de ráster
Cuando un ráster se convierte a un objeto ráster, es fácil consultar las propiedades desde el dataset. Las propiedades de los objetos ráster son de solo lectura. Al consultar la propiedad de un ráster se devuelve una cadena de caracteres, un número o un objeto. Las propiedades de ráster se pueden utilizar de muchas maneras, incluyendo 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
Las propiedades de ráster disponibles fuera del objeto ráster son una combinación de propiedades también accesibles a través de la función Describir (Propiedades del dataset ráster) y en la herramienta Obtener propiedades de ráster.