Les calculs de champ permettent au propriétaire de la couche d’entités hébergée ou à l’administrateur de l’organisation de modifier les valeurs de chaque ligne d’un champ unique dans la table attributaire d’une couche.
Par exemple, si vous avez une couche d’entités hébergée qui archive les informations sur les ventes immobilières, comprenant le prix de vente et le taux d’imposition pour l’emplacement du bien, vous pouvez ajouter un champ à la couche pour stocker les impôts fonciers estimés. Pour renseigner le champ estimated_property_taxes, définissez pour ce champ une expression de calcul qui prend les valeurs du champ sale_price et les multiplie par les valeurs tax_rate.
Vous avez deux options lorsque vous écrivez des expressions de calcul sur les champs d’une couche d’entités hébergée :
- ArcGIS Arcade : Arcade est idéal pour les calculs qui requièrent davantage de fonctionnalités que SQL, car Arcade fournit un accès aux valeurs attributaires et à la géométrie des entités, vous permettant ainsi de créer des expressions qui incluent des opérations spatiales. De plus, si une erreur se produit lors du calcul d’une ligne en particulier, vous pouvez vous arrêter et résoudre le problème, puis recommencer le calcul une fois le problème corrigé.
Remarque :
ArcGIS API for JavaScript 3.44 et versions ultérieures de ne seront pas mises à jour avec les dernières fonctionnalités de langage ArcGIS Arcade. Les expressions Arcade créées dans les applications JavaScript API dans les versions 3.44 ou ultérieures prennent uniquement en charge les fonctionnalités de langage Arcade introduites dans Arcade version 1.21 ou antérieures. Pour en savoir plus sur la prise en charge du support de langage Arcade dans les produits ArcGIS, consultez la matrice des versions Arcade.
- SQL : utilisez SQL pour obtenir des performances plus rapides lors de calculs pouvant être réalisés avec des expressions SQL standardisées (SQL-92) ou des attributs non spatiaux. Vous pouvez exécuter SQL sur des couches d’entités hébergées pour lesquelles la synchronisation est activée et des couches configurées pour le suivi des créateurs et des éditeurs d’entités, tandis que vous ne pouvez pas utiliser d’expressions Arcade sur de telles couches.
Procédez comme suit pour calculer les valeurs de chaîne, numériques ou de date dans un champ de la table d’une couche d’entités hébergée ou d’une couche de tables hébergée dans Map Viewer.
Remarque :
Les calculs de champs ne peuvent pas être annulés. Pour cette raison, il est judicieux d’ajouter un champ, d’y calculer les valeurs et de vérifier que le calcul correspond à vos attentes. Si c’est le cas, vous pouvez calculer la valeur du champ original pour qu’elle soit égale à celle du champ ajouté. Une fois que vous avez vérifié que les valeurs sont correctes dans le champ original, vous pouvez supprimer le champ que vous avez ajouté.- Assurez-vous d’être connecté et, si vous souhaitez enregistrer vos modifications, de posséder les privilèges appropriés pour créer, mettre à jour et supprimer du contenu.
Remarque :
Vous pouvez explorer des cartes, ajouter et configurer des couches et effectuer d’autres opérations sans vous connecter. Pour enregistrer votre travail, connectez-vous avant de créer une carte. - Dans Map Viewer, ouvrez la carte contenant la couche ou ajoutez la couche directement.
- Si vous utilisez une couche d’entités hébergée, dans la barre d’outils Contents (Contenu) (foncée), cliquez sur Layers (Couches) si la fenêtre Layers (Couches) n’est pas ouverte. Si vous utilisez une couche tabulaire hébergée, dans la barre d’outils Contents (Contenu) (foncée), cliquez sur Tables si la fenêtre Tables n’est pas ouverte.
- Dans la fenêtre Layers (Couches) ou Tables, cliquez sur Options sur la couche et cliquez sur Show table (Afficher la table) pour ouvrir la table.
- Dans la table de la couche, cliquez sur Menu dans la colonne contenant les valeurs à calculer et sur Calculate field (Calculer un champ).
La fenêtre Calculate field (Calculer un champ) apparaît.
- Choisissez le langage à utiliser pour le calcul, Arcade ou SQL.
- Si vous le souhaitez, cliquez sur Add new (Ajouter nouveau) pour ajouter un filtre et calculer des valeurs pour seulement une partie des données, puis cliquez sur Next (Suivant).
Remarque :
Si vous n’ajoutez aucun filtre, le calcul est exécuté sur l’ensemble des entités. Si vous avez appliqué des filtres à la carte ou aux couches de la carte avant d’ouvrir la fenêtre Calculer un champ, ces filtres ne sont pas reconnus lors du calcul des valeurs de champ.
- Rédigez une expression de calcul.
- Pour Arcade, utilisez des variables globales, des fonctions et des constantes.
- Pour SQL, utilisez des opérateurs de base, une liste de champs et des fonctions.
Conseil :
Pour voir des exemples de calculs courants qui peuvent être effectués dans ArcGIS Online, consultez la rubrique Exemples de calculs.
- Si vous le souhaitez, effectuez l’une des opérations suivantes pendant la rédaction d’une expression :
- Cliquez sur Test features filter (Filtre des entités de test) pour ajouter un filtre à vos entités de test.
Remarque :
Cette option vous permet de filtrer vos entités de test et n’affecte pas la sélection des entités à calculer.
- Cliquez sur Test features (Entités de test) pour afficher la table de vos entités de test.
- Cliquez sur Preview values (Aperçu des valeurs) pour afficher un aperçu des valeurs calculées pour vos entités de test.
- Désactivez le bouton bascule Auto preview (Aperçu automatique) pour éviter que l’aperçu des valeurs calculées se mette automatiquement à jour lors de la création d’une expression. Activez le bouton bascule Auto preview (Aperçu automatique) pour autoriser la mise à jour de l’aperçu des valeurs calculées lors de la création d’une expression.
- Cliquez sur Map (Carte) , Table ou Map and table (Carte et table) pour naviguer entre les vues.
- Cliquez sur Test features filter (Filtre des entités de test) pour ajouter un filtre à vos entités de test.
- Cliquez sur Run calculation (Exécuter le calcul) pour exécuter l’expression.
Le temps nécessaire au calcul dépend de la complexité de l’expression et du nombre d’entités figurant dans votre couche.
Vous avez un commentaire à formuler concernant cette rubrique ?