GIS Day 2012 — A Reflection

I normally don’t reflect on GIS Day, mostly because I forget when it is. But given I’ve got a GIS Day event this year, I’ve known the date for quite some time. I started blogging way back in 2005 and I thought I’d thing back to how I was doing GIS then vs. now.

2005

Hardware looked like this, I was on some sort of Dell Precision laptop (M60 or something) with a 20”+ monitor. I’m sure the laptop was a beast for the time, I do remember running through Atlanta’s airport with it on my back so I can assure you it was heavy. At that time I was split between two worlds, GIS analysis and GIS development. In support of the former, we had a fancy color laser printer and some huge HP plotter that was pushing out planning scenarios for our military clients. There was of course some Dell server in the background with some drive array and tape backup that I always forgot to change out.

Software wise, it was all ArcGIS (Desktop/Server). I started blogging right before I received our ArcGIS 9.1 disks so I’m sure I was using 8.3 over 9.0 at the time (avoid even release numbers I always say). Maps were authored using ArcInfo and plotted usually from PDFs. We had SDE running in the background, but mostly we used personal geodatabases because our clients used them. Scripting back then was done with VBA. Damn, that sounds all so depressing.

Esri Moon Eye

My workflow back then seems so antiquated

On the development side, I was pure .NET. Back in 2005, we still stuck to again because our clients were using it. We authored our own .NET API for ArcIMS, but I can’t remember if we ever shared it. I think that would have been Microsoft Visual Studio .NET 2003 era because VS 2005 didn’t really arrive until 2006 (stop putting years in product names people). I remember trying to use ArcGIS Server for development, but the product was clearly not ready for production then.

If you look at the first blog post, you can see I was looking for other solutions than the ArcSDE/ArcGIS Server/.NET stack. MapServer, PostGIS and PHP (yea I suck) was where I was putting my spare time into. Of those three though only PostGIS is something I still use today. Oh and this was my introduction to the wonderful Sean Gillies.

2012

Funny how hardware changes. I no longer do GIS analysis beyond donating time to non-profits, so I no longer need my own plotter, laser printer, tape backup or Dell server array. My primary work computer is a 2009 15” MacBook Pro. This thing continues to be a workhorse and besides upgrading the hard drive to 1TB and memory to 8GB, it is as stock at it was when I got it the day I joined WeoGeo (how’s that, one computer since I joined a cloud based company, makes sense though). I’ve got a 23” Apple Cinema display and I backup my laptop using an Apple Time Machine Capsule. I’ve also got a basic Dell Optiplex under my desk that I VNC into when I need to use Windows, but that rarely happens anymore.

The new hotness!

Software side I use PostGIS for most of my GIS analysis. Doing everything in a database is awesome. PostGIS sits on my laptop, but I do have a mirrored copy on AWS. I use QGIS mostly as my GIS package with help from GDAL/OGR (scripting is the way to go!). Cartography is done with either Mapnik or TileMill depending on my mood. We use Safe FME at WeoGeo so if I need to do any file conversions I’ll leverage a VM with FME on it in a pinch. I really dislike running virtual machines so FME and ArcGIS rarely get used on my laptop because of lack of Mac OS X support.

I can’t remember the last time I wrote any .NET code. 70% of anything I write is Python followed by 25% JavaScript and then 5% Ruby. I don’t use any IDE, just BBEdit and a browser window to discover awesome Python libraries. I’ve been meaning to start sharing my Python code on Github, but most of it is either poorly written (possibly all of it) and so specific to my needs it might not be worth it. Maybe one day I’ll sit down and pull out the awesome. I create most of my tiles using Wetsaw and Dan Dye’s fork of MBUtil and the WeoGeo API

Changes

The biggest change I see is not using Esri as much as before. I’ll be honest though, the ONLY reason I don’t use ArcGIS Desktop is because it isn’t available as native Mac app. Same with FME. Initially it was difficult to change my workflows away from tools Iv’e used for years, but the end result is that I’ve got a nice native workflow without the need to start up a VM. Plus if Esri and Safe ever get around to releasing native software, I can go back to using them in addition to the awesome open source tools that are part of my life. I probably peaked as a .NET developer back with Active Server Pages (well at least to .NET 2.0) so even by 2005 I was looking at transitioning beyond what I felt was a bloated IDE and tools. Python seemed perfect (even to a Perl geek like me) and I’m glad I committed to it back then.

The other takeaway from this that really surprises me is my hardware. The fact I can do cutting edge GIS on an almost 4 year old laptop tells you how crappy the Windows/COM stack is. I’d love to replace this work computer with a retina laptop, but it might also be fun to see how long I can last.

Future

Fry Squint

Safe FME is supposed to be running on Mac soon so I suspect I’ll be using more FME next year than I am now. Esri seems to be moving away from ArcObjects and in doing so will eventually have a native Mac version for ArcGIS Desktop. I doubt that this will happen in 2013 though even if we start seeing a Mac client appear. PostGIS/QGIS/GDAL/OGR/Mapnik is a nice tight multi-platform stack. Clearly everything is in place for open source GIS replacing proprietary GIS. I’ll happily bring ArcGIS Desktop back into my workflow when Esri supports my platform, but for now I’m enjoying what I have.