Network Analyst: Automating Workflows with …...• Include the network analysis workflow as part...
Transcript of Network Analyst: Automating Workflows with …...• Include the network analysis workflow as part...
Network Analyst:
Automating Workflows with
Geoprocessing
Melinda Morang
Patrick Stevens
•Who are we?
-Network Analyst Product Engineers
Network Analyst: Automating Workflows with Geoprocessing
• Who are you?
Network Analyst: Automating Workflows with Geoprocessing
• Who are you?
- Are you current Network Analyst users?
Network Analyst: Automating Workflows with Geoprocessing
• Who are you?
- Are you current Network Analyst users?
- Are you current geoprocessing users?
Network Analyst: Automating Workflows with Geoprocessing
• Who are you?
- Are you current Network Analyst users?
- Are you current geoprocessing users?
- Have you made geoprocessing models?
Network Analyst: Automating Workflows with Geoprocessing
• Who are you?
- Are you current Network Analyst users?
- Are you current geoprocessing users?
- Have you made geoprocessing models?
- Have you made geoprocessing Python scripts?
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
- Automate repetitive tasks
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
- Automate repetitive tasks
- Reduce mistakes
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
- Automate repetitive tasks
- Reduce mistakes
- Share analysis capabilities
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
- Automate repetitive tasks
- Reduce mistakes
- Share analysis capabilities
- Increase efficiency
Network Analyst: Automating Workflows with Geoprocessing
• Why should you use geoprocessing?
- Automate repetitive tasks
- Reduce mistakes
- Share analysis capabilities
- Increase efficiency
- Expand capabilities of ArcGIS
Network Analyst: Automating Workflows with Geoprocessing
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst Extensionsolvers
Service Area
Create drive-time areas
Location-Allocation
Choose best facilities
Vehicle Routing
Problem
Plan routes
Route
Directions
Closest Facility
Find nearest
Origin-Destination
Cost Matrix
Generate origin destination
cost matrix
Network Analyst: Automating Workflows with Geoprocessing
Network dataset
Network Analyst: Automating Workflows with Geoprocessing
Network Analyst: Automating Workflows with Geoprocessing
Network Analyst layer
Network Analyst layer
Network Analyst: Automating Workflows with Geoprocessing
• One layer type for each solver
Network Analyst layer
• One layer type for each solver
• Holds the analysis
- Analysis properties
- Inputs
- Outputs
Network Analyst: Automating Workflows with Geoprocessing
Performing an analysis manually
Network Analyst
workflow
Network Analyst: Automating Workflows with Geoprocessing
Demo
• Steps for network analysis:
-Make an analysis layer
-Add locations
-Solve
-Work with results
Network Analyst: Automating Workflows with Geoprocessing
TakeawaysDemo: Network Analyst Workflow
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
Network Analyst: Automating Workflows with Geoprocessing
What is
Geoprocessing?
ArcGIS Help:
The geoprocessing framework
Network Analyst: Automating Workflows with Geoprocessing
Storage & Management
What is Geoprocessing?
Network Analyst: Automating Workflows with Geoprocessing
Storage & ManagementVisualization
What is Geoprocessing?
Network Analyst: Automating Workflows with Geoprocessing
Storage & ManagementVisualization
Computation
What is Geoprocessing?
Network Analyst: Automating Workflows with Geoprocessing
Computation
=Geoprocessing
•Automating workflows
•Modeling & Analysis
What is Geoprocessing?
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing tool types
Network Analyst: Automating Workflows with Geoprocessing
System tools Geoprocessing tool types
Network Analyst: Automating Workflows with Geoprocessing
System tools
Model tools
Geoprocessing tool types
Network Analyst: Automating Workflows with Geoprocessing
System tools
Script tools
Model tools
Geoprocessing tool types
Network Analyst: Automating Workflows with Geoprocessing
Model
Single tool
Chain tools
Using Geoprocessing tools
Python window
Tool dialog
Script
Network Analyst: Automating Workflows with Geoprocessing
Network Analyst
system tools
Network Analyst: Automating Workflows with Geoprocessing
• Performing Network Analysis
Network Analyst
system tools
Network Analyst: Automating Workflows with Geoprocessing
• Performing Network Analysis
• Building networks
Network Analyst
system tools
Network Analyst: Automating Workflows with Geoprocessing
• Performing Network Analysis
• Building networks
• Managing turns
Network Analyst
system tools
Network Analyst: Automating Workflows with Geoprocessing
Using
Geoprocessing
• Performing Network Analysis
• Building networks
• Managing turns
Network Analyst: Automating Workflows with Geoprocessing
Using
Geoprocessing
• Performing Network Analysis
• Building networks
• Managing turns
• Publishing services
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
Building
Geoprocessing
Models
Network Analyst: Automating Workflows with Geoprocessing
ArcGIS Help:
What is ModelBuilder?
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
• Author using Model Builder
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
• Chain tools to perform a
workflow
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
• Use models like ArcToolbox
tools
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
• Use models within other
models
Network Analyst: Automating Workflows with Geoprocessing
Geoprocessing
Models
• Apply all Model Builder
techniques to network analysis
models
Performing a network analysis
in Model Builder
Sharing a model as a tool
Automating
workflows with
geoprocessing
models
Network Analyst: Automating Workflows with Geoprocessing
Demo
• Automate workflows with Model Builder
• Make inputs and outputs model parameters
• Run your model as a tool
• Share models and projects
Network Analyst: Automating Workflows with Geoprocessing
TakeawaysDemo: Automating Workflows with Geoprocessing Models
• When running models as tools…
- The output network analysis layer should be a model parameter- This will add the layer to the Table of Contents
Network Analyst: Automating Workflows with Geoprocessing
Visualizing analysis results in ArcMap
• Use your analysis result as an input to another tool
- The Select Data tool accesses individual sublayers
Network Analyst: Automating Workflows with Geoprocessing
Post-processing your analysis
• Use your analysis result as an input to another tool
- The Select Data tool accesses individual sublayers
Network Analyst: Automating Workflows with Geoprocessing
Post-processing your analysis
Automating
workflows with
geoprocessing
models
Network Analyst: Automating Workflows with Geoprocessing
Demo
Working with inputs and outputs
• Include the network analysis workflow as part of
a larger workflow
• Use the Select Data tool to access sublayers
• Work with external data like CSV files
Network Analyst: Automating Workflows with Geoprocessing
TakeawaysDemo: Automating Workflows with Geoprocessing Models
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
Network Analyst: Automating Workflows with Geoprocessing
Writing Python
Scripts
ArcGIS Help:
What is Python?
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Conditional logic
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Conditional logic
• Loops
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Conditional logic
• Loops
• Cursors, creating geometry
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Conditional logic
• Loops
• Cursors, creating geometry
• Built-in and third party modules
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• ArcPy site package
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• ArcPy site package
- Network Analyst module
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• ArcPy site package
- Network Analyst module
- Other geoprocessing tools
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• ArcPy site package
- Network Analyst module
- Other geoprocessing tools
- Other useful functions and
classes
- Describe
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Simplify access to Network
Analyst functionality from
Python
arcpy.na
Network Analyst: Automating Workflows with Geoprocessing
Python scripts
• Simplify access to Network
Analyst functionality from
Python
• Edit the analysis properties of
network analysis layers
- No need to re-create layers
- Speed up execution
- Simplify script logic
arcpy.na
Network Analyst: Automating Workflows with Geoprocessing
Python Script: Basic Building Blocks
Network Analyst: Automating Workflows with Geoprocessing
Import the arcpy site package
Network Analyst: Automating Workflows with Geoprocessing
Check out Network Analyst Extension license
Network Analyst: Automating Workflows with Geoprocessing
Create/edit a Network Analysis layer
Network Analyst: Automating Workflows with Geoprocessing
Create/edit a Network Analysis layer
Network Analyst: Automating Workflows with Geoprocessing
Add locations to analysis classes
Network Analyst: Automating Workflows with Geoprocessing
Run the analysis
Network Analyst: Automating Workflows with Geoprocessing
Use the results
Network Analyst: Automating Workflows with Geoprocessing
Edit the properties on an existing layer
Network Analyst: Automating Workflows with Geoprocessing
Edit the properties on an existing layer
Network Analyst: Automating Workflows with Geoprocessing
Edit the properties on an existing layer
Network Analyst: Automating Workflows with Geoprocessing
Access sublayer with ListLayers
Network Analyst: Automating Workflows with Geoprocessing
Access sublayer with ListLayers
Network Analyst: Automating Workflows with Geoprocessing
Access sublayer with ListLayers
• Use sublayers as input to other tools (CopyFeatures, Join, Buffer, etc.).
Network Analyst: Automating Workflows with Geoprocessing
Access sublayer with ListLayers
• Use sublayers as input to other tools (CopyFeatures, Join, Buffer, etc.).
• Use a SearchCursor to access the rows within a sublayer.
Network Analyst: Automating Workflows with Geoprocessing
Access sublayer with ListLayers
Network Analyst: Automating Workflows with Geoprocessing
Field mapping
Network Analyst: Automating Workflows with Geoprocessing
Field mapping
Network Analyst: Automating Workflows with Geoprocessing
Field mapping
Network Analyst: Automating Workflows with Geoprocessing
Set the output workspace
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
• Pro: python 3.4
• ArcMap: python 2.7
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
• Pro: python 3.4
• ArcMap: python 2.7
• General migration help
- http://pro.arcgis.com/en/pro-app/arcpy/get-started/python-
migration-for-arcgis-pro.htm
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
• Network analysis migration help
- http://pro.arcgis.com/en/pro-app/arcpy/network-
analyst/migratingfrom10xarcpynetworkanalyst.htm
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
• Network analysis migration help
- http://pro.arcgis.com/en/pro-app/arcpy/network-
analyst/migratingfrom10xarcpynetworkanalyst.htm
• Unsupported and deprecated tools
• Changes for working with layer object
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
• Setting up a development environment (IDE)
- http://pro.arcgis.com/en/pro-app/arcpy/get-started/installing-
python-for-arcgis-pro.htm
Python in ArcGIS Pro vs. ArcMap
Network Analyst: Automating Workflows with Geoprocessing
Performing a network analysis
with a python script
Automating
workflows with
python scripts
Demo
• Run any geoprocessing workflow in stand-alone python
• Find Code samples in the tool help
• Run simple python commands in the python window
Network Analyst: Automating Workflows with Geoprocessing
TakeawaysDemo: Automating Workflows with Python Scripts
Network Analyst: Automating Workflows with Geoprocessing
ArcGIS Help:
What is a script tool?
Building Script
Tools
• Work with your scripts through a user interface
Network Analyst: Automating Workflows with Geoprocessing
Script tools
• Work with your scripts through a user interface
• Use Script tools like any other tool within ArcToolbox
- Use script tools in models and vice versa
Network Analyst: Automating Workflows with Geoprocessing
Script tools
• If a network analysis layer is the output use arcpy.SetParameterAsText(…)
Network Analyst: Automating Workflows with Geoprocessing
Add outputs from script tool to ArcMap
• If a network analysis layer is the output use arcpy.SetParameterAsText(…)
Network Analyst: Automating Workflows with Geoprocessing
Add outputs from script tool to ArcMap
Create a script tool to provide
a UI for a Python script
Use tool validation to
customize the UI
Creating a
script tool
Network Analyst: Automating Workflows with Geoprocessing
Demo
• Provide a user interface for python scripts by making a
script tool
• Use derived output and arcpy.SetParameterAsText() to add results to the map
• Use tool validation to customize your script tool’s user
interface
Network Analyst: Automating Workflows with Geoprocessing
TakeawaysDemo: Creating a Script Tool
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
ArcGIS Network Analyst extension concepts
Geoprocessing and network analysis
ModelBuilder: Models and model tools
Python: Scripts and script tools
Support and resources
Network Analyst: Automating Workflows with Geoprocessing
Topics to be covered
Summary
Network Analyst: Automating Workflows with Geoprocessing
Summary
Network Analyst: Automating Workflows with Geoprocessing
• Use the geoprocessing
framework for network analyses
- Network Analyst Tools
- Models and Model tools
- Script and Script tools
Summary
Network Analyst: Automating Workflows with Geoprocessing
• Automate workflows
Summary
Network Analyst: Automating Workflows with Geoprocessing
• Incorporate network analysis in
larger process
Network Analyst: Automating Workflows with Geoprocessing
Resources
Network Analyst: Automating Workflows with Geoprocessing
Resources• Network Analyst tutorials
- ArcMap
- ArcGIS Pro
Network Analyst: Automating Workflows with Geoprocessing
Resources• Network Analyst code samples
- 10.2 and earlier
- ArcMap
- ArcGIS Pro
Network Analyst: Automating Workflows with Geoprocessing
Resources• ArcGIS Network Analyst Extension Discussion Forum
Network Analyst: Automating Workflows with Geoprocessing
Resources• Python for ArcGIS resource center
Employee of the Year Award
Melinda Morang
Esri presents the
to
Signature of Manager
Please Take Our Survey on the Esri Events App!
Select the session you attended
Scroll down to find the survey
Complete Answersand Select “Submit”
Download the Esri Events app and find
your event
Network Analyst: Automating Workflows with Geoprocessing