ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Utilizar configuraciones de entorno en Python

  • Obtener y establecer configuraciones de entorno
  • Utilizar las configuraciones del entorno para manejar datos temporales
  • Restablecer entornos

Cada herramienta tiene un conjunto de parámetros que utiliza para ejecutar una operación. Algunos de estos parámetros son comunes entre todas las herramientas, tales como la tolerancia o la ubicación de salida. Estos parámetros pueden obtener sus valores predeterminados de un entorno de geoprocesamiento que todas las herramientas utilizan durante su funcionamiento. Cuando se ejecuta una herramienta, las configuraciones de entorno actuales también se pueden utilizar como valores de parámetros de entrada globales. Las configuraciones tales como un área de interés, la referencia espacial del dataset de salida y el tamaño de celda de un nuevo dataset ráster se pueden especificar con entornos de geoprocesamiento.

Una secuencia de comandos se puede ejecutar de varias maneras diferentes. Se puede ejecutar como una herramienta de secuencia de comandos en una aplicación de ArcGIS. También se puede ejecutar desde otra secuencia de comandos o de manera independiente, desde la ventana Python. Cuando una secuencia de comandos se ejecuta dentro de una herramienta desde una aplicación ArcGIS, o desde otra secuencia de comandos de geoprocesamiento, se le pasa la configuración de entorno utilizada por la aplicación o la secuencia de comandos que realiza la llamada. Esta configuración se convierte en la configuración predeterminada utilizada por la secuencia de comandos de la herramienta cuando se ejecuta. La secuencia de comandos llamada puede modificar la configuración que se le pasa, pero esos cambios solo se utilizan dentro de esa secuencia de comandos o de las herramientas a las que llame. Los cambios no se devuelven a la secuencia de comandos o a la aplicación que realiza la llamada. El modelo de entorno se puede describir como en cascada, donde los valores fluyen hacia abajo a cualquier proceso que utilice el entorno de geoprocesamiento.

Obtener y establecer configuraciones de entorno

Las configuraciones del entorno se exponen como propiedades en la clase env. Estas propiedades se pueden utilizar para recuperar los valores actuales o para establecerlos. Se puede obtener acceso a los entornos como propiedades de lectura y escritura desde la clase de entorno, como arcpy.env.<environmentName>.

import arcpy

arcpy.env.workspace = "c:/data"

Ejemplo 1: establecer valores de entorno

import arcpy

# Set the workspace environment setting
#
arcpy.env.workspace = "c:/St_Johns/data.gdb"

# Set the XYTolerance environment setting
#
arcpy.env.XYTolerance = 2.5

# Calculate the default spatial grid index, divide in half, then
#   set the spatial grid 1 environment setting
#
grid_index = arcpy.CalculateDefaultGridIndex_management("roads")[0]

arcpy.env.spatialGrid1 = float(grid_index) / 2

# Clip the roads by the urban area feature class
#
arcpy.Clip_analysis("roads", "urban_area", "urban_roads")

Ejemplo 2: obtener y establecer un valor de entorno

import arcpy

# Check the current raster cell size and make sure it is a certain size
#   for standard output
#
arcpy.env.workspace = "c:/avalon/data"

if arcpy.env.cellSize < 10:
    arcpy.env.cellSize = 10
elif arcpy.env.cellSize > 20:
    arcpy.env.cellSize = 20
    
arcpy.HillShade_3d("island_dem", "island_shade", 300)
Precaución:

La ortografía y el uso de mayúsculas y minúsculas son relevantes al establecer las propiedades en Python. Asignar un valor a arcpy.env.Workspace no es lo mismo que establecer arcpy.env.workspace (Nota: arcpy.env.workspace es la forma correcta). Si encuentra una situación donde haya establecido un entorno pero no está viendo el efecto en las herramientas subsiguientes, compruebe la ortografía y el uso de mayúsculas y minúsculas.

La función ListEnvironments se puede utilizar para comprobar que los nombres de entorno son correctos.

import arcpy
print(arcpy.ListEnvironments())

Utilizar las configuraciones del entorno para manejar datos temporales

Los entornos scratchGDB y scratchFolder son entornos de solo lectura que proporcionan una ubicación de carpeta y una geodatabase que se garantiza que existen. Esto significa que puede usar con confianza una geodatabase o una carpeta en cualquier momento sin tener que crear o administrar una.

import arcpy

inputFC = arcpy.GetParameterAsText(0)
clipFC = arcpy.GetParameterAsText(1)
outputFC = arcpy.GetParameterAsText(2)

# Use scratchGDB environment to write intermediate data
#
tempData = arcpy.CreateScratchName(workspace=arcpy.env.scratchGDB)

result = arcpy.Buffer_analysis(inputFC, tempData, "50 METERS")
arcpy.Clip_analysis(clipFC, result, outputFC)

El entorno scratchFolder se establece del modo siguiente:

  • Si scratchWorkspace no se ha definido, scratchFolder cambia de manera predeterminada al directorio de archivos temporales del usuario actual.
  • Si scratchWorkspace hace referencia a una geodatabase, scratchFolder será la carpeta que contenga la geodatabase.
  • Si scratchWorkspace se ha definido en una carpeta, scratchFolder coincidirá con scratchWorkspace.

El entorno scratchGDB se establece del modo siguiente:

  • Si scratchWorkspace no se ha definido, scratchGDB cambia de manera predeterminada a una geodatabase denominada scratch.gdb del directorio de archivos temporales del usuario actual.
  • Si scratchWorkspace hace referencia a una geodatabase, scratchGDB coincidirá con scratchWorkspace.
  • Si scratchWorkspace se ha definido en una carpeta, scratchGDB se establecerá en una geodatabase denominada scratch.gdb de la carpeta scratchWorkspace.

Restablecer entornos

Debido a que los entornos de geoprocesamiento pueden afectar de manera significativa la operación y la salida de la herramienta, es importante poder realizar un seguimiento de la configuración del entorno y restablecer los entornos a sus estados predeterminados cuando sea necesario.

Se puede usar la función ResetEnvironments para restaurar los valores de entorno predeterminados o la función ClearEnvironment para restablecer un entorno específico.

import arcpy

# Reset geoprocessing environment settings
arcpy.ResetEnvironments()

# Reset a specific environment setting
arcpy.ClearEnvironment("workspace")

Temas relacionados

  • Configurar entornos en la ventana de Python
  • env

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2018 Esri. | Privacidad | Legal