a map from scratch made from open / available sources
- Client-rendered topographic features (hillshade and contour lines) and 3D terrain visualization
- National Forest and other US Government Public Lands with Private Land and Patented Mining Claim cutouts
- Summits on the Air summit labels
Powered by
where possible we're storing tiles in protomaps files (.pmtiles)
see data/README.md for more in-depth information on the below
"Summits on the Air is an award scheme for radio amateurs that encourages portable operation in mountainous areas." - https://www.sota.org.uk/
A csv of all summits can be grabbed from here
wget https://storage.sota.org.uk/summitslist.csv
We're using the United States Geological Survey - Protected Areas Database v3 to show areas of the United States open to public access (and some restricted access areas)
More information is available here https://www.usgs.gov/programs/gap-analysis-project/science/protected-areas
Download from here https://www.sciencebase.gov/catalog/item/61794fc2d34ea58c3c6f9f69#attached-files
More info on how we're processing this dataset available in data/README.md
From the National Agriculture Imagery Program (NAIP)
Actually aerial photography, only the Continental US, and refreshed state by state every three years or so.
Being cached via Cloudflare Workers and R2 data storage
from OpenStreetMap
Downloaded from here https://download.geofabrik.de/north-america/us.html
We're using https://github.com/onthegomap/planetiler to output pmtiles
click on the map where you want to set your home location, then click the "house" icon. Proceed to click around where you want to navigate.
Powered by Project OSRM
To build the web app you'll need NodeJS 18. I'd recommend using asdf or nvm.sh (for windows nvm-windows)
npm install
npm run dev
npm run build && bash deploy.sh
note: this does deploy any map tiles in the tiles/
folder, but does not build them. Feel free to grab them from https://tzwolak.com/tiles/<filename>.<ext>
(see main.jsx for a list of map sources in the MaplibreGL setup).
or see data/README.md for how to build your own set.
this project is designed to run "serverless" on AWS S3 and CloudFront.
the main advantage of serving maps this way is cost, which are storage @8.5 cents per GB of data, and data transfer @8.5 cents per GB after 1TB free each month
we're using Prettier for JavaScript formatting (this is not strictly enforced for now)
just run this before you commit:
npx prettier --write **/*.js **/*.jsx