Comment effectuer l'instruction If dans Field Calculator d'ArcGIS for Desktop?


10

J'ai un fichier de formes contenant deux champs numériques ("Dist_1" et "Dist_2"). Je veux un calcul de champ qui remplira un champ supplémentaire ("Résultat") avec l'une des trois réponses:

Premièrement si Dist_1 est supérieur à Dist_2, remplissez Résultat avec 'True' Second si Dist_1 est inférieur à Dist_2, remplissez avec 'False' et Troisièmement si Dist_1 et Dist_2 sont égaux, remplissez avec "Equal"


Veuillez ne pas ajouter "merci" comme réponse. Une fois que vous avez une réputation suffisante , vous pourrez voter pour les questions et réponses que vous avez trouvées utiles. - De l'avis
Midavalo

Réponses:


15

Analyseur:

Python

Bloc de code:

def calc(f1,f2):

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

Expression:

calc(!Dist_1!, !Dist_2!)

Ou graphiquement (vous ne pouvez pas voir tout le bloc de code ici malheureusement)

entrez la description de l'image ici


PolyGeo remercie - mais obtient une erreur 000989 - Erreur d'analyse: l'indentation ne correspond à aucun niveau d'indentation externe (ligne 3). Pouvez-vous décoder cela? !!
Chris U

2
Gardez un espacement constant pour les instructions if, elif, else (2) ainsi que pour les instructions return (4). Chacun devrait être sur sa propre ligne.
Paul

1
Paul / PolyGeo, merci beaucoup, cela fonctionne un régal!
Chris U
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.