Automation or Scripting

When I think back to my first exposure to GIS, it is through ARC/INFO. Just me and a command line. Everything was written in AML which made everything I created a script or even an app if you take the parlance that seems popular these days. I’ve beaten the drum about scripting and GIS so much on this blog that I feel like I don’t need to rehash it except to say that if you ain’t scripting you ain’t living.

But is scripting as important as it once was? I scripted AMLs because that was the only way short of typing in commands one at a time to build anything, and you sure as heck couldn’t visualize anything without AML (well you could, but not in anyway that you’d share). Do we script as much anymore? I was looking at my automations in my life last night and there is so much that I use Zapier for that there really isn’t anything in my house that happens without a trigger. I think today we use works like “automate your workflows” rather than scripting but that is just the low-code ontology that permuted into our vocabulary.

Regardless, the future of GIS is not scripting. That is writing Python or JavaScript and then running that file to see a result. It will be taking triggers and attaching them to actions to see results. The best part of this is that it isn’t hard coded to anything, they just wait for something to happen and then do something.

A Rube Goldberg contraption.
You just take an trigger and attach an action.

GIS really is set up for this, almost everything you do is an action. The trigger is your mouse button but do you really want to be clicking your index finger all your life? But don’t be sad, this future doesn’t devalue your experience, it enables you to bring it to where it is needed. Output of GIS is more likely to be Salesforce or a BI tool than a PDF moving forward. That’s the biggest win for everyone.


Scripting in Python

When I first learned that ArcGIS 8 Desktop wasn’t going to support either Avenue or AML, I was very unhappy. As anyone who had done analysis with ArcInfo can attest, I had quite a library of AML scripts to accomplish almost anything. With ArcGIS 8 Desktop, I couldn’t use any of them. The thought I guess was to use Visual Basic or C++, but writing scripts with either of those two languages was like using a sledgehammer to kill a fly, I just stayed with ArcInfo Workstation and the good old AML. Avenue wasn’t supported either (I guess the boat has sailed on Open Source Avenue huh?), but as long as I could still use AML, I was fine. Well fine until we started using Personal Geodatabases. I couldn’t do a thing with those and the number of coverages we were maintaining really dropped as most people have standardized on Shapefiles or the aforementioned Geodatabase.

Well with ArcGIS 9, we finally have a real scripting language again and even one that has made me stop writing AML scripts. I’ve really gotten into scripting with Python and it really has saved me quite a bit of work over having to try and do the same tasks with AML and converting Shapefiles and Geodatabases with ArcCatalog. With Python support came some great Python supporters and many of them have written some good articles to get started. A great resource is an article written by Howard Butler for ArcUser (don’t forget to check out Howard’s blog also!). Beyond that, all you have to do is head down to your local Barnes and Noble to find just about any Python book to get you started. Unlike AML or Avenue, Python is really easy to get started with and the community support available is much greater than ESRI ever had with Avenue or AML or even those of us who used SML and PC/ARCINFO. 😉