In the June update of ArcGIS Online, we introduced the ability to save the results of the Join Features analysis tool as a hosted feature layer view. This allows you to keep the join results up to date as the original data changes. With the latest release of ArcGIS Online, we have added more exciting capabilities to the Join Features tool. Let’s take a look.
New additions to Join Features
Before we dive into some practical examples here are the highlights:
- For all attribute-based joins, results can be saved as hosted feature layer views
- Statistics can now be calculated for date fields
- One-to-one attribute joins now have more control over what record is kept
Just a note those last two bullets work whether you save the results to a view or to a new hosted feature layer.
What does that really mean?
While all of that might sound a bit geeky, and maybe even uneventful on the surface, it enables you to create some pretty interesting visualizations for your data without much work and is incredibly powerful for joining together related data.
A long-standing request from users is to make it easier to render data based on information in related records. Now you have many more options for doing just that. This workflow shines in scenarios when you are trying to gain a better understanding of periodic measurements related to a feature. Some common examples are:
- Asset inspections (hydrants, value maintenance)
- Sampling locations (soil chemistry, species counts)
- Monitoring stations (groundwater, stream gauges)
If you are only interested in a specific statistic for a numeric or date field, you can quickly join the data together to get what you need. For example, you can calculate the last inspection date or last time a measurement was taken. The statistics approach works great if you only need the value and not additional information about the inspection or sampling program.
If you want to know more details about that most recent inspection or water well, we’ve got that covered too. To help illustrate this, let’s take a simple example using some publicly available groundwater data from the Department of Water Resources in California. After publishing the stations and measurements data, we can start to understand things better. When joining data using the one-to-one option you can now control what feature is kept (when you have multiple records per feature) by providing a condition based either on a date field or numeric field. This allows you to join data together in a single layer that shows information about the target layer plus information about a specific row in the join table.
Doing that also allows you to show all the information together in one seamless pop-up, creating a better experience for the end user viewing and working with the map.
Working with water well records
In this first example we are going to join the well and water level data together and calculate some summary statistics per well. After we’ve summarized the data, we can use Arcade to create a new visualization that looks at the difference between the historical high and low water levels. This will help us better understand where in San Bernardino county water levels have remained stable over time. To make a more accurate map, we’ve also filtered out stations where there was only one measurement and used smart mapping to size the features based on the number of measurements.
The result is a simple map with a single layer that starts to help your audience understand what’s going on with the data.
Using the same data, we could pull together a few more maps. Another visualization might be centered around the question: What is the lowest the water table has been, and when did that occur? This time when we join the data, we’ll choose to keep the record with the highest depth-to-water measurement at each station. You can also bring in clustering to make the data easier to understand when the map’s zoomed out. This is one step in helping us understand when some areas may have been at their driest.
And finally, what if we just want a snapshot of the most recent measurements for each station? Using the Join Feature tool, we can join the data together and only keep the most recent measurement per station. Because we want to exclude stations with old measurements after creating the view, we can apply a filter to only show measurements within the last 60 days. Using a filter based on a relative date and time, ensures the map will automatically update to show the correct information based on the current date. And as we append more data in the future, the map will update accordingly.
Just a note
The ability to join data together isn’t limited to just data in related records. You can join two layers together and save the results as a view if they are separate hosted feature layers (like the example above). You do, however, need to be the owner of both layers to save it as a view.
If you’re saving the results as a view, the data automatically updates when the original data changes, but you may find with larger datasets, displaying all that information dynamically as view may not have the performance you desire for your application. In those cases, choose to save the results as a copy instead of a view.
Using the Join Features analysis tool in conjunction with views in ArcGIS Online allows you to create dynamic maps that help you visualize and answer important questions such as:
What are my historical highs and lows and when did they occur?
When were my assets last inspected and what were the results?
When you combine the results with Arcade expressions, filters, and smart mapping, you can create simple and compelling visualizations for your audiences. One last tip: after you’ve settled on your visualization, don’t forget to take the time to tidy up your pop-ups and tailor them for your users.
As always, you can find more documentation about Join Features in the ArcGIS Online web help.