Jak wykonać instrukcję If w kalkulatorze polowym ArcGIS na komputery stacjonarne?


10

Mam plik kształtu zawierający dwa pola numeryczne („Dist_1” i „Dist_2”). Chcę obliczenia pola, które zapełni dodatkowe pole („Wynik”) jedną z trzech odpowiedzi:

Po pierwsze, jeśli Dist_1 jest większy niż Dist_2, wypełnij Wynik „Prawda” Drugi, jeśli Dist_1 jest mniejszy niż Dist_2, wypełnij „Fałsz”, a Po trzecie, jeśli Dist_1 i Dist_2 są równe, wpisz „Równe”


Nie dodawaj odpowiedzi „dziękuję”. Po uzyskaniu wystarczającej reputacji będziesz mógł głosować na pytania i odpowiedzi , które okazały się pomocne. - Z recenzji
Midavalo

Odpowiedzi:


15

Parser:

Python

Blok kodu:

def calc(f1,f2):

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

Wyrażenie:

calc(!Dist_1!, !Dist_2!)

Lub graficznie (niestety nie widać tutaj całego bloku kodu)

wprowadź opis zdjęcia tutaj


Dzięki PolyGeo - ale otrzymuję błąd 000989 - Błąd analizy: unindent nie pasuje do żadnego zewnętrznego poziomu wcięcia (linia 3). Czy potrafisz to rozszyfrować? !!
Chris U

2
Zachowaj spójne odstępy dla instrukcji if, elif, else (2) oraz instrukcji return (4). Każdy powinien być na swojej linii.
Paul

1
Paul / PolyGeo, wielkie dzięki, to działa na ucztę!
Chris U
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.