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”
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.
I just got an announcement in my inbox of a major update to HIFLD Open. A number of new data sets have been added, along with updates to many others. The announcement also addressed HIFLD Secure, but I won’t touch upon that here. From the flyer attached to the email, here are the updates. If you are so inclined, it’s time to get scraping.
Continue reading “HIFLD Open January 2017 Updates”