CÓMO

Identificar valores duplicados o únicos en ArcGIS Pro

Last Published: July 28, 2020

Resumen

Es habitual que una tabla de atributos contenga campos con valores comunes y valores únicos. Por lo tanto, a veces es necesario identificar los valores duplicados para crear un grupo entre capas, o bien identificar valores únicos para aislar la entidad.

Procedimiento

Existen cuatro formas diferentes de identificar los valores duplicados:

Utilizar la herramienta Buscar idéntico

La herramienta Buscar idéntico crea una nueva tabla independiente. La herramienta identifica el ObjectID de una entidad y crea dos columnas, una que contiene el valor ObjectID de la entidad seleccionada y la otra que contiene números para marcar una entidad idéntica o única. Los registros idénticos tienen el mismo valor FEAT_SEQ, mientras que los registros no identificados tienen un valor secuencial. Los valores FEAT_SEQ no guardan relación con los Id. de los registros de entrada. Consulte ArcGIS Pro: Buscar idéntico (Administración de datos) para obtener más información.

Utilizar la función Calcular campo

La función isDuplicate() del analizador de Python permite rellenar un nuevo campo para identificar un valor como duplicado o único asignando un valor específico. Por ejemplo, los valores únicos y la primera aparición de varios valores se rellenan con 0 y todos los valores duplicados se marcan con un valor de 1. Los siguientes pasos describen cómo aplicar la función para este fin:

  1. Cree un nuevo campo con el tipo de dato de entero Corto o Largo. Consulte ArcGIS Pro: Agregar datos a una tabla existente para obtener más información.
  2. Haga clic con el botón derecho en el nuevo campo y seleccione Calcular campo.
  3. En el panel Calcular campo, asegúrese de que estén seleccionados los parámetros adecuados y que Tipo de expresión tenga el valor Python 3.
La imagen de los parámetros de Calcular campo
  1. En el cuadro de texto de expresión, inserte el siguiente script:
isDuplicate(!Field_Name_To_Verify!)
  1. En el cuadro de texto Bloque de código, inserte el siguiente script:
uniqueList = [] def isDuplicate(inValue): if inValue in uniqueList: return 1 else: uniqueList.append(inValue) return 0

Usar un script de Python independiente

El script crea un nuevo campo y rellena el campo con el número de valores duplicados.

  1. Importe el módulo necesario.
import arcpy
  1. Especificar los parámetros deseados de espacio de trabajo, entidad, campo de entrada y campo de salida.
arcpy.env.workspace=r"D:\test.gdb" infeature="sample_feature" field_in="sample_field" field_out="COUNT_"+field_in arcpy.AddField_management(infeature,field_out,"SHORT")
  1. Crear una lista que contenga todos los valores del campo seleccionado.
lista=[] cursor1=arcpy.SearchCursor(infeature) for row in cursor1: i=row.getValue(field_in) lista.append(i) del cursor1, row
  1. Rellenar el campo de salida con el número de valores duplicados.
cursor2=arcpy.UpdateCursor(infeature) for row in cursor2: i=row.getValue(field_in) occ=lista.count(i) row.setValue(field_out,occ) cursor2.updateRow(row) del cursor2, row print ("Hecho.")

A continuación se muestra el código completo:

import arcpy arcpy.env.workspace=r"D:\test.gdb" infeature="sample_feature" field_in="sample_field" field_out="COUNT_"+field_in arcpy.AddField_management(infeature,field_out,"SHORT") lista=[] cursor1=arcpy.SearchCursor(infeature) for row in cursor1: i=row.getValue(field_in) lista.append(i) del cursor1, row cursor2=arcpy.UpdateCursor(infeature) for row in cursor2: i=row.getValue(field_in) occ=lista.count(i) row.setValue(field_out,occ) cursor2.updateRow(row) del cursor2, row print ("Hecho.")

Utilizar la herramienta Resumen de estadísticas y unir la tabla

  1. Ejecute la herramienta Resumen de estadísticas.
  2. Especifique la Capa de entrada (la capa de destino con entidades o registros idénticos) y la Tabla de salida.
  3. En Campo de estadísticas, especifique el campo de Id. único numérico. Si es un shapefile, seleccione el campo FID; si es una clase de entidad, seleccione el campo OBJECTID. El campo único numérico del ejemplo que aparece a continuación es 'Pads_DB_PadNumText'. Seleccione Mínimo en Tipo de estadística.
  4. Seleccione el campo deseado en el que se comparan los valores para buscar registros idénticos en el Campo de caso.
  5. Ejecute la herramienta para crear una nueva tabla.
La imagen de la herramienta Resumen de estadísticas.
  1. Haga clic con el botón derecho en la capa de destino y haga clic en Uniones y relaciones > Agregar unión.
  2. Seleccione Campo de unión de entrada como campo deseado.
  3. En Tabla de unión, seleccione la tabla creada en el paso 5.
  4. Especifique el Campo de unión de salida y ejecute la herramienta. El campo deseado y el campo de frecuencia de la tabla unida proporcionan información sobre los registros duplicados. Si se selecciona el campo único numérico para unir las tablas, la tabla unida de salida solo muestra los registros únicos.
La imagen del panel Agregar unión.

Id. de artículo:000023355

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema