How to perform raster analysis with functions

1. Choose function(s)

The first step in performing an analysis is to select one or more functions that you can chain together to perform the analysis.

Click on the table below to learn more about the functions in each group.

GroupUse case
AnalysisPerofrm spatial analysis operations such as change detection, vegetation indices (NDVI), kernal density, weighted overlay, and more.
AppearanceAdjust the visual appearance of raster data such as contrast, brightness, sharpening, pansharpening, and applying color maps or stretches.
ClassificationClassify data into categories based on techniques such as maximum likelihood, region growing, and mean shift segmentation.
ConversionConvert raster data between different color models (RGB, HSV), rasterize features or attributes, compute complex values from rasters, and convert between single-band and multi-band rasters.
CorrectionPerform radiometric and atmospheric corrections on satellite/aerial imagery, adjusting for factors like solar illumination angles, topographic effects, cloud/shadow masking, and atmospheric interference to retrieve accurate surface reflectance values.
Data managementManage and prepare raster data, such as reprojecting, resampling, mosaicking, rasterizing features or attributes, modifying raster properties like bit depth or NoData values.
DistanceCalculate distance metrics like Euclidean, cost, surface, and accumulated distances from while accounting for factors like barriers, surface elevation, and directional cost surfaces.
HydrologyPerform terrain and hydrological analyses on elevation data, such as filling sinks, calculating flow direction, flow accumulation, stream delineation, watershed delineation, and deriving hydrological characteristics like slope, aspect, and curvature.
MathPerform mathematical operations and transformations, such as arithmetic calculations between rasters, trigonometric functions, statistical summaries, and algebraic expressions involving multiple raster bands.
StatisticalCompute summary statistics like minimum, maximum, mean, and standard deviation, calculate zonal statistics based on zones defined by another raster or feature class, and derive statistical measures like percentile values or data ranges.
SurfaceCalculate slope, aspect, curvature, hillshade, viewshed, contours, fill sinks or voids, and derive other topographic parameters using geodesic methods.

2. Create a raster function template

The easiest way to use raster functions is to use the function editor tool. The raster function editor is a visual programming interface that allows you to build and automate raster analysis workflows. It provides a gallery of functions that can be chained together into raster function templates (RFTs). The editor represents the analysis as a diagram, where individual functions are connected in sequence. The output of one function is used as the intput to the next. You can insert raster datasets, constants, variables, and Python functions into the diagram to construct the desired processing chain. Raster function templates can be saved, shared and applied to different to input data to automate the analysis process.

The general process to create a raster function template is as follows:

  1. Sign in to your portal using an ArcGIS Online or ArcGIS Enterprise account.
  2. In your portal, click Content > My content > New item.
  3. In the New item dialog select Raster function template.
  4. Fill out the title, folder, tags, and summary filds.
  5. Click yes to open the "Raster function editor" after the item is created.
  6. Add the functions needed to perform the desired analysis.
  7. click Save.

A new item will be created in your portal.

RasterFunctionEditor

To learn more, go to Raster Function Editor

3. Perform the analysis

You can use tools and APIs to perform an analysis using the item you created above. Regardless of the method you use, they all require user authentication to make requests to the raster analysis service and the transactions need to managed as job requests (long transactions).

The easiest way to programmatically perform an analysis with functions is to use client APIs. These APIs provide authentication classes and simplify the process of making and managing job requests.

The general steps to perform analysis with a raster function template are:

  1. Import the appropriate libraries.
  2. Get the raster analysis service URL from your portal.
  3. Identify the required input for the analysis.
  4. Set the input parameters and make the request
  5. Check the job status and display the results.
ArcGIS Maps SDK for JavaScriptArcGIS Maps SDK for JavaScriptArcGIS API for PythonArcGIS REST JS
Expand
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
          const job = await EsriGeoprocessor.submitJob(analysisURL, jobParams)

          const res = await job.waitForJobCompletion({
            interval:5000,
            statusCallback: (j)=>{console.log(`Job status: ${j.jobStatus}`)}
          })

          if (res.jobStatus === "job-succeeded"){
            const r = await res.fetchResultData("outputRaster")
            const resultLayer = new EsriImageryTileLayer({portalItem: {id: r.value.itemId}})
            map.add(resultLayer)
          }
Expand

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.