Utilizar los entornos de espacio de trabajo actual y temporal

Casi todas las herramientas de geoprocesamiento toman datasets como entradas y producen nuevos datasets. Cuando utiliza herramientas de geoprocesamiento, una de las cosas que desea evitar es introducir nombres de datasets largos, por ejemplo:

E:\Data\D052753_a\infrastructure\BK16_c1\approved.gdb\roads\mjrst.

Introducir un nombre de dataset tan largo puede ser tedioso y frustrante, además de que aumenta la posibilidad de cometer errores. Es por eso que el geoprocesamiento permite arrastrar datasets o capas hacia el cuadro de diálogo de la herramienta. Utilice el botón de exploración Abrir para navegar hacia un dataset o para seleccionar una capa de una lista desplegable. Además, hay dos características diseñadas para especificar los datasets de entrada y salida mucho más fácilmente: la configuración de los entornos de espacio de trabajo actual y de espacio de trabajo temporal.

A continuación se presentan los puntos clave de los espacios de trabajo actual y temporal:

Establecer el entorno de espacio de trabajo actual

Pasos:
  1. En ArcMap, haga clic en Geoprocesamiento > Entornos. Esto abre la ventana Configuración del entorno.
  2. Expanda la categoría Espacio de trabajo e introduzca la ruta al espacio de trabajo. La siguiente ilustración muestra cómo establecer el espacio de trabajo actual en D:\ArcTutor\BuildingaGeodatabase\Montgomery.gdb\Landbase, un dataset de entidad dentro de la geodatabase.

    Establecer el entorno de espacio de trabajo actual

    Puede establecer el espacio de trabajo actual en una carpeta del sistema, una geodatabase o un dataset de entidades dentro de una geodatabase.

  3. Haga clic en Aceptar.
  4. También puede buscar una geodatabase en la ventana Catálogo, hacer clic con el botón derecho del ratón en ella y hacer clic en Generar geodatabase predeterminada. Los espacios de trabajo actual y temporal se establecerán en esta geodatabase predeterminada.

Existen otros métodos para establecer entornos, y puede configurar los entornos para que se apliquen a todas las herramientas, a la ejecución de una herramienta, a un modelo, a un proceso de modelo o a una secuencia de comandos.

Obtenga más información acerca de la configuración de entorno

Utilizar nombres base

La idea principal de los espacios de trabajo actual y temporal es que establezca un espacio de trabajo una vez y que, al introducir las rutas de entrada y de salida, utilice solamente el nombre base. Un nombre de dataset tiene dos componentes, el espacio de trabajo y el nombre base, tal como se ilustra a continuación.

Nombre de dataset
Ruta del catálogo, ruta, ubicación y nombre de dataset. En términos prácticos, todos forman la cadena de caracteres que se utiliza para especificar un dataset.

Ejemplo del uso de nombres base

La siguiente ilustración muestra una geodatabase de ejemplo que se utiliza como el espacio de trabajo actual. El espacio de trabajo actual se establece en D:\BuildingaGeodatabase\Montgomery.gdb\Landbase.

Contenido de Montgomery.gdb

Una vez establecido el espacio de trabajo, puede introducir simplemente el nombre base cada vez que se requiera un nombre de dataset. El siguiente ejemplo muestra el uso de la herramienta Clip.

  • El nombre base (Blocks) se une al espacio de trabajo actual para formar el nombre del dataset (D:\BuildingaGeodatabase\Montgomery.gdb\Landbase\Blocks). A continuación, el parámetro Entidades de entrada se reemplaza con este nombre de dataset.
  • Se autogenera un nombre de dataset de salida único. El nombre base es el mismo que el nombre base de entrada (Blocks) que, en este ejemplo, está unido con un guión bajo al nombre de la herramienta Clip y que, si es necesario, puede estar unido a un número para formar un nombre único.
    Introducir un nombre base para la entrada
  • Si no desea utilizar el nombre de salida autogenerado, puede eliminarlo e introducir un nombre base, que se expandirá a un nombre de dataset, tal como se muestra a continuación.

    Utilizar un nombre base para un dataset de salida

Después de ejecutar una herramienta, es posible que descubra que la salida no está escrita donde lo espera; quizás cometió un error al introducir el nombre de salida o simplemente olvidó dónde estaba escrito. Si este es el caso, abra la ventana Resultados, que contiene un registro de la herramienta que ejecutó junto con sus datasets de entrada y de salida.

También puede utilizar un nombre base en la cuadrícula de lote, tal como se muestra a continuación.

Utilizar un espacio de trabajo actual con la cuadrícula de lote

Más información sobre el procesamiento por lotes

