ArcGIS Blog

Developers

ArcGIS Online

Introducing the Spatial analysis services guide for developers

By Mark Torrey and Allan Laframboise

Earlier this year we released the Spatial analysis services guide for developers. This article provides an inside look at the guide, who it is for, the different types of spatial analysis applications you can build, and some tips to help you use the guide.

What is spatial analysis?

Spatial analysis is the process of discovering patterns, finding trends, and gaining insights into your geospatial data.

As a developer, you can perform spatial analyses interactively with tools such as Map Viewer or ArcGIS Pro to prototype applications you want to build, or you can just build the applications with client-side APIs and services such the ArcGIS Maps SDKs, scripting languages, spatial analysis service, and raster analysis service.

You can build spatial analysis applications to answer geospatial problems such as:

  • Which parcels are within the 100-year floodplain?
  • Where are the high and low clusters of traffic crash incidents?
  • Find underserved areas by evaluating distances to healthcare facilities.
  • Identify critical conservation areas by analyzing vegetation cover, water sources, and human encroachment.
  • Based on population density and drive times, where is the best place to build a new store location?
  • Are all hydrants within a certain distance of the street?
  • How many trailheads are within a half mile of my campsite?

This developer guide focuses on Geometry analysisFeature analysis, Raster analysisand 3D visual analysis.

Who is the guide for?

The spatial analysis services guide is for both new and experienced developers who have ArcGIS Location Platform or ArcGIS Online, although many of the patterns apply to developers using ArcGIS Enterprise with their own spatial analysis services.

If you are new to developing with ArcGIS, the Get started page contains all the information you need to get an account, select a type of authentication, and find resources to perform different types of analysis.

Spatial analysis services guide getting started page

Tip: The fastest way to find content and code in the guide is to use “Search topics”. 

What is in the guide?

Inside the guide, you will find how-to pages, conceptual topics, APIs, spatial analysis services, code examples, tutorials, and more. The guide covers four types of spatial analysis.

Geometry analysis

Geometry analysis uses the ArcGIS Maps SDKs to perform client-side spatial operations with points, polylines, and polygons. The input is a geometry or collection of geometries and the output is a Boolean or a new geometry.

The operations include the following:

Below is an example of performing an overlap spatial relationship using the ArcGIS Maps SDKs:

overlaps spatial relation code sample

Tip: The code examples and tutorials are available for ArcGIS Maps SDKs and scripting languages.

Feature analysis

Feature analysis uses scripting APIs and tools to perform server-side geometric and analytic operations on large feature datasets with the spatial analysis service. All operations are job transactions. The input is typically feature data and the output results in new feature data. 

The types of feature analysis are grouped by functionality, such as:

Below is an example of performing a hot spot feature analysis using the ArcGIS API for Python:
Hot spot feature analysis example code

Tip: The formatted REST (cURL & HTTP) requests are available for each step required to make a request. You can also run the examples in Postman.

Raster analysis

Raster analysis uses scripting APIs, ArcGIS Maps SDKs, and tools to perform server-side geometric and analytic operations on raster data with the raster analysis service. All operations are job transactions. The input is typically existing raster data and the output results in the creation of a new raster dataset.

Raster analysis can be performed as a single operation or chained together using raster functions.

Below is an example of performing a raster function analysis using the ArcGIS scripting APIs:

ArcGIS REST JS Code example of performing an analysis using ArcGIS REST JS

Tip: The formatted REST (cURL & HTTP) requests are available for each step required to make a request. You can also run the examples in Postman.

3D visual analysis

3D visual analysis uses the ArcGIS Maps SDKs to perform client-side calculations to display spatial information derived from terrain, buildings, and other 3D objects within a scene.

The types of 3D visual analysis include:

Below is an ArcGIS Maps SDK for .NET code example of performing a line of sight 3D visual analysis.

Line of sight 3d visual analysis using the ArcGIS Maps SDK

Tip: The code examples and tutorials are available for ArcGIS Maps SDKs.

Learn how to build spatial analysis apps

The How to pages in the guide show you the high-level steps required to perform each type of analysis. Go to these pages to get an overview of how to implement each type of analysis and the APIs and tools required for each. 

Spatial analysis services guide How-to page

Tutorials

The tutorials show you how to perform different types of analysis programmatically or by using tools such as Map Viewer and ArcGIS Pro. Go to the tutorials to get step-by-step instructions and everything you need to perform the analysis.

Feature analysis tutorials pages

Tip: If you are new to performing spatial analysis, it is recommended to follow the tools tutorials first, and after achieving the desired results, write the code to perform the analysis programmatically.

Ready to start building apps?

We hope you found this overview of the guide and tips helpful! To get started go to the Get started page and start building spatial analysis applications. 

In future blogs, we will explore in greater depth how to use various APIs to build spatial analysis applications. 

We want your feedback!

Please take our survey to let us know if the guide was helpful and how we can improve it.

spatial analysis feedback survey

Share this article

Subscribe
Notify of
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments