Harvey and Fulcrum Community

There was a time in my consulting career where I was providing GIS software and database support to the US federal critical infrastructure protection community. Part of that work involved ‘event response,’ which most often took the form of natural disasters. I never deployed, but a lot of my co-workers did.

Ground truth was always the biggest problem. We were always trying to get a sense of what conditions were like on the ground with as little latency as we could manage. With the technology of the 2003 – 2007 time frame, that was a significant challenge. Whether notepads or spreadsheets or custom data collection extensions deployed on ToughBooks, we tried just about everything we could think of. Some of my co-workers even managed a forward-deployed ArcIMS server to try to get anything useful out of the affected areas after Katrina.

Fast-forward to 2017 and we’re dealing with the unprecedented aftermath of Harvey in the Houston, Texas area. I find myself in the fortunate position of working for a company, Spatial Networks, that has a technology I wish we had back then. In addition to the technology, the company has the will to open it up and put it in the hands of whomever needs it.

Continue reading “Harvey and Fulcrum Community”

FOSS4G 2017 Recap

It’s been almost two weeks since I returned from FOSS4G 2017 in Boston, Massachusetts (USA), and I wanted to take a little time to regroup and get caught up before settling down to write about it.

It was a busy week, highlighted for me and the Spatial Networks team by the first-ever Fulcrum Live event. Held on the second day of workshops, it was our first user conference for Fulcrum, the mobile data collection platform by Spatial Networks. The event went off without issue, so we are very happy about that.

Continue reading “FOSS4G 2017 Recap”

Refreshing a PostGIS Materialized View in FME

I am following up my previous post with an extremely simple example using FME to kick off the refresh of a materialized view (matview) after a data import. I had never used FME prior to coming to Spatial Networks, but now I’m hooked. I’m having a really hard time finding things it can’t do.

As I mentioned in my last post, it’s really easy to refresh a matview in PostgreSQL using the REFRESH MATERIALIZED VIEW statement. This leaves open the possibility of automating the refresh as appropriate in an application or other process.

I decided to illustrate this using a basic FME example. Using the cellular tower data set from my past post, I extracted a table containing only the records for the state of Maryland. The towers data set contains the two letter abbreviation for the state, but not the full state name. So, I built a matview to join the state name to a subset of columns from the towers data set. The SQL for that matview is here:

I will use FME to append the records for the state of Virginia from a GeoJSON file to the PostGIS table containing the records for Maryland.

Continue reading “Refreshing a PostGIS Materialized View in FME”

Working with Materialized Views in PostGIS

It’s been a few months since I’ve posted, owing mainly to getting my feet under me at Spatial Networks. About a month after I started, the company re-merged with Fulcrum, which had previously been spun off as a separate company. As a result, I’ve gotten to know the Fulcrum engineering team and have gotten to peer under the hood of the product.

Of course, Spatial Networks is also a data company. What had originally attracted me was the opportunity to help streamline the delivery of their data products, and this remains a pressing issue. This has kept me elbow-deep in PostGIS, and has led me to delve into using materialized views more than I have before.

What is a materialized view? If you are familiar with relational databases, then you are familiar with views, which are saved queries that are stored in the database. Similar to tables, you can select data from a view; but, rather than directly selecting physically stored data, you are executing the SQL that defines the view, which will stitch together data at the time of execution.

Continue reading “Working with Materialized Views in PostGIS”

TUGIS 2017

Yesterday, I attended TUGIS 2017, which was the 30th installment of Maryland’s annual statewide GIS conference. It was a great experience as there is a lot of innovative work going on in Maryland. The one-day format is specifically designed to be a high-value experience. Attendees trade the minimal impact on schedule for the fact that they will certainly miss some content they want to see. I think it’s a fair trade-off.

I also happened to give the keynote address at the conference. It was quite an honor to be asked to address so many geospatial practitioners who are working to tackle pressing issues in Maryland. Thanks to Ardys Russakis and the conference organizing committee for inviting me.

Continue reading “TUGIS 2017”


A few years ago, we sold our house and moved into a new one that we had built. The old house happened to be the one in which I had grown up. The process of disconnecting from that house got me back in touch with a lot of tasks that had become muscle memory. For example, mowing the lawn.

I had mowed that lawn roughly every week since middle school. By the time I was mowing it for what I realized was the last time, I could have done so blindfolded. I knew where every obstacle was and knew every contour in the ground. I had long since stopped paying attention to the task. There were many other things that I realized had become the same for me.

Continue reading “Engagement”

Making a Change

Most of my January has been a process that culminated in today’s announcement that I will be moving on from Zekiah and joining the team at Spatial Networks, where I will be taking on the role of Vice President of Engineering and Technology.

I’ve been at Zekiah for fifteen years and have had the pleasure to do groundbreaking and meaningful work for a variety of federal customers. During that time, I’ve worked with a lot of incredibly talented people and the current team is no exception. The company and its customers are in great hands and the geospatial team, led by Eric Mahaffey, is poised to do great things. A little inside baseball: There’s never been an instance where the partners at Zekiah didn’t completely agree on a course of action. It’s been a great experience to have such trust in your colleagues, and they have been completely supportive of my decision. I’ve learned a hell of a lot about business while getting to do a lot of great work. I leave with no complaints.

I am looking forward to joining another incredible team at Spatial Networks. After 23 years as a federal/defense contractor, I am excited about the change of focus to a commercial setting. I’ll be working remotely, with periodic trips to St. Petersburg, Florida. The team at Spatial Networks is highly motivated with a strong sense of purpose and I expect we’re going to have a lot of fun while building great tools.