Як виконати, якщо оператор у польовому калькуляторі ArcGIS для робочого столу?


10

У мене є файл форми, який містить два числові поля ("Dist_1" та "Dist_2"). Я хочу, щоб обчислення поля, яке заповнить додаткове поле ("Результат"), має одну з трьох відповідей:

По-перше, якщо Dist_1 більше, ніж Dist_2, Результат заповнення з "True", Другий, якщо Dist_1 менший, ніж Dist_2, за допомогою "False", і Третій, якщо Dist_1 та Dist_2 є рівним. "Equal"


Будь ласка, не додайте "дякую" як відповідь. Коли у вас буде достатня репутація , ви зможете проголосувати питання та відповіді, які вам здаються корисними. - З огляду
Midavalo

Відповіді:


15

Парсер:

Python

Блок коду:

def calc(f1,f2):

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

Вираз:

calc(!Dist_1!, !Dist_2!)

Або графічно (тут ви не бачите всього кодового блоку)

введіть тут опис зображення


PolyGeo спасибі - але отримую помилку 000989 - Помилка розбору: unindent не відповідає жодному рівню зовнішнього відступу (рядок 3). Ви можете розшифрувати це? !!
Chris U

2
Дотримуйтесь послідовного інтервалу для операторів if, elif, else (2), а також операторів return (4). Кожна повинна бути за своєю лінією.
Пол,

1
Павло / PolyGeo, велике спасибі це працює ласощі!
Кріс У
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.