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 la Guía de ArcGIS Arcade.
Para obtener más información sobre las expresiones de SQL, consulte Calcular valores de campo.
Cuando se utiliza con un conjunto seleccionado de entidades, como las creadas a partir de una consulta en las herramientas 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. Realice una copia de la tabla de entrada si desea conservar los valores originales.
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 calcular cadenas para campos de texto o de caracteres, en el cuadro de diálogo la cadena debe estar entre comillas dobles ("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, introduzca 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.
El parámetro Bloque de código permite crear expresiones complejas. Puede introducir el bloque de código directamente en el cuadro de diálogo o como una cadena de caracteres continua en scripts. 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.
Se pueden crear expresiones de Python utilizando las propiedades del objeto Geometry, como type, extent, centroid, firstPoint, lastPoint, area, length, isMultipart y partCount (por ejemplo, !shape.area!).
Puede utilizar las propiedades de geometría area y length en las expresiones Python con una unidad lineal o de área para convertir el valor en una unidad de medida diferente (por ejemplo, !shape.length@kilometers!). Si los datos se almacenan en un sistema de coordenadas geográficas y se proporciona una unidad lineal (por ejemplo, millas), la longitud se calculará mediante un algoritmo geodésico. El uso de unidades de área en los datos geográficos producirá resultados cuestionables, ya que los grados decimales no son iguales en todo el mundo.
- A continuación, se muestran palabras clave de unidades de medida de área:
- ACRES | ARES | HECTARES | SQUARECENTIMETERS | SQUAREDECIMETERS | SQUAREINCHES | SQUAREFEET | SQUAREKILOMETERS | SQUAREMETERS | SQUAREMILES | SQUAREMILLIMETERS | SQUAREYARDS | SQUAREMAPUNITS | UNKNOWN
- A continuación, se muestran palabras clave de unidades de medida lineales:
- CENTIMETERS | DECIMALDEGREES | DECIMETERS | FEET | INCHES | KILOMETERS | METERS | MILES | MILLIMETERS | NAUTICALMILES | POINTS | UNKNOWN | YARDS
Se pueden usar expresiones de Python para calcular la longitud o el área geodésica de una entidad mediante el uso de las propiedades geodesicArea o geodesicLength combinadas con unidades de medida lineales o de área (por ejemplo, !shape.geodesicArea@hectares! o !shape.geodesicLength@miles!).
Las aplicaciones de ArcGIS usan la codificación UTF-16-LE para la lectura y escritura de archivos .cal. Otras aplicaciones (por ejemplo, Bloc de notas) se pueden utilizar para crear o modificar archivos .cal, siempre que la salida se escriba usando la codificación UTF-16-LE. El uso de cualquier otra codificación generará un archivo que no se cargará en el bloque de código.
Cuando calcula datos unidos, no puede calcular directamente las columnas unidas. Sin embargo, puede calcular directamente las columnas de la tabla de origen. Para calcular los datos unidos, primero agregue las tablas o capas unidas al mapa. Después puede realizar cálculos en estos datos por separado. Estos cambios se reflejarán en las columnas que se unieron.
Las expresiones de Python que intentan concatenar campos de cadena de caracteres que incluyen un nulo o dividen el valor entre cero devolverán un nulo para ese valor de campo.
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.
Solamente los servicios de entidades y las geodatabases corporativas 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 con las geodatabases corporativas:
- Esta opción solo es compatible con bases de datos de Db2, Oracle, PostgreSQL, SAP HANA y SQL Server.
- No se admite el cálculo de valores de campo en tablas unidas.
- Los datos versionados no son compatibles.
- No se admite la función de deshacer operaciones de geoprocesamiento.
Consulte la ayuda de las expresiones SQL en la documentación del proveedor de base de datos.