Module 5 - Geoprocessing with ArcGIS

This week we covered some really important topics regarding the ArcGIS geoprocessing framework. What does geoprocessing mean? Simply put, geoprocessing entails a series of actions producing a result using geographic data. Within ArcGIS, geoprocessing allows us to perform spatial analysis, modeling, and automate tasks using tools. There are 5 categories of geoprocessing tools (as defined by Esri):
  1. System Tools: tools of any type that are created by Esri and installed as part of ArcGIS
  2. Built-in Tools: tools built by Esri using ArcObjects and compiled programming language
  3. Custom Tools: tools of any type that can be built by a user or obtained from 3rd-party developers
  4. Model Tools: tools created using ModelBuilder
  5. Script Tools: tools that run script through a tool interface
For our lab assignment, we practiced several types of geoprocessing tools. I found these to be extremely useful and invaluable! To begin with, we started out by creating a Toolbox. Then we created a model tool using ModelBuilder (see the screenshot below of my full, final model).


This particular model clips soil data to a basin extent, selects all areas from the clipped output that are unsuitable for farming, erases them, and then creates a final basin output displaying suitable areas for farming (in shown in the green screenshow to the left). We made sure to setup parameters in our model, and then we converted this model to a stand-alone Python script. Since we learned that exporting a model to a script does not always guarantee a 100% functioning stand-alone script, we made some modifications. Then we created a scrip tool from this stand-alone Python script (see screenshot on the right).
And finally, we learned how to share a a script tool, by making sure to zip the accompanying toolbox and scripts with it.

Other topics we learned about included Batch Processing to run a single tool multiple times, specifying Environment Settings (specifically Workspaces), the importance of enabling geoprocessing "overwrite outputs", and scheduling a Python script to run at prescribed times in our operating system. This was an awesome lesson!

Comments