1 votos

no pudo escribir declaraciones condicionales (if/then) en la calculadora de campo de ArcGIS for Desktop utilizando el analizador de Python?

Lo he escrito siguiendo varios ejemplos, pero sigue siendo erróneo. Necesito rellenar un nuevo campo basado en 5 rangos de valores.

    def marks(Wards for try.JHRatio ): 
  if (Wards for try.JHRatio <= 50): 
     return 0
  elif Wards for try.JHRatio >50 and Wards for try.JHRatio <= 90):
     return 1
  elif (Wards for try.JHRatio >90 and  Wards for try.JHRatio <= 110):
     return 2
  elif (Wards for try.JHRatio >= 110 and  Wards for try.JHRatio <= 500):
     return 1
  elif (Wards for try.JHRatio > 500):
     return 0

    marks(!Wards for Try.JHRatio!)

1voto

xenny Puntos 670

Debes usar un nombre de variable simple en tu función: los espacios causarán errores de sintaxis (por cierto, recomiendo evitar los espacios en los nombres de archivos). también hace que tu código sea más legible. Tenga en cuenta que no necesita hacer las pruebas ">" en su caso, porque la sentencia if ya se encarga de ello.

   def marks(myfield): 
      if myfield <= 50: 
         return 0
      elif  myfield <= 90:
         return 1
      elif myfield <= 110:
         return 2
      elif myfield <= 500:
         return 1
      else:
         return 0

    marks(!Wards for Try.JHRatio!)

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