Skip To Content

Enrich From Multi-Variable Grid

The Enrich From Multi-Variable Grid tool joins attributes from a multivariable grid to a point layer. A multivariable grid is a grid of square or hexagonal bins created with the Build Multi-Variable Grid tool, which compiles information from multiple layers into a single grid of polygons. Metadata from the multivariable grid is used to efficiently enrich the input point features, making it faster than the Join Features GeoAnalytics Tools. This enables you to quickly add a large and diverse collection of information to point data for use in further spatial analysis.

Workflow diagram

Enrich From Multi-Variable Grid

Analysis using GeoAnalytics Tools

Analysis using GeoAnalytics Tools is run using distributed processing across multiple ArcGIS GeoAnalytics Server machines and cores. GeoAnalytics Tools and standard feature analysis tools in ArcGIS Enterprise have different parameters and capabilities. To learn more about these differences, see Feature analysis tool differences.

Example

An analyst for a large water utility has created a multivariable grid using the Build Multi-Variable Grid tool. This multivariable grid contains more than 20 variables that describe utility infrastructure, environmental conditions, demographics, economic activity, and so on, at a 250 foot resolution for the areas serviced by the utility. Each month the analyst receives a new set of water usage data that contains millions of features. The analyst wants to use a linear regression model to study which factors contribute the most to high usage and how these factors have changed from the previous month. Using the Enrich From Multi-Variable Grid tool, the analyst can quickly enrich the new usage data with the variables contained in the multivariable grid so that they can be used as dependent variables when modeling water usage.

Usage notes

The inputs for Enrich From Multi-Variable Grid are a point layer and a multivariable grid layer. The multivariable grid layer must have been created using the Build Multi-Variable Grid tool.

All attributes in the input layer will be included in the result layer.

The layer chosen for the Choose the multi-variable grid to enrich from parameter must be created using the Build Multi-Variable Grid tool and must be a hosted feature layer. Multivariable grids stored in a Big Data File Share are not supported as inputs to this tool.

The Choose the variables to add parameter lists all variables in the multivariable grid that are available to enrich the input point layer. The variables will be included in the result layer as fields in the layer's attribute table. The field values will be null wherever the point features do not intersect the multivariable grid.

ArcGIS API for Python example

The Enrich From Multi-Variable Grid tool is available through ArcGIS API for Python.

This example enriches a layer of crime data with a multivariable grid containing demographic information.

# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_CrimeReports")

# Look through the big data file share for Chicago crimes
crimes = next(x for x in bdfs_search.layers if x.properties.name == "ChicagoCrimes")

# Find the multivariable grid to enrich from
mvg_search_result = portal.content.search("Chicago_MVG", "Feature Layer")
mvg_layer = mvg_search_result[0].layers[0]

# Run the Enrich From Multi-Variable Grid tool
enrich_result = arcgis.geoanalytics.enrich_data.enrich_from_grid(input_layer = crimes, 
   																																																														grid_layer = mvg_layer,
   																																																														output_name = "chicago_crimes_enriched")

# Visualize the sample and extent layers if you are running Python in a Jupyter Notebook
processed_map = portal.map()
processed_map.add_layer(enrich_result)
processed_map

Similar tools

Use Enrich From Multi-Variable Grid to join attributes from a multivariable grid to a point layer. Other tools that may be useful are described below.

Map Viewer analysis tools

To join attributes to a line, polygon, or tabular layer, or to join a layer other than a multivariable grid to a point layer, use the Join Features tool.