This repository provides a convenient mechanism for generating TopoJSON files from the National Atlas one million-scale dataset and U.S. Census Bureau shapefiles.
airports |
amtrak |
cbsa |
coast |
congress |
counties |
ferries |
nation |
ports |
railroads |
roads |
states |
streams |
waterbodies |
zipcodes |
Before you can run make
, you’ll need to install Node.js. Here’s how to do that using Homebrew on Mac OS X:
brew install node
And then, clone this repository, install its dependencies and run make
:
git clone https://github.com/mbostock/us-atlas.git
cd us-atlas
npm install
make
If the installation of node-canvas fails for you, try
PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig npm install canvas
Or, add this to your ~/.bash_profile:
export PKG_CONFIG_PATH="/opt/X11/lib/pkgconfig"
If you want to install this software using an alternate method see the website for TopoJSON. I also recommend reading my tutorial, Let’s Make a Map.
Once you have everything installed, simply run:
make
This will generate a large number of TopoJSON files of varying size in the topo
directory. As a by-product of producing these files, you’ll also download shapefiles directly from the National Atlas or the Census Bureau.
make
and make all
generate TopoJSON files for the boundaries of the United States. In addition, you can run make topo/us-streams.json
and make topo/us-roads.json
to generate TopoJSON for streams and roads. These aren't made by default because of their size. us-streams.json
requires a 180M download and 4.5GB of memory to generate.
If you want to generate a custom map, I recommend modifying the Makefile. Or, just use the Makefile as a set of examples, and run the appropriate ogr2ogr
and topojson
commands from the terminal.