HOW TO
In ArcGIS Online Map Viewer und Portal for ArcGIS Map Viewer können Sie mit Arcade-Ausdrücken, die mehrere Anweisungen umfassen, Pop-ups so konfigurieren, dass Feldnamen und -werte aus mehreren Feldern eines Features sortiert angezeigt werden. Auf diese Weise lässt sich in einem Polygon leichter bestimmen, welches Produkt, Problem o. ä. die höchste oder niedrigste Anzahl an Ereignissen aufweist. In diesem Artikel finden Sie Anweisungen, wie Sie in Map Viewer mit Arcade-Ausdrücken ein Pop-up erstellen, das in absteigender Reihenfolge sortierte Feldnamen und -werte aus mehreren Feldern enthält, sowie ein Beispiel dafür.
Die folgende Abbildung zeigt ein Map Viewer-Pop-up, in dem alle Felder und Datensätze einzeln aufgeführt sind.
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>;
Der folgende Codeblock ist ein Beispiel für den voll funktionsfähigen Ausdruck.
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;
Die folgende Abbildung zeigt das neu hinzugefügte Feld "Diseases-Sorted" im Pop-up, das nach Verwendung des Arcade-Ausdrucks über mehrere, in absteigender Reihenfolge sortierte Feldnamen und -werte verfügt.
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen