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, ", ");
This is a very helpful code, but I am wondering is there a way to add a -1ft buffer or something? I am getting all polygons that share a border with the parcel but are not necessarily in the parcel.
Also would it be possible to add an OrderBy ASC to the script?
You can use additional chaining to add those extra functions to get the intersect layer
var intersectLayer = OrderBy(
Intersects(
Buffer(
FeatureSetByName(
$map,
"STATSGO2Soils"
),
-1,
'feet'
),
$feature
),
'Muname DESC'
);
Thanks for coming back to this Ken!
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.