CÓMO
En ArcGIS Pro, algunos datos pueden contener números secuenciales para mantener la integridad de los datos, garantizar la calidad de los datos y apoyar el análisis espacial. En algunos casos, faltan números de secuencia en los datos, lo que puede causar errores que pueden conducir a incoherencias o inexactitudes en el análisis, como se muestra en la imagen a continuación.

En este artículo se describe el flujo de trabajo de búsqueda del número de secuencia que falta en un campo en ArcGIS Pro mediante ArcPy.
Note: This workflow requires a full script to run in the ArcGIS Pro Python window. All the indents must be retained as portrayed in the code block.
import arcpy def find_missing_sequence(fc, field_name): sequence_numbers = []
with arcpy.da.SearchCursor(fc, [field_name]) as cursor: for row in cursor: # Convert the field value to an integer (assuming it's a float) sequence_numbers.append(int(row[0]))
min_seq = min(sequence_numbers) max_seq = max(sequence_numbers)
expected_sequence = list(range(min_seq, max_seq + 1))
missing_sequence = [num for num in expected_sequence if num not in sequence_numbers] return missing_sequence
if __name__ == "__main__": fc = "<featureClassName>" field_name = "<fieldName>"
missing_sequence = find_missing_sequence(fc, field_name)
if missing_sequence:
print("Missing sequence number(s):", missing_sequence)
else:
print("No missing sequence numbers found.")
El siguiente bloque de código muestra el script completo.
import arcpy
def find_missing_sequence(fc, field_name):
sequence_numbers = []
with arcpy.da.SearchCursor(fc, [field_name]) as cursor:
for row in cursor:
sequence_numbers.append(int(row[0]))
min_seq = min(sequence_numbers)
max_seq = max(sequence_numbers)
expected_sequence = list(range(min_seq, max_seq + 1))
missing_sequence = [num for num in expected_sequence if num not in sequence_numbers]
return missing_sequence
if __name__ == "__main__":
fc = "Point1"
field_name = "Sequence"
missing_sequence = find_missing_sequence(fc, field_name)
if missing_sequence:
print("Missing sequence number(s):", missing_sequence)
else:
print("No missing sequence numbers found.")
La siguiente imagen muestra el número de secuencia que falta en el campo utilizando ArcPy.

Id. de artículo: 000032437
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora