Notions de base des calculs de champ
La saisie de valeurs avec le clavier n'est pas la seule façon de mettre à jour les valeurs d'une table. Dans certains cas, vous pouvez effectuer un calcul mathématique permettant de définir la valeur d'un champ pour un seul enregistrement ou tous les enregistrements. Le Calculateur de champs d'ArcMap vous permet d'effectuer des calculs, des plus simples aux plus sophistiqués, sur tous les enregistrements ou sur certains enregistrements sélectionnés.
De plus, vous pouvez calculer la surface, la longueur, le périmètre et d'autres propriétés géométriques des champs de tables attributaires.
Exécution de calculs sur une géométrie d'entités
Si vous utilisez une table attributaire d'une couche d'entités, vous pouvez facilement calculer la surface, le périmètre, le périmètre 3D, la longueur, la longueur 3D, les coordonnées du centroïde, les coordonnées d'un point, les valeurs z minimum et maximum ou les coordonnées d'un point de début, de fin ou de médiane à l'aide de la boîte de dialogue Calculer la géométrie.
Vous pouvez utiliser le système de coordonnées de la source de données ou du bloc de données pour effectuer les calculs. De plus, si vous avez sélectionné un ou plusieurs enregistrements, seuls les enregistrements sélectionnés sont calculés.
Le tableau suivant affiche les propriétés géométriques que vous pouvez calculer pour les différents types d'entités :
Surface |
Périmètre |
Périmètre 3D |
Longueur |
Longueur 3D |
Coordonnée x, y ou z du centroïde |
Coordonnée x, y ou z d'un point |
Coordonnée x, y ou z du point de début |
Coordonnée x, y ou z du point de fin |
Coordonnée x, y ou z du point de médiane |
Valeurs minimum et maximum de coordonnée z | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Entités surfaciques |
|
|
|
|
|
||||||||||
Entités linéaires |
|
|
|
|
|
|
|||||||||
Entités annotations |
|
||||||||||||||
Entités ponctuelles |
|
Vous pouvez calculer uniquement les coordonnées z et les dimensions 3D d'une entité si l'entité gère les valeurs z.
Les calculs géométriques dans ArcGIS sont planimétriques, c'est-à-dire qu'ils sont exécutés dans un espace projeté et non pas sphérique ou géodésique. Vous pouvez uniquement calculer la surface, la longueur ou le périmètre d'entités si le système de coordonnées utilisé est un système de coordonnées projetées. Si la source de données utilise un système de coordonnées géographiques tel que WGS 1984, et par conséquent non projeté, vous pouvez utiliser le système de coordonnées projetées du bloc de données pour exécuter les calculs. Une autre possibilité consiste à projeter la source de données.
L'option Calculer la géométrie s'applique à n'importe quel champ numérique ou champ de texte. Pour obtenir des résultats plus précis, utilisez un champ de type double, avec le nombre de décimales souhaité. Si vous utilisez un champ entier, le résultat sera arrondi à un nombre entier. Si vous utilisez un champ de texte, vous pouvez notamment inclure l'abréviation de l'unité, choisir le format afin de créer facilement un champ pour l'étiquetage.
Raisons pour lesquelles le Calculateur de champs peut être désactivé
Si les commandes Calculateur de champs ou Calculer la géométrie ne sont pas disponibles lorsque vous cliquez avec le bouton droit sur un champ, vous devez vérifier les éléments suivants :
- Vous avez cliqué avec le bouton droit sur un champ géré par ArcGIS et il ne peut par conséquent pas être modifié manuellement. Cela concerne notamment le champ ObjectID (OID ou FID), les champs Shape_Length et Shape_Area d'une classe d'entités de géodatabase, les champs Surface, Périmètre et <Coverage># d'une classe d'entités points ou surfaciques dans une couverture, et les champs FNODE#, TNODE#, LPOLY#, RPOLY#, Longueur et <Coverage># d'une classe d'entités arcs dans une couverture.
- La source de données de la table est en lecture seule, l'accès en écriture au dossier ou à la géodatabase ne peut pas être établi, ou les données source sont dans un format qui ne peut pas normalement être modifié dans ArcMap. Vous utilisez peut-être aussi des données EDG ou SDC ou des services ArcIMS, qui permettent généralement d'ouvrir leurs tables attributaires, mais pas de modifier les données.
- Vous ne vous trouvez pas dans une session de mise à jour et vous devez utiliser une session de mise à jour pour pouvoir calculer les données. Par exemple, vous devez vous trouver dans une session de mise à jour lorsque vous utilisez des données ArcSDE versionnées ou une classe d'entités participant à une topologie de géodatabase, à un réseau géométrique ou à une classe de relations.
- Le champ appartient à une table ayant été jointe à votre table. Vous pouvez uniquement calculer les valeurs de champs figurant dans la table d'origine.
- Le champ peut être de type raster, BLOB ou ID global, impossible à calculer. Pour afficher le type d'un champ, cliquez sur ce dernier avec le bouton droit, puis sélectionnez Propriétés.
Calculs avancés avec le Calculateur de champs
Le Calculateur de champs vous permet d'effectuer des calculs avancés à l'aide des blocs de code VBScript ou Python qui traitent les données avant que les calculs soient effectués sur le champ sélectionné. Par exemple, supposons qu'à l'aide des données démographiques, vous vouliez trouver le groupe d'âge le plus important en pourcentage de la population de chaque comté des Etats-Unis. Vous pouvez créer un script qui prétraite les données en utilisant des constructions logiques telles que des instructions IF…THEN et des blocs Sélectionner le cas. Cette fonction vous permet d'effectuer rapidement et facilement des calculs sophistiqués.
Les expressions simples de calculateur de champs sont saisies directement dans la zone de texte Expression. Les expressions plus complexes, telles que les scripts multilignes, les boucles et les raccordements, sont entrées dans la zone de texte Bloc de code dans la boîte de dialogue d'outil Calculer un champ.