Automating GIS Workflows in Python
Introduction & Learning Objectives
Previously, we explored how to construct a geoprocessing workflow using Python with a focus on the ArcPy package. Our end product was a Jupyter notebook that processed two raw inputs, the IBTrACTS storm point archive and US county features, to generate a feature class and statistics for a single storm identified by its season and year. In doing so, we noted how the notebook is constructed in a way that made our code logically structured, easy to follow, and also facilitated update, e.g. changing the storm season and name to repeat the process for a different storm.
The notebook was certainly a useful product, one that accomplished our analytical objectives in a way that was fully transparent and reproducible. But what if we wanted to repeat the process for a large number of storms? Or perhaps schedule the process to run periodically on its own? Here we explore how coding our workflow in Python allows us to tap into Python’s ability to automate workflows, to repeat spatial and non-spatial processes with relative easy, but also with fine-grained control. We will examine how this is done both as a stand-alone Python script, or alternatively as an ArcGIS Pro script based tool.