Making Buildings in Kitsap County by Year
While scrolling through Twitter a couple weeks ago I saw this map of building ages in the Netherlands. I really like this map and I had a lot of fun poking around it. My first thought after I closed it was, “Why can’t we have nice things like that?”. It turns out that we can.
Buildings by Year Built in Kitsap County is an interactive web map similar in concept to the map of the Netherlands that I mentioned above but tighter in its focus on the core value proposition as a data visualization tool.
Simplify the Message
Rather than categorizing buildings into groups using 12 different colors I’ve opted for a simpler 2 color gradient that starts with a dark blue to represent the oldest buildings and a lighter red to represent buildings built in 2019. The spectrum of hues in-between indicates a building’s position in the time scale between the late 1800’s and today.
Using this visualization method makes it really easy to pick out what buildings have been redeveloped in the Bremerton core and identify how new most of the suburban development is in East Bremerton, Silverdale, and South Kitsap.
For the basemap I’ve opted to go with Mapbox’s Outdoor style. Initially I was really enamored with the Dark theme used in the Netherlands map but I found it difficult to settle on the right two-color gradient to use for the buildings on a dark background. Additionally, one of the initial bits of feedback on the prototypes was a request for more context or even a 3D terrain model for the base map.
To that end I explored 2 options which I ended up rejecting. Using a 3D terrain model was rejected because it was too slow to load and didn’t actually add much texture to the map. Applying a hillshade based on the terrain model was also rejected because I found it distracting especially at high zoom levels where the limits of its resolution became clear. In the end I settled on just using the Outdoor style with its mild contour lines and place markers.
To help users understand exactly what the differences in building colors represent I did two things. First, I added a legend. This was a tough call because in general I don’t care for the sort of UI clutter that permanent panels add to a map. But I received a number of questions in early testing about what exactly the building colors represented so I decided that it was important to be as specific as possible. To mitigate some of the blow to useable screen space and contextualize the legend I made the background of the panel highly transparent.
The second technique was adding labels to the buildings at high zoom levels. This is helpful because it allows you to quickly graze for information on the specific ages of the buildings without directly inspecting them by clicking on them. Picking the right zoom level to limit a layer or set of labels too is always tough; but I opted to make these year-built labels visible only when you’re zoomed into or below the point at which a whole neighborhood is visible.
As I mentioned earlier you can see specific information about a building by clicking on it. Doing so rewards you with a small pop up that lists the height of the building and the year it was built. I added this to limit the potential for confusion. If you’re interested in or surprised by the visible properties of a building just click on to see its exact values.
Dealing with Data Quality
Finally let’s discuss how I extrapolated the building heights and the data quality issues present in this visualization. The buildings are extruded from 2D building footprints that were digitized by Kitsap County and recently updated using 6-inch imagery captured in 2018.
This means that only buildings that were visible from aerial imagery are present in this map. For dense areas like cities this is fine, where it becomes a problem is in the far reaches of Kitsap County which are heavily forested and thus this data set is likely to under-represent buildings in those areas.
There is also the problem of multiple buildings on a single parcel of land. Currently the assessment of buildings is not tied to the building footprints data maintained by Kitsap County. Rather the building’s data is tied to the tax account number of a parcel polygon. The relationship between the year a structure was built and how many stories tall it is, has to be inferred from the data for the parcel polygon that it sits on.
This is a lossy and error prone process that will for example give a set of five buildings on the same parcel the same height and year-built attributes. It’s perfectly fine when you only have a single building on a parcel but it handles scenarios like the condo complexes in downtown Bremerton poorly. Representing them with the values of only a single tax account rather than the sum of all tax accounts in the building.
Ideally a building footprint would have its tax account and building extension id as attributes so it could be related directly to the assessment data but that’s not something that exists right now.
The other issue with building heights is that Kitsap County hasn’t made a wide-scale effort to collect this data. Instead we have to infer the heights of these buildings based on the number of stories these buildings are assessed to have. For the purposes of this map I make the assumption that a single story is worth about 3 meters of height and I assume that buildings that don’t have any data are at least a single-story tall.
With those design decisions and data caveats in mind I present to you Buildings by Year Built in Kitsap County, enjoy!