Select to view content in your preferred language

Calculate attribute based on active indoors floor filter level

106
0
08-26-2024 01:30 PM
Status: Open
ChristopherJStrong
Occasional Contributor

Be able to connect other layers to indoor data by allowing auto-populating calculations based on intersecting features, or from pulling directly from whatever level is active in the floor filter.

For example, in a webmap I have already selected a level to work on.  If I create a new feature in a Fire Extinguishers dataset on that level, there should be a way to auto-calculate the floor ID and/or intersecting Room ID in that new feature.  Otherwise a user must enter this information manually, and do so frequently during data collection efforts.

This could be extended to auto-calculate the Room number (or Units Name) for features created inside a room feature.

There is an arcade script to do this with 2D data, but unfortunately, it does not honor the floor filter widget, so will insert attributes from the first layer it intersects, regardless of what level is being worked on.

var roomnum = FeatureSetByName($map, "Units", ['NAME'])
var roomattribute= First(Intersects($feature, roomnum))

 

if (!IsEmpty(roomattribute)) {
    return variable2['NAME']
} else {
    return null
}
 
Adding this functionality is the logical next step for working with indoors data and reducing the need for entering redundant data (and lots of it if users are adding dozens of features on each level)