Instrução

Identificar um intervalo de números ausentes em um campo usando Arcade no Portal for ArcGIS e no ArcGIS Online Map Viewer

Last Published: June 6, 2024

Resumo

No Portal for ArcGIS e no ArcGIS Online Map Viewer, a identificação automática de números ausentes em um intervalo pode agilizar o processo de detecção e correção de erros. Isso pode ser particularmente importante em grandes conjuntos de dados, onde a verificação manual seria impraticável.

Este artigo descreve o fluxo de trabalho para identificar um intervalo de números ausentes em um campo para uso em pop-ups, utilizando Arcade no Portal for ArcGIS e no ArcGIS Online Map Viewer. Neste exemplo, alguns números estão ausentes no intervalo de números (1 a 20) listado no campo TestNumber, conforme mostrado na imagem abaixo.

A tabela de atributos no ArcGIS Online   

Procedimento

  1. No Portal for ArcGIS ou ArcGIS Online Map Viewer, abra o mapa da web contendo o conjunto de dados numéricos.
  2. Na barra de ferramentas Conteúdo (escura), clique em Camadas para abrir o painel Camadas e selecione a camada com o pop-up que deseja configurar.
  3. Na barra de ferramentas (clara) Configurações, clique em Pop-ups.
  4. No painel Pop-ups, clique em Expressões de atributo em Opções.
  5. No painel Expressões de atributo, clique em + Adicionar expressão.
  6. Na janela do editor, crie um nome para a expressão Arcade e especifique a expressão Arcade.
    1. Crie uma matriz representando o intervalo dos números desejados. Neste exemplo, o intervalo é definido de 1 a 20.
var range = [];
for (var i = 1; i <= 20; i++) {
    Push(range, i);
}
  1. Colete todos os valores das feições da camada selecionada. Substitua "<layerName>" e "<fieldName>" pelos nomes da camada e do campo, respectivamente.
var features = FeaturesetByName($map, "<layerName>", ["<fieldName>"]);
  1. Inicialize uma matriz para armazenar os números.
var testNumbers = [];
  1. Itere pelas feições e colete os números.
for (var f in features) {
    if (!IsEmpty(f.TestNumber)) {
        Push(testNumbers, Number(f.TestNumber));
    }
}
  1. Verifique se a matriz dos números está vazia.
if (Count(testNumbers) == 0) {
    return "No test numbers available.";
}
  1. Ordene a matriz dos números.
testNumbers = Sort(testNumbers);
  1. Inicialize uma matriz vazia para armazenar os números ausentes.
var missingNumbers = [];
  1. Percorra o intervalo especificado e adicione os números ausentes à matriz "missingNumbers".
for (var i in range) {
    if (IndexOf(testNumbers, range[i]) == -1) {
        Push(missingNumbers, range[i]);
    }
}
  1. Converta a matriz "missingNumbers" em uma string.
var missingNumbersString = Concatenate(missingNumbers, ", ");
  1. Retorne os números ausentes ou uma mensagem caso não haja números ausentes.
if (Count(missingNumbers) == 0) {
    return "No missing test numbers within the range 1 to 20.";
} else {
    return "Missing test numbers within the range 1 to 20: " + missingNumbersString;
}

O código abaixo mostra o exemplo do script de trabalho completo.

var range = [];
for (var i = 1; i <= 20; i++) {
    Push(range, i);
}

var features = FeaturesetByName($map, "Pointsss", ["TestNumber"]);

var testNumbers = [];

for (var f in features) {
    if (!IsEmpty(f.TestNumber)) {
        Push(testNumbers, Number(f.TestNumber));
    }
}

if (Count(testNumbers) == 0) {
    return "No test numbers available.";
}

testNumbers = Sort(testNumbers);

var missingNumbers = [];

for (var i in range) {
    if (IndexOf(testNumbers, range[i]) == -1) {
        Push(missingNumbers, range[i]);
    }
}

var missingNumbersString = Concatenate(missingNumbers, ", ");

if (Count(missingNumbers) == 0) {
    return "No missing test numbers within the range 1 to 20.";
} else {
    return "Missing test numbers within the range 1 to 20: " + missingNumbersString;
}
  1. Clique em Concluir.
  1. No painel Expressões de atributo, clique no botão Anterior O botão Anterior acima da expressão Arcade recém-criada.
  2. No painel Pop-ups, clique em Lista de campos > Selecionar campos.
  3. Em Expressões, selecione a expressão Arcade recém-criada e clique em Concluído.

A imagem abaixo mostra os números ausentes listados de um intervalo especificado por meio de um pop-up.

Os números ausentes estão listados no pop-up

ID do Artigo: 000032685

Obtenha suporte com IA

Resolva seu problema rapidamente com o chatbot de IA de suporte da Esri.

Comece a conversar agora

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Comece a conversar agora

Ir para as opções de download