I have a parcel feature layer and a soils feature layer in my webmap. I'm trying to apply the arcade to my parcels layer so that when a parcel is clicked it will give me the corresponding soils to that parcel. The issue is that there could be more than one soil per parcel. The expression I currently have applied to my parcel feature class is this:
var intersectLayer = Intersects(FeatureSetByName($map,"STATSGO2Soils"), $feature)
for(var f in intersectLayer){
return f.muname
}
But it will only return one of my soils into the parcel and will not bring in multiple soils names. Is there a way to do what I'm hoping to do?
Solved! Go to Solution.
Try this instead.
var intersectLayer = Intersects(FeatureSetByName($map,"STATSGO2Soils"), $feature)
var results = "";
for(var f in intersectLayer){
if (results == "") {
results = f.muname;
} else {
results += ", " + f.muname;
}
}
return results;
This would be another way
var intersectLayer = Intersects(FeatureSetByName($map,"STATSGO2Soils"), $feature)
var results = [];
for(var f in intersectLayer){
results[Count(results)] = f.muname;
}
return Concatenate(results, ", ");
Try this instead.
var intersectLayer = Intersects(FeatureSetByName($map,"STATSGO2Soils"), $feature)
var results = "";
for(var f in intersectLayer){
if (results == "") {
results = f.muname;
} else {
results += ", " + f.muname;
}
}
return results;
This would be another way
var intersectLayer = Intersects(FeatureSetByName($map,"STATSGO2Soils"), $feature)
var results = [];
for(var f in intersectLayer){
results[Count(results)] = f.muname;
}
return Concatenate(results, ", ");
Thank you Ken! That is exactly what I needed. I appreciate the quick help!
Glad to help (and check out the alternate code).
Please don't forget to mark the question as answered.