I wanted to revisit my post from a couple of weeks ago on parallel processing using a desktop computer. As I began introducing these concepts to my students, I realized that for even entry-level GIS users, ArcGIS Pro is one of the easiest ways to perform parallel processing on a desktop computer.
Sure, with some really neat tuning, Postgres/PostGIS gives us the fastest results. And I must admit, having tuned the database to a point where I completed the entire process in 14 seconds was gratifying. However, I wanted to re-emphasize how easy it was do all kinds of parallel processing with ArcGIS Pro both spatial and not spatial.
For example, I showed that we can use the Summarize Within (GeoAnalytics Desktop) with the GUI. But my students quickly picked up that we could issue the same command using Model Builder, just like any other tool.
And since the GeoAnalytics Toolbox is so integrated with Pro, we can also call it from Python:
parking_summary = arcpy.gapro.SummarizeWithin("parking","summary_table","zones")
But even more importantly, as we began showing our students how to build a tool in Pro, it was clear that with Model Builder or Python, an entire script tool, loaded with parallel processing features could be delivered to a customer. The key was knowing which parallel processing tools are available in Pro. You can see from the table below that ArcGIS Pro has a number of class GIS functions that are now parallelized, and not all of them are spatial. Particularly, Summarize Attributes and Describe Dataset are very useful database tools that have a lot of utility simply for attribute data consideration.
Once the students knew what commands were available, they could build a more sophisticated model that they can turn into a tool, all parallelized, without a single line of code.
If you want to learn more about the best practices for parallel processing on desktop computers for GIS, you can check out my Udemy course: