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”

Thoughts on the Geospatial Data Act of 2017

Before delving into this topic, a big disclaimer is important: I am not a lawyer or a lobbyist or any sort of professional policy expert. The following analysis is based on 25 years experience providing geospatial consulting services to the federal government. You should read the full text of the bill yourself and draw your own conclusions.

On 23 June 2017, the American Association of Geographers (AAG) published a newsletter titled “A New Plot to Hijack GIS and Mapping,” which laid out AAG’s position on the Geospatial Data Act of 2017 . The title caught my attention, and, as is my preference, I stopped reading the AAG piece and went straight to the text of the bill.

Continue reading “Thoughts on the Geospatial Data Act of 2017”

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”

Triggered Notifications Using PostGIS, Redux

A while back, I wrote a post about using Python to generate triggered notifications in PostGIS. The approach described in that post is somewhat fraught with peril and I’ve learned a little bit more since then, so I have a different approach, using PostgreSQL NOTIFY and LISTEN, which I’ll describe here.

Continue reading “Triggered Notifications Using PostGIS, Redux”