Data Over Software

One of the first tasks I ever had in my then-new GIS career was doing AML development in ARC/INFO 6.x for a data production project. My code parsed DXF exported from AutoCAD R11 for DOS and then assigned attributes based on things like layer, color, line weight, feature type, and others. It also georeferenced the data based on tic marks captured in AutoCAD. The end result was multiple ARC/INFO coverages that were fully populated from data templates based on the AutoCAD characteristics. From there, QA analysts tailored the data from defaults, if necessary.

After that, I did a lot of work in AML to build a cartographic production system for a water utility. That had me building a GUI using ARC/INFO forms and developing customized editing tools with ArcEdit in ArcPlot mode.

As you can imagine, I dug deeply into AML. I learned a lot about GIS – in which I had no formal training. Because AML essentially batched the same commands the analysts used at the command line, all of this development made me quite proficient with ARC/INFO. Those were fun times. Because I needed to learn GIS, this period had a lot of value for me.

As a software developer, however, there was a big drawback that is evident in the full name of AML – Arc Macro Language. All of the time and effort I was investing into building proficiency in AML was usable in exactly one place. The same was true when ArcView came along with its proprietary object-oriented language, Avenue.

Read more

Give Me a Standard, Any Standard

I’ve spent the last year or so doing very little with geospatial technology, but I find myself missing it tremendously. Of course “in my blood” and “how I’m wired” and similar aphorisms apply to how I’m feeling, but that’s not what really has me missing geospatial. In a shocking (for me) turn of events, I find myself missing the influence of OGC on the geospatial technology community.

I’ve spent the last year working on integrating several SaaS systems, including Stripe, Salesforce, NetSuite, and others. I’ve touched upon this in previous posts. All of them implement some form of REST API, but fostering interoperability doesn’t seem to be a primary purpose of those APIs as much as is the enablement of a proprietary partner/strategic-alliance ecosystem. As a result, these APIs, while generally well-documented, are essentially arbitrary. They implement the HTTPS+JSON pattern in the same way that many written languages implement the Roman alphabet. I can sound out the words, but I don’t really have any idea what I’m saying.

Read more