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 el 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 Calcular campo de VBScript.
Las expresiones Arcade de esta herramienta utilizan el perfil Arcade 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 Arcade, el valor de retorno se convierte al tipo de campo del valor de salida.
Cuando se utiliza con un conjunto seleccionado de entidades, como las creadas a partir de una consulta utilizando la herramienta Crear capa de entidades o Seleccionar capa por atributo, esta herramienta solamente actualiza los registros seleccionados.
El cálculo solamente se puede aplicar a un campo por operación. Para aplicar varios cálculos, utilice la herramienta Calcular campos.
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 Habilitar deshacer del panel Geoprocesamiento.
En los cálculos de Python, los nombres de campo deben estar entre signos de exclamación (por ejemplo, !fieldname!).
En los cálculos de Arcade, los nombres de campo deben tener el prefijo $feature. (por ejemplo, $feature.fieldname).
Para transferir valores temporales entre tipos de campo (Fecha, Solo fecha, Solo hora, Desfase de marca de hora y Texto), utilice en su lugar 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, proporcione el valor numérico en el parámetro Expresión sin encerrar el valor entre comillas.
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.
Puede crear expresiones complejas utilizando el parámetro Bloque de código. Proporcione 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 se debe pasar a la expresión.
El parámetro Bloque de código solo se admite en expresiones de Python.
Puede utilizar el módulo Python math y formatear 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, use 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.
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 ArcPy Polygon y Polyline para obtener más información.
Más información sobre las herramientas de geoprocesamiento y las unidades lineales y de área
Las aplicaciones de ArcGIS usan la codificación UTF-16-LE para la lectura y escritura de archivos .cal. Otras aplicaciones (por ejemplo, Notepad) se pueden utilizar para crear o modificar archivos .cal, siempre que el archivo se escriba usando la codificación UTF-16-LE. Un archivo con cualquier otra codificación no se cargará en el bloque de código.
Las expresiones de Python y SQL 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.
El uso de una expresión SQL para concatenar campos de cadena en una geodatabase móvil combinará valores ignorando los valores nulos.
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 SQL permiten cálculos más rápidos en servicios de entidades y geodatabases corporativas. En lugar de realizar cálculos entidad por entidad o fila por fila, se define una sola solicitud para el servidor o la base de datos, lo cual genera cálculos más rápido.
Los servicios de entidades, las geodatabases corporativas, las geodatabases móviles, las geodatabases de archivos, bases de datos, SQLite y GeoPackage son compatibles con expresiones de 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:
- La opción solo es compatible con geodatabases de archivos, geodatabases móviles, Db2, Oracle, PostgreSQL, SAP HANA y SQL Server (con o sin geodatabases empresariales corporativas en ellos), SQLite y GeoPackage.
- No se admite el cálculo de valores de campo en tablas unidas.
- Los datos de geodatabase corporativa versionados y archivados no son compatibles.
- No es posible deshacer operaciones de geoprocesamiento.
Consulte la ayuda de las expresiones SQL en la documentación del proveedor de base de datos.
El parámetro Expresión del cuadro de diálogo de la herramienta tiene una lista desplegable Insertar valores en la que puede agregar valores de campo del campo seleccionado en la lista Campos o valores de dominio del dominio del campo seleccionado. Utilice los valores de dominio para asegurarse de que solo se insertan en el campo valores válidos para el dominio del campo.