The other day I posted about using Turf.js to perform some simple GIS processes.  The venerable Brian Timoney made note of it.

I hadn’t really thought of the article in that context, I was just looking at a quick way to turn a CSV into a GeoJSON file quickly.  But let’s look at Brian’s point, is desktop GIS heavy?

Esri_logo.svg

I’ve maintained since Esri abandoned ArcInfo Workstation in the early 2000s, GIS has become difficult to use.  Not in the sense that any idiot1 can click the next button, but the simple fact they have no idea what they’re doing.  To accomplish this, Esri spent tons of R&D to make GIS as simple as drag a couple of layers to a dialog and just click next until you have an output.  You don’t even need to understand the setting, they default pretty much out of the box.  Setting fuzzy tolerance?  Not a problem, it’s labeled as optional.  The need to understand why you are performing analysis is not needed.

Now that isn’t to say Esri is doing something bad.  They’re simplifying something that was very scientific and required understanding of FORTRAN or UNIX into something that almost anyone can do.  I think at some level they should be commended for making GIS easier and not limited to a bunch of weirdos with Sun SPARCstation 20 workstations.  But in doing so they turned something lightweight into something of a beast.  Thus Brian’s heavy comment.

But that’s not the end to the story, at least from an Esri perspective.  Esri at the same time they were throwing wizards in from of every tool in ArcGIS Desktop, created one of the most powerful GIS libraries ever created, ArcPy.  It’s everything we wanted ArcInfo Workstation to become, a modern, no proprietary scripting language with tons of GIS analysis tools.  But for some reason Esri doesn’t highlight it as they should.  Just go to Esri.com and search for ArcPy. Typical Esri results, it’s a mess.  Brian is reading this now nodding, “GIS is heavy”.

My example using Turf.js could have as easily been done with a simple Python script as it could have been done with Turf.js.  I just chose JavaScript because I was in a mood I suppose.  But the process of creating a script in ArcPy isn’t much more complicated2.  Is ArcPy “desktop GIS”?  I would say so as you get it when you install ArcGIS Desktop.  But it isn’t heavy, you can create Python in notepad.exe and run from command line.  Or as most are now preferring, use Visual Studio 2015.

Heavy GIS is starting up ArcMap, starting up ArcCatalog, dragging and dropping into a wizard and fighting through the next screens.  The process is similar in QGIS which seems to be adopting some of the same wizard dialogs as ArcGIS.  They’re heavy because that’s what they need to be.  Scott Morehouse years ago told me ArcGIS was complicated because it is “scientific software”.  At the time I laughed but I do get it.  It’s the long tail of long tails in GIS, solving GIS analysis in so many edge cases that it gets bloated.

Esri should3 have section of their website devoted to Python scripting.  Showing how much easier (and faster) it is to do your analysis with ArcPy over ArcGIS Toolbox4.  There are pieces all over their website about Python and ArcGIS, but “Scripting” section.  That would go a long way to making Desktop GIS not heavy.  Searching Google for “Esri Scripting” gives you a dead end to ArcScripts.  That should change.

  1. Meant with love of course

  2. At least for those who know the Esri Geoprocessing library

  3. Double negative aside… I can’t believe they don’t but their search is awful

  4. Is that a thing anymore