Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Kenneth Wong
Dec 2021
kennethwong12.netlify.app
medium.com/@khwongk12
@Kenneth_KHW
Rundown
Part I: Background Concepts of ModelBuilder
Part III: Labs (4 in total)
2
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Topics covered
3
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
About Me
4
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
What I do: analyse spatial data, make maps and write about cities
5
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
6
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: Basic Concepts
7
What, How and Why
Workflow as flowchart
8
Image Source: https://cargocollective.com/loveallthis/Hey-Jude-other-flowcharts
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Geoprocessing workflow as Model
9
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: What is it?
“a visual programming language for building geoprocessing workflows”
– From https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/modelbuilder/what-is-modelbuilder-.htm
Visual programming language:
Building geoprocessing workflows:
10
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: How does it work?
A graphical user interface in ArcPro to build, validate, run (and more) models
11
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: Why need to use it?
ModelBuilder is a productivity tool
12
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: Basic Vocabs
13
Elements of flowchart
14
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Elements of ModelBuilder
Geoprocessing tools (Functions)�- Perform various operations on data�- Accepts inputs and produces some output
Variables (Data)�- “Hold” a value or a reference to data
Connectors (Links)�- connect data and values to tools
Groups �- Visual elements that group related tools together (Does not alter the model)
15
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Data variable: Input Data
Input data variables are model elements that store paths and other properties of data on disk. Common data variables include feature class, feature layer, raster dataset, and workspace.
16
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Data variable: Output/Derived Data
Derived or output data is new data created by a tool in the model. When a geoprocessing tool is added to a model, variables for the tool's output parameters are automatically created and connected to the tool.
17
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Value variable
Value variables are values such as strings, numbers, Boolean (true/false values), spatial references, linear units, or extents. Value variables contain anything but references to layers or data stored on disk.
18
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Tool: Geoprocessing tool
Tools are geoprocessing tools added to the model. These include all tools you will find in a system toolbox as well as custom model and script tools.
19
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Advanced tools (ModelBuilder-only tools)
Iterators:
Logical tools:
20
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Model parameters
Output variables
Model parameters
21
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Lab 0: ModelBuilder Scratchpad
22
Background
23
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Normal workflow w/o ModelBuilder: Run the Buffer geoprocessing tool
24
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Results: 500 m buffer
25
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
How to use ModelBuilder to turn this geoprocessing pipeline into a model?
26
ModelBuilder Ribbon
27
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Add model components
28
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Connect the nodes (input data and tool)
29
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Specify parameters of a function
30
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Connected model
31
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Validate and Run a model
32
Ran process will have a grey drop-shadow
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Q: How to add results in the Model to the map?
33
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Q: Where are my computed data stored?
34
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Recap: What you have done
35
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Lab 1: Chaining up process
36
Background
37
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Background
38
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
1) Buffer to create the 500 m buffer from MTR exits
39
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
2) Clip to extract the data only within the clipping polygon
40
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
How to use ModelBuilder to turn this geoprocessing pipeline into a model?
41
Q: How to edit an existing model?
Catalog > Toolboxes > Right-click your model > Edit
42
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
The existing model
43
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Add new input data (road centreline) and function (clip)
44
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Connect the components
45
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Auto layout
46
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Run the model and add result data to display
47
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Recap: What you have done
48
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
When to use it?
49
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Lab 2: Create custom geoprocessing function
50
Background
51
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Open data of recycling collection points in HK
52
https://geodata.gov.hk/gs/view-dataset?uuid=8379b096-2c23-4dfb-9e4c-5c60d4683b8f
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
0) JSON To Features to convert downloaded geojson (.geojson) to feature class
53
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
1) Select Layer By Attribute to select points which collects rechargeable battery
54
Types_of_Material_Collection LIKE '%RECHARGEABLE BATTERY%'
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
2) Summarise Within to count number of selected points within each district
55
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Symbolise the number of facilities
56
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
3) Export the results as: 1. Shapefile (.shp); 2. Geojson (.geojson); 3. Table (.csv)
57
1
Shapefile
2
Geojson
3
CSV table
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Geoprocessing tools we used
58
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
How to use ModelBuilder to turn this geoprocessing pipeline into a model?
59
Turning geoprocessing pipeline into model
60
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
How to turn it into a single function and allow users to specify the collection materials ?
61
Model parameters
Output variables
Model parameters
62
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Create additional Variables (parameters) of the functions
63
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Create model parameters
64
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Rename the model parameters shown in the output
65
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
66
Before
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
67
After
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Run model as a geoprocessing tool
Catalog > Toolboxes > Double-click Your model
68
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Run model as a geoprocessing tool
69
After
Before
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Reorder the parameters in the tool window
70
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
What is the number of recycling points collecting fluorescent lamps in each district?
71
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
What is the number of recycling points collecting fluorescent lamps in each district?
Specify the parameters and generate the results automatically!
72
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Output .shp .csv & .geojson in one single (large) geoprocessing function
73
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Symbolise the number of recycling points in each district
74
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
75
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Recap: What you have done
76
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
When to use it?
77
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Bonus Task
78
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Lab 3: Site search
79
Background
Site selection: Spatial analysis method for determining the best site(s) for certain uses, such as a new store, landfill, school, recreation center, vineyard, or the location of plant or animal habitats\
Site selection criteria: the basis for finding geographic areas (in polygon format or raster cells) that are most suitable.
80
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
81
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
What have you learnt?
82
Using ModelBuilder
83
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder: Why need to use it?
ModelBuilder is a productivity tool
84
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder as a tool
As a tool, as you learn some advanced spatial analysis methods and tools in the future, the usage of ModelBuilder may be limited.
85
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
ModelBuilder as a tool to conceptualise workflow
As a tool, as you learn some advanced spatial analysis methods and tools in the future, the usage of ModelBuilder may be limited.
However, as a tool to conceptualize/visualise your workflow, ModelBuilder would be useful regardless of your technical skills
86
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
What we missed - programming concepts
Iterators
ModelBuilder Report
Inline variable substitution
Flow control
87
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Where to learn more?
ESRI provides tons of user manual and well-tempered documentation on their tools. Always read it if you would like to master the tool.
https://pro.arcgis.com/en/pro-app/latest/help/analysis/geoprocessing/modelbuilder/what-is-modelbuilder-.htm
88
Using ModelBuilder to Build Geoprocessing Workflows for Urban Analytics
Thank you!
kennethwong12.netlify.app
@Kenneth_KHW
89
Medium Articles
Portfolio