CÓMO

Rellenar un campo basado en el número de caracteres de otro campo en ArcGIS Pro

Last Published: April 2, 2024

Resumen

En ArcGIS Pro, la función len() de Python se puede utilizar en cálculos de campo para contar y devolver el número de caracteres de un campo de texto. Por ejemplo, la función se puede usar en expresiones para rellenar un campo con valores basados en el recuento de caracteres de las celdas de otro campo, lo que puede ser útil cuando se trabaja con códigos o acrónimos estandarizados.

La siguiente imagen muestra el campo "Categoría" que contiene acrónimos en la tabla de atributos de una entidad en ArcGIS Pro. En este artículo, un nuevo campo se rellena con caracteres adicionales si los valores del campo "Categoría" tienen tres o dos caracteres en lugar de cuatro.

Campo con caracteres que se van a contar en la tabla de atributos de ArcGIS Pro
Note:
The workflow in this article can only be applied to fields with the text data type, as the len() function is used to count the characters in a string.

Procedimiento

  1. Abra el proyecto en ArcGIS Pro.
  2. En el panel Contenido, haga clic con el botón derecho en la capa de entidades y haga clic en Tabla de atributos.
Botón Tabla de atributos después de hacer clic con el botón derecho en la capa en el panel Contenido
  1. En la vista de tabla de atributos, haga clic en Agregar campo para agregar un nuevo campo de texto.
    1. En la vista de campos, en la columna Nombre de campo, especifique un nombre para el nuevo campo. En este ejemplo, el nombre del campo es 'Código'.
    2. En la columna Tipo de datos, haga doble clic en la celda para abrir el menú desplegable y haga clic en Texto.
Agregar el nuevo campo en la vista de campos
  1. En la pestaña Campos, en el grupo Cambios, haga clic en Guardar. Cierre la vista de campos.
  1. En la tabla de atributos, haga clic con el botón derecho en el campo recién agregado y haga clic en Calcular campo. En este ejemplo se utiliza el campo 'Código'.
Botón Calcular campo después de hacer clic con el botón derecho en el campo de la tabla de atributos
  1. Cree una expresión utilizando la instrucción IF y la función len() para rellenar el nuevo campo con valores basados en el número de caracteres de otro campo. En la ventana Calcular campo, configure los siguientes parámetros.
    1. En Tipo de expresión, seleccione Python 3.
    2. En Expresión, en el cuadro de texto situado encima del cuadro Bloque de código, introduzca la siguiente secuencia de comandos: Reemplace <fieldName> por el nombre del campo de entrada que contiene los caracteres que se van a contar. En este ejemplo, el campo de entrada es el campo 'Categorías'.
calculate_field(!<fieldName>!)
    1. En el cuadro Bloque de código, escriba la siguiente secuencia de comandos: Reemplace <field> por un nombre de variable deseado, <characters> por el número de caracteres del campo de entrada que se va a contar y <value> por un valor de texto que se agregará al nuevo campo.
      • Utilice la instrucción if... else.
def calculate_field(<field>):
    if (len(<field>) == <characters>):
        return ("<value>" + <field>)
    else:
        return (<field>)
  • Utilice la instrucción if... elif... else.
def calculate_field(<field>):
    if (len(<field>) == <characters>):
        return ("<value>" + <field>)
    elif (len(<field>) == <characters>):
        return ("<value>" + <field>)
    else:
        return (<field>)
Note:
The if…elif..else statement is used to include more than a single number of characters from the input field to be counted.

El siguiente bloque de código muestra la expresión de trabajo completa usando la instrucción if... else.

def calculate_field(cat):
    if (len(cat) == 3):
        return ("A" + cat)
    else:
        return (cat)

El siguiente bloque de código muestra la expresión de trabajo completa usando la instrucción if... elif... else.

def calculate_field(cat):
    if (len(cat) == 3):
        return ("A" + cat)
    elif (len(cat) == 2):
        return ("AA" + cat)
    else:
        return (cat)
Configurar los parámetros de la ventana Calcular campo
  1. Haga clic en Aceptar.

La siguiente imagen muestra el campo 'Código' rellenado con los caracteres adicionales 'A' o 'AA' si los valores del campo 'Categoría' tienen tres o dos caracteres en lugar de cuatro.

El nuevo campo se rellena con valores basados en el número de caracteres de otro campo

Id. de artículo: 000032254

Obtenga soporte con IA

Resuelva su problema rápidamente con el chatbot de inteligencia artificial de soporte de Esri.

Empieza a chatear ahora

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Empieza a chatear ahora

Ir a opciones de descarga