Integrating R with ArcGIS: Part 2
Getting Started with WebEx
- Listen to the audio broadcast:
- Phone
- To maximize your view of the Webinar, click:
- Click the blue arrow button to return to original view:
Open to Questions
- Please use the Chat panel:
- Choose IAIN GREENSMITH, type your question and click Send
- If you are unable to see the Chat panel, click the Chat button on the top-right corner of your screen:
Webinar Schedule
- Review of arcgisbinding package
- What is an R script tool?
- Basic components of an R script tool
- Writing an R-ArcGIS script
- R script tool template
- Walkthrough of several R-ArcGIS tool scripts
- Constructing an R script tool in ArcGIS Pro
-
- Assigning script tool parameters
- Tool documentation
- Using R script tools in ModelBuilder workflows
Review of arcgisbinding Package
The arcgisbinding Package
- The arcgisbinding package allows R users to access data stored using ArcGIS native data types (e.g., geodatabase feature classes)
-
arc.open, arc.select, arc.write
-
- Convert ArcGIS data to an sp object, perform some analysis, and then write back to a geodatabase
-
arc.data2sp, arc.sp2data
-
- Convert between WKT and proj.4
-
arc.fromP4ToWkt, arc.fromWktToP4
-
- Interact with geometries
-
arc.shapeinfo, arc.shape2sp
-
- Package Documentation
Building an R Script Tool
What is an R Script Tool?
- Similar to Python, ArcGIS allows you to write scripts in R that can be called from within ArcGIS
- Create geoprocessing (GP) tools that use R for analysis
- 3 main components to all R script tools
- An R script
- A custom toolbox
- A definition of the parameters of your script
Basic Components of an R Script
- All R tool scripts follow the same general form
-
tool_exec
- Function that will be executed when the R script is called from ArcGIS GP tool
-
in_params
- First argument of tool_exec
- List of input parameters provided from a GP tool
-
out_params
- Second argument of tool_exec
- List of output parameters provided from a GP tool
- Required when outputting data to ArcGIS
-
R Script Tool Functions
- Certain functions from the arcgisbinding package are only useful in R script tools
-
arc.progress_label
- Add a description of the current operations being run in R to be displayed in the GP tool dialog box
- Useful for debugging
-
arc.progress_pos
- Set the position of the progress bar for a given GP tool
-
Outputting Data from R
- Type of data set and output location provided to arc.write() function will determine how the data set is stored
- Data with spatial attributes will be saved as a GDB feature class or .shp file
- Tabular data (i.e., a standard data frame) will be saved as a GDB table or .dbf file
- If a plot is created in an R script tool, it will be displayed in a window from ArcGIS
- Can also print certain details directly to GP tool dialog box
-
print, message
-
R Script Tool Template
One-way ANOVA Example
Building an R Script Tool
- Once R script with tool_exec() function is complete, can create GP tool in ArcGIS to connect to R script
- Exact same process as creating a Python GP tool, except that an R script is provided for the Script File
- Ensure that parameters are ordered in the same way they are referenced within R script
- Very basic outline of building an R script tool in ArcGIS Pro provided in documents folder of GitHub repository
R-ArcGIS Sample Tools
-
Sample tools repository available on GitHub contains several more complex R script tools
- Model-based Clustering tool
- Semiparametric Regression tool
- Basic example tools also available in arcgisbinding package examples folder
Model-based Clustering Example
R Script Tools and ModelBuilder
- R script tools can be incorporated into models built with ModelBuilder in ArcGIS
- Construct complex workflows powered by R, Python, and native ArcGIS GP tools
- Model-based Clustering Enhanced example available in R Sample Tools toolbox
Closing
Outreach
- Very interested in having other members of the R community contribute to the R - ArcGIS Bridge
- Have questions? Contact us!
- Collaboration with R package developers
R Webinar Resources
- Download RStudio project and ArcGIS Pro project used during webinar:
- Integrating R with ArcGIS (Part 1) video recording
- Free R resources
- DataCamp Introduction to R course
- Hadley Wickham books
Thanks
- R - ArcGIS Bridge Team at Esri US
- Shaun Walbridge, Mark Janikas, Steve Kopp, Dmitry Pavlushko, Konstantin Krivoruchko
- Hadley Wickham
- R spatial community
Contact Information
Integrating R with ArcGIS: Part 2
By Cam Plouffe
Integrating R with ArcGIS: Part 2
- 5,255