Skip to main content

Calcular campos (varios) (Herramientas de administración de datos)

Resumen

Calcula los valores de dos o más campos para una clase de entidad, una capa de entidades o un ráster.

Uso

Precaución:

Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • Para obtener más información sobre las expresiones de Python, consulte Ejemplos de Calcular campo de Python.

    Para obtener más información sobre las expresiones de Arcade, consulte ArcGIS Arcade en la ayuda del desarrollador.

    Para obtener más información sobre las expresiones SQL, consulte Sintaxis de expresiones SQL y Calcular valores de campo.

    Para obtener más información sobre las expresiones de VBScript, consulte Ejemplos de VBScript de Calcular campo.

  • Las expresiones de Arcade de esta herramienta utilizan el perfil de Cálculo de campo. Un perfil de Arcade es un contexto en el que se evalúa y comprende una expresión de Arcade. Cuando se evalúa una expresión de Arcade, el valor de retorno se convierte al tipo de campo del valor de salida.

    Precaución:

    Con Windows 11, versión 24H2, VBScript se convierte en una función bajo demanda y requiere la capacidad VBScript.

    Para seguir utilizando la opción VBScript, realice una de las siguientes acciones:

    • Convierta el tipo de expresión a Python, Arcade o SQL.

    • Habilite la función opcional VBScript en la configuración del sistema de Windows.

    Para obtener más información, consulte Aviso de eliminación y desuso.

  • Cuando se utiliza con un conjunto seleccionado de entidades, como las creadas a partir de una consulta en la herramienta Crear capa de entidades o Seleccionar capa por atributo, esta herramienta solamente actualiza los registros seleccionados.

  • Los valores de campo existentes se sobrescriben. Para conservar los valores originales, haga una copia de la tabla de entrada como copia de seguridad o utilice la opción Activar deshacer del panel Geoprocesamiento.

  • En los cálculos en Pytnon, los nombres de campo deben estar entre signos de admiración (por ejemplo, !fieldname!).

    En los cálculos de Arcade, los nombres de campo deben tener el prefijo $feature. (por ejemplo, $feature.fieldname).

    Nota:

    Para transferir valores temporales entre tipos de campo (Fecha, Solo fecha, Solo hora, Desfase de marca de hora y Texto), utilice la herramienta Convertir campo temporal.

  • Para calcular cadenas para campos de texto o de caracteres, en el cuadro de diálogo la cadena debe estar entre comillas dobles (por ejemplo, "cadena") y, en un script, la cadena entre comillas dobles también debe estar entre comillas simples (por ejemplo, '"string"').

  • Si desea calcular un campo para que sea un valor numérico, especifique el valor numérico en el parámetro Expresión sin comillas alrededor del valor.

  • Puede crear expresiones complejas utilizando el parámetro Bloque de código. Especifique el bloque de código directamente en el cuadro de diálogo o como una cadena en el script. La expresión y el bloque de código están conectados. El bloque de código debe estar relacionado con la expresión; el resultado del bloque de código debe entregarse a la expresión.

    El parámetro Bloque de código solo se admite en expresiones de Python.

  • Puede utilizar el módulo math de Python y formateo en el parámetro Bloque de código. También puede importar módulos adicionales. El módulo math proporciona funciones de representación y de teoría de números, funciones potencia y logarítmicas, funciones trigonométricas, funciones de conversión angular, funciones hiperbólicas y constantes matemáticas. Para obtener más información sobre el módulo math, consulte la Ayuda de Python.

  • Para calcular la información de geometría en Python, utilice las propiedades de objeto Geometry. Por ejemplo, utilice una expresión de !shape!.pointCount! para calcular el número de vértices de una entidad.

    Nota:

    La herramienta Calcular atributos de geometría admite cálculos similares.

    Para calcular el área y la longitud en Python, use los métodos getArea y getLength con un método y un tipo de unidad.

    • Para calcular el área geodésica de polígonos en kilómetros cuadrados, utilice la siguiente expresión:

      !shape!.getArea('GEODESIC', 'SQUAREKILOMETERS')!

    • Para calcular la longitud plana de polilíneas (o polígonos) en yardas, utilice la siguiente expresión:

      !shape!.getLength('PLANAR', 'YARDS')

    Consulte los objetos Polygon y Polyline de ArcPy para obtener más información.

    Más información sobre las herramientas de geoprocesamiento y las unidades lineales y de área

  • Si trabaja con datos vinculados, solo puede actualizar los campos de la tabla de origen. No se pueden actualizar los campos de la tabla vinculada. Para realizar un cálculo en la tabla vinculada, realice el cálculo directamente en esa tabla.

  • Las expresiones de Python que intentan concatenar campos de cadena de caracteres que incluyen un nulo o dividen entre un valor cero devolverán nulo para ese valor de campo.

  • Las expresiones SQL permiten cálculos más rápidos en servicios de entidades. En lugar de realizar cálculos entidad por entidad o fila por fila, se define una sola solicitud para el servidor, lo cual genera cálculos más rápido.

    Solo los servicios de entidades admiten expresiones SQL. Para otros formatos, utilice expresiones de Python o Arcade.

    El uso de la opción SQL para el parámetro Tipo de expresión presenta las siguientes limitaciones:

