Hi All,
This seems to be more complicated than it needs to be. I am not sure if I am not doing something correct.
Goal: Using Field Maps to collect assets (Points) and make them floor aware during the collection by dynamically passing values from the underlying layer (Units). This is ArcGIS Online.
Layers: Asset layer (Point)
Floor aware layers: Units>>Levels>>Facilities
Method:
var polygon = FeatureSetByName($map, "Units", ["FIELD_NAME","LEVEL_ID" ])
var ints = Intersects(polygon, $feature)
for(var int in ints)
{
if(int["LEVEL_ID"]==$feature.LEVEL_ID)
{
return int["FIELD_NAME "]
}
}
Result: All the required fields have values transferred to the point asset layer from Units layer based on the LEVEL_ID. But the LEVEL_ID field cannot be used both as a field to pass the parameter and used as a field for floor filter. Once selected as floor filter field it becomes un-editable and not available in Field Maps form. Hence, the layer remains not floor-aware.
What is it that I am doing wrong. Any pointers will be appreciated.
I believe that when you specify LEVE_ID on your point layer as the floor field, then field maps will automatically set the value for you based on the selected level in the floor picker. Then you create expressions to calculate the values for other fields as you've shown. At least this is working for us!
Hi @ReshmiMukherjee I wanted to follow-up to ask if you were able to get this working? I was particularly interested in knowing why you were performing this step?
Anyways, FieldMaps supports collecting floor-aware features since a few releases. I have included a short demo below. Unless I am missing something, you should not need to pass the level info.
We are having a similar issue with editing features in Experience Builder using the editor widget. We do not want our customers to edit indoor data, so we created a customer review layer. This layer is floor aware with a Level_ID field. We want to use Forms to populate the level id dynamically based on an arcade function. However, when you go to format the Form, Level_ID is not an option to format. Yes this works if our editors were using Field Maps, but they are in an office and using the Experience Builder application.
Any ideas?
@Kschilly_geo_comm did you find a solution? I'm running into the same problem with ExB.
Does anyone know if there is a solution to automatically populate LevelID while editing in ArcGIS Pro?
There might be a workaround here: https://community.esri.com/t5/arcgis-indoors-questions/automatically-populating-values-using-arcgis/...
@Kschilly_geo_comm and @To are you using Experience Builder Developer Edition or the Experience Builder app available in ArcGIS Enterprise or ArcGIS Online?
ArcGIS Online. Thanks for any advice you can share, @GauravJobanputra !
We are using ArcGIS online as well, sorry for the late reply.