Suite

Utilisation des instructions If dans ArcGIS Calculate Field ?

Utilisation des instructions If dans ArcGIS Calculate Field ?


Je n'ai jamais utilisé de script Python auparavant et je n'arrive pas à comprendre comment utiliser une instruction If dans l'outil Field Calculator.

J'ai un champ appelé 'MAX_GRIDCODE' qui renvoie la force la plus élevée à laquelle une partie de l'infrastructure est exposée. J'ai besoin d'utiliser ce nombre pour calculer une simple estimation des dommages dans le champ 'DI'.

Les déclarations dont j'ai besoin sont :

Si "Max_GRIDCODE" >0 et <=0,5 alors "DI" = 1 Si "Max_GRIDCODE" >0,5 et <=1 alors "DI" = 2 Si "Max_GRIDCODE" >1 et <=1,5 alors "DI" = 3 Si " Max_GRIDCODE" >1.5 et <=2 alors "DI" = 4 Si "Max_GRIDCODE" >2 alors "DI" = 5

Quelqu'un a-t-il des conseils sur la façon de coder cela à l'aide d'ArcGIS 10.2 for Desktop ?


ouvrir l'outil CalculateField

pour le paramètre 'Field Name', spécifiez : DI

pour le paramètre 'Expression', spécifiez : x(!Max_GRIDCODE!)

pour le paramètre 'Code Block' spécifiez le code ci-dessous

def x(v) : if v > 2 : return 5 elif v > 1.5 : return 4 elif v > 1 : return 3 elif v > 0.5 : return 2 else : return 1

Voir la vidéo: ArcGIS Pro Tutorial: Create and Calculate Field