La interacción del objeto ráster en ArcGIS
Un objeto de ráster hace referencia a un dataset ráster y, si se utiliza en ArcMap, 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 dos maneras:
- La salida de una expresión de álgebra de mapas de Spatial Analyst 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 de Spatial Analyst, 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 guardar un dataset temporal asociado con una capa de mapa, haga clic con el botón derecho en la capa y seleccione Datos > Hacer permanente y proporcione una ubicación y nombre de salida.
- 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.
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 a continuación, 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 añaden 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 a la tabla de contenido. 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 a la tabla de contenido, y el objeto se sobrescribirá y hará referencia al dataset y a la capa que resulta de Orientación.
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, entonces se elimina el dataset. Si hay una capa asociada con el dataset temporal y se elimina el objeto, entonces los datos temporales permanecen.
A continuación hay un ejemplo de 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 a continuación, 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 el ejemplo a continuación, 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.