Instrução

Criar um pop-up com nomes de campo e valores de múltiplos campos classificados em ordem decrescente no ArcGIS Online e Portal for ArcGIS Map Viewer

Last Published: February 9, 2023

Resumo

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.

O pop-up da camada no Portal for ArcGIS Map Viewer

Procedimento

  1. Abra o mapa no Map Viewer. Clique em Camadas na barra de ferramentas Conteúdo (escura) e selecione a camada com o pop-up para edição.
  2. Na barra de ferramentas Configurações (clara), clique em Pop-ups > Opções > Expressões de atributo.
  3. Clique em + Adicionar expressão para abrir a janela do editor de expressão Arcade.
  4. Na janela do editor, especifique um nome para a nova expressão.
  5. Na caixa de diálogo Expressão, insira a seguinte expressão Arcade:
    1. Defina a função Comparator que retorna IsEmpty() como o menor valor.
function Comp (a, b) {
  When(
    IsEmpty(a[1]), -1,
    IsEmpty(b[1]), 1,
    Iif(a[1]>b[1], 1, -1)
  );
};
  1. Defina a variável para a lista de matrizes. Neste exemplo, as matrizes consistem nos nomes de campo e no valor de campo correspondente para cada campo.
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>],
];
  1. Especifique a instrução a seguir para determinar o tipo de classificação. O bloco de código abaixo é um exemplo de uma classificação decrescente. Para uma classificação crescente, ignore a função Reverse().
<variableName1> = Reverse(Sort(<variableName1>, Comp));
  1. Especifique a instrução a seguir para retornar os valores de texto classificados. Neste exemplo, formatação de texto adicional foi incluída no bloco de código. O resultado final tem todos os colchetes removidos e as vírgulas alteradas para dois pontos.
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;
  1. Clique em Executar para visualizar o resultado da expressão. Se o resultado desejado for alcançado, clique em Concluído.
Especificando a expressão Arcade na janela do editor do Portal for ArcGIS Map Viewer
  1. Clique no botão Anterior acima da expressão Arcade no painel Expressões do pop-up.
O painel de expressões Pop-up do Portal for ArcGIS Map Viewer com o ícone Anterior acima da expressão recém-criada
  1. Clique em Lista de campos para expandir a lista de campos exibidos nos pop-ups e clique em Selecionar campos.
  2. Verifique o campo de expressão na seção Expressões e clique em Concluído.
  3. Opcionalmente, clique e arraste Reordenar O ícone Reordenar ao lado do campo de expressão para uma nova posição na seção Selecionar campos.

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.

O pop-up exibindo o campo Doenças-Classificadas recém-adicionado no Portal for ArcGIS Map Viewer

ID do Artigo: 000029130

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download