There's nothing quite as enchanting as an open flame. The wispy spontaneity, the collapsing kindling, & the warmth of a good fire is inescapably captivating.

I think it's recollection of fire that makes flying at night such a treat. Streetlights flicker & glow like embers. Shooting star car lights slide down invisible roads until they burn out.

When I'm lucky enough to catch the midnight view of a city from on high, I'm usually half soaking the gorgeous view in, and half working on how I could possibly replicate it. This is my attempt to do so, followed by technical notes.

Please enjoy some tunes to drown out the sound of the engines as you descend endlessly over Washington DC.

Technical Details:

This project was made possible thanks to opendata.dc.gov. I've pondered for awhile how I could generate streetlight-esque patterns through manipulating road layers, so it was a pleasant surprise to find a site that just has actual streetlight data.

While Mapbox does provide a building layer themselves, they force you to zoom in pretty far before it will draw. To get around this, I yoinked building data from OpenStreetMap for DC via Overpass-Turbo, filtered the metadata in QGIS, & converted it to mbtiles with Tippecanoe. The basemap was started from Mapbox's default Dark style, cause ain't no one got time to style all the different cases for road layers. The match GIF came from Giphy, no idea where they got it from unfortunately.

I had a few prior ideas to this.

In one iteration I was going to make 'fake' streetlights by using road lines but making them 'dotted'; 1 pixel dashes with 10 pixel gaps between them or so. This would allow us to get lights for the whole world, but is terribly unruly and turns into a disaster when there are nearby roads. It also adds a uniformity that no human urban planner could hope to achieve.

Another was to generate millions of random points in QGIS, & then clip it to buffered roads. Never tried this because I thought a random distribution would look unrealistic as streetlights do have regions of uniformity. Also, too much work.

Expanding from this, I'd really love to add some little car lights going up & down the streets. Mapzen has already cracked something similar to that using WebGL shaders, so hey, maybe I should just be doing this in Tanagram.

The scripts running this seem to be computationally taxing, given every time I've let this run for awhile the fan starts rolling. It's not ideal, but it the added fan noise does make for a more authentic atmosphere.

Finally, I apologize to your eyeballs for making an incredibly dark webpage on a site where otherwise every page is a very light grey. Sorry eyeballs!