Other People’s Code

It’s something of a running joke that, you hand existing code to a developer, that developer will stay up all night completely re-writing it. I wish I could say it was completely a joke but, not only have I seen it happen numerous times, I’ve done it.

Counter-intuitively, some developers find it easier to use an existing application as a storyboard for a re-write rather than simply digging into the existing code. This is because programming is not only an extremely mental activity, it is quite psychological as well. When you are asked to take over existing code, as has happened to me a few time recently, you are not only learning the code, you are are also become familiar with how the previous developer(s) approached problem solving. You must train yourself to think like the previous developer in order to understand their approach.

Read moreOther People’s Code

Personal Geospatial Workflows, July 2016 Edition

It’s hard to believe, but I last touched upon this topic over two years ago, when my family and I were living in our between-houses rental. One of the goals I had when building our current house was to create a space where I could more effectively work from home. To that end, I have a dedicated office that I’ve been working toward optimizing for my technical work.

One advantage of a dedicated space, which I did not anticipate ate the time, is compartmentalization. One of the dangers with working at home is the blurring of the boundary between work time and personal/family time. In our old house, I definitely felt that as I was working from the dining room table. Now, I can more effectively shut the door and step away. I’m not perfect at doing that, yet, but I am getting better.

IMG_20160728_090705094_HDR

As a consultant doing federal work, I don’t get to work off-site all the time. I’ve been fortunate, however, to have worked a few projects over the past couple of years that have allowed it, so I’ve taken advantage of it as much as possible.

Read morePersonal Geospatial Workflows, July 2016 Edition

CartoDB Is Now CARTO

The company formerly known as CartoDB announced today that it is rebranding to the name CARTO. This change is intended to indicate a stronger focus on enabling location intelligence and analytics within its platform by adding new tool designed to allow data analysts to analyze, visualize, and publish without the in-depth knowledge of SQL, CSS, and Javascript that has been traditionally required to to perform such tasks.

Read moreCartoDB Is Now CARTO

Publishing GeoPackage to GeoServer Using QGIS

Recently, I had the occasion to attempt to generate an OGC GeoPackage from QGIS and publish it using GeoServer. The use case was fairly straightforward. I had been given data in GML format and needed to publish it. For many valid reasons (such as lack of spatial indexing), GeoServer does not natively support publishing GML data. As a result, I need to convert it to something that GeoServer did support.

QGIS opened and displayed the data easily and, from there, I could export it into any number of formats. (Or I could have used OGR.) The feature attributes had very long names and I didn’t want to lose that richness by exporting to shapefile. I was trying to keep my server-side life simple, so I was hoping to avoid setting up an RDBMS data store for this purpose. It was then that I noticed QGIS supports exporting to GeoPackge, so I decided to give it a go.

For purposes of this post, I am using a shapefile of building footprints of Leonardtown, Maryland. The process is the same for a GML file, however.

As shown below, you initiate the process like any other by right-clicking and choosing “Save As…” in the context menu.

qgis_post1

Read morePublishing GeoPackage to GeoServer Using QGIS

Esri User Conference 2016

Aside from a day at the Esri Federal GIS Conference, I’ve been laying fairly low from geo industry events for about the past year. There’s no single reason for that; it’s been more that a combination of things like work deadlines or family happenings have taken priority over conflicting conferences and events. I’ve generally been watching from afar, finding tweet streams and their attendant embedded links to be particularly effective.

playground-swing-540

I had been considering heading out to San Diego for the Esri user conference this year. It’s the largest gathering of geospatial people in one place every year. Even if you are not an Esri user and can’t attend the event itself, it’s worth going and being in the vicinity as 15,000 geographers descend on San Diego. Even Mapbox is getting into the game on this.

Read moreEsri User Conference 2016

A Week in the Life of a Geotech Omnivore

Earlier this week, I posted the above tweet. To explain the variety I referred to, here is a partial list, in no particular order, of the tools I’ve worked with in the past week.

  • Node
  • TileMill (Yes, I still use it)
  • ArcMap
  • QGIS
  • Python
  • ArcGIS Server
  • GeoServer
  • C#
  • WMS
  • SOAP (!)
  • Windows Communication Foundation
  • JavaScript
  • Python
  • PostGIS
  • Microsoft SQL Server
  • SQL (Spatial and non-spatial for the above platforms)
  • Leaflet
  • GeoJSON
  • X.509 certificates

Read moreA Week in the Life of a Geotech Omnivore

Working with HIFLD Open Data

I finally had a little time to play with some of the data available through the HIFLD Open site.  For my first pass, I decided to have a little fun by estimating how much of the United States a driver could cover in an electric vehicle while remaining in range of a charging station. For vehice ranges, I used the report ranges in this article: 10 Electric Vehicles With the Best Range in 2015.

electric_app

Read moreWorking with HIFLD Open Data

My Path to GIS

TL;DR: This post is long and there is no summary.

When you reach a certain stage in your career, you start fielding more and more inquiries from those younger than you about how you got started in your field. In my case, the field is GIS. The short answer, and not a particularly uncommon one, I’ve discovered, is “by accident.” I have previously documented that I landed my first job through one of my regulars at the bar I was tending at the time. I’ve also documented how I became interested in maps and programming at an early age. There are, however, a few more dots to connect.

annapolis_footprints_black2

My love of maps remained avocational and really went dormant as I got more into programming. During my middle school and high school years, I wrote BASIC code on my Commodore 64 to automate Dungeons and Dragons tasks. This was in a time before the internet was available in homes and, since we lived in a pretty rural area of Maryland, every call was long-distance. As a result, there was no way my parents would let me dial into bulletin boards. So I did it the old-fashioned way: checking out programming books from the public library. I had a few other friends who were into programming as well so we shared what we learned.

Read moreMy Path to GIS