Suite

« CountIf » ou fonction alternative dans le calculateur de champ ArcMap ?

« CountIf » ou fonction alternative dans le calculateur de champ ArcMap ?


Dans la calculatrice de champ ArcMap 10.3, je cherche à compter le nombre d'entités dans une colonne qui correspondent à la valeur actuelle et à générer ce nombre. Idéalement, la sortie ressemblerait à ceci :

Nombre de nombres
2000 2 (car il n'y a que 2 comptes de 2000 dans la colonne numérique)
2000 2 (car il n'y a que 2 comptes de 2000 dans la colonne numérique)
2001 1 (car il n'y a qu'un seul compte de 2001 dans la colonne numérique)
4333 1 (car il n'y a qu'un seul compte de 4333 dans la colonne numérique)

J'ai accompli cela dans Excel à l'aide de la fonction Visual Basic Countif(), mais je ne sais tout simplement pas comment appeler un tableau complet de valeurs à partir de la colonne Nombre.


Ce n'est généralement pas quelque chose qui doit être fait à l'aide de la calculatrice de champ (bien qu'en utilisant un curseur vous puissiez le faire, il est préférable de créer un script Python autonome). L'approche la plus simple consiste simplement à exécuter des statistiques récapitulatives sur la colonne, à joindre la colonne à la sortie récapitulative et à calculer les valeurs de comptage récapitulatives dans le champ de comptage de l'original.

L'approche du curseur utilise essentiellement un dictionnaire en mémoire pour effectuer le comptage, puis exécute un deuxième curseur de mise à jour pour mettre à jour la colonne de comptage à partir du dictionnaire. Voir le dernier exemple dans mon blog sur la manipulation de données de charge turbo avec des curseurs et des dictionnaires Python.

Vous pouvez utiliser l'approche du curseur dans le calculateur de champs, mais vous devez faire du dictionnaire une variable globale et le générer en lisant tous les enregistrements du curseur une seule fois lorsque vous calculez la première caractéristique. Toutes les autres fonctionnalités font simplement référence au nombre déjà stocké dans le dictionnaire créé pour la première fonctionnalité. Les principes que je décris s'appliquent également à la création d'une étiquette à partir d'un dictionnaire et sont illustrés dans mon blog sur la création d'étiquettes avec des données de table associées.


Vous pouvez essayer d'utiliser la commande "Résumer".

Il fera ce décompte, mais il générera une autre nouvelle table.

Vous pouvez utiliser cette commande en cliquant avec le bouton droit dans le champ à comptabiliser choisissez "Résumé", sélectionnez les autres champs que vous souhaitez moyenner, additionner… puis donnez le nom de la nouvelle table.

Vous pouvez également ajouter ce résultat dans la carte et, par jointure et relations, remettre cette information dans vos données géographiques.


Voir la vidéo: ArcGis - Cours 8: le calculateur de champ et le calcul des géométries