Book Review: Programming ArcGIS 10.1 with Python Cookbook

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.

This Week’s Hangout with Dave Bouwmwan

This week’s hangout got switched around. Steve Coast will be next week because he’s apparently shipping a million GPS maps out tomorrow. So stepping up is the big man himself, Dave Bouwman. We’ll be talking about GIS development, technology trends and how they impact location and anything else people come up with on IRC. Generally you need to pay Dave big bucks to pick his brain, but tomorrow all you need is your fingers (hmm, not sure where I’m going with this).

Anyway, we go live an hour earlier than normal (10am PDT) but do you really want to wait all that time to hear Dave talk about his love of Canadian baseball?

Special Hangout:: FME World Tour 2013 Backchannel

Today is the live broadcast of the FME World Tour 2013 from Vancouver. We go live at 9am PDT/MST. Join the conversation below the video or on the chat page. Ulf Månsson, Jeff Konnen, Hans Van Der Maarel, Brett Madsen and many more will join for a roundtable while the event is being streamed. If you are an FME user or just want to see what the fuss is about, watch below!

OGCJSON aims to get your axis in order

So this happened:


Make sure you click on that link to read something quite interesting. Howard Butler’s response is well thought out that I’ll just let him frame the situation. I my self am curious if there is really any need to fork GeoJSON into “OGCJSON” to solve something I’m not sure really is any issue. As others have said on Twitter, GML was designed to handle just these issues. I don’t want to get down the rabbit hole of being critical of OGC, but what’s the point of creating these standards (KML, GML, etc) and then not use them?

Why does this come to mind every time I heard the OGC thinking about creating a new “standard”?

Car Wash

This Week’s Hangout with Bill Dollins

There has been lots of talk about new technology in the geospatial world. From SVG and JavaScript to open and GitHub, it’s easy to forget most of us have a job to do. Well I’ve got Bill Dollins joining me to help try and fight through the hype and figure out how to utilize some of these great projects in your every day workflows. Not everyone can abandon Oracle or .NET for PostGIS or Ruby but that doesn’t mean you can’t bring things into those workflows to get work done. You can watch live right here on this blog Wednesday at 11am MST/PDT.

This Week’s Hangout with Michael Byrne

Another great guest joins us this week! Michael Byrne, GIO at the FCC and I will be talking about open government, what Government can do to help citizens stay informed and the roll a government agency should play with developers (APIs, web services, etc). You can watch live right here on this blog *Wednesday at 11am MST/PDT.