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”
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”
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”
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”
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 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”
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”