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 le permite arrastrar datasets o capas en el cuadro de diálogo de una herramienta, utilizar el botón Examinar para navegar hasta un dataset, o seleccionar una capa de la lista desplegable. Además, existen dos características diseñadas para facilitar considerablemente la especificación de los datasets de entrada y salida: las variables de entorno espacio de trabajo actual y espacio de trabajo temporal.
A continuación, se presentan los puntos clave de los espacios de trabajo actual y temporal:
- Estos espacios de trabajo se establecen en la ventana Entornos de geoprocesamiento, a la cual se accede haciendo clic en Geoprocesamiento > Entornos.
- La configuración de los espacios de trabajo actual y temporal, como de todos los entornos de geoprocesamiento, se guarda con el documento de mapa.
- En ArcMap, los espacios de trabajo actual y temporal se establecen automáticamente en la geodatabase predeterminada. Puede cambiar en cualquier momento los espacios de trabajo actual o temporal a una ubicación diferente de la geodatabase predeterminada.
- Cuando utilice un cuadro de diálogo de la herramienta o ejecute una herramienta en Python, podrá introducir el nombre base de un dataset para que la herramienta lo busque en el espacio de trabajo actual.
- Cuando utiliza el cuadro de diálogo de la herramienta, los nombres de dataset de salida se autogeneran con la configuración de los espacios de trabajo actual y temporal.
Establecer el entorno de espacio de trabajo actual
- En ArcMap, haga clic en Geoprocesamiento > Entornos.
Aparece la ventana Configuración del entorno.
- 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 a D: \ArcTutor\BuildingaGeodatabase\Montgomery. gdb\Landbase, un dataset de entidades dentro de la geodatabase.
Puede establecer el espacio de trabajo actual en una carpeta del sistema, una geodatabase o un dataset de entidades dentro de una geodatabase.
- Haga clic en Aceptar.
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 un script.
Utilizar nombres base
La idea principal de los espacios de trabajo actual 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.
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.
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 con el espacio de trabajo actual para formar el nombre de 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 (Bloques) con un guion bajo; el nombre de la herramienta —Recortar en este ejemplo— y, si es necesario, para garantizar un nombre único, un número.
- 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.
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.
Mostrar el espacio de trabajo en un cuadro de diálogo de la herramienta
Pause el puntero sobre el botón Examinar durante un momento, y el último espacio de trabajo que exploró se visualizará, tal como se muestra a continuación.
Si hace clic en el botón Examinar, aparece el cuadro de diálogo correspondiente en el espacio de trabajo actual.
Espacio de trabajo actual y nombre base en un script
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.gdb"
arcpy.Intersect_analysis(["roads", "streams"], "stream_crossings", "#", 1.5, "point")
A continuación, se presenta un ejemplo de script 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 arcpy
# Set the workspace (to avoid having to type in the full path to the data
# every time)
arcpy.env.workspace = "c:/projects/RedRiverBasin/data.gdb"
# 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")
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.
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:
- Si se ha establecido el entorno Espacio de trabajo temporal, la ruta de salida que se genera automáticamente será la del espacio de trabajo temporal.
- Si el entorno Espacio de trabajo temporal no está establecido, se verifica el entorno Espacio de trabajo actual. Si se ha definido el espacio de trabajo actual, la salida que se autogenere será el espacio de trabajo actual.
- Si no están establecidos los entornos Espacio de trabajo temporal ni Espacio de trabajo actual, la ruta de salida que se genera automáticamente será el espacio de trabajo de una de las entradas. En este caso, se aplican ciertas restricciones. Por ejemplo, si el espacio de trabajo es una carpeta y la salida es una clase de entidad nueva, la salida será un shapefile en el directorio que esté por encima del espacio de trabajo de la cobertura. Existen otras restricciones, como en el acceso de escritura. En algunos casos, la salida se escribe en el directorio temporal del sistema.
- Si introduce un nombre base para el dataset de salida, se utilizará el entorno Espacio de trabajo actual para crear la ruta de salida, independientemente de si está establecido el entorno de Espacio de trabajo temporal.