You are on page 1of 38

Chapter 8

Spatial analysis and geoprocessing


Instructor
Chapter objectives

• Understand the web-based analysis tools provided in ArcGIS


• Know the collection of variables available from ArcGIS Online
• Understand the basics of ArcGIS Insights
• Create web apps that use ArcGIS Online analysis
• Author and share web tools with ArcGIS Enterprise
• Use web tools in web apps
• Understand the workflow for big data analysis
• Understand ArcGIS Notebooks

Getting to Know Web GIS, fourth edition


Data sources Desktop tools ArcGIS Online / ArcGIS Enterprise Client apps
CSV files Feature layers Ready-to-use apps and
configurable templates
Shapefiles Raster tile layers
Web Configurable app templates
KMLs Vector tile layers maps/
web ArcGIS StoryMaps
File
File geodatabases
geodatabases Scene layers
scenes Experience
Experience Builder/Web
Builder/WebAppBuilder
AppBuilder
Enterprise geodatabases ArcMap Map image layers
ArcGIS Dashboards
Nonspatial data ArcGIS Pro Image layers ArcGIS Insights
Tools ArcGIS Feeds ArcGIS Collector, Survey123,
Photos/Imagery Drone2Map Stream layers Explorer, QuickCapture, Tracker,
Navigator, and Workforce …
Raster function templates ArcGIS Custom web
web tools
tools
ArcGIS AppStudio
Sensor and real-time data CityEngine Standard
Standard tools
tools ArcGIS Earth
Big
Big data
data GeoAnalytics
GeoAnalytics tools/big
tools/big ArcGIS Indoors viewer
data analytic
analytics
… ArcGIS VR 360
Real-time analytics
AuGeo
360 VR Experience

Geometry services
Custom apps
Living Atlas
Atlas of
of the
theWorld
World
ArcGIS API for JavaScript
… ArcGIS Runtime SDKs
ArcGIS
ArcGIS API
API for
forPython
Python
… Getting to Know Web GIS, fourth edition
Web GIS is more than mapping

Understanding and Determining how places Finding the best locations


measuring places are related

Detecting and quantifying Making predictions Directions, routing,


patterns and logistics

Getting to Know Web GIS, fourth edition


Spatial analysis and spatial data science

• Spatial analysis holds great practical value for our personal life and for enterprise operations

• Spatial data science allows analysts to extract deeper insight from data using a comprehensive
set of analytical methods and spatial algorithms, including machine learning and deep learning
techniques

• Web-based spatial analysis allows more users to discover relationships, patterns, and trends in
geospatial data

Getting to Know Web GIS, fourth edition


ArcGIS provides web tools and clients for spatial analysis
Web tools Clients

For standard-sized ArcGIS Map Viewer


Standard tools
data ArcGIS Web AppBuilder
Feature ArcGIS Experience Builder
analysis Insights
For big data in vector
Geoanalytics tools
format ArcGIS Pro
Ready-to-use ArcGIS Notebooks
web tools
Raster ArcGIS API for Python
For raster data
analysis ArcPy
ArcGIS API for JavaScript

Custom Publish toolboxes or Python to ArcGIS
web tools Enterprise as geoprocessing services
Custom analysis
ArcGIS Your python code run in an isolated
Notebooks environment
Getting to Know Web GIS, fourth edition
Compare ArcGIS Enterprise and ArcGIS Online analysis

ArcGIS Enterprise
ArcGIS Online
analysis tools
Ready-to-use tools Custom web tools
Created and hosted by Esri. Comes with software install. Hosted on your To be created and hosted by organizations
Source of tools Ready to use infrastructure. Ready to use

Low. Easy to use Relatively high. Requires knowledge of


Difficulty level ModelBuilder, Python, or other scripts to
create services

Both non-professionals and professionals Professionals who provide web tools or


Target users services

Yes (you can use your own No (you can use the data from ArcGIS Online)
Data provided? data too)

Yes No, unless you are referencing ArcGIS Online No


Cost credits tools and premium content
Costs organizations to purchase, install and
host
Publishers, administrators, and custom accounts with certain privileges Administrators, and publishers (if enabled to
System requirements publish geoprocessing tools)

Getting to Know Web GIS, fourth edition


Standard analysis tools provided by ArcGIS Online and ArcGIS Enterprise

Getting to Know Web GIS, fourth edition


Living Atlas of the World supports ArcGIS Online analysis

Getting to Know Web GIS, fourth edition


Workflow to use ArcGIS Online analysis

Review and
Prepare data Add to map Perform analysis
interpret results

The first two steps are optional if you use only the data provided by ArcGIS Online
Getting to Know Web GIS, fourth edition
Big data

• Datasets that are so large and complex that


traditional data-processing application
software is inadequate to deal with them

Large scale Different forms


of data of data
Volume Variety

Big
data
Velocity Veracity

High speed Uncertainty


of data flow of data http://www.washingtonpost.com/wp-dyn/content/article/2011/02/10
/AR2011021004916.html
Getting to Know Web GIS, fourth edition
Geospatial big data

