Using Python to Streamline GIS Workflows

Blog Post created by timothy_hales-esristaff Employee on Jun 13, 2018

Every industry has its own unique GIS workflows. Some of these are as simple as running a tool or two. Others are more complex, involving multiple tools and processes. For each workflow, someone has to spend time working through each step of the process, then repeat the process again (and again) when new projects crop up or data is provided.


These manual, repetitive workflows not only cost time, they can also be prone to error. If a step is missed or an error is introduced within any one of the steps, the results can be problematic, to say the least.



What if there was a way to repeat your workflow without having to touch every single task? What if you could find a way to save time? You can! Python provides a solution to these issues.


Python scripts can help you:

  • Streamline your GIS work.
  • Easily repeat processes on different datasets.
  • Save time by automating a series of complicated steps.

But where do you begin? Exactly what tasks can you perform using Python? How can you improve the performance of your current Python scripts?  


For example, suppose you want a Python script that takes a table of customer locations and creates an outer polygon boundary of those locations. You have been manually drawing a polygon around an XY event layer of the locations each time they are updated, but the process takes a lot of time and is not entirely accurate.  


You can use Python lists and ArcPy geometry objects to complete this workflow efficiently and accurately.


The Python script can be broken down into basic tasks:

  • Define input and output variables.
  • Create a Python list from the table of XY coordinates.
  • Create a multipoint geometry object from the Python list.
  • Use the convexHull() geometry method to create the boundary.
  • Save geometry object of the boundary to a feature class.



You can run this script as often as you need by simply modifying the variables. You can also create a Python script tool from it.


Would you like to learn how to script your GIS tasks and workflows?


Creating Python Scripts for ArcGIS is a new Esri course that takes you from minimal Python knowledge to creating Python scripts that automate a complete workflow. You’ll learn practical Python skills such as how to access and run geoprocessing tools, automate tasks with lists, work directly with GIS data, create Python script tools, and more.



If you want to simplify your GIS workflows and get more work done in less time, take a look at the upcoming class schedule.