PROCÉDURE
Dans ArcGIS Online et Portal for ArcGIS Map Viewer, les fenêtres contextuelles configurées par des expressions Arcade avec plusieurs instructions peuvent être utilisées pour afficher et trier les noms et les valeurs des champs dans plusieurs champs d’une entité. Il est ainsi plus facile de déterminer quel produit ou problème présente le plus grand nombre ou le plus faible d’incidents au sein d’un polygone. Cet article fournit un exemple et des instructions sur l’utilisation d’expressions Arcade pour créer une fenêtre contextuelle avec les noms et les valeurs de plusieurs champs triés par ordre décroissant dans Map Viewer.
L’image ci-dessous montre une fenêtre contextuelle Map Viewer avec chaque champ et les enregistrements séparés.
function Comp (a, b) { When( IsEmpty(a[1]), -1, IsEmpty(b[1]), 1, Iif(a[1]>b[1], 1, -1) ); };
var <variableName1> = [ ["<fieldName1>", $feature.<fieldName1>], ["<fieldName2>", $feature.<fieldName2>], ["<fieldName3>", $feature.<fieldName3>], ["<fieldName4>", $feature.<fieldName4>], ["<fieldName5>", $feature.<fieldName5>], ["<fieldName6>", $feature.<fieldName6>], ["<fieldName7>", $feature.<fieldName7>], ["<fieldName8>", $feature.<fieldName8>], ["<fieldName9>", $feature.<fieldName9>], ];
<variableName1> = Reverse(Sort(<variableName1>, Comp));
var <variableName2> = ""; for (var i in <variableName1>) { if (<variableName2> == "") { <variableName2> = Replace(Replace(Replace(<variableName1>[i], '["', ""), '",', ": "), ']', ""); } else { <variableName2> += TextFormatting.NewLine + Replace(Replace(Replace(<variableName1>[i], '["', ""), '",', ": "), ']', ""); } } return <variableName2>;
Le bloc de code ci-dessous est un exemple d’expression opérationnelle complète.
function Comp (a, b) { When( IsEmpty(a[1]), -1, IsEmpty(b[1]), 1, Iif(a[1]>b[1], 1, -1) ); }; var arr = [ ["BREASTCANCER", $feature.BREASTCANCER], ["CARDIOVASCULAR", $feature.CARDIOVASCULAR], ["CERVICALCANCER", $feature.CERVICALCANCER], ["COLONCANCER", $feature.COLONCANCER], ["DIABETES", $feature.DIABETES], ["INFLUENZA", $feature.INFLUENZA], ["LUNGCANCER", $feature.LUNGCANCER], ["PROSTATECANCER", $feature.PROSTATECANCER], ["SKINCANCER", $feature.SKINCANCER], ]; arr = Reverse(Sort(arr, Comp)); var result = ""; for (var i in arr) { if (result == "") { result = Replace(Replace(Replace(arr[i], '["', ""), '",', ": "), ']', ""); } else { result += TextFormatting.NewLine + Replace(Replace(Replace(arr[i], '["', ""), '",', ": "), ']', ""); } } return result;
L’image ci-dessous montre le champ Diseases-Sorted nouvellement ajouté avec plusieurs noms et valeurs de champ triés par ordre décroissant dans la fenêtre contextuelle après avoir utilisé l’expression Arcade.
Obtenir de l’aide auprès des experts ArcGIS
Télécharger l’application Esri Support