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”
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.
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.
Continue reading “Personal Geospatial Workflows, July 2016 Edition”
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.
Continue reading “Publishing GeoPackage to GeoServer Using QGIS”
I’ve found myself using desktop GIS more and more lately. While I don’t tend to think of myself as an analyst and I’ll never be confused with a cartographer, it is simply not possible to perform GIS software development without making occasional use of desktop GIS. My typical use cases involve data preparation or query verification or similar such tasks to prove out some logic before I commit it to my application code. The screenshot below depicts my default desktop GIS configuration:
Yes, I have come full circle back to command-line GIS. After years of fiddling with the latest Arc/Q-GUI-du-jour, I find myself spending most of my time working with a flashing cursor.
Continue reading “Desktop GIS”
The convoluted user interfaces of most desktop GIS software is something I revisit from time to time. James’ most recent issue of his SpatialTau newsletter got me thinking about it again. A while back, I got caught up in a Twitter discussion about it. Tools like geojson.io and TileMill have fantastic interfaces, but they also perform narrow functions (data editing and map composition, respectively).
For a while, I’ve been thinking that this might be an approach worth investigating: rather than one piece of software with everything in it, a suite of tools dedicated to different aspects of the typical GIS workflow. This would not be a panacea as some tasks are just more complex than others. (Think of all of the editing options available in any piece of CAD software, and this is devoid of any analytical tools.) As attractive as this approach seems to me in concept, I suspect it would break down in execution. I think it could end up multiplying the problem with many overly-complex applications instead of just one.
Over the last year or so, I’ve become somewhat enamored of another approach: the search tool. This requires a little back story.
Continue reading “Toolbars”
I have been spending the past few weeks dealing more with data and mapping than I have in quite a while. It’s given me a chance to regain my footing with map-making, reconnect with some end-user tools like Arc2Earth, and build a little more proficiency with things like GDAL, QGIS, and TileMill. Of course, I’ve been able to sneak in some coding as I’ve identified gaps in my workflow.
Continue reading “Personal Geospatial Workflows, May 2014 Edition”
Every now and again, I am asked to make maps. It’s not my strongest suit, but it sometimes comes with the territory. My latest task, as mentioned in my previous post, involves building support for MBTiles databases into a mobile situational awareness tool. This is done so that the devices can have a persistent local basemap in the field. The need arose to ensure that the basemaps were high contrast to assist with visibility in bright sunlight. Something like this:
Continue reading “Using Virtual Rasters to Generate Contours in QGIS”