PROCÉDURE

calculer le pourcentage d’une valeur de champ à partir d’un champ spécifié dans ArcGIS Pro

Last Published: March 3, 2023

Résumé

Dans ArcGIS Pro, les expressions Python permettent de calculer le pourcentage d’une valeur de champ à partir d’un champ spécifié.Cet article décrit un exemple et des instructions utilisant des expressions Python pour calculer le pourcentage de la population de chaque district de Hong Kong et créer un nouveau champ dans ArcGIS Pro.

L’image ci-dessous représente la table attributaire PopDis2021 de la population de chaque district de Hong Kong.

Table attributaire PopDist2021

Procédure

  1. Cliquez avec le bouton droit sur la classe d’entités dans la fenêtre Contents (Contenu) et choisissez Attribute Table (Table attributaire) pour ouvrir la table attributaire de la classe d’entités.
Ouverture de la table attributaire de la classe d’entités à partir de la fenêtre Contents (Contenu)
  1. Cliquez sur Calculate (Calculer) pour ouvrir l’outil Calculate Field (Calculer un champ).
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. Dans la boîte de dialogue Calculate Field (Calculer un champ), configurez les paramètres suivants :
    1. Pour Input Table (Table en entrée), sélectionnez la classe d’entités.
    2. Pour Field Name (Existing or New) (Nom du champ [existant ou nouveau]), sélectionnez le champ à mettre à jour ou créer un champ. Dans cet exemple, le champ « Percentage (Pourcentage) » est créé.
    3. Pour Field Type (Type de champ), sélectionnez un champ de type entier. Dans cet exemple, le type « Double (64-bit floating point) (Double [virgule flottante 64 bits]) » est sélectionné.
    4. Pour Expression Type (Type d’expression), sélectionnez Python 3.
    5. Spécifiez l’expression suivante dans le premier bloc de code. Dans cet exemple, « <fieldName1> » est remplacé par Number_of_Persons (Nombre_de_Personnes).
update(!<fieldName1>!)
  1. Spécifiez l’expression Python suivante dans Code Block (Bloc de code) :
    1. Définissez la méthode update(). Dans cet exemple, « <varName> » est remplacé par numbPersons (nombrePersonnes).
def update(<varName>):
Note:
The following procedure must all be within the same indented code block. Refer to the full script sample for clarification.
  1. Importez le module ArcPy et créez un paramètre de tableau vide.
     import arcpy    
     list = []
  1. Créez une boucle pour exécuter la fonction SearchCursor() afin d’insérer tous les champs dans le paramètre de tableau à l’étape 3(f)(ii).
    with arcpy.da.SearchCursor(r"<featureClassPath>", ["<fieldName1>"]) as cursor:
        for row in cursor:
            list.append(row[0])
  1. Calculez la somme de la valeur. Dans cet exemple, « <varName1> » est remplacé par S.
    <varName1> = sum(list)
  1. Spécifiez l’instruction suivante pour renvoyer le pourcentage de la valeur de champ.
    return <varname> / <varname1> * 100

Le bloc de code ci-dessous est un exemple de l’expression complète.

def update(numbPersons):
    import arcpy
    list = []
    with arcpy.da.SearchCursor(r"C:\Users\ISC-Testing\Documents\29398 calculate percentage\29398 calculate percentage.gdb\PopDist2021", ["Number_of_Persons"]) as cursor:
        for row in cursor:
            list.append(row[0])
    S = sum(list)
    return numbPersons / S * 100
  1. Cliquez sur Verify (Vérifier) pour exécuter un test de l’expression. Si l’expression est valide, cliquez sur OK.
Fenêtre de l’outil Calculate Field (Calculer un champ) avec les paramètres à renseigner

L’image ci-dessous représente le champ « Percentage (Pourcentage) » ajouté à la table attributaire « PopDist2021 ».

Table attributaire PopDist2021 avec le champ Percentage (Pourcentage) ajouté

ID d’article: 000029398

Obtenez de l'aide avec l'IA

Résolvez rapidement votre problème avec le chatbot Esri Support AI.

Commencez à discuter maintenant

Informations associées

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Commencez à discuter maintenant

Accéder aux options de téléchargement