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!
A map hack by @chris_whong
A map hack by @chris_whong
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.)
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.
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
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!