Disponible con una licencia de Spatial Analyst.
Un objeto Ráster hace referencia a un dataset ráster y, si se utiliza en la visualización de un mapa, se puede asociar con una capa ráster en la tabla de contenido. La relación entre el dataset ráster, el objeto Ráster y la capa ráster se mantienen en la mayoría de los casos, pero es importante entender estas relaciones para trabajar productivamente con el Álgebra de mapas de Análisis espacial.
Los objetos ráster se crean de estas dos maneras:
- La salida de una expresión de álgebra de mapas es un objeto Ráster. Uno de los comportamientos más importantes de un objeto ráster es que cuando se crea como salida principal de una expresión de álgebra de mapas, hace referencia a un ráster temporal.
>>> outRas = Slope("elevation") >>> print outRas.isTemporary True
- Un dataset ráster se puede convertir a un objeto ráster. Cuando un dataset ráster permanente se convierte a un objeto ráster, el dataset sigue siendo permanente.
>>> outRas = Raster("C:/Data/elevation") >>> print outRas.isTemporary False
En algunos casos, un objeto ráster se asocia con una capa ráster. Cuando trabaja en la ventana de Python, con la opción de geoprocesamiento Agregar los resultados de las operaciones de geoprocesamiento a la visualización seleccionada, el resultado de una expresión de álgebra de mapas se agrega a la tabla de contenido con el mismo nombre que el objeto ráster. Cuando un dataset se convierte a ráster, no se agrega ninguna capa a la tabla de contenido.
Guardar rásteres temporales
Cuando los datos asociados con el objeto ráster son temporales, se eliminarán cuando finalice la sesión de ArcGIS (el objeto queda fuera del alcance, o la secuencia de comandos se completa). Es decir, a menos que se guarden los datos. Cuando se guarda un ráster, la capa y el objeto reflejan las propiedades de ráster actualizadas incluyendo nombre, ruta, catalogPath, y el estado isTemporary del dataset. Hay varias maneras de guardar un dataset temporal.
- Para guardar un dataset ráster temporal por medio del objeto Ráster asociado, se puede utilizar el método para guardar un objeto ráster.
- Para que persista un dataset ráster temporal asociado con una capa de mapa, guarde el documento de mapa. Cuando se guarda el documento de mapa, el dataset ráster persiste en el disco en su ubicación actual con el nombre generado automáticamente.
- Para guardar un dataset temporal asociado con una capa de mapa, haga clic con el botón derecho en la capa, seleccione Datos > Hacer permanente y proporcione una ubicación y nombre de salida.
Volver a utilizar un objeto ráster
Los nombres de objeto deben ser únicos. Cuando se vuelve a utilizar un nombre de objeto, el objeto original se sobrescribe. En el ejemplo siguiente, la salida de Pendiente se reemplaza cuando se vuelve a utilizar outRas como salida de la expresión Orientación.
outRas = Slope("inRas1")
outRas = Aspect("inRas2")
Las capas se agregan a la tabla de contenido con el mismo nombre que el objeto Ráster. Cuando el nombre de un objeto Ráster se vuelve a utilizar, se agregan varias capas con el mismo nombre a la tabla de contenido. En el ejemplo anterior, se agrega dos veces outRas. La primera vez es cuando se ejecuta la expresión Pendiente. La primera capa outRas hace referencia al resultado de Pendiente y se puede utilizar en la ventana de Python hasta que se ejecuta la expresión Orientación. Cuando se ejecuta Orientación, se agrega una segunda capa llamada outRas y el objeto se sobrescribe y hará referencia al dataset y a la capa que resulta de Orientación.
Eliminar un objeto ráster
Cuando se elimina un objeto ráster lo que sucede con el dataset asociado (y posiblemente la capa) depende del estado de los datos. Si los datos son permanentes, eliminar el objeto ráster no tiene rumbo a la capa o dataset asociado. Si los dataset son temporales, los efectos de eliminar el objeto ráster dependen de si hay una capa que también hace referencia al dataset ráster. Si no hay una capa asociada con el dataset temporal y se elimina el objeto, se elimina el dataset. Si hay una capa asociada con el dataset temporal y se elimina el objeto, los datos temporales permanecen.
En el ejemplo siguiente se muestra cómo eliminar un objeto Ráster denominado outRas.
outRas = Slope("C:/Data/elevation")
del outRas
Asignar el objeto ráster a un nuevo objeto ráster
Asignar un objeto ráster a un nuevo objeto ráster no copia la capa o dataset asociado. Asignar un objeto ráster a un nuevo objeto ráster crea un segundo objeto que hace referencia al objeto original. En el ejemplo siguiente, outRas1 y outRas2 hacen referencia al mismo dataset ráster:
outRas1 = Slope("elevation")
# Assigns Raster object to a new Raster object and save the raster dataset
outRas2 = outRas1
outRas2.save("C:/output/outslope")
En este ejemplo, outRas1 y outRas2 hacen referencia al mismo dataset. Por lo tanto, cuando se guarda outRas2, los dos objetos reflejarán el estado permanente, la nueva ubicación y el nuevo nombre del dataset guardado, outslope. Si outRas1 es una capa en la tabla de contenido y mantiene los datos a través de la propiedad de capa o al guardar su documento de mapa, los dos objetos, outRas1 y outRas2, harán referencia al dataset guardado.