Greetings,
First time posting a question here but I was hoping for some insight regarding arcade expressions and what seems to be a limitation on the number of features it will categorize for symbology.
The expression works in that it looks at 2 different fields and comes up with different combinations to symbolize. I've also confirmed that I've got every unique combination existing in my dataset by creating temporary features - (tracking that if a specific combination didn't exist in the dataset that it would be skipped on the list of options to symbolize).
That said - it seems to be only looking through the first 2,000 features before stopping, there for it doesn't capture every unique combination. Our dataset has ~22k features in it but it only returns the first 2000 when applying the expression in the symbology set up.
Any thoughts on how to get around this limitation? That or forcing it to flip the way it reads the table so that it starts at the bottom of the table (therefore capturing all my temporary features and getting each combination.
If it helps, I've got the expression below. The idea is that the coded values run 0-3 for both our customer & utility status fields. This symbology would show the status of each side for each combination available:
var RightSide = $feature.custstatus;
var LeftSide = $feature.utilstatus;
Concatenate(LeftSide, ", ",RightSide);
if ((Concatenate(LeftSide, ", ",RightSide))=="1, 1") {
return "Lead | Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="1, 2") {
return "Lead | Non-Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="1, 3") {
return "Lead | Galvanized";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="1, 0") {
return "Lead | Unknown";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="2, 1") {
return "Non-Lead | Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="2, 2") {
return "Non-Lead | Non-Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="2, 3") {
return "Non-Lead | Galvanized";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="2, 0") {
return "Non-Lead | Unknown";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="3, 1") {
return "Galvanized | Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="3, 2") {
return "Galvanized | Non-Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="3, 3") {
return "Galvanized | Galvanized";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="3, 0") {
return "Galvanized | Unknown";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="0, 1") {
return "Unknown | Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="0, 2") {
return "Unknown | Non-Lead";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="0, 3") {
return "Unknown | Galvanized";
} else if ((Concatenate(LeftSide, ", ",RightSide))=="0, 0") {
return "Unknown | Unknown";
} else {
return "Other";
}
Thanks in advance for any help or insight you can provide & happy mapping!