CÓMO

Eliminar el texto inicial de una cadena de caracteres utilizando Python o Arcade en ArcGIS Pro

Last Published: January 30, 2024

Resumen

En ArcGIS Pro, las expresiones de Python o Arcade se pueden utilizar para crear un nuevo campo sin las cadenas de texto innecesarias de un campo. Esto es común en los registros de direcciones en los que el número de calle no es necesario para el análisis. La eliminación del texto inicial de una cadena se puede utilizar para la administración de datos o la optimización de los resultados de búsqueda.

En este artículo se proporciona un ejemplo e instrucciones utilizando expresiones de Python y Arcade para eliminar texto inicial de una cadena de caracteres en ArcGIS Pro.

La siguiente imagen muestra el campo ADRESS con registros de cadena de caracteres de texto.

La tabla de atributos Schools_all con el campo ADDRESS

Procedimiento

  1. En el panel Contenido, haga clic con el botón derecho en la clase de entidad y haga clic en Tabla de atributos para abrir la tabla de atributos de la clase de entidad.
Abrir la tabla de atributos de la clase de entidad desde el panel Contenido
  1. Haga clic en Calcular para abrir la herramienta Calcular campo.
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. En el cuadro de diálogo Calcular campo, configure los siguientes parámetros:
  • Para Python 3:
    1. En Tabla de entrada, seleccione la clase de entidad.
    2. En Nombre de campo (existente o nuevo), seleccione el campo que desea editar o cree uno nuevo. En este ejemplo, se crea 'PYTHONSPLITADDRESS'.
    3. En Tipo de expresión, seleccione Python 3.
    4. Especifique el siguiente script en el primer bloque de texto. 'maxSplitParameter' es el número de elementos divididos. Por ejemplo, si se establece 'maxSplitParameter' en 1, se devuelve una lista con dos elementos. 'indexNumber' se refiere a un elemento de un objeto iterable por su posición dentro del objeto iterable. Por ejemplo, si se establece 'indexNumber' en 1, se devuelve el segundo elemento.
!<fieldName>!.strip().split(" ",<maxSplitParameter>)[<indexNumber>]

El siguiente bloque de código es un ejemplo de la expresión.

!ADDRESS!.strip().split(" ",1)[1]
  1. Haga clic en Verificar para ejecutar una prueba de la expresión. Si la expresión es válida, haga clic en Aceptar.
El panel de la herramienta Calcular campo con los parámetros que se van a rellenar
  • Para expresiones de Arcade:
    1. En Tabla de entrada, seleccione la clase de entidad.
    2. En Nombre de campo (existente o nuevo), seleccione el campo que desea editar o cree uno nuevo. En este ejemplo, se crea 'ARCADESPLITADDRESS'.
    3. En Tipo de expresión, seleccione Arcade.
    4. Especifique la siguiente expresión de Arcade en la sección Expresión:
      1. Defina la variable para buscar una secuencia de caracteres dentro de un valor de texto. En este ejemplo, 'varName1' se denomina fstSpace.
var <varName1> = find(' ',$feature.<fieldName>,<startPosition>)
  1. Defina la variable para contar el número de caracteres de un valor de texto. En este ejemplo, 'varName2' se denomina strCount.
var <varName2> = Count($feature.<fieldName>)
  1. Defina la variable para calcular la diferencia entre 'varName1' y 'varName2'. En este ejemplo, 'varName3' se denomina strDiff.
var <varName3> = <varName2> - <varName1>
  1. Especifique la siguiente instrucción para devolver el número especificado de caracteres desde el final de un valor de texto.
return right($feature.<fieldName, <varName3>)

El siguiente bloque de código es un ejemplo de la expresión completa.

var fstSpace = Find(' ', $feature.ADDRESS, 0)
var strCount = Count($feature.ADDRESS)
var strDiff = strCount - fstSpace

return Right($feature.ADDRESS, strDiff)
  1. Haga clic en Verificar para ejecutar una prueba de la expresión. Si la expresión es válida, haga clic en Aceptar.
El panel de la herramienta Calcular campo con los parámetros que se van a rellenar

La siguiente imagen muestra los campos 'PYTHONSPLITADDRESS' y 'ARCADESPLITADDRESS' agregados a la tabla de atributos 'Schools_all' con el texto inicial eliminado del campo 'ADDRESS' utilizando expresiones de Python y Arcade.

La tabla de atributos Schools_all con dos nuevos campos añadidos

Id. de artículo: 000029050

Recibir notificaciones y encontrar soluciones a problemas nuevos o comunes

Obtenga respuestas resumidas y soluciones de vídeo de nuestro nuevo chatbot de IA.

Descargar la aplicación de soporte de Esri

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Descargar la aplicación de soporte de Esri

Ir a opciones de descarga