Parámetros

Etiqueta Explicación Tipo de datos

Tabla de entrada

Tabla que contiene los campos que se actualizarán con los cálculos nuevos.

Table View; Raster Layer; Mosaic Layer

Tipo de expresión

Especifica el tipo de expresión que se utilizará.

Si la entrada es un servicio de entidades, el tipo de expresión predeterminado es SQL. Para cualquier otro tipo de entrada, el tipo de expresión predeterminado es Python.

Para obtener más información sobre las expresiones de Python, consulte Ejemplos de Calcular campo de Python.

Para obtener más información sobre las expresiones de Arcade, consulte ArcGIS Arcade en la ayuda del desarrollador.

Para obtener más información sobre las expresiones SQL, consulte Sintaxis de expresiones SQL y Calcular valores de campo.

Para obtener más información sobre las expresiones de VBScript, consulte Ejemplos de VBScript de Calcular campo.

  • PythonSe utilizará el tipo de expresión de Python.

  • ArcadeSe utilizará el tipo de expresión de ArcGIS Arcade.

  • SQLSe utilizará el tipo de expresión de SQL.

  • VBScript (obsoleto)Se utilizará el tipo de expresión VBScript.

String

Campos

Los campos que se calcularán, las expresiones que se calcularán y las cláusulas where y tipos de campo opcionales.

La expresión SQL opcional se utilizará para seleccionar un subconjunto de registros. Solo se calcularán los registros que coincidan con esta cláusula WHERE. Si la cláusula WHERE se deja en blanco, se calcularán todos los registros. Para obtener más información sobre la sintaxis SQL, consulte Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

Si no existe ningún campo con el nombre especificado en la tabla de entrada, se agregará. El tipo de campo se establecerá utilizando el valor de tipo de campo. Si no se especifica el tipo de campo, el campo se agregará como un campo de texto.

Columnas de la tabla de valores:

  • Field Name (Existing or New)The field that will be updated with the new calculation. If a field with the specified name does not exist in the input table, it will be added.

  • ExpressionThe expression that will be used to create a value that will populate the selected rows.

  • Where ClauseThe SQL expression that will be used to select a subset of records.

  • Field TypeSpecifies the field type of the new field. This value is only used when the field name does not exist in the input table.

    • Short (16-bit integer)The field type will be short. Short fields support whole numbers between -32,768 and 32,767.

    • Long (32-bit integer)The field type will be long. Long fields support whole numbers between -2,147,483,648 and 2,147,483,647.

    • Big integer (64-bit integer)The field type will be big integer. Big integer fields support whole numbers between -(253) and 253.

    • Float (32-bit floating point)The field type will be float. Float fields support fractional numbers between -3.4E38 and 1.2E38.

    • Double (64-bit floating point)The field type will be double. Double fields support fractional numbers between -2.2E308 and 1.8E308.

    • TextThe field type will be text. Text fields support a string of characters.

    • DateThe field type will be date. Date fields support date and time values.

    • Date (high precision)The field type will be high precision date. High precision date fields support date and time values with millisecond time.

    • Date onlyThe field type will be date only. Date only fields support date values with no time values.

    • Time onlyThe field type will be time only. Time only fields support time values with no date values.

    • Timestamp offsetThe field type will be timestamp offset. Timestamp offset fields support a date, time, and offset from a UTC value.

    • BLOB (binary data)The field type will be BLOB. BLOB fields support data stored as a long sequence of binary numbers. You need a custom loader or viewer or a third-party application to load items into a BLOB field or view the contents of a BLOB field.

    • GUID (globally unique identifier)The field type will be GUID. GUID fields store registry-style strings consisting of 36 characters enclosed in curly brackets.

    • RasterThe field type will be raster. Raster fields can store raster data in or alongside the geodatabase. All ArcGIS software-supported raster dataset formats can be stored, but it is recommended that only small images be used.

Value Table

Bloque que código

(Opcional)

Un bloque de código que se utilizará para expresiones complejas.

No se puede utilizar una función para devolver varios valores.

String

Aplicar dominios

(Opcional)

Especifica si se aplican reglas de dominio de campo.

  • ActivadoSe aplican reglas de dominio de campo.

  • DesactivadoNo se aplican reglas de dominio de campo. Esta es la opción predeterminada.

Boolean

Salida derivada

Etiqueta Explicación Tipo de datos

Tabla de Salida

La tabla actualizada.

Table View; Raster Layer; Mosaic Layer

Entornos

Conservar Id. globales

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Avanzado: Sí