La interacción del objeto Ráster

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 Spatial Analyst.

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

Al trabajar en la ventana Python, el resultado de una expresión de álgebra de mapas se agrega a la visualización 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 proyecto de mapa. Cuando se guarda el proyecto, el dataset ráster persiste en el disco en su ubicación actual con el nombre generado automáticamente.

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 del 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 ventana 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.

Sugerencia:

Si el objeto ráster que hace referencia a un dataset se ha sobrescrito, el dataset ráster se puede volver a convertir en un objeto ráster al utilizar el nombre del dataset o capa.

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.

Precaución:
Los datos temporales a los que hace referencia una capa no se eliminan cuando se elimina el objeto ráster; sin embargo, todos los datos temporales se eliminan cuando la aplicación se cierra, a menos que se guarde, sin importar que existan objetos o capas.

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.

Temas relacionados