¿Cómo realizar la instrucción If en la Calculadora de campo de ArcGIS for Desktop?

10

Tengo un archivo de forma que contiene dos campos numéricos ("Dist_1" y "Dist_2"). Quiero un cálculo de campo que llene un campo adicional ("Resultado") con una de tres respuestas:

Primero si Dist_1 es mayor que Dist_2 poblar Resultado con 'Verdadero' Segundo si Dist_1 es menor que Dist_2 poblar con 'Falso' y Tercero si Dist_1 y Dist_2 son poblados iguales con "Igual"

Chris U
fuente
No agregue "gracias" como respuesta. Una vez que tenga suficiente reputación , podrá votar las preguntas y respuestas que considere útiles. - De la opinión
Midavalo

Respuestas:

15

Analizador:

Python

Bloque de código:

def calc(f1,f2):

    if f1 > f2:
        return "True"
    elif f1 < f2:
        return "False"
    else:
        return "Equal"

Expresión:

calc(!Dist_1!, !Dist_2!)

O gráficamente (desafortunadamente no puede ver todo el bloque de código aquí)

ingrese la descripción de la imagen aquí

Paul
fuente
PolyGeo agradece, pero recibe un error 000989 - Error de análisis: unindent no coincide con ningún nivel de sangrado externo (línea 3). ¿Puedes decodificar esto?
Chris U
2
Mantenga un espacio constante para las declaraciones if, elif, else (2), así como las declaraciones return (4). Cada uno debe estar en su propia línea.
Paul
1
Paul / PolyGeo, muchas gracias, esto funciona de maravilla!
Chris U