CÓMO

Crear una ventana emergente con nombres de campo y valores de varios campos ordenados en orden descendente en ArcGIS Online y Portal for ArcGIS Map Viewer

Last Published: February 9, 2023

Resumen

En ArcGIS Online y Portal for ArcGIS Map Viewer, los elementos emergentes configurados por expresiones de Arcade con varias instrucciones se pueden utilizar para mostrar y ordenar nombres y valores de campo en varios campos de una entidad. Esto hace que sea más fácil determinar qué producto o problema tiene la incidencia más alta o más baja dentro de un polígono. En este artículo se proporciona un ejemplo e instrucciones sobre el uso de expresiones de Arcade para crear una ventana emergente con nombres de campo y valores de varios campos ordenados en orden descendente en Map Viewer.

La siguiente imagen muestra una ventana emergente de Map Viewer con cada campo y registros separados.

El elemento emergente de la capa en Portal for ArcGIS Map Viewer

Procedimiento

  1. Abra el mapa en Map Viewer. Haga clic en Capas en la barra de herramientas Contenido (oscura) y seleccione la capa con el elemento emergente para editarlo.
  2. En la barra de herramientas Configuración (clara), haga clic en Elementos emergentes > Opciones > Expresiones de atributos.
  3. Haga clic en + Agregar expresión para abrir la ventana del editor de expresiones de Arcade.
  4. En la ventana del editor, especifique un nombre para la nueva expresión.
  5. En el cuadro de diálogo Expresión, inserte la siguiente expresión de Arcade.
    1. Defina la función Comparador que devuelve IsEmpty() como valor mínimo.
function Comp (a, b) {
  When(
    IsEmpty(a[1]), -1,
    IsEmpty(b[1]), 1,
    Iif(a[1]>b[1], 1, -1)
  );
};
  1. Defina la variable para la lista de matrices. En este ejemplo, las matrices constan de los nombres de campo y el valor de campo correspondiente de 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 la siguiente instrucción para determinar el tipo de clasificación. El siguiente bloque de código es un ejemplo de un orden descendente. Para que el orden sea ascendente, ignore la función Reverse().
<variableName1> = Reverse(Sort(<variableName1>, Comp));
  1. Especifique la siguiente instrucción para devolver los valores de texto ordenados. En este ejemplo, se incluyó un formato de texto adicional en el bloque de código. En el resultado final se han eliminado todos los corchetes y las comas se han cambiado a dos puntos.
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>;

El siguiente bloque de código es un ejemplo de la expresión de trabajo 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. Haga clic en Ejecutar para ver una vista previa del resultado de la expresión. Si se logra el resultado requerido, haga clic en Hecho.
Especificar la expresión de Arcade en la ventana del editor de Map Viewer de Portal for ArcGIS
  1. Haga clic en el botón Anterior situado sobre la expresión de Arcade en el panel Expresiones emergentes.
El panel Expresiones emergentes de Map Viewer de Portal for ArcGIS con el icono Anterior sobre la expresión recién creada
  1. Haga clic en Lista de campos para expandir la lista de campos que se muestran en los elementos emergentes y haga clic en Seleccionar campos.
  2. Compruebe el campo de expresión en la sección Expresiones y haga clic en Hecho.
  3. Si lo desea, haga clic y arrastre Reordenar Icono Reordenar junto al campo de expresión a una nueva posición en la sección Seleccionar campos.

La siguiente imagen muestra el campo Enfermedades-Ordenado recién agregado con varios nombres de campo y valores ordenados en orden descendente en la ventana emergente después de usar la expresión de Arcade.

Ventana emergente que muestra el campo Enfermedades-Ordenado recién agregado en Portal for ArcGIS Map Viewer

Id. de artículo: 000029130

Recibir notificaciones y encontrar soluciones a problemas nuevos o comunes

Obtenga respuestas resumidas y soluciones de vídeo de nuestro nuevo chatbot de IA.

Descargar la aplicación de soporte de Esri

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Descargar la aplicación de soporte de Esri

Ir a opciones de descarga