Calcular valor (ModelBuilder)

Resumen

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.

    Utilizar variable de modelo en la herramienta Calcular valor
    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.

    Utilizar los parámetros Expresión y Bloque de código

  • 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.

    Definir funciones en el parámetro Bloque de código
  • 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.

    Ejemplo de If-Else

  • 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.

    Ejemplo del método replace de Python

  • 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.

    Ejemplo del módulo de hora de Python

  • 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.
    Utilizar la salida de la herramienta Calcular valor como distancia de zona de influencia

  • 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.

    Tipo de datos Ráster formulado

  • 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

EtiquetaExplicaciónTipo 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 direccionesLocalizador de direcciones
  • Estilo del Localizador de direccionesEstilo del Localizador de direcciones
  • Tamaño de celda de análisisTamaño de celda de análisis
  • Capa de anotacionesCapa de anotaciones
  • Cualquier valorCualquier valor
  • Documento de ArcMapDocumento de ArcMap
  • Unidad de áreaUnidad de área
  • Espacio de trabajo de archivo BIMEspacio de trabajo de archivo BIM
  • BooleanosBooleanos
  • Generando capa de disciplinaGenerando capa de disciplina
  • Crear capa de escena de disciplinaCrear capa de escena de disciplina
  • Generando capaGenerando capa
  • Crear capa de escenaCrear capa de escena
  • Dataset de dibujo CADDataset de dibujo CAD
  • Expresión de calculadoraExpresión de calculadora
  • Raíz del catálogoRaíz del catálogo
  • Tamaño de celdaTamaño de celda
  • Tamaño de celda XYTamaño de celda XY
  • Capa compuestaCapa compuesta
  • CompresiónCompresión
  • Sistema de coordenadasSistema de coordenadas
  • Carpeta de sistemas de coordenadasCarpeta de sistemas de coordenadas
  • CoberturaCobertura
  • Clase de entidad de coberturaClase de entidad de cobertura
  • Elemento de datosElemento de datos
  • Archivo de datosArchivo de datos
  • Conexiones de base de datosConexiones de base de datos
  • DatasetDataset
  • FechaFecha
  • Tabla de dBaseTabla de dBase
  • Remuestreo reducidoRemuestreo reducido
  • Capa de diagramaCapa de diagrama
  • Capa de dimensiónCapa de dimensión
  • Conexión de discoConexión de disco
  • DobleDoble
  • Capa de superficie de elevaciónCapa de superficie de elevación
  • Cadena de caracteres codificadaCadena de caracteres codificada
  • ContornoContorno
  • Escala de evaluaciónEscala de evaluación
  • ExtensiónExtensión
  • Extraer valoresExtraer valores
  • Clase de entidadClase de entidad
  • Dataset de entidadesDataset de entidades
  • Capa de entidadesCapa de entidades
  • Conjunto de entidadesConjunto de entidades
  • CampoCampo
  • Información del campoInformación del campo
  • Asignaciones de camposAsignaciones de campos
  • ArchivoArchivo
  • CarpetaCarpeta
  • Ráster formuladoRáster formulado
  • Función difusaFunción difusa
  • GeoDataServer (Servidor de datos geográficos)GeoDataServer (Servidor de datos geográficos)
  • GeodatasetGeodataset
  • Red geométricaRed geométrica
  • Capa de geoestadísticaCapa de geoestadística
  • Vecindad de búsqueda de estadísticas geográficasVecindad de búsqueda de estadísticas geográficas
  • Tabla de valores geoestadísticaTabla de valores geoestadística
  • GlobeServerGlobeServer
  • GPServerGPServer
  • GráficoGráfico
  • Tabla de datos de gráficoTabla de datos de gráfico
  • Grupo de capasGrupo de capas
  • Factores horizontalesFactores horizontales
  • Servicio de imágenesServicio de imágenes
  • ÍndiceÍndice
  • Expresión INFOExpresión INFO
  • Elemento INFOElemento INFO
  • Tabla INFOTabla INFO
  • Capa teselada de InternetCapa teselada de Internet
  • Capa KMLCapa KML
  • Dataset LASDataset LAS
  • Capa de dataset LASCapa de dataset LAS
  • CapaCapa
  • Archivo de capasArchivo de capas
  • DiseñoDiseño
  • LíneaLínea
  • Unidad linealUnidad lineal
  • LargoLargo
  • Dominio MDominio M
  • MapaMapa
  • Servidor de mapaServidor de mapa
  • Capa de servidor de mapasCapa de servidor de mapas
  • Dataset de mosaicoDataset de mosaico
  • Capa de mosaicoCapa de mosaico
  • VecindarioVecindario
  • FieldMap de clase de Network AnalystFieldMap de clase de Network Analyst
  • Configuración de jerarquía de Network AnalystConfiguración de jerarquía de Network Analyst
  • Capa de Network AnalystCapa de Network Analyst
  • Fuente de datos de redFuente de datos de red
  • Dataset de redDataset de red
  • Capa de dataset de redCapa de dataset de red
  • Modo de viaje de redModo de viaje de red
  • Estructura de parcelasEstructura de parcelas
  • Estructura de parcela para ArcMapEstructura de parcela para ArcMap
  • Capa de estructura de parcela para ArcMapCapa de estructura de parcela para ArcMap
  • Capa de parcelaCapa de parcela
  • PuntoPunto
  • PolígonoPolígono
  • Archivo de proyecciónArchivo de proyección
  • PirámidePirámide
  • RadioRadio
  • Generador de números aleatoriosGenerador de números aleatorios
  • Banda de rásterBanda de ráster
  • Expresión de calculadora de rásterExpresión de calculadora de ráster
  • Catálogo de rásterCatálogo de ráster
  • Capa de catálogo de rásterCapa de catálogo de ráster
  • Capa de datos de rásterCapa de datos de ráster
  • Dataset rásterDataset ráster
  • Capa rásterCapa ráster
  • Estadísticas de rásterEstadísticas de ráster
  • Tipo de rásterTipo de ráster
  • Conjunto de registrosConjunto de registros
  • Clase de relaciónClase de relación
  • Nueva representación cartográficaNueva representación cartográfica
  • InformeInforme
  • Propiedades de eventos de medición de rutaPropiedades de eventos de medición de ruta
  • Capa de escenaCapa de escena
  • SemivariogramaSemivariograma
  • ServerConnectionServerConnection
  • ShapefileShapefile
  • Referencia espacialReferencia espacial
  • Expresión SQLExpresión SQL
  • CadenaCadena
  • Cadena de caracteres ocultaCadena de caracteres oculta
  • TablaTabla
  • Vista de tablaVista de tabla
  • Capa de terrenoCapa de terreno
  • Archivo de textoArchivo de texto
  • Tamaño de teselaTamaño de tesela
  • Configuración de la horaConfiguración de la hora
  • Unidad de tiempoUnidad de tiempo
  • TINTIN
  • Capa TINCapa TIN
  • HerramientaHerramienta
  • Caja de herramientasCaja de herramientas
  • Entidades topoEntidades topo
  • TopologíaTopología
  • Capas de topologíaCapas de topología
  • Red de trazadoRed de trazado
  • Capa de trazado de redCapa de trazado de red
  • Función de transformaciónFunción de transformación
  • Red de serviciosRed de servicios
  • Capa de red de serviciosCapa de red de servicios
  • VarianteVariante
  • Capa de teselas vectorialesCapa de teselas vectoriales
  • Factor verticalFactor vertical
  • Capa vóxelCapa vóxel
  • Cobertura VPFCobertura VPF
  • Tabla VPFTabla VPF
  • Cobertura WCSCobertura WCS
  • Tabla Superposición ponderadaTabla Superposición ponderada
  • Suma ponderadaSuma ponderada
  • Mapa de WMSMapa de WMS
  • Capa WMTSCapa WMTS
  • Espacio de trabajoEspacio de trabajo
  • Dominio XYDominio XY
  • Dominio ZDominio Z
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Valor

El valor calculado.

Elemento de datos; Capa; Vista de tabla

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí