Devuelve un valor basado en una expresión especificada de Python.
Uso
La herramienta está pensada para utilizarse en ModelBuilder y no en scripts de Python.
El parámetro Tipo de datos se utiliza en ModelBuilder para ayudar a conectar la salida de la herramienta Calcular valor con otras herramientas. Por ejemplo, si utiliza la herramienta Calcular valor para calcular una distancia que se utilizará como entrada del parámetro Distancia de zona de influencia de la herramienta Zona de influencia, especifique una unidad lineal para el parámetro Tipo de datos.
Con la herramienta Calcular valor se pueden utilizar las variables creadas con ModelBuilder, pero no se pueden conectar las variables que se desean utilizar en el parámetro de expresión. Para utilizar estas variables dentro de la expresión, encierre los nombres de las variables entre signos de porcentaje (%). Por ejemplo, si desea dividir una variable denominada "Input" por 100, la expresión sería %Input%/100.
Nota: en la expresión anterior, si Input = 123, la expresión devolverá 1. Para obtener posiciones decimales, agregue decimales a los valores en la expresión. Por ejemplo: %Input%/100,00 devolverá 1,23. En la ilustración siguiente se muestra otro ejemplo del uso de variables en la expresión.
Precaución:
En una expresión, la variable en línea de tipo cadena de caracteres debe estar entre comillas ("%string variable%"). Las variables en línea de tipo numérico (double, long) no requieren comillas (%double%).
Las expresiones solo se pueden crear en formato Python estándar. Los demás lenguajes de secuencias de comandos no son compatibles.
La herramienta Calcular valor puede evaluar expresiones matemáticas simples. Por ejemplo:
3+5
9*8
4+(9/3)
La herramienta Calcular valor permite el uso del módulo de matemática de Python para realizar operaciones matemáticas más complejas. Para acceder al módulo de matemática, se debe anteponer math a la función deseada. Por ejemplo:
math.sqrt(25)
math.cos(0,5)
El módulo de matemática también admite constantes. Por ejemplo:
math.pi
El módulo random se admite para generar números aleatorios. A continuación se presentan ejemplos de uso del módulo random:
Calcular un entero aleatorio entre 0 y 10: random.randint(0, 10)
Calcular un valor aleatorio derivado de una distribución normal con un valor medio de 10 y una desviación estándar de 3: random.normalvariate(10, 3)
Heredado:
arcgis.rand() ya no se admite desde ArcGIS Pro 2.0. En su lugar, se deben usar otras funciones similares del módulo random de Python. Para usar correctamente el módulo random, agréguelo como importación en el parámetro Bloque de código.
Por lo general, introducirá las expresiones en el parámetro Expresión. Las expresiones más complejas, como cálculos u operaciones lógicas de varias líneas (if, then), requieren el uso del parámetro Código bloque. El parámetro Bloque de código no se puede utilizar por separado, solo junto con el parámetro Expresión.
Se puede hacer referencia a las variables definidas en el parámetro Bloque de código a partir de la expresión.
Las variables se pueden definir en el parámetro Bloque de código e invocar a partir de la expresión. En el ejemplo siguiente, la función devuelve una cadena de dirección del viento basada en un valor de entrada aleatorio. En Python, las funciones se definen con la palabra clave def seguida del nombre de la función y los parámetros de entrada de la función. En este caso, la función es getWind y tiene un parámetro, wind. Los valores se devuelven de una función con la palabra clave return.
Puede introducir una variable en el parámetro Expresión y utilizar la lógica if-else con las variables en línea que se encuentran en el bloque de código, tal como se muestra a continuación. El bloque de código verifica la variable Input Cell Size para comprobar que no este vacía y, a continuación, devuelve un valor basado en la condición.
Los métodos de Python se pueden utilizar directamente en el parámetro Expresión de la herramienta. Por ejemplo, si tiene un valor de entrada con un decimal (en este caso, el valor de campo de la tabla de entrada) y desea utilizar el valor en el nombre de salida de otra herramienta por medio de la sustitución de variables en línea, el decimal se puede reemplazar usando el método replace de Python en la expresión de la herramienta Calcular valor.
En el parámetro de bloque de código se pueden utilizar los módulos de Python y combinar o apilar métodos de Python, tales como replace. En el ejemplo siguiente, el módulo time se importa en el bloque de código, que devuelve la fecha y la hora actuales, por ejemplo, Fri Mar 19 2010 09:42:39. Este valor devuelto se utiliza como un nombre en la herramienta Crear carpeta para denominar la carpeta. Como el nombre de la carpeta no puede contener espacios ni marcas de puntuación, el método replace se utiliza en Python apilando el método de cada elemento que requiere un reemplazo. El nombre que se obtiene para la carpeta en este ejemplo es FriMar192010094239.
Si calcula un valor en el modelo y desea utilizarlo con herramientas como Zona de influencia, que requieren un valor de distancia de zona de influencia y una unidad lineal, deberá:
devolver la unidad lineal del bloque de código, junto con el valor de distancia,
cambiar el tipo de datos de los valores devueltos, tal como se muestra más adelante y, por último,
establecer el parámetro de tipo de datos como unidad lineal, para que el resultado de la expresión se convierta en un valor de unidad lineal.
Puede usar la salida de la herramienta Calcular valor directamente en cualquier herramienta de Spatial Analyst que acepte un ráster o un valor constante como Suma, Mayor que y Menor que (estas herramientas se encuentran en la caja de herramientas Spatial Analyst/conjunto de herramientas Matemática). Para usar la salida de Calcular valor, cambie el tipo de datos de salida a Ráster formulado. Este formato de tipo de datos de salida es una superficie de ráster cuyas celdas están representadas por una fórmula o una constante.
En Python, parte de la sintaxis es el uso correcto de la sangría. El grado de sangría (dos espacios o cuatro espacios) no es importante, siempre y cuando sea consistente en todo el bloque de código.
No se puede acceder a las variables de modelo desde el bloque de código. Estas variables se deben introducir en el bloque de código desde la expresión. Esto se puede realizar creando una definición en el parámetro Código bloque y haciendo referencia a esta en el cuadro Expresión.
Nota:
Cuando escriba secuencias de comandos de Python, en lugar de la herramienta Calcular valor, utilice declaraciones de Python estándar.
Parámetros
Etiqueta
Explicación
Tipo de datos
Expresión
Expresión de Python que se evaluará.
SQL Expression
Bloque de código
(Opcional)
Un bloque de código de Python. Se puede hacer referencia al código que se encuentra en el bloque de código en el parámetro Expresión.
String
Tipo de datos
(Opcional)
Especifica el tipo de datos de la salida devuelta a partir de la expresión de Python. Este parámetro se debe utilizar en ModelBuilder para ayudar a conectar la herramienta Calcular valor con otras herramientas.
Localizador de direcciones—Localizador de direcciones
Estilo del Localizador de direcciones—Estilo del Localizador de direcciones
Tamaño de celda de análisis—Tamaño de celda de análisis
Capa de anotaciones—Capa de anotaciones
Cualquier valor—Cualquier valor
Documento de ArcMap—Documento de ArcMap
Unidad de área—Unidad de área
Espacio de trabajo de archivo BIM—Espacio de trabajo de archivo BIM
Booleanos—Booleanos
Generando capa de disciplina—Generando capa de disciplina
Crear capa de escena de disciplina—Crear capa de escena de disciplina
Generando capa—Generando capa
Crear capa de escena—Crear capa de escena
Dataset de dibujo CAD—Dataset de dibujo CAD
Expresión de calculadora—Expresión de calculadora
Raíz del catálogo—Raíz del catálogo
Tamaño de celda—Tamaño de celda
Tamaño de celda XY—Tamaño de celda XY
Capa compuesta—Capa compuesta
Compresión—Compresión
Sistema de coordenadas—Sistema de coordenadas
Carpeta de sistemas de coordenadas—Carpeta de sistemas de coordenadas
Cobertura—Cobertura
Clase de entidad de cobertura—Clase de entidad de cobertura
Elemento de datos—Elemento de datos
Archivo de datos—Archivo de datos
Conexiones de base de datos—Conexiones de base de datos
Dataset—Dataset
Fecha—Fecha
Tabla de dBase—Tabla de dBase
Remuestreo reducido—Remuestreo reducido
Capa de diagrama—Capa de diagrama
Capa de dimensión—Capa de dimensión
Conexión de disco—Conexión de disco
Doble—Doble
Capa de superficie de elevación—Capa de superficie de elevación
Cadena de caracteres codificada—Cadena de caracteres codificada
Contorno—Contorno
Escala de evaluación—Escala de evaluación
Extensión—Extensión
Extraer valores—Extraer valores
Clase de entidad—Clase de entidad
Dataset de entidades—Dataset de entidades
Capa de entidades—Capa de entidades
Conjunto de entidades—Conjunto de entidades
Campo—Campo
Información del campo—Información del campo
Asignaciones de campos—Asignaciones de campos
Archivo—Archivo
Carpeta—Carpeta
Ráster formulado—Ráster formulado
Función difusa—Función difusa
GeoDataServer (Servidor de datos geográficos)—GeoDataServer (Servidor de datos geográficos)
Geodataset—Geodataset
Red geométrica—Red geométrica
Capa de geoestadística—Capa de geoestadística
Vecindad de búsqueda de estadísticas geográficas—Vecindad de búsqueda de estadísticas geográficas
Tabla de valores geoestadística—Tabla de valores geoestadística
GlobeServer—GlobeServer
GPServer—GPServer
Gráfico—Gráfico
Tabla de datos de gráfico—Tabla de datos de gráfico
Grupo de capas—Grupo de capas
Factores horizontales—Factores horizontales
Servicio de imágenes—Servicio de imágenes
Índice—Índice
Expresión INFO—Expresión INFO
Elemento INFO—Elemento INFO
Tabla INFO—Tabla INFO
Capa teselada de Internet—Capa teselada de Internet
Capa KML—Capa KML
Dataset LAS—Dataset LAS
Capa de dataset LAS—Capa de dataset LAS
Capa—Capa
Archivo de capas—Archivo de capas
Diseño—Diseño
Línea—Línea
Unidad lineal—Unidad lineal
Largo—Largo
Dominio M—Dominio M
Mapa—Mapa
Servidor de mapa—Servidor de mapa
Capa de servidor de mapas—Capa de servidor de mapas
Dataset de mosaico—Dataset de mosaico
Capa de mosaico—Capa de mosaico
Vecindario—Vecindario
FieldMap de clase de Network Analyst—FieldMap de clase de Network Analyst
Configuración de jerarquía de Network Analyst—Configuración de jerarquía de Network Analyst
Capa de Network Analyst—Capa de Network Analyst
Fuente de datos de red—Fuente de datos de red
Dataset de red—Dataset de red
Capa de dataset de red—Capa de dataset de red
Modo de viaje de red—Modo de viaje de red
Estructura de parcelas—Estructura de parcelas
Estructura de parcela para ArcMap—Estructura de parcela para ArcMap
Capa de estructura de parcela para ArcMap—Capa de estructura de parcela para ArcMap
Capa de parcela—Capa de parcela
Punto—Punto
Polígono—Polígono
Archivo de proyección—Archivo de proyección
Pirámide—Pirámide
Radio—Radio
Generador de números aleatorios—Generador de números aleatorios
Banda de ráster—Banda de ráster
Expresión de calculadora de ráster—Expresión de calculadora de ráster
Catálogo de ráster—Catálogo de ráster
Capa de catálogo de ráster—Capa de catálogo de ráster
Capa de datos de ráster—Capa de datos de ráster
Dataset ráster—Dataset ráster
Capa ráster—Capa ráster
Estadísticas de ráster—Estadísticas de ráster
Tipo de ráster—Tipo de ráster
Conjunto de registros—Conjunto de registros
Clase de relación—Clase de relación
Nueva representación cartográfica—Nueva representación cartográfica
Informe—Informe
Propiedades de eventos de medición de ruta—Propiedades de eventos de medición de ruta
Capa de escena—Capa de escena
Semivariograma—Semivariograma
ServerConnection—ServerConnection
Shapefile—Shapefile
Referencia espacial—Referencia espacial
Expresión SQL—Expresión SQL
Cadena—Cadena
Cadena de caracteres oculta—Cadena de caracteres oculta
Tabla—Tabla
Vista de tabla—Vista de tabla
Capa de terreno—Capa de terreno
Archivo de texto—Archivo de texto
Tamaño de tesela—Tamaño de tesela
Configuración de la hora—Configuración de la hora
Unidad de tiempo—Unidad de tiempo
TIN—TIN
Capa TIN—Capa TIN
Herramienta—Herramienta
Caja de herramientas—Caja de herramientas
Entidades topo—Entidades topo
Topología—Topología
Capas de topología—Capas de topología
Red de trazado—Red de trazado
Capa de trazado de red—Capa de trazado de red
Función de transformación—Función de transformación
Red de servicios—Red de servicios
Capa de red de servicios—Capa de red de servicios
Variante—Variante
Capa de teselas vectoriales—Capa de teselas vectoriales
Factor vertical—Factor vertical
Capa vóxel—Capa vóxel
Cobertura VPF—Cobertura VPF
Tabla VPF—Tabla VPF
Cobertura WCS—Cobertura WCS
Tabla Superposición ponderada—Tabla Superposición ponderada
Suma ponderada—Suma ponderada
Mapa de WMS—Mapa de WMS
Capa WMTS—Capa WMTS
Espacio de trabajo—Espacio de trabajo
Dominio XY—Dominio XY
Dominio Z—Dominio Z
String
Salida derivada
Etiqueta
Explicación
Tipo de datos
Valor
El valor calculado.
Elemento de datos; Capa; Vista de tabla
Entornos
Esta herramienta no utiliza ningún entorno de geoprocesamiento.