@XanderBakker
I am attempting to create a Data Expression to be used in a Dashboard List widget. My arcade expression is attempting to perform an intersect for each point feature in my FeatureSet to check if it intersects with a line in a different FeatureSet.
My understanding is that the Intersect needs to be performed on 1 input feature at a time, so I feel like some type of loop needs to occur. I then want to return all the point features that intersect a line as a FeatureSet to be used in the List widget. I believe this should be possible, but I think I am stuck at creating a For-in loop to perform an intersect for each point feature and store the results to be returned as a FeatureSet. Below is what my code looks like so far. Everything down to line 24 works, so I do not believe I have any issues up until that point. Everything after line 24 is where I am getting lost.
//Portal
var port = "Https://www.arcgis.com"
//ArcGIS Online item ID
var itemID = "4c82c3b6b8d64c6ca0ecd20d813531f2"
//Rest layer ID - Storm Gravity Mains
var GMlayerID = 60
//Rest layer ID - Storm Manholes
var MHlayerID = 57
//Fields returned - All (Default)
var fields = ['*']
//Geometry returned
var geo = True
//Set up Gravity Main feature set
var fsGM = FeatureSetByPortalItem(Portal(port), itemId, GMlayerID, fields,geo)
//Set up Manhole feature set
var fsMH = FeatureSetByPortalItem(Portal(port), itemId, MHlayerID, fields,geo)
//Filter statement used to filter feature set down to Gravity Mains with an upsteam invert value that is less than downstream invert value
var FilterStatementGM = "UpstreamInvert < DownstreamInvert AND TrunkMain = 'Y'"
//Returns filtered Gravity Mains
var filteredfsGM = Filter(fsGM, FilterStatementGM)
//Filter statement used to filter feature set down to Gravity Mains with an upsteam invert value that is less than downstream invert value
var FilterStatementMH = "TrunkMain = 'Y' AND NeedsGPS = 1 AND MajorDBDistrict = 'J'"
//Returns filtered Manholes
var filteredfsMH = Filter(fsMH, FilterStatementMH)
var MHlist = ''
for (var f in filteredfsMH){
Intersects(f, filteredfsGM)
MHlist += f.FacilityID
}
return MHlist