Mostrar el espacio de trabajo actual en un cuadro de diálogo de la herramienta

Ubique el puntero sobre el botón de exploración Abrir por un momento para que aparezca el espacio de trabajo actual, tal como se muestra a continuación.

Mostrar el espacio de trabajo actual en un cuadro de diálogo de la herramienta

Si hace clic en el botón de exploración, se abrirá el cuadro de diálogo correspondiente en el espacio de trabajo actual.

Espacio de trabajo actual y nombre base en una secuencia de comandos

En la ventana de Python, el entorno de espacio de trabajo establece el espacio de trabajo actual. Después de establecer el espacio de trabajo, puede utilizar el nombre base de cualquier dataset dentro del espacio de trabajo, tal como se muestra a continuación.

>> import arcpy >> arcpy.env.workspace = "c:/projects/RedRiverBasin/data.mdb" >> arcpy.Intersect_analysis("roads ; streams ", "stream_crossings", "#", 1.5, "point") 

A continuación se presenta un ejemplo de secuencia de comandos de Python en el que se muestra el uso del comando de espacio de trabajo:

 # Purpose: Determine the type of vegetation within 100 meters of all stream crossings  # Import the ArcPy site-package import arcpy  try:     # Set the workspace (to avoid having to type in the full path to the data every time)     arcpy.env.workspace = "c:/projects/RedRiverBasin/data.mdb"      # Process: Find all stream crossings (points)     arcpy.Intersect_analysis("roads ; streams ", "stream_crossings", "#", 1.5, "point")      # Process: Buffer all stream crossings by 100 meters     arcpy.Buffer_analysis("stream_crossings","stream_crossings_100m", "100 meters")      # Process: Clip the vegetation feature class to stream_crossings_100m     arcpy.Clip_analysis("vegetation", "stream_crossings_100m", "veg_within_100m_of_crossings")      # Process: Summarize how much (area) of each type of vegetation is found within 100 meters of the stream crossings     arcpy.Statistics_analysis("veg_within_100m_of_crossings", "veg_within_100m_of_crossings_stats","shape_area sum","veg_type")  except:     # If an error occurred while running a tool print the messages     print arcpy.GetMessages()

Entorno de espacio de trabajo temporal

Además del espacio de trabajo actual, existe la configuración del entorno de espacio de trabajo temporal. Se puede establecer y acceder a la configuración del espacio de trabajo temporal de la misma manera que se establece y se accede al espacio de trabajo actual.

El propósito principal del entorno de espacio de trabajo temporal es su uso con ModelBuilder. ModelBuilder necesita un espacio de trabajo para escribir datasets intermedios: datasets que no son de uso una vez que el modelo se ejecuta. A pesar de que su propósito principal sea con ModelBuilder, puede haber ocasiones en las que desee establecerlo para cuadros de diálogo de herramientas. O bien, lo que es más probable, puede que haya establecido el espacio de trabajo temporal para utilizar con ModelBuilder y haya olvidado restaurarlo antes de ejecutar una herramienta con su cuadro de diálogo.

Si establece el entorno de espacio de trabajo temporal, las herramientas lo utilizarán, en lugar del espacio de trabajo actual, para autogenerar nombres de dataset de salida, tal como se muestra a continuación.

Ejemplo de salida autogenerada con el espacio de trabajo temporal
PrecauciónPrecaución:

si introduce un nombre base para la salida, se utilizará el espacio de trabajo actual, y no el espacio de trabajo temporal, para crear el nombre del dataset.

La regla es que cada vez que se utilice un nombre base, este se una al espacio de trabajo actual y no al temporal. Tenga en cuenta esto al escribir secuencias de comandos. En el siguiente fragmento de código, el dataset de salida "stream_crossings" se escribirá en el espacio de trabajo actual y no en el temporal.

     arcpy.env.workspace = "c:/projects/RedRiverBasin/data.mdb"     arcpy.env.scratchWorkspace = "c:/projects/Scratch/scratch.gdb"     arcpy.Intersect_analysis("roads ; streams ", "stream_crossings", "#", 1.5, "point") 
PrecauciónPrecaución:

Ya que el espacio de trabajo temporal está diseñado para datos temporales, no lo establezca en una geodatabase de ArcSDE. Esto podría causar problemas de rendimiento (puede estar escribiendo datos temporales en una base de datos empresarial). Se recomienda que, para el espacio de trabajo temporal, utilice siempre una geodatabase de archivos (en lugar de una geodatabase personal o un espacio de trabajo de shapefiles).

Nombres de datasets de salida autogenerados

Todas las herramientas crean automáticamente un nombre de dataset de salida. La lógica para generar el nombre de salida es la siguiente:

Temas relacionados


7/10/2012