I get asked quite a bit about how to get started using Python with Esri’s ArcGIS Desktop or Server and specifically if there are any good books out there. Generally I give a couple books, but not one I’d recommend that everyone get and especially one that is focused on ArcGIS itself. Well I was given an opportunity to review the Programming ArcGIS 10.1 with Python Cookbook eBook and I might have found something I can recommend to everyone. But that’s with a small caviot. It is aimed at beginners so if you are already familar with Python or ArcPy, you’ll quickly realize this book isn’t for you. But if you’ve never used Python or ArcPy, you’ll feel right at home.

First off, this book is for ArcGIS 10.1 so you can take advantage of the latest Esri ArcGIS Desktop features with Python. It’s nice in that it builds you up to authoring scripts rather than just give you code to copy and paste. I think this is something that will give you long-term sustainability in your python programming rather than just a mashup mentality that won’t help you improve your productivity. The examples in the book are really well written and easily understandable compared with the Esri documentation. Here are a couple areas that caught my eye.

  • Create custom Geoprocessing tools with Python: These are simply ArcPy methods to help you get a grasp of how to create the scripts and how to run them. This is bread and butter ArcPy so a good foundation is key. The example though are really basic so you’ll quickly head to Esri’s documentation to learn more. I wish there was more depth here but at least you’ll learn how to create them and in turn go out on your own to make the scripts you need yourself.
  • Automated map production: I’ve made no secret of my love of AML and ArcPlot (well I hate ArcPlot but I love scripting maps). With Python you can now automate your maps quickly and easily compared to the DS Mapbook hacks that people used to use. The book goes into how to create and export PDFs of your maps when you need to create a map set. I swear this is a skill ever Esri Desktop user needs to master.
  • Queries and Database Management: Goes into how to use ArcPy and python to create proper database syntax and how to select features using Python/ArcPy. Plus you get a basic intro into using Python with databases (filters, updates, delete). The section like others is clearly just and introduction so you’ll quickly look for more examples on Esri’s site.

There is a chapter on fixing broken data links in MXDs using Python, creating Add-Ins for ArcGIS Desktop and error handling. Good basic introduction and hopefully things that will cause you to look into the Esri documentation deeper.

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. The style of the scripts seems to mimic the Esri style so I’m guessing the author is very familiar with ArcPy. I don’t write my scripts this way but at least it should help you move from the book to Esri documentation quickly. For those who just want to get started though, this should be a great way to move forward. Programming ArcGIS 10.1 with Python Cookbook is $15 on Amazon as a Kindle Book or available on the Packt Publishing website as an ePub book for $24. Both very reasonable. Reviews seem to be mixed from what I’ve read. Either people seem to embrace the simplicity of the book or are turned off by the beginner focus. I feel that if you need the help, this book will get you there.