Select to view content in your preferred language

Arcade expression in pop-up to get the location information where the user clicked by differentiate the overlapping and non-overlapping areas individually

444
2
10-28-2019 10:49 PM
Status: Open
RinaYOKOTA
Esri Contributor

(On behalf of the customer)

The Intersects () arcade function can identify the overlapping polygon features and get the result attribute of the underlying polygons where the user clicked in pop-up dialogue box. But this function cannot differentiate the overlapping and non-overlapping areas individually. The entire polygon is considered as a single entity.

So, it would be good if any Arcade expression can access to the specific place area where the user clicked and get the location information and by differentiate the overlapping and non-overlapping areas individually.

Tags (2)
2 Comments
KoryKramer

Can you explain a little more about what the expectation would be when returning data from the overlapping area vs. the non-overlapping area?  Maybe provide a quick example of the type of data associated with each polygon and what would be returned when the overlapping area is clicked vs. clicking in the non-overlappping area.  Would it be possible to use Union? 

RinaYOKOTA

Thank you for the response. Please have a look at the pictures below, prepare a partly overlapping green and blue polygons in a map viewer. When click on the area of green polygon underlying blue polygon, the Intersects () arcade expression can get the attribute of polygon ('Custom =Test2’ which is the green polygon name) in the blue polygon’s pops up. But also, my expectation is that if click on the non-overlapping area of green polygon, it would be able to configure and populate the 'Custom = Null' value in the blue polygon’s pop-up due to the area the user clicked is not overlapped.

Ovelapping_vs_Non_overlapping

Here is the Arcade expression I used.

var intersectLayer =Intersects(FeatureSetByName($map,"Test_2"), $feature)

for (var f in intersectLayer){

 

   return f.NAME

 

}