Select to view content in your preferred language

Asset collection in Field Maps and making the layer floor aware dynamically

820
9
08-21-2023 03:06 PM
ReshmiMukherjee
New Contributor

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:

  • Creating the asset layer with Indoors Schema. All the following fields were included:
    1. SITE_ID
    2. SITE_NAME
    3. FACILITY_ID
    4. FACILITY_NAME
    5. LEVEL_ID
    6. LEVEL_NUMBER
    7. LEVEL_NAME
    8. VERTICAL_ORDER
    9. NAME
  • Created a domain (all the LEVEL_IDs for the building) for the LEVEL_ID field. The value of the field would be passed as parameter to the Units layer and populate the rest of the fields in the asset layer. Thereby making the asset layer dynamically floor aware.
  • A floor-aware map was created in ArcGIS Pro and published as a webmap, which works well with the floor-picker widget.
  • The webmap is brought into Field Maps. The floor picker works perfectly.
  • Each of the required fields have following Arcade expression:

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.

Tags (2)
9 Replies
Jade_Freeman
Occasional Contributor

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!

Jade_Freeman_0-1695216351434.png

 

0 Kudos
GauravJobanputra
Esri Contributor

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?

  • Created a domain (all the LEVEL_IDs for the building) for the LEVEL_ID field. The value of the field would be passed as parameter to the Units layer and populate the rest of the fields in the asset layer. Thereby making the asset layer dynamically floor aware.

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.

2023-09-25_17-43-11 (1).gif

 

0 Kudos
Kschilly_geo_comm
New Contributor II

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?

 

To
by
New Contributor III

@Kschilly_geo_comm did you find a solution? I'm running into the same problem with ExB.

0 Kudos
SuzanneLiebergen
New Contributor

Does anyone know if there is a solution to automatically populate LevelID while editing in ArcGIS Pro?

0 Kudos
AnninaHirschiWyss
Occasional Contributor II
0 Kudos
GauravJobanputra
Esri Contributor

@Kschilly_geo_comm and @To are you using Experience Builder Developer Edition or the Experience Builder app available in ArcGIS Enterprise or ArcGIS Online?

0 Kudos
To
by
New Contributor III

ArcGIS Online. Thanks for any advice you can share, @GauravJobanputra !

0 Kudos
Kschilly_geo_comm
New Contributor II

We are using ArcGIS online as well, sorry for the late reply. 

0 Kudos