1 votos

¿Mínimo y máximo en un atributo de campo con ArcPy?

Tengo un shapefile con un atributo de campo llamado "Value" .

Me gustaría encontrar el min y max en este ámbito y

  • si max-min > 0.014 devolver 1 (o Yes )
  • si max-min < 0.014 entonces devolver 2 (o No )

en el campo denominado "YES_NO" .

enter image description here

2voto

Anton8000 Puntos 165

Utiliza el da.SearchCursor para encontrar min, max y diff. Actualiza el campo con el UpdateCursor:

import arcpy

fc = r'C:\data.gdb\featureclass'
fields = ['Value','YES_NO']

all_rows = [i[0] for i in arcpy.da.SearchCursor(fc,fields[0])]
min_val = min(all_rows)
max_val = max(all_rows)
difference = max_val-min_val

if difference > 0.014:
    newval = 1
elif difference <= 0.014:
    newval = 2
else:
    newval = 3

with arcpy.da.UpdateCursor(fc,fields[1]) as cursor:
    for row in cursor:
        row[0] = newval
        cursor.updateRow(row)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X