Instrução
No ArcGIS Online e Portal for ArcGIS Map Viewer, pop-ups configurados por expressões do Arcade com múltiplas instruções podem ser utilizados para exibir e classificar nomes e valores de campo em múltiplos campos de uma feição. Isso facilita a determinação de qual produto ou problema tem o maior ou menor incidente em um polígono. Este artigo fornece um exemplo e instruções utilizando expressões do Arcade para criar um pop-up com nomes de campo e valores de múltiplos campos classificados em ordem decrescente no Map Viewer.
A imagem abaixo mostra um pop-up do Map Viewer com cada campo e registros separados.
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>;
O bloco de código abaixo é um exemplo da expressão de trabalho completa.
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;
A imagem abaixo mostra o campo Diseases-Sorted recém-adicionado com vários nomes de campo e valores classificados em ordem decrescente no pop-up após usar a expressão Arcade.
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri