ArcGIS Experience Builder
In this practical, we will use the same NOAA natural hazard data and Web Map from the previous sessions to create a more flexible map exploration application in ArcGIS Experience Builder.
Unlike the previous applications, the main purpose will not be to summarise the data or explore them only through time. The application will allow users to filter, query, select and inspect individual events.
We will start from a blank layout and gradually connect individual widgets through shared data sources and actions.
Create a blank experience
- Open ArcGIS Experience Builder and make sure you are working in Full mode.
- Click Create new.
- Select Blank fullscreen.
- Name the experience:
- Save the experience.
Why Blank fullscreen?
We start with a blank fullscreen template because Experience Builder is not only about configuring widgets. It also allows us to design the application layout and define how individual widgets communicate with each other.
The result of this practical will be a map-centred working application rather than a scrolling page.
Add the Map widget
- Open the Insert widget panel.
- Drag the Map widget onto the canvas.
- Resize it so that it fills the entire page.
- In the Map widget settings, click Select map.
- Choose the Web Map created in the previous practical.
The Web Map should contain:
Earthquake Events,Tsunami Events,Volcano Events,- your custom VTSE basemap.
Configure the initial map
Keep the initial view inherited from the Web Map and enable only a small set of useful map tools:
- Zoom
- Home
- Search
- Layers
- Scale bar
- optionally Fullscreen
Keep Enable pop-up turned on for now so that the pop-ups configured in the previous practical remain available.
Pop-ups and Feature Info
Later in the practical, we will add a Feature Info widget. At that point, the selected feature can be displayed permanently in a side panel and the standard map pop-up can optionally be disabled.
Test the map
Open Live view or Preview and verify that:
- all three event layers are visible,
- the custom basemap loads correctly,
- layer visibility can be changed,
- pop-ups work,
- Home returns to the expected initial extent.
At this stage, the application should still be intentionally simple:
┌───────────────────────────────────────────────┐
│ │
│ │
│ MAP │
│ │
│ │
└───────────────────────────────────────────────┘
Filter widget
The Filter widget limits the features visible in a data source according to one or more attribute expressions. Because the filter changes the shared data source, other widgets using the same layer are filtered as well.
We will first create a cascading filter for tsunami events.
Add the Filter widget
- Add the Filter widget to the application.
- Place it as a narrow panel on the left side of the map.
- Click New filter.
- Use:
as the data source. 5. Name the filter:
Create a cascading filter
Create the first clause:
Configure the value as:
- Source type: Unique
- Ask for values: On
- Input style: Dropdown
- Label:
Country
Add a second clause and connect it to the first one with AND:
Configure:
- Source type: Unique
- Ask for values: On
- Label:
Location - Values list: Filter values based on previous expressions
The second list now depends on the first selection:
For example, after selecting JAPAN, the Location list contains only locations that occur in Japanese tsunami records.
Add a third clause:
Configure:
- Ask for values: On
- Label:
Minimum wave height (m)
The resulting filter is:
Add filter controls
Under Advanced tools, enable:
- Reset all filters
This allows users to quickly restore the original map state.
Pan the map to filtered features
Open the Action tab of the Filter widget and configure:
Using Pan to preserves the user's current map scale and only moves the map towards the filtered features.
Pan to vs. Zoom to
Zoom to changes both the map position and scale so that the filtered features fit into the view.
Pan to keeps the current scale and only changes the map position. For an exploratory application, this can provide a more stable user experience.
Test the filter
Open Live view and try, for example:
The map should show only tsunami events that satisfy all active expressions and pan towards the resulting features.
Group filter across multiple event layers
A Group Filter applies the same user-defined value to compatible fields in several data sources. This is useful when different layers share attributes with the same meaning.
The three NOAA event layers all contain the numeric attributes:
DeathsMissingInjuries
We will use them to create one common Human impact threshold.
Create the Group Filter
- In the existing Filter widget, open the menu next to New filter.
- Choose New group.
-
Add all three data sources:
-
Earthquake Events Tsunami Events-
Volcano Events -
Name the group:
- Choose a numeric field such as
Deathsas the Main field. - Under All fields, add the following fields from each connected layer:
All fields in a Group Filter must use the same field type as the Main field.
Use OR logic within each layer
For each event layer, connect the three fields with OR:
Set the operator to:
Enable Ask for values and use a label such as:
For example, entering:
returns events for which at least one of the three attributes is 100 or greater:
The same input value is applied simultaneously to the corresponding fields in all three event layers.
Why OR?
Missing and some other casualty attributes are sparsely populated in the NOAA datasets.
Using AND would require an event to meet the threshold in all three fields at the same time. Using OR returns an event when at least one reported human-impact measure reaches the selected threshold.
An empty value does not behave like zero; it simply does not satisfy the numeric condition.
Pan to the filtered results
Use the same interaction as for the previous filter:
The map keeps the user's current scale while moving towards the filtered features.
Test the Group Filter
Try several threshold values, for example:
Observe how the same user input filters Earthquake Events, Tsunami Events and Volcano Events simultaneously.
Query widget
The Query widget retrieves records that satisfy one or more attribute or spatial conditions.
Unlike the Filter widget, Query creates a separate output data source containing the query results. This result set can then be used by other widgets such as Map, List or Table.
Attribute query: strong earthquakes
- Add the Query widget to the application.
- Place it in the left panel below the Filter widget.
- Click New query.
- Use:
as the data source. 5. Name the query:
Configure the attribute filter
Create two expressions connected with AND:
Enable Ask for values for both expressions and use labels such as:
For example:
returns strong earthquakes recorded from the selected year onwards.
Configure the results
Under Results, configure the result card so that each record is easy to identify.
For example, use:
Location Nameas the heading,Year,Country,Mag,- optionally
Focal Depth (km)andDeaths.
Use:
Show query results on the map
Open the Action tab and configure:
When the query runs, the returned records are displayed as a separate result set in the map.
This demonstrates an important difference between Query and Filter:
Filter → modifies the current view of an existing data source
Query → creates a new output data source containing the results
Pan to the selected result
Add another action:
Selecting an earthquake in the Query results moves the map towards that event while preserving the current map scale.
Test the query
Try:
Verify that:
- a result list is created,
- the returned features appear in the map,
- selecting one record pans the map towards it.
Spatial query: eruptions in a selected area
Create a second query using the volcanic eruption layer.
- In the Query widget, click New query.
- Use:
as the data source. 3. Name the query:
This query will combine a spatial filter with an attribute filter.
Configure the spatial filter
Enable Spatial filter and allow the user to define the query area interactively in the map.
Use drawing tools such as:
- Rectangle
- Polygon
Use the spatial relationship:
The query will return eruption events located inside the geometry drawn by the user.
Add the VEI attribute filter
Add an attribute expression:
Configure the value as:
- Source type: Unique
- Ask for values: On
- Input style: Dropdown
- Label:
VEI
The complete query therefore combines two conditions:
For example:
Find all eruption events with VEI 5 inside a polygon drawn around Southeast Asia.
Configure the results
Use a result card that includes useful eruption attributes, for example:
- event or volcano name,
Country,Year,VEI,Deaths,- optionally elevation or volcano type.
Use:
because the purpose of the query is to explore a set of eruption events within the selected area.
Show results on the map
Configure:
and:
The query results become a separate output data source and are displayed in the map.
Four filtering workflows
At this point, the application demonstrates four different ways of limiting or retrieving data:
Tsunami Filter
: Cascading attribute filter using Country, Location Name and Maximum Water Height.
Human Impact Threshold
: Group Filter applied simultaneously to Deaths, Missing and Injuries across all three event layers.
Earthquakes Query
: Attribute query combining Year and Magnitude.
Eruptions Query
: Spatial query combined with a categorical VEI filter.
Near Me widget
The Near Me widget performs distance-based spatial analysis around a location selected by the user.
In this application, the user will click anywhere in the map, define a search distance and find nearby:
- earthquake events,
- tsunami events,
- volcanic eruption events.
This introduces a different type of interaction than the previous filters and queries: instead of filtering by attributes or a manually drawn polygon, the application performs a proximity analysis around a selected location.
Add the Near Me widget
- Add the Near Me widget to the application.
- Connect it to the existing Map widget.
- Use:
- Allow the user to define the location using a Point.
- Set a default search distance such as:
- Enable Distance settings so that the search radius can be changed interactively.
The basic workflow is:
Configure analysis layers
If the widget displays:
no analysis has yet been assigned to the map layers.
Open the Analysis section and add three analyses.
Earthquake Events
Configure:
- Layer:
Earthquake Events - Analysis type:
Proximity - Label:
Earthquakes - Display field: a suitable event or location name
Tsunami Events
Configure:
- Layer:
Tsunami Events - Analysis type:
Proximity - Label:
Tsunamis - Display field:
Location Name
Volcano Events
Configure:
- Layer:
Volcano Events - Analysis type:
Proximity - Label:
Eruptions - Display field: a suitable volcano or event name
The Near Me configuration should now follow this logic:
Each Proximity analysis returns all features located within the selected distance.
Configure the results
In the Results settings, enable useful result information such as:
- analysis icons,
- map symbols,
- approximate distance.
You can also enable:
so that the map temporarily displays only the events returned by the Near Me analysis.
Test the analysis
Try several locations and search distances, for example:
Japan → 500 km
Indonesia → 500 km
Iceland → 300 km
Southern Italy → 300 km
West Coast of North America → 1000 km
Compare how the number and combination of event types changes between locations.
Add a Summary analysis
Near Me can also summarise numeric attributes of the features found within the search area. This is more than a list of nearby events: it creates a small spatially defined statistical overview.
Add another analysis:
- Layer:
Earthquake Events - Analysis type:
Summary - Label:
Earthquake summary
Under Add Summary, configure several statistics, for example:
The result answers questions such as:
How many earthquake events are recorded within 500 km of this location?
What is their average and maximum magnitude?
What is the total reported number of deaths?
The Near Me workflow can therefore combine detailed and aggregated results:
Selected location + search distance
│
├── Proximity → individual nearby events
└── Summary → statistics for nearby events
Summary statistics
Summary analysis can calculate COUNT, SUM, AVERAGE, MIN and MAX over numeric fields.
Missing values remain missing and should not be interpreted as zero. For example, SUM(Deaths) summarises the reported numeric values available in the selected result set.
Near Me output
Near Me creates output data sources for the analysis results.
These result sets can later be connected to other widgets, such as a Table, if a more detailed workflow is needed.
Add Data widget
Experience Builder can also be extended with the Add Data widget. It allows users to add additional contextual datasets to the running application, for example from ArcGIS content, a URL or a supported local file.
This can turn a predefined application into a more flexible working web GIS client, because users can temporarily combine the prepared NOAA event layers with other contextual data.
For this practical, the widget is optional and does not need to be configured in detail.
Possible extension
Try adding a contextual layer such as tectonic plate boundaries, administrative boundaries or another publicly available dataset and compare it with the natural hazard events.
What have we built?
The final Experience Builder application demonstrates several different ways of interacting with the same spatial data:
Web Map
│
├── Filter
│ └── cascading tsunami filter
│
├── Group Filter
│ └── human impact threshold across all event layers
│
├── Query
│ ├── attribute query → earthquakes
│ └── spatial + attribute query → eruptions
│
└── Near Me
├── Proximity → nearby events
└── Summary → statistics for nearby earthquakes
The important distinction is that the widgets do not all solve the same problem:
- Filter changes the currently available features in an existing data source.
- Group Filter applies one user-defined condition across several compatible layers.
- Query creates a separate result set based on attribute or spatial conditions.
- Near Me performs distance-based spatial analysis around a selected location.
- Add Data can extend the application with additional contextual datasets.
Final application
Your Natural Hazard Explorer should contain:
- the NOAA Web Map with the custom VTSE basemap,
- a cascading tsunami Filter,
- a Human Impact Group Filter across all three event layers,
- an earthquake attribute Query,
- an eruption spatial + VEI Query,
- a Near Me proximity analysis for all three event types,
- an earthquake Summary analysis in Near Me.
Test the application in Live view and verify that the individual widgets interact with the map and data as expected.