Book Corner: Programming ArcGIS 10.1 with Python Cookbook

My fairly constant position now-a-days is “late to the game” and in this case that means that there are plenty of folks who have already shared their thoughts on Programming ArcGIS 10.1 with Python Cookbook by Eric Pimpler from Packt Publishing. Robin Wilson, with his wife, summarized by saying

Overall, the book is a very useful addition to a GIS library for people who are new to automating ArcGIS using Python, and particularly those who want to find out quickly how to automate a particular operation.

James Fee wrapped up his review by saying

So the bottom line here is this is a great introduction to ArcPy with ArcGIS 10.1. But if you’ve already started using either Python or ArcPy, you’d be best to use your time/money elsewhere.

These reviews, and others, indirectly highlight the issue of audience with each of the ArcGIS and Python books that have come out in 2012 and 2013. The books are intended for an introductory audience, but each is for a different introductory audience. Nate Jennings’ A Python Primer for ArcGIS has a strong focus on what I would consider a community college/professional development audience. Esri Press’s own Python Scripting for ArcGIS by Paul Zandbergen is geared toward an upper-level undergrad or grad course to get students who already have a strong(ish) ArcGIS background up and running with Python.

Programming ArcGIS 10.1 with Python Cookbook looks to a different audience, and one that I think is harder to get going: the professional who may not be confident with either ArcGIS or Python. This audience needs a clearer direction and structure that can be introduced quickly (say in a two-day course) but who needs a text that can be used as a quick reference once the course is over. As Pimpler is used to dealing with this audience it makes sense that he would focus on them. The text does a good job providing information to beginners to both ArcGIS and Python while not being overly simplistic if you have a moderate level of knowledge of either. The text is structured well to keep you working with both Python and ArcGIS throughout:

Chapter 1: Fundamentals of the Python Language for ArcGIS
Chapter 2: Writing Basic Geoprocessing Scripts with ArcPy
Chapter 3: Managing Map Documents and Layers
Chapter 4: Finding and Fixing Broken Data Links
Chapter 5: Automating Map Production and Printing
Chapter 6: Executing Geoprocessing Tools from Scripts
Chapter 7: Creating Custom Geoprocessing Tools
Chapter 8: Querying and Selecting Data
Chapter 9: Using the ArcPy Data Access Module to Select, Insert, and Update Geographic Data and Tables
Chapter 10: Listing and Describing GIS Data
Chapter 11: Customizing the ArcGIS Interface with Add-Ins
Chapter 12: Error Handling and Troubleshooting
Appendix A: Automating Python Scripts
Appendix B: Five Things Every GIS Programmer Should Know How to Do with Python

The cookbook style isn’t really for those with any level of advanced knowledge, but that’s not the audience this book is really directed at. However, if your boss told you that a new contract would require you to be able to script a map book for your client’s long term needs and you weren’t sure where to start, then you can grab this book and have a good go at the requirement.

My largest complaint with the digital only text is that most folks, students to professionals, still seem to prefer a hard copy to flip through. While this hard copy leaning seems odd to me since I prefer the ability to search and digitally annotate (I only write legibly about 1/3 of the time, so typing means I can read my annotation) the ebook/PDF/online texts, the digital or print-it-yourself nature of this title might impact some folks decision on whether to buy the book.

In the end, as others have said, Programming ArcGIS 10.1 with Python Cookbook is a good starting point for getting into ArcGIS and Python, ArcPy especially. If you aren’t sure whether to add it to your reference shelf, you might want to head over to Google Books and skim through the sample pages.


Written by

Jesse is Instructor in Geography and a PhD candidate in Geography focusing on the integration of phenomenology and geospatial technologies to study prehistoric cultural landscape. He is a GIS Professional and Registered Professional Archaeologist and holds an MA in Geography and a BS in Anthropology with a concentration in archaeology.