Come eseguire l'istruzione If nel calcolatore di campo di ArcGIS per desktop?


10

Ho un file di forma contenente due campi numerici ("Dist_1" e "Dist_2"). Voglio un calcolo campo che popolerà un campo aggiuntivo ("Risultato") con una delle tre risposte:

Primo se Dist_1 è maggiore di Dist_2 popolato Risultato con "Vero" Secondo se Dist_1 è inferiore a Dist_2 popolato con "Falso" e Terzo se Dist_1 e Dist_2 sono uguali popolato con "Uguale"


Ti preghiamo di non aggiungere "grazie" come risposta. Una volta che avrai una reputazione sufficiente , potrai votare le domande e le risposte che hai trovato utili. - Dalla recensione
Midavalo

Risposte:


15

parser:

Python

Blocco di codice:

def calc(f1,f2):

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

Espressione:

calc(!Dist_1!, !Dist_2!)

O graficamente (sfortunatamente non puoi vedere tutto il blocco di codice qui)

inserisci qui la descrizione dell'immagine


PolyGeo ringrazia - ma viene visualizzato l'errore 000989 - Errore di analisi: unindent non corrisponde a nessun livello di rientro esterno (riga 3). Puoi decodificare questo? !!
Chris U,

2
Mantenere una spaziatura coerente per le istruzioni if, elif, else (2) e le dichiarazioni di ritorno (4). Ognuno dovrebbe essere sulla propria linea.
Paul,

1
Paul / PolyGeo, molte grazie, funziona alla grande!
Chris U,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.