• Smart sensors
- Electrical meters (AMI), SCADA, UAVs
• GPS telemetry
- Vehicle tracking, smartphone data collectors, workforce tracking, geofencing
• Internet data
- Social media streams, web log files, customer sentiment
• Sensor data
- Weather sensors, stream gauge measurements, heavy equipment monitors
• Imagery
- Satellites, frame cameras, drones

Getting to Know Web GIS, fourth edition


ArcGIS GeoAnalytics Server: For big data (vector) analysis

Too big to fit in one computer and to be processed by one


computer

Big
data ArcGIS GeoAnalytics Server leverages distributed analytics and storage

Getting to Know Web GIS, fourth edition


Big data analysis tools provided by ArcGIS Enterprise

Getting to Know Web GIS, fourth edition


Use GeoAnalytics Server to analyze big data

Register and edit


Prepare data Perform analysis Review results
big data file share

Getting to Know Web GIS, fourth edition


Perform big data analysis

For browsing and using


custom web tools

For standard analysis For big data analysis

Getting to Know Web GIS, fourth edition


New York City taxi pickup locations (170 million) aggregation

1 3 5

Bin time series

Now
Time step

Bin

Then

2 4 6 Getting to Know Web GIS, fourth edition


Custom web tools and geoprocessing services

• Geoprocessing services expose the analytic capability of ArcGIS to the web

Toolbox GP service

Results
Publish
Tools
(Models, GP tasks
Python)

Run inside Run inside


ArcMap or ArcGIS Pro ArcGIS Server

Getting to Know Web GIS, fourth edition


Steps to create custom web tools

Author your tool


Run your tool in Share the result
using ModelBuilder
ArcGIS Pro (execution plan)
or Python

• Python & ArcPy


Execution mode
• ModelBuilder • Synchronous
• Asynchronous

Getting to Know Web GIS, fourth edition


ModelBuilder

• ModelBuilder
- Available in ArcMap and ArcGIS Pro
- A visual programming language for building GP workflows
- Can create, edit, and manage models
- Easier than Python and other scripting languages

• Model
- Created with ModelBuilder
- A diagram that chains together sequences of GP tools and connects them with inputs
and outputs

Getting to Know Web GIS, fourth edition


Python and ArcPy

• Another way to create GP tools

• Python is a free, powerful, cross-platform, and open-source scripting language

• ArcGIS extends Python by providing ArcPy, a module that facilitates GIS data analysis, data
conversion, data management, and map automation

• Python and ArcPy are included in ArcMap, ArcGIS Pro, and ArcGIS Enterprise install

Getting to Know Web GIS, fourth edition


Synchronous and asynchronous execution modes

Request
Synchronous

Server

Client
- Client waits for the server to finish executing and then gets the result Result
- Typically for fast services

Request

Job id
• Asynchronous Status?

- Client submits a request, and checks server for status repeatedly processing

Server
Client
- Client gets the result once the server finishes the job Status?
- Typically for services that tale longer time to run finished

Request result

Result
• .
Getting to Know Web GIS, fourth edition
Share custom web tool from ArcGIS Pro to ArcGIS Enterprise

Portal for
ArcGIS
to ol
Web

Geopr
ocessi
ng ser
ArcGIS Pro v ice ArcGIS
Server
renced
Data refe
or
Data copie
d
ArcGIS
Data Store

Getting to Know Web GIS, fourth edition


For browsing and
Access ArcGIS web tools using custom web
tools

For standard analysis For big data analysis


• ArcGIS Map Viewer
• ArcGIS Web AppBuilder
• ArcGIS Experience Builder
• Insights
• ArcGIS Pro
• ArcGIS Notebooks
• ArcGIS API for Python
• ArcPy
• ArcGIS API for JavaScript
• … ArcGIS
Web AppBuilder
Analysis Widget

Getting to Know Web GIS, fourth edition


Perform analysis in ArcGIS Insights

• An analytics workbench that allows you to perform iterative and exploratory data analysis

• Drag-and-drop driven
• Visualize and analyze data in maps, tables, and charts
o Bubble, histogram, scatter, time-series graph, and treemap

Spatial analytics o Bar, line, donut, stacked, and combo charts


ArcGIS Insights
Business intelligence • Analysis and visualization at the same time
• Stimulates questions and rapid iterations of analysis
• Interact with more than one map or chart at a time
• Record steps of analysis

www.esri.com/en-us/arcgis/products/insights-for-arcgis/overview
Getting to Know Web GIS, fourth edition
ArcGIS Insights

ArcGIS Insights Gallery


Getting to Know Web GIS, fourth edition
Perform analysis in ArcGIS Notebooks
• Create and share notebooks that contain live Python code and visualizations
• Provides a Jupyter notebook experience with which data scientists can combine ArcGIS spatial analysis
algorithms with open-source Python libraries to build precise spatial data science models

ArcGIS
ArcGIS Notebooks • Jupyter
• pandas
• ArcGIS API for Python Open Source • Conda
• ArcPy Python & Data Science • Keras
• Analytics • Scipy
• Geoprocessing • PyTorch
• Web GIS analysis • NumPy
• GeoAnalytics • SymPy
• Raster Analytics

