CÓMO
En ArcGIS Pro, las expresiones de Arcade se pueden utilizar para mostrar los valores de campo superiores en una leyenda de gráfico circular emergente. En este artículo se proporciona un ejemplo e instrucciones sobre el uso de expresiones de Arcade para crear la leyenda del gráfico circular emergente que muestra los tres idiomas principales que se hablan en casa en Caledon, Ontario, Canadá.
var <variableName1> = [ {value: $feature.<fieldName1>, alias: " <fieldAlias1>"}, {value: $feature.<fieldName2>, alias: " <fieldAlias2>"}, ... {value: $feature.<fieldName214>, alias: " <fieldAlias214>"} ];
function getValuesArray(a){ var valuesArray = [] for(var i in a){ valuesArray[i] = a[i].value; } return valuesArray; }
function findAliases(topA,fullA){ var aliases = []; var found = ""; for(var i in topA){ for(var k in fullA){ if(topA[i] == fullA[k].value && topA[i] > 0 && Find(fullA[k].alias, found) == -1){ found += fullA[k].alias; aliases[Count(aliases)] = { alias: fullA[k].alias, value: topA[i] }; } } } return aliases; }
function getTopGroups(groupsArray){ var values = getValuesArray(groupsArray); var topValues = IIF(Max(values) > 0, Top(Reverse(Sort(values)),<numberOfTopValuesToDisplay>), "<textToDisplayWhenThereIsNoValue>"); var topAliases = findAliases(topValues,groupsArray); if(TypeOf(topValues) == "String"){ return topValues; } else { var content = ""; for(var i in topAliases){ content += (i+1) + "." + topAliases[i].alias + " - " + Text(topAliases[i].value, "#,###"); content += IIF(i < Count(topAliases)-1, "<br/>", ""); } } return content; } getTopGroups(<variableName1>);
Note: The legend numbering does not directly represent the ranking when there are more than two similar reference values. For example, the third most spoken languages in the Caledon area are Italian and Tamil, which are spoken in 45 households each.
El siguiente bloque de código muestra la expresión de trabajo completa para los tres idiomas principales que se hablan en el hogar en Caledon, Ontario, Canadá.
var groups = [ {value: $feature.MO_Arabic, alias: " Arabic"}, {value: $feature.MO_Armenian, alias: " Armenian"}, {value: $feature.MO_Belarusian, alias: " Belarusian"}, {value: $feature.MO_Bengali, alias: " Bengali"}, {value: $feature.MO_Bulgarian, alias: " Bulgarian"}, {value: $feature.MO_Burmese, alias: " Burmese"}, {value: $feature.MO_Catalan, alias: " Catalan"}, {value: $feature.MO_Croatian, alias: " Croatian"}, {value: $feature.MO_Czech, alias: " Czech"}, {value: $feature.MO_Danish, alias: " Danish"}, {value: $feature.MO_Dutch, alias: " Dutch"}, {value: $feature.MO_English, alias: " English"}, {value: $feature.MO_Finnish, alias: " Finnish"}, {value: $feature.MO_French, alias: " French"}, {value: $feature.MO_German, alias: " German"}, {value: $feature.MO_Greek, alias: " Greek"}, {value: $feature.MO_Gujarati, alias: " Gujarati"}, {value: $feature.MO_Hakka, alias: " Hakka"}, {value: $feature.MO_Hebrew, alias: " Hebrew"}, {value: $feature.MO_Hindi, alias: " Hindi"}, {value: $feature.MO_Hungarian, alias: " Hungarian"}, {value: $feature.MO_Indonesian, alias: " Indonesian"}, {value: $feature.MO_Iranian_Persian, alias: " IranianPersian"}, {value: $feature.MO_Irish, alias: " Irish"}, {value: $feature.MO_Italian, alias: " Italian"}, {value: $feature.MO_Japanese, alias: " Japanese"}, {value: $feature.MO_Korean, alias: " Korean"}, {value: $feature.MO_Latvian, alias: " Latvian"}, {value: $feature.MO_Macedonian, alias: " Macedonian"}, {value: $feature.MO_Malay, alias: " Malay"}, {value: $feature.MO_Mandarin, alias: " Mandarin"}, {value: $feature.MO_Mongolian, alias: " Mongolian"}, {value: $feature.MO_Nepali, alias: " Nepali"}, {value: $feature.MO_Norwegian, alias: " Norwegian"}, {value: $feature.MO_Polish, alias: " Polish"}, {value: $feature.MO_Punjabi_Panjabi, alias: " Punjabi(Panjabi)"}, {value: $feature.MO_Romanian, alias: " Romanian"}, {value: $feature.MO_Russian, alias: " Russian"}, {value: $feature.MO_Serbian, alias: " Serbian"}, {value: $feature.MO_Sindhi, alias: " Sindhi"}, {value: $feature.MO_Spanish, alias: " Spanish"}, {value: $feature.MO_Swahili, alias: " Swahili"}, {value: $feature.MO_Tamil, alias: " Tamil"}, {value: $feature.MO_Thai, alias: " Thai"}, {value: $feature.MO_Tibetan, alias: " Tibetan"}, {value: $feature.MO_Turkish, alias: " Turkish"}, {value: $feature.MO_Ukrainian, alias: " Ukrainian"}, {value: $feature.MO_Uzbek, alias: " Uzbek"}, {value: $feature.MO_Vietnamese, alias: " Vietnamese"}, {value: $feature.MO_Welsh, alias: " Welsh"}, {value: $feature.MO_Wu_Shanghainese, alias: " Wu(Shanghainese)"}, {value: $feature.MO_Yue_Cantonese, alias: " Yue(Cantonese)"} ]; function getValuesArray(a){ var valuesArray = [] for(var i in a){ valuesArray[i] = a[i].value; } return valuesArray; } function findAliases(topA,fullA){ var aliases = []; var found = ""; for(var i in topA){ for(var k in fullA){ if(topA[i] == fullA[k].value && topA[i] > 0 && Find(fullA[k].alias, found) == -1){ found += fullA[k].alias; aliases[Count(aliases)] = { alias: fullA[k].alias, value: topA[i] }; } } } return aliases; } function getTopGroups(groupsArray){ var values = getValuesArray(groupsArray); var topValues = IIF(Max(values) > 0, Top(Reverse(Sort(values)),3), "Nobody lives here"); var topAliases = findAliases(topValues,groupsArray); if(TypeOf(topValues) == "String"){ return topValues; } else { var content = ""; for(var i in topAliases){ content += (i+1) + "." + topAliases[i].alias + " - " + Text(topAliases[i].value, "#,###"); content += IIF(i < Count(topAliases)-1, "<br/>", ""); } } return content; } getTopGroups(groups);
La siguiente imagen muestra la leyenda del gráfico circular emergente recién configurada con los tres idiomas más hablados en Caledon, Ontario, Canadá.
Id. de artículo: 000031637
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri