NYC Space/Time Directory - Maps by Decade
Visit Maps by Decade!
Maps by Decade shows New York City street maps from the New York Public Library's Lionel Pincus and Princess Firyal Map Division, grouped by decade.
Maps by Decade shows more than 5,000 large-scale maps (i.e. maps depicting an area smaller than 5 km²) of New York City that are digitized, georectified, and in the public domain (or of which the Library holds the copyright). You can browse 20,000 more maps and atlases in NYPL's Digital Collections, the Library's database of its digitized collections. Or visit Map Warper, our online tool for rectifying public domain maps.
For more information, see Map by Decade's About page.
NYC Space/Time Directory
Maps by Decade is part of the NYC Space/Time Directory. The goal of this project is to—through a variety of resources—unlock the potential of historical maps and provide opportunities to explore urban history across space and time.
Maps by Decade is built using the following open source projects:
- Leaflet.Sync: synchronized panning and zooming for Leaflet maps
react-boilerplate: I like React and Redux and webpack but I'm not smart enough to set up my own project and combine everything together.
react-boilerplatedoes this for me. It has 10,000 dependencies and seems a bit too complicated, but maybe there's no way around that.
Maps by Decade makes the Library's collection of digitized and georectified historical maps more accessible by displaying their outlines on a map of modern-day New York City.
In NYPL's Map Warper, maps are both rectified and cropped:
- Map rectification: placing control points on the original map and on OpenStreetMap
- Map cropping: selecting and removing non-cartographic areas on the original map
Each map for which this is done is available via Map Warper's API. Data from Map Warper will appear in Maps by Decade through the following steps:
- Space/Time's ETL tool (Extract, Transform, Load) is used to run
- Another ETL module,
etl-group-mapsis executed; this module processes Space/Time's Map Warper dataset, groups all maps by decade, and uses Turf to compute the geospatial union per decade
- The two resulting GeoJSON files are published on Amazon S3 (and served via Amazon CloudFront):
Screenshot of Maps by Decade data, visualized with QGIS:
To run Maps by Decade locally, first clone this repository:
git clone https://github.com/nypl-spacetime/maps-by-decade.git cd maps-by-decade
Then, install all dependencies:
To start Maps by Decade, run:
npm run start-no-local-data
Maps by Decade is now running on localhost:3223!
start-no-local-data, Maps by Decade will load its data from Amazon CloudFront.
It's also possible to serve Maps by Decade's data files locally. To do this, run:
Then, by default, Maps by Decade expects its two data files (e.g.
maps-by-decade.grouped.json) to be available on http://group-maps-data.dev/, but you can change this by editing
To use the
.dev domain, Maps by Decade uses Hotel. Install Hotel:
npm install -g hotel && hotel start
npm install http-server -g
Download Maps by Decade's data files:
mkdir group-maps-data cd group-maps-data wget http://s3.amazonaws.com/spacetime-nypl-org/datasets/group-maps/maps-by-decade.all.json wget http://s3.amazonaws.com/spacetime-nypl-org/datasets/group-maps/maps-by-decade.grouped.json
Add a Hotel dev server in the
group-maps-data directory, with CORS enabled:
hotel add 'http-server -p $PORT --cors'
Now, the Maps by Decade data files are available on http://group-maps-data.dev/.
It's also possible to use Space/Time's ETL tool to fetch Map Warper data and compute Maps by Decade data yourself:
- See GitHub for instructions how to install and use the ETL tool
- Install the following two ETL modules:
- Run both ETL modules:
To build Maps by Decade, run:
npm run build
build directory will now contain HTML, JS, CSS and image files you can distribute.