Getting to Know Web GIS, fourth edition


Perform analysis in ArcGIS Notebooks

• Include hundreds of Python libraries


- ArcGIS Python API: a Python library for performing GIS visualization and analysis, spatial data management, and GIS
system administration tasks in Web GIS (https://developers.arcgis.com/python/guide/)
- ArcPy
- Common open source data science libraries
• Conveys analysis results with intuitive, interactive maps and apps for data storytelling that drives insight and
action
• Increases cross-team collaboration. You can save your notebooks in ArcGIS Online and ArcGIS Enterprise and
can share them with other users the same way you share other items. Other users can open and run the
analysis or workflow implemented in your notebook
• Accessible anywhere with a desktop or a mobile web browser

Getting to Know Web GIS, fourth edition


Artificial intelligence, machine learning, and deep learning

Artificial Intelligence Popular research areas:


• Computer vision
• Natural language processing
• Speech recognition
• Video game behavioral AI
Machine • ...
Learning

Deep
Learning
Convolutional
Neural Networks

Getting to Know Web GIS, fourth edition


Machine learning in ArcGIS

Classification Prediction
Deciding to which category Using the known to
an object should be assigned estimate the unknown

Integration with
Clustering
Grouping observations based on ArcGIS external frameworks
similarities of values or locations

Getting to Know Web GIS, fourth edition


Richness of Imperiled Species in the United States

Created using
ArcGIS machine
learning analysis

Getting to Know Web GIS, fourth edition


Deep learning in ArcGIS
ArcGIS Python API provides arcgis.learn model for deep learning

Case study: ArcGIS Python API provides deep-learning tools that can
effectively identify road cracks from dashcam videos
• Much cheaper than visual inspection or inspection using sophisticated
instruments
• ArcGIS Python API arcgis.learn module was trained with photos that have
various types of cracks labeled
• The trained tool then detected road cracks on images and in video feeds
• The analysis results included the locations, types, and severities of road
cracks and helped authorities to plan and prioritize timely repairs

Getting to Know Web GIS, fourth edition


Deep learning in ArcGIS
Integration with third-party libraries

Case study: Georgia Power combined ArcGIS Python API with


IBM Watson machine-learning API to automatically detect
damaged insulators and locate them on the map
• Human manual inspection would be a huge and tedious task

• George Power flew drones to take photos along the transmission lines

• Trained IBM Watson machine-learning with sample photos that had known
damaged insulators

• Used the trained tools to automatically detect damaged insulators from the
hundreds of thousands of photos

• ArcGIS Python API saved the locations of the photos to a feature layer for
visualization to guide field repairs

Getting to Know Web GIS, fourth edition


Tutorial demos
8.1-8.2: Restaurant site selection using ArcGIS Online analysis
8.3-8.5: Factory site selection by publishing and using custom web tools
8.6: New York taxicab drop-off and pick-up big data analysis using
ArcGIS GeoAnalytics Server
8.7: Crime hot spot analysis using ArcGIS Notebooks

Getting to Know Web GIS, fourth edition


Summary

• Web-based spatial analysis holds great practical value for our personal life and for enterprise
operations
• ArcGIS provides standard analysis tools, big data analysis tools, raster data analysis tools, and the
capability for users to publish custom web tools
• You can author tools using ModelBuilder and Python in ArcMap or ArcGIS Pro, run the tools, and
then publish the results (the execution plan) to ArcGIS Enterprise to create geoprocessing services
or custom web tools
• ArcGIS provides tools for machine learning, including tools for classification, clustering, predication,
and the capability to integrate other data science packages
• ArcGIS Python API arcgis.learn module can perform deep learning analysis, including computer
vision
• ArcGIS Notebooks provides an insolated environment with rich pre-installed python libraries for
users to create analysis notebooks, which can be saved, shared, and rerun
Getting to Know Web GIS, fourth edition
Assignment 7.1: Use ArcGIS Online analysis to select your new home
Select one from 7.1 and 7.2

You are in the market to look for a new home. You are considering many factors, such as the distance
between your home and work or your children’s schools, neighborhood income, median house value,
median family income, unemployment rate, and crime rate

Create an app to help you narrow the area in which you would like to buy your new home

What to submit:
- The URL of the web app you created using Web AppBuilder
- Screenshots of your analysis processes and your final choice of neighborhood areas

Getting to Know Web GIS, fourth edition


Assignment 7.2: Create a web app to clip, zip, and ship GIS data
Select one from 7.1 and 7.2

A survey and mapping bureau would like to improve its data-sharing workflow. Instead of extracting and
copying data manually to serve its customers, the bureau wants to automate the workflow with a web
app, which should allow its users to:
- Select the layers they need
- Draw the area of interest
- Select the desired data format
- Have the data clipped and zipped for them to download

• What to submit:
- The URL or REST endpoint of your web tool
- The URL to your web app

Getting to Know Web GIS, fourth edition


Discussion

Getting to Know Web GIS, fourth edition

You might also like