The Analysis widget allows you to add spatial analysis tools, raster functions, and geoprocessing tools to an app. Spatial analysis tools perform fundamental GIS operations, such as creating viewsheds, creating buffers, converting rasters to features, and routing. Raster functions perform individual operations on raster data, such as converting to grayscale and classifying. Spatial analysis is a type of geoprocessing, but geoprocessing also includes tools that perform data management operations such as sorting, merging, and appending spatial data. You can add 64 built-in spatial analysis tools and more than 100 built-in raster functions, most of which are also available in Map Viewer. You can also add custom geoprocessing tools from your ArcGIS organization.
Examples
Use this widget to support app design requirements such as the following:
- Many storm drains are connected to lakes, rivers, and oceans, making anything entering a drain a potential pollutant downstream. You want to provide a tool (Create Watersheds) that can help determine where the water entering a storm drain originated.
- A development company plans to construct a new mixed-use development in a city. The development must be located within a quarter mile of shops, restaurants, and a light rail stop. You want to provide a tool (Create Buffers) that can determine if potential sites fit this criteria.
- Foresters need to map tree disease transmission. You want to provide a tool (Find Hot Spots) that can identify regions with statistically significant amounts of diseased or healthy trees.
Usage notes
To use any of the built-in tools, the Analysis widget must be connected to a Map widget. However, you do not need to connect a Map widget if you only add custom tools that do not require layer input.
When you include this widget in an app, the run time widget panel has two tabs. The Tools tab lists any tools you add in the widget's settings. The History tab logs all tools the user runs and shows their statuses (for example, Running, Complete, Cancelled). From the history tab, you can click the options button next to each tool to view details, open the tool, or remove the tool. Click View details to view the results of that analysis. Click Open tool to view a tool's configuration window with the same parameters you previously used.
Web maps keep track of their analysis history, including successful and unsuccessful analyses run outside of Experience Builder (such as in Map Viewer). You can import a web map's analysis history in the widget's settings. Any tools imported from the map's analysis history appear at the top of the History tab and are unremovable at run time.
Note:
You can only import past spatial analyses that involved an Esri built-in tool. The widget currently does not support importing custom tool analyses from a web map's analysis history.
Parameters
After opening a tool, the user fills in the tool's parameters, which are a set of options or settings, such as the input layer to process and where to save the output dataset. Every tool has a unique set of parameters, which can be required or optional. Red circles indicate if a parameter is required. The information button next to each tool parameter offers more information about each parameter.
Note:
Currently the widget does not support map service layers as input layers.
Tools have both input and output parameters. Every built-in tool requires the user to specify at least one input layer to be analyzed. There are two ways to specify input data:
- Select layers from the connected Map widget. If the Map widget contains a web map, its layers are available to choose.
- Browse for layers in My Content, ArcGIS Online, or an organization's portal.
Note:
You can only browse for input layers with built-in tools, not custom geoprocessing tools.
The output parameters are the name of the result layer and the name of the folder in My Content where the result is saved.
The optional parameters under Environment settings offer additional control over a tool's results. For example, you can specify an output coordinate system or limit an analysis to a specific geographic extent.
Every geoprocessing tool also has a unique set of parameters. A tool creator can choose to use over 100 parameter data types to supply inputs and return outputs, but not all are supported by Experience Builder. View a full list of ArcGIS Experience Builder-supported geoprocessing data types.
Credits
This widget's built-in spatial analysis tools consume credits. Every tool has an Estimate credits button, which you can use to see how many credits an analysis will consume before you run it, located above the Run and Back buttons. The button indicates whether an analysis does not consume credits.
Licensing requirements
To use the Analysis widget, the user must be signed in with an ArcGIS account that has privileges to perform analysis. If you include the Analysis widget in an app and share the app publicly, the widget prompts users to sign in to an account with privileges.
To use raster analysis tools and raster functions, you must have ArcGIS Image for ArcGIS Online. Your organization administrator can grant you the required privileges to perform analysis.
Learn more about licensing requirements for spatial analysis
Settings
The Analysis widget includes the following settings:
- Select a Map widget—Select a Map widget. Click the import button to import spatial analysis tools from the connected web map's analysis history.
- Add tools—Add tools to the widget panel.
- Spatial analysis tool—Add one or more of the 64 built-in spatial analysis tools.
- Raster function—Add one or more of the built-in raster functions.
- Custom web tool—Add a custom geoprocessing tool. You can add geoprocessing tools as utility services.
- Tools—Any tools you add appear here. You can hover over individual tools to reveal two buttons, one for opening the tool's configuration panel and one for removing the tool. You can click and drag to reorder tools.
Built-in spatial analysis tools have the following settings:
- Output—For every tool, you can choose to add result layers to the map automatically once an analysis is complete and allow the user to export results. If you turn on Allow export results, the Export button is available on the View details menu on the History tab.
- Option—For every tool, if you import spatial analysis from the connected web map's analysis history and there is a past instance of the tool, the Preset tool from a map history setting appears. Turn on this setting to preset the tool with the parameters from that past analysis.
Custom geoprocessing tools have the following settings:
- Input—All of the tool's input parameters are listed here. You can provide a run time label for each input parameter. Depending on the type of parameter (for example, GPFeatureRecordSetLayer, GPDate), you may be able to select input methods, provide default values, and more. View a full list of supported data types in the table below.
- Output—All of the tool's output parameters are listed here. You can provide a run time label for each output parameters. Depending on the type of parameter (for example, GPFeatureRecordSetLayer, GPString), you may be able to allow the end user to export results or add result layers to the connected map automatically. Check the Ignore this output box to remove that output from the results.
- Option—Provide help documentation for your custom tool. By default, the widget reads the tool's service htm.
- Display tool history from map—Display tools from the map's analysis history in the History tab at run time.
Spatial analysis tools
The Analysis widget's built-in spatial analysis tools include feature analysis tools and raster analysis tools.
- Feature analysis is performed on vector data, which is coordinate-based data that represents geographic features using points, lines, and polygons. You can use feature analysis tools to summarize features based on geographic location, measure distances around or between features, and quantify spatial patterns.
- Raster analysis is performed on raster data, which consists of a matrix of cells (or pixels) organized into rows and columns (or a grid) where each cell contains a value representing information, such as temperature or elevation. Rasters may be digital aerial photographs, satellite imagery, digital pictures, or scanned maps. You can identify raster analysis tools by the raster tool icon .
The following table describes the built-in analysis tools that the widget currently supports. Click a tool name to view its documentation.
Category | Tool | Type | Description |
---|---|---|---|
Summarize data | Feature analysis | Calculates the total number of point features within designated areas and any specified statistics for the points within the areas. | |
Feature analysis | Adds attributes from one layer to another based on specific spatial and attribute relationships. | ||
Feature analysis | Finds the central feature, central tendency and standard derivational ellipse of a set of features. | ||
Feature analysis | Finds features that are within a specified distance of features in the input layer using a line distance or travel mode. | ||
Feature analysis | Calculates statistics in areas where an input layer overlaps a boundary layer. | ||
Raster analysis | Summarizes the values of a raster within the zones of another dataset. | ||
Raster analysis | Summarizes the values of a raster within the zones of another dataset and reports the results as a table. | ||
Find locations | Feature analysis | Uses the Esri Elevation Analysis service to identify areas that are visible from specified observer points. | |
Feature analysis | Uses a hosted digital elevation model (DEM) to create water catchment areas. | ||
Feature analysis | Finds the set of facilities that will best serve demand from surrounding areas. | ||
Feature analysis | Creates a new layer of the features or parts of features that meet specified spatial or attribute criteria. | ||
Feature analysis | Creates point features that represent the geometric center (centroid) of multipoint, line, and polygon features. | ||
Feature analysis | Evaluates the similarity between candidate locations and a reference location based on a set of criteria and ranks the candidate locations from most to least similar. | ||
Raster analysis | Identifies the best regions in the input raster that meet specified size requirements and spatial constraints. | ||
Feature analysis | Uses a hosted digital elevation model (DEM) to trace downstream flow paths. | ||
Enrich data | Feature analysis | Supplements point, line, and polygon features with demographic and landscape data from the ArcGIS GeoEnrichment Service or a custom GeoEnrichment service. | |
Analyze patterns | Spatial statistics | Combines multiple numeric variables to create a single index. | |
Feature analysis | Creates a density map (polygon) from point or line features by spreading known quantities of a phenomenon (represented as attributes or the points or lines) across the map. | ||
Raster analysis | Creates a density raster map from point or line features by spreading known quantities of a phenomenon (represented as attributes of the points or lines) across the map. | ||
Feature analysis | Identifies statistically significant spatial clustering of high values (hot spots) and low values (cold spots) or data counts using the Getis-Ord Gi* statistic. | ||
Feature analysis | Identifies statistically significant hot spots, cold spots, and spatial outliers using the Anselin Local Moran's I statistic. | ||
Feature analysis | Identifies clusters of point features from surrounding noise based on their spatial distribution. | ||
Feature analysis | Predicts values at new locations based on values measured at a set of point locations. | ||
Raster analysis | Takes point data with values at each point and uses an interpolation method, which accounts for the error in estimating the underlying semivariogram through repeated simulations, to produce rasters of predicted and prediction error values. | ||
Use proximity | Feature analysis | Measures the travel time or distance between pairs of points using either straight lines or network-based travel modes. | |
Feature analysis | Creates an area that extends a specified distance around each input point, line, or polygon feature. | ||
Raster analysis | Calculates accumulated distance from each cell to input sources, allowing for straight-line distance, cost distance, and true surface distance, as well as vertical and horizontal cost factors. | ||
Raster analysis | Calculates allocation for each cell to input sources based on straight-line distance, cost distance, and true surface distance, as well as vertical and horizontal cost factors. | ||
Feature analysis | Uses either a line distance or a travel mode to measure between input features and near features. | ||
Feature analysis | Uses Esri Service Areas to calculate the area that can be reached within a specified travel time or travel distance along a street network. | ||
Raster analysis | Calculates the path from destinations to the optimal source as a line. | ||
Raster analysis | Determines the optimal raster path from destinations to sources. | ||
Raster analysis | Calculates the optimal connectivity network between two or more input regions. | ||
Feature analysis | Determines how a fleet of vehicles can visit a set of stops in the least amount of time. | ||
Manage data | Raster analysis | Converts features to a raster. | |
Raster analysis | Converts a raster to point, line, or polygon features. | ||
Feature analysis | Finds polygons that overlap or share a common boundary and merges them to form a single polygon. | ||
Feature analysis | Packages layers into datasets that can be used in ArcGIS Pro, Microsoft Excel, and other products. The tool creates an item in your content containing the data from the layers. You can then download the data from the item. | ||
Feature analysis | Creates a grid of cells with an area and shape that cover a specified extent. | ||
Feature analysis | Copies features from two layers of the same feature type (point, line, or polygon) into a new layer. | ||
Raster analysis | Replaces cells of a raster corresponding to a mask with the values of the nearest neighbor. | ||
Feature analysis | Combines two layers into a single layer using one of three methods: Intersect, Union, or Erase. | ||
Raster analysis | Extracts cell values from all of the input rasters at each input feature location. | ||
Analyze terrain | Raster analysis | Generates a raster of accumulated flow into each cell from an input surface raster with no prior sink or depression filling required. | |
Raster analysis | Generates stream line features from an input surface raster with no prior sink or depression filling required. | ||
Raster analysis | Generates a stream raster from an input surface raster with no prior sink or depression filling required. | ||
Raster analysis | Fills sinks and peaks in a surface raster to remove small imperfections in the data. | ||
Raster analysis | Generates a raster of accumulated flow into each cell from a flow direction raster. | ||
Raster analysis | Creates a raster of flow direction from each cell to its downslope neighbor, or neighbors, using the D, Multiple Flow Direction (MFD), or D-Infinity (DINF) method. | ||
Raster analysis | Calculates the horizontal or vertical downslope distance from each cell to the stream into which they flow. | ||
Raster analysis | Identifies the locations on a raster surface that are visible to the input observer locations. | ||
Raster analysis | |||
Raster analysis | Calculates parameters of a raster surface such as aspect, slope, and curvature using geodesic methods. | ||
Raster analysis | Determines the contributing area above a set of cells in a raster. | ||
Use deep learning | Raster analysis | Runs a deep learning model on an imagery layer to produce a feature layer or table in which each input object is classified. | |
Raster analysis | Uses a deep learning model to classify the pixels in an imagery layer according to a defined list of labels indicating different classes. | ||
Raster analysis | Runs a trained deep learning model to detect change between two raster layers. | ||
Raster analysis | Uses a deep learning model to identify and locate objects in an imagery layer. | ||
Use multidimensional analysis | Raster analysis | Generates a multidimensional imagery layer by combining existing multidimensional variables along a dimension. | |
Raster analysis | Extracts the dimension value or band index at which a given statistic is attained for each pixel in a multidimensional or multiband imagery layer. | ||
Raster analysis | Computes the anomaly for each slice in an existing multidimensional raster to generate an new multidimensional imagery layer. | ||
Raster analysis | Estimates the trend for each pixel along a dimension for one or more variables in a multidimensional imagery layer. | ||
Raster analysis | Transforms the multidimensional imagery layers into a reduced number of components that account for the variance of the data, so that spatial and temporal patterns can be readily identified. | ||
Raster analysis | Computes a forecasted multidimensional imagery layer using the output trend imagery layer created by the Generate Trend Raster tool. |
Raster functions
Raster functions are operations that perform imagery- and raster-related tasks. You can identify them by the raster function icon . Users can preview the results of raster functions at run time.
The Analysis widget supports more than 100 raster functions. You can read more about every function in Map Viewer documentation.
Geoprocessing data types
Every geoprocessing tool has a unique set of parameters, which are the set of options or settings that the user configures at run time, such as the input data to process and output dataset. Geoprocessing tools can work with many different types of data as inputs and outputs. However, Experience Builder currently only supports some data types. The following table lists the types of data that the Analysis widget currently supports as input and output parameters.
Data type | Input | Output | Notes | |
---|---|---|---|---|
Basic | GPBoolean | Output displays as a string. | ||
GPDouble | Output displays as a string. | |||
GPLong | Output displays as a string. | |||
GPString | Output displays as a string. | |||
GPLinearUnit | Output displays as a string. | |||
GPFeatureRecordSetLayer | Output as a feature layer which can be used by other widgets. | |||
GPDate | Output displays as a string. | |||
GPRecordSet | Input can only be from a layer selection, not a .json or .txt file. Output is a table object which can be displayed in a Table widget. | |||
GPDataFile | Output is a file link. | |||
Field | Output displays as a string. | |||
GPRasterDataLayer | Output is a raster service URL. | |||
GPMultiValues | GPBoolean | Output displays as a string. | ||
GPDouble | Output displays as a string. | |||
GPLong | Output displays as a string. | |||
GPString | Output displays as a string. | |||
GPLinearUnit | Output displays as a string. | |||
GPDate | Output displays as a string. | |||
GPDataFile | Output is a file link. | |||
GPRecordSet | Output is an operable table object. | |||
GPRasterDataLayer | Output is a raster service URL. | |||
GPFeatureRecordSetLayer | Output is a feature layer which can be used by other widgets. | |||
Field | Output displays as a string. | |||
GPValueTable | GPBoolean, GPString, GPLong, GPDouble, GPDate, GPLinearUnit | Output displays as a string. | ||
GPDataFile | Output is a file link. | |||
GPFeatureRecordSetLayer | Output displays as meta info. | |||
GPRecordSet | Output displays as meta info. | |||
GPRasterDataLayer | Output is a raster service URL. | |||
GPComposite | Option of any basic type | Outputs are the same formats as basic data types. |
Interaction options
The Analysis widget supports data actions, which you can configure on the Action tab of the widget's settings.
Data actions allow the user to perform data processing tasks, such as exporting results, adding results to a map, and viewing results in a table. For example, if you include an Analysis widget and Table widget in an app and turn on the View in table action in the Analysis widget's settings, at run time the user can click View in table to view the results of an analysis in the Table widget.