Urban Scratchoff
  •   About
  •   Github
  • Blog Post
  • Tweet

Welcome!

Welcome to Urban Scratchoff! This site gives you a clever way to explore historical aerial imagery of New York City. You can click and drag on the map to "scratch off" the historical imagery and reveal the same location's present-day imagery. Hit the swap button below to reverse the layers. Have fun!

Mode



Layer Order



A map hack by @chris_whong

About Urban Scratchoff

A map hack by @chris_whong

Idea

I often drive on the BQE, an interstate highway that snakes its way through Brooklyn. I've learned about the massive number buildings that had to be demolished, and people displaced, to make way for this and other urban highways. I wanted to allow the user to drag their mouse over the old buildings on a historical layer and "reveal" the highway beneath to get a better idea of the cost of progress. This was the original concept.

After some hacking and getting a prototype working, scratching off parts of the city became downright addictive (especially waterfronts/docks, large construction projects, highways, etc.)

Tech

The map is loading two layers. The bottom layer is a normal leaflet.js TileLayer. The top layer makes use of leaflet's Canvas TileLayer, essentially setting up a grid of 256x256 HTML canvases. For each canvas, a tile image is requested from the top layer, and is drawn into the canvas. When the user "Scratches" the canvas, they are drawing into the canvas using the 'destination-out' composite operation. This turns the affected area transparent, allowing the bottom layer to show through! Here's a blog post about how and why I built Urban Scratchoff.

Imagery

The historical imagery is provided by the New York Public Library (NYPL Labs) Mapwarper site - "Sectional aerial maps of the City of New York / photographed and assembled under the direction of the chief engineer, July 1st, 1924."

Mapwarper is a crowd-sourced imagery rectification tool. If you see imagery that doesn't "line up" while using Urban Scratchoff, you can actually help out and fix the rectification points on the NYPL This layer is cached on my server.

The modern day imagery is Mapquest's OpenAerial tileset

The 1924 and 2018 aerial imagery is provided by the GIS Team at NYC's Office of Technology & Innovation. They publish these and other historic NYC tilesets here.
Attribution & Thanks
  • Dave Riordan for answering an early tweet and pointing me to mapwarper
  • John Krauss and Andrew Hill for looking over my shoulder during development
  • Bryan McBride for making bootleaf, an awesome template layout for leaflet maps & bootstrap
  • Bill Morris, Paul Crickard and Steve Romalewski for testing out the first prototype and giving feedback
  • Aaron Ogle for guidance on combining tiles and HTML canvas
Todo

I would like to make it so that anyone can submit points of interest. Everyone will be greeted with a marked up map full of interesting scratchoffs to explore.

The code is on github. If you find a bug, please open an issue. If you want to contribute or fork for your city, have at it!