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, all of which are also available in Map Viewer. You can also add custom geoprocessing tools from your ArcGIS organization and tools published with ArcGIS Notebooks.
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.
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.
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.
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
Running custom geoprocessing tools does not require privileges.
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:
-
Click the edit button to rename the tool
-
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 parameter. For some types of parameters (for example, GPFeatureRecordSetLayer and GPString), additional settings appear. You may be able to allow end users to export results, add result layers to the connected map automatically, or define the symbology of the result layer. Check the Ignore this output box to remove that output from the results.
-
Option—Configure additional general settings for the tool.
-
Show tool help link—Provide a link to help documentation for your custom tool. By default, the widget reads the tool's service
htm
. -
Message level—Geoprocessing tools can return many different kinds of error, warning, and status messages. Choose which kinds of messages you want the tool to give the user.
- None—The tool returns no geoprocessing messages. The tool only indicates whether the analysis was successful and shows the amount of time taken to run the tool.
- Error—The tool only returns error messages to the client.
- Warning—The tool returns all error and warning messages to the client. This is the default.
- Info—The tool returns all messages related to the tool to the client.
-
-
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. You can read more about every tool in Map Viewer documentation.
Category | Tool | Type | Description |
---|---|---|---|
Summarize data | Aggregate Points | Feature analysis | Calculates the total number of point features within designated areas and any specified statistics for the points within the areas. |
Summarize data | Join Features | Feature analysis | Adds attributes from one layer to another based on specific spatial and attribute relationships. |
Summarize data | Summarize Center and Dispersion | Feature analysis | Finds the central feature, central tendency and standard derivational ellipse of a set of features. |
Summarize data | Summarize Nearby | Feature analysis | Finds features that are within a specified distance of features in the input layer using a line distance or travel mode. |
Summarize data | Summarize Within | Feature analysis | Calculates statistics in areas where an input layer overlaps a boundary layer. |
Summarize data | Zonal Statistics | Raster analysis | Summarizes the values of a raster within the zones of another dataset. |
Summarize data | Zonal Statistics as Table | Raster analysis | Summarizes the values of a raster within the zones of another dataset and reports the results as a table. |
Find locations | Create Viewshed | Feature analysis | Uses the Esri Elevation Analysis service to identify areas that are visible from specified observer points. |
Find locations | Create Watersheds | Feature analysis | Uses a hosted digital elevation model (DEM) to create water catchment areas. |
Find locations | Choose Best Facilities | Feature analysis | Finds the set of facilities that will best serve demand from surrounding areas. |
Find locations | Find Attributes and Location | Feature analysis | Creates a new layer of the features or parts of features that meet specified spatial or attribute criteria. |
Find locations | Find Centroids | Feature analysis | Creates point features that represent the geometric center (centroid) of multipoint, line, and polygon features. |
Find locations | Find Similar Locations | 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. |
Find locations | Locate regions | Raster analysis | Identifies the best regions in the input raster that meet specified size requirements and spatial constraints. |
Find locations | Trace Downstream | Feature analysis | Uses a hosted digital elevation model (DEM) to trace downstream flow paths. |
Enrich data | Enrich Layer | 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 | Calculate Composite Index | Spatial statistics | Combines multiple numeric variables to create a single index. |
Analyze patterns | Calculate Density | 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. |
Analyze patterns | Calculate Density (Raster) | 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. |
Analyze patterns | Find Hot Spots | 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. |
Analyze patterns | Find Outliers | Feature analysis | Identifies statistically significant hot spots, cold spots, and spatial outliers using the Anselin Local Moran's I statistic. |
Analyze patterns | Find Point Clusters | Feature analysis | Identifies clusters of point features from surrounding noise based on their spatial distribution. |
Analyze patterns | Interpolate Points | Feature analysis | Predicts values at new locations based on values measured at a set of point locations. |
Analyze patterns | Interpolate Points (Raster) | Raster analysis | Takes point data with values at each point and uses an interpolation method, that accounts for the error in estimating the underlying semivariogram through repeated simulations, to produce rasters of predicted and prediction error values. |
Use proximity | Calculate Travel Cost | Feature analysis | Measures the travel time or distance between pairs of points using either straight lines or network-based travel modes. |
Use proximity | Create Buffers | Feature analysis | Creates an area that extends a specified distance around each input point, line, or polygon feature. |
Use proximity | Distance Accumulation | 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. |
Use proximity | Distance Allocation | 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. |
Use proximity | Find Closest | Feature analysis | Uses either a line distance or a travel mode to measure between input features and near features. |
Use proximity | Generate Travel Areas | 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. |
Use proximity | Optimal Path as Line | Raster analysis | Calculates the path from destinations to the optimal source as a line. |
Use proximity | Optimal Path as Raster | Raster analysis | Determines the optimal raster path from destinations to sources. |
Use proximity | Optimal Region Connections | Raster analysis | Calculates the optimal connectivity network between two or more input regions. |
Use proximity | Plan Routes | Feature analysis | Determines how a fleet of vehicles can visit a set of stops in the least amount of time. |
Manage data | Convert Feature to Raster | Raster analysis | Converts features to a raster. |
Manage data | Convert Raster to Feature | Raster analysis | Converts a raster to point, line, or polygon features. |
Manage data | Dissolve Boundaries | Feature analysis | Finds polygons that overlap or share a common boundary and merges them to form a single polygon. |
Manage data | Extract Data | 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. |
Manage data | Generate Tessellations | Feature analysis | Creates a grid of cells with an area and shape that cover a specified extent. |
Manage data | Merge Layers | Feature analysis | Copies features from two layers of the same feature type (point, line, or polygon) into a new layer. |
Manage data | Nibble | Raster analysis | Replaces cells of a raster corresponding to a mask with the values of the nearest neighbor. |
Manage data | Overlay Layers | Feature analysis | Combines two layers into a single layer using one of three methods: Intersect, Union, or Erase. |
Manage data | Sample | Raster analysis | Extracts cell values from all of the input rasters at each input feature location. |
Analyze terrain | Derive Continuous Flow | Raster analysis | Generates a raster of accumulated flow into each cell from an input surface raster with no prior sink or depression filling required. |
Analyze terrain | Derive Stream as Line | Raster analysis | Generates stream line features from an input surface raster with no prior sink or depression filling required. |
Analyze terrain | Derive Stream as Raster | Raster analysis | Generates a stream raster from an input surface raster with no prior sink or depression filling required. |
Analyze terrain | Fill | Raster analysis | Fills sinks and peaks in a surface raster to remove small imperfections in the data. |
Analyze terrain | Flow Accumulation | Raster analysis | Generates a raster of accumulated flow into each cell from a flow direction raster. |
Analyze terrain | Flow Direction | 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. |
Analyze terrain | Flow Distance | Raster analysis | Calculates the horizontal or vertical downslope distance from each cell to the stream into which they flow. |
Analyze terrain | Geodesic Viewshed | Raster analysis | Identifies the locations on a raster surface that are visible to the input observer locations. |
Analyze terrain | Stream Link | Raster analysis | |
Analyze terrain | Surface Parameters | Raster analysis | Calculates parameters of a raster surface such as aspect, slope, and curvature using geodesic methods. |
Analyze terrain | Watershed | Raster analysis | Determines the contributing area above a set of cells in a raster. |
Use deep learning | Classify Objects Using 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. |
Use deep learning | Classify Pixels Using Deep Learning | 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. |
Use deep learning | Detect Change Using Deep Learning | Raster analysis | Runs a trained deep learning model to detect change between two raster layers. |
Use deep learning | Detect Objects Using Deep Learning | Raster analysis | Uses a deep learning model to identify and locate objects in an imagery layer. |
Use multidimensional analysis | Aggregate Multidimensional Raster | Raster analysis | Generates a multidimensional imagery layer by combining existing multidimensional variables along a dimension. |
Use multidimensional analysis | Find Argument Statistics | 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. |
Use multidimensional analysis | Generate Multidimensional Anomaly | Raster analysis | Computes the anomaly for each slice in an existing multidimensional raster to generate an new multidimensional imagery layer. |
Use multidimensional analysis | Generate Trend Raster | Raster analysis | Estimates the trend for each pixel along a dimension for one or more variables in a multidimensional imagery layer. |
Use multidimensional analysis | Multidimensional Principle Components | 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. |
Use multidimensional analysis | Predict Using Trend Raster | 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 | Data type | Input | Output | Notes |
---|---|---|---|---|
Basic | GPBoolean | Output displays as a string. | ||
Basic | GPDouble | Output displays as a string. | ||
Basic | GPLong | Output displays as a string. | ||
Basic | GPString | Output displays as a string. | ||
Basic | GPLinearUnit | Output displays as a string. | ||
Basic | GPFeatureRecordSetLayer | Output as a feature layer which can be used by other widgets. | ||
Basic | GPDate | Output displays as a string. | ||
Basic | 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. | ||
Basic | GPDataFile | Output is a file link. | ||
Basic | Field | Output displays as a string. | ||
Basic | GPRasterDataLayer | Output is a raster service URL. | ||
Basic | GPArealUnit | Output displays as a string. | ||
GPMultiValues | GPBoolean | Output displays as a string. | ||
GPMultiValues | GPDouble | Output displays as a string. | ||
GPMultiValues | GPLong | Output displays as a string. | ||
GPMultiValues | GPString | Output displays as a string. | ||
GPMultiValues | GPLinearUnit | Output displays as a string. | ||
GPMultiValues | GPDate | Output displays as a string. | ||
GPMultiValues | GPDataFile | Output is a file link. | ||
GPMultiValues | GPRecordSet | Output is an operable table object. | ||
GPMultiValues | GPRasterDataLayer | Output is a raster service URL. | ||
GPMultiValues | GPFeatureRecordSetLayer | Output is a feature layer which can be used by other widgets. | ||
GPMultiValues | Field | Output displays as a string. | ||
GPMultiValues | GPMultiValue:GPArealUnit | Output displays as a string. | ||
GPValueTable | GPBoolean, GPString, GPLong, GPDouble, GPDate, GPLinearUnit | Output displays as a string. | ||
GPValueTable | GPDataFile | Output is a file link. | ||
GPValueTable | GPFeatureRecordSetLayer | Output displays as meta info. | ||
GPValueTable | GPRecordSet | Output displays as meta info. | ||
GPValueTable | 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.
The Analysis widget is the target of the Set as Analysis input data action, which you can configure on the Action tab of other widgets' settings. You can use this data action to select a feature with another widget and make that feature the input for one of the built-in feature analysis tools or a custom geoprocessing tool. This data action supports features from feature layers, dynamic imagery layers, and tiled imagery layers.
The following widgets support the Set as Analysis